From 6e38a2df5e87ec250f632aea3db005e32e57e6e1 Mon Sep 17 00:00:00 2001 From: John Peterson Date: Fri, 27 Mar 2020 14:58:31 -0700 Subject: [PATCH] updates to openshift v4.3.5 to artifactory-ha v7.3.2 --- Openshift4/.gitignore | 1 + .../artifactory-ha-operator/build/Dockerfile | 2 +- ...operator.v1.0.0.clusterserviceversion.yaml | 281 +++++ .../openshiftartifactoryha-operator.crd.yaml | 23 + ...enshiftartifactoryha-operator.package.yaml | 4 + .../deploy/catalogsourceconfig.yaml | 8 + ...io_v1alpha1_openshiftartifactoryha_cr.yaml | 1080 ++--------------- .../deploy/imagestream-nginx.yaml | 6 - .../deploy/imagestream-operator.yaml | 6 - .../deploy/imagestream-pro.yaml | 6 - ...operator.v1.0.0.clusterserviceversion.yaml | 757 +++--------- .../deploy/operator.yaml | 16 +- .../deploy/operatorgroup.yaml | 2 +- .../deploy/project.yaml | 2 +- .../artifactory-ha-operator/deploy/role.yaml | 69 +- .../deploy/securitycontextconstraints.yaml | 15 - .../deploy/subscription.yaml | 10 + .../helm-charts/README.md | 2 + .../charts/artifactory-ha-2.0.31.tgz | Bin 126568 -> 0 bytes .../openshift-artifactory-ha/hostpathscc.yaml | 18 - .../requirements.lock | 6 - Openshift4/artifactory-ha-operator/setup.sh | 25 - Openshift4/artifactory-ha-operator/unload.sh | 16 - .../artifactory-ha-operator/watches.yaml | 8 + .../openshift-artifactory-ha/CHANGELOG.md | 0 .../openshift-artifactory-ha/Chart.yaml | 4 +- .../openshift-artifactory-ha/LICENSE | 0 .../charts/artifactory-ha-2.1.3.tgz | Bin 0 -> 130327 bytes .../openshift-artifactory-ha/helminstall.sh | 0 .../hostpathscc.yaml | 0 .../requirements.lock | 6 + .../requirements.yaml | 2 +- .../openshift-artifactory-ha/scc.yaml | 0 .../openshift-artifactory-ha/values.yaml | 16 + 34 files changed, 644 insertions(+), 1747 deletions(-) create mode 100644 Openshift4/artifactory-ha-operator/bundle/artifactory-ha-operator.v1.0.0.clusterserviceversion.yaml create mode 100644 Openshift4/artifactory-ha-operator/bundle/openshiftartifactoryha-operator.crd.yaml create mode 100644 Openshift4/artifactory-ha-operator/bundle/openshiftartifactoryha-operator.package.yaml create mode 100644 Openshift4/artifactory-ha-operator/deploy/catalogsourceconfig.yaml delete mode 100644 Openshift4/artifactory-ha-operator/deploy/imagestream-nginx.yaml delete mode 100644 Openshift4/artifactory-ha-operator/deploy/imagestream-operator.yaml delete mode 100644 Openshift4/artifactory-ha-operator/deploy/imagestream-pro.yaml delete mode 100644 Openshift4/artifactory-ha-operator/deploy/securitycontextconstraints.yaml create mode 100644 Openshift4/artifactory-ha-operator/deploy/subscription.yaml create mode 100644 Openshift4/artifactory-ha-operator/helm-charts/README.md delete mode 100644 Openshift4/artifactory-ha-operator/helm-charts/openshift-artifactory-ha/charts/artifactory-ha-2.0.31.tgz delete mode 100644 Openshift4/artifactory-ha-operator/helm-charts/openshift-artifactory-ha/hostpathscc.yaml delete mode 100644 Openshift4/artifactory-ha-operator/helm-charts/openshift-artifactory-ha/requirements.lock delete mode 100755 Openshift4/artifactory-ha-operator/setup.sh delete mode 100755 Openshift4/artifactory-ha-operator/unload.sh rename Openshift4/{artifactory-ha-operator/helm-charts => }/openshift-artifactory-ha/CHANGELOG.md (100%) rename Openshift4/{artifactory-ha-operator/helm-charts => }/openshift-artifactory-ha/Chart.yaml (94%) rename Openshift4/{artifactory-ha-operator/helm-charts => }/openshift-artifactory-ha/LICENSE (100%) create mode 100644 Openshift4/openshift-artifactory-ha/charts/artifactory-ha-2.1.3.tgz rename Openshift4/{artifactory-ha-operator/helm-charts => }/openshift-artifactory-ha/helminstall.sh (100%) rename Openshift4/{artifactory-ha-operator/deploy => openshift-artifactory-ha}/hostpathscc.yaml (100%) create mode 100644 Openshift4/openshift-artifactory-ha/requirements.lock rename Openshift4/{artifactory-ha-operator/helm-charts => }/openshift-artifactory-ha/requirements.yaml (80%) rename Openshift4/{artifactory-ha-operator/helm-charts => }/openshift-artifactory-ha/scc.yaml (100%) rename Openshift4/{artifactory-ha-operator/helm-charts => }/openshift-artifactory-ha/values.yaml (78%) diff --git a/Openshift4/.gitignore b/Openshift4/.gitignore index 29f94fa..bc88a61 100644 --- a/Openshift4/.gitignore +++ b/Openshift4/.gitignore @@ -1,3 +1,4 @@ artifactory.cluster.license jfrog.team.crt jfrog.team.key +artifactory-ha-operator/helm-charts/openshift-artifactory-ha diff --git a/Openshift4/artifactory-ha-operator/build/Dockerfile b/Openshift4/artifactory-ha-operator/build/Dockerfile index 6fcc547..f871c9f 100644 --- a/Openshift4/artifactory-ha-operator/build/Dockerfile +++ b/Openshift4/artifactory-ha-operator/build/Dockerfile @@ -1,4 +1,4 @@ -FROM quay.io/operator-framework/helm-operator:v0.14.1 +FROM quay.io/operator-framework/helm-operator:v0.16.0 COPY watches.yaml ${HOME}/watches.yaml COPY helm-charts/ ${HOME}/helm-charts/ diff --git a/Openshift4/artifactory-ha-operator/bundle/artifactory-ha-operator.v1.0.0.clusterserviceversion.yaml b/Openshift4/artifactory-ha-operator/bundle/artifactory-ha-operator.v1.0.0.clusterserviceversion.yaml new file mode 100644 index 0000000..befdf1a --- /dev/null +++ b/Openshift4/artifactory-ha-operator/bundle/artifactory-ha-operator.v1.0.0.clusterserviceversion.yaml @@ -0,0 +1,281 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: |- + [ + { + "apiVersion": "charts.helm.k8s.io/v1alpha1", + "kind": "OpenshiftArtifactoryHa", + "metadata": { + "name": "osartifactoryha" + }, + "spec": { + "artifactory-ha": { + "artifactory": { + "customInitContainersBegin": "- name: \"redhat-custom-setup\"\n #image: \"{{ .Values.initContainerImage }}\"\n image: {{ index .Values \"initContainerImage\" }}\n imagePullPolicy: \"{{ .Values.artifactory.image.pullPolicy }}\"\n command:\n - 'sh'\n - '-c'\n - 'chown -R 1030:1030 {{ .Values.artifactory.persistence.mountPath }}'\n securityContext:\n runAsUser: 0\n volumeMounts:\n - mountPath: \"{{ .Values.artifactory.persistence.mountPath }}\"\n name: volume\n", + "image": { + "repository": "image-registry.openshift-image-registry.svc:5000/jfrog-artifactory/artifactory-pro" + }, + "node": { + "waitForPrimaryStartup": { + "enabled": false + } + } + }, + "database": { + "driver": "OVERRIDE", + "password": "OVERRIDE", + "type": "OVERRIDE", + "url": "OVERRIDE", + "user": "OVERRIDE" + }, + "initContainerImage": "registry.redhat.io/ubi8-minimal", + "installerInfo": "{ \"productId\": \"Openshift_artifactory-ha/{{ .Chart.Version }}\", \"features\": [ { \"featureId\": \"ArtifactoryVersion/{{ default .Chart.AppVersion .Values.artifactory.image.version }}\" }, { \"featureId\": \"{{ if .Values.postgresql.enabled }}postgresql{{ else }}{{ default 'derby' .Values.database.type }}{{ end }}/0.0.0\" }, { \"featureId\": \"Platform/{{ default 'openshift' .Values.installer.platform }}\" }, { \"featureId\": \"Partner/ACC-006983\" }, { \"featureId\": \"Channel/Openshift\" } ] }", + "nginx": { + "http": { + "externalPort": 80, + "internalPort": 8080 + }, + "https": { + "externalPort": 443, + "internalPort": 8443 + }, + "image": { + "repository": "image-registry.openshift-image-registry.svc:5000/jfrog-artifactory/nginx-artifactory-pro" + }, + "mainConf": "# Main Nginx configuration file\nworker_processes 4;\nerror_log {{ .Values.nginx.persistence.mountPath }}/logs//error.log warn;\npid /tmp/nginx.pid;\nevents {\n worker_connections 1024;\n}\nhttp {\n include /etc/nginx/mime.types;\n default_type application/octet-stream;\n variables_hash_max_size 1024;\n variables_hash_bucket_size 64;\n server_names_hash_max_size 4096;\n server_names_hash_bucket_size 128;\n types_hash_max_size 2048;\n types_hash_bucket_size 64;\n proxy_read_timeout 2400s;\n client_header_timeout 2400s;\n client_body_timeout 2400s;\n proxy_connect_timeout 75s;\n proxy_send_timeout 2400s;\n proxy_buffer_size 32k;\n proxy_buffers 40 32k;\n proxy_busy_buffers_size 64k;\n proxy_temp_file_write_size 250m;\n proxy_http_version 1.1;\n client_body_buffer_size 128k;\n log_format main '$remote_addr - $remote_user [$time_local] \"$request\" '\n '$status $body_bytes_sent \"$http_referer\" '\n '\"$http_user_agent\" \"$http_x_forwarded_for\"';\n log_format timing 'ip = $remote_addr '\n 'user = \"$remote_user\" '\n 'local_time = \"$time_local\" '\n 'host = $host '\n 'request = \"$request\" '\n 'status = $status '\n 'bytes = $body_bytes_sent '\n 'upstream = \"$upstream_addr\" '\n 'upstream_time = $upstream_response_time '\n 'request_time = $request_time '\n 'referer = \"$http_referer\" '\n 'UA = \"$http_user_agent\"';\n access_log {{ .Values.nginx.persistence.mountPath }}/logs/access.log timing;\n sendfile on;\n #tcp_nopush on;\n keepalive_timeout 65;\n #gzip on;\n include {{ .Values.nginx.persistence.mountPath }}/conf.d/*.conf;\n}\n" + }, + "postgresql": { + "enabled": false + }, + "waitForDatabase": false + } + } + } + ] + capabilities: Basic Install + categories: "Developer Tools,Integration & Delivery" + description: "Artifactory HA deploys Artifactory in a high availability environment across multiple pods" + containerImage: quay.io/jfrog/artifactory-ha-operator + createdAt: 2020-03-25T00:00:00Z + support: JFrog + certified: "true" + repository: https://github.com/jfrog/JFrog-Cloud-Installers/tree/openshift4/Openshift4 + name: artifactory-ha-operator.v1.0.0 + namespace: jfrog-artifactory +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - description: Represents Artifactory HA Instances + displayName: Artifactory HA + kind: OpenshiftArtifactoryHa + name: openshiftartifactoryhas.charts.helm.k8s.io + resources: + - kind: Deployment + version: v1 + - kind: Service + version: v1 + - kind: ReplicaSet + version: v1 + - kind: Pod + version: v1 + - kind: Secret + version: v1 + - kind: ConfigMap + version: v1 + - kind: StatefulSet + version: apps/v1 + version: v1alpha1 + description: Openshift 4 Operator to deploy JFrog Artifactory Enterprise + displayName: JFrog Artifactory Enterprise Operator + provider: + name: JFrog LTD + links: + - name: JFrog + url: https://www.jfrog.com + - name: JFrog Artifact Repository + url: https://jfrog.com/artifactory/ + - name: Artifactory Video + url: https://www.youtube.com/watch?v=r2_A5CPo43U + icon: + - base64data: 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 + mediatype: image/png + maintainers: + - name: JFrog, Ltd + email: integrations@jfrog.com + install: + spec: + deployments: + - name: artifactory-ha-operator + spec: + replicas: 1 + selector: + matchLabels: + name: artifactory-ha-operator + strategy: {} + template: + metadata: + labels: + name: artifactory-ha-operator + spec: + containers: + - env: + - name: WATCH_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.annotations['olm.targetNamespaces'] + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: OPERATOR_NAME + value: artifactory-ha-operator + - name: RELATED_IMAGE_ARTIFACTORY_IMAGE_REPOSITORY + value: quay.io/jfrog/artifactory-rh-pro + - name: RELATED_IMAGE_NGINX_IMAGE_REPOSITORY + value: quay.io/jfrog/nginx-artifactory-rh-pro + - name: DATABASE_TYPE + value: OVERRIDE + - name: DATABASE_DRIVER + value: OVERRIDE + - name: DATABASE_URL + value: OVERRIDE + - name: DATABASE_USER + value: OVERRIDE + - name: DATABASE_PASSWORD + value: OVERRIDE + image: quay.io/jfrog/artifactory-ha-operator + imagePullPolicy: IfNotPresent + name: artifactory-ha-operator + resources: {} + serviceAccountName: artifactory-ha-operator + permissions: + - rules: + - apiGroups: + - "" + resources: + - pods + - services + - services/finalizers + - endpoints + - persistentvolumeclaims + - events + - configmaps + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apps + resources: + - deployments + - daemonsets + - replicasets + - statefulsets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - namespaces + verbs: + - get + - apiGroups: + - "" + resources: + - configmaps + - secrets + verbs: + - '*' + - apiGroups: + - "" + resources: + - events + verbs: + - create + - apiGroups: + - monitoring.coreos.com + resources: + - servicemonitors + verbs: + - get + - create + - apiGroups: + - apps + resourceNames: + - artifactory-ha-operator + resources: + - deployments/finalizers + verbs: + - update + - apiGroups: + - "" + resources: + - pods + verbs: + - get + - apiGroups: + - apps + resources: + - replicasets + - deployments + verbs: + - get + - apiGroups: + - charts.helm.k8s.io + resources: + - '*' + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + serviceAccountName: artifactory-ha-operator + strategy: deployment + installModes: + - supported: true + type: OwnNamespace + - supported: true + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - "DevOps" + - "CI/CD" + - "Developers" + - "Software" + - "Productivity" + - "Artifact Repository" + - "Repository Manager" + - "Docker" + - "Maven" + - "Git" + - "Helm" + - "npm" + - "go" + - "golang" + - "kubernetes" + - "k8s" + - "rpm" + - "yum" + maturity: alpha + replaces: artifactory-ha-operator.v0.0.0 + version: 1.0.0 diff --git a/Openshift4/artifactory-ha-operator/bundle/openshiftartifactoryha-operator.crd.yaml b/Openshift4/artifactory-ha-operator/bundle/openshiftartifactoryha-operator.crd.yaml new file mode 100644 index 0000000..17df5a1 --- /dev/null +++ b/Openshift4/artifactory-ha-operator/bundle/openshiftartifactoryha-operator.crd.yaml @@ -0,0 +1,23 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: openshiftartifactoryhas.charts.helm.k8s.io +spec: + group: charts.helm.k8s.io + names: + kind: OpenshiftArtifactoryHa + listKind: OpenshiftArtifactoryHaList + plural: openshiftartifactoryhas + singular: openshiftartifactoryha + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + type: object + x-kubernetes-preserve-unknown-fields: true + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true diff --git a/Openshift4/artifactory-ha-operator/bundle/openshiftartifactoryha-operator.package.yaml b/Openshift4/artifactory-ha-operator/bundle/openshiftartifactoryha-operator.package.yaml new file mode 100644 index 0000000..79968b8 --- /dev/null +++ b/Openshift4/artifactory-ha-operator/bundle/openshiftartifactoryha-operator.package.yaml @@ -0,0 +1,4 @@ +packageName: openshiftartifactoryha-operator +channels: + - name: alpha + currentCSV: artifactory-ha-operator.v1.0.0 \ No newline at end of file diff --git a/Openshift4/artifactory-ha-operator/deploy/catalogsourceconfig.yaml b/Openshift4/artifactory-ha-operator/deploy/catalogsourceconfig.yaml new file mode 100644 index 0000000..bcd0aa7 --- /dev/null +++ b/Openshift4/artifactory-ha-operator/deploy/catalogsourceconfig.yaml @@ -0,0 +1,8 @@ +apiVersion: operators.coreos.com/v1 +kind: CatalogSourceConfig +metadata: + name: artifactory-ha-operator-csc + namespace: openshift-marketplace +spec: + targetNamespace: jfrog-artifactory + packages: artifactory-ha-operator diff --git a/Openshift4/artifactory-ha-operator/deploy/crds/charts.helm.k8s.io_v1alpha1_openshiftartifactoryha_cr.yaml b/Openshift4/artifactory-ha-operator/deploy/crds/charts.helm.k8s.io_v1alpha1_openshiftartifactoryha_cr.yaml index bdc896e..54b7bf3 100644 --- a/Openshift4/artifactory-ha-operator/deploy/crds/charts.helm.k8s.io_v1alpha1_openshiftartifactoryha_cr.yaml +++ b/Openshift4/artifactory-ha-operator/deploy/crds/charts.helm.k8s.io_v1alpha1_openshiftartifactoryha_cr.yaml @@ -1,999 +1,97 @@ apiVersion: charts.helm.k8s.io/v1alpha1 kind: OpenshiftArtifactoryHa metadata: - name: artifactoryha + name: openshiftartifactoryha spec: - # Default values copied from /helm-charts/openshift-artifactory-ha/values.yaml - - access: + artifactory-ha: database: - maxOpenConnections: 80 - artifactory: - accessAdmin: - dataKey: null - ip: 127.0.0.1 - password: null - secret: null - annotations: {} - binarystore: - enabled: true - catalinaLoggers: [] - configMapName: null - configMaps: "" - copyOnEveryStartup: null - customInitContainers: "" - customInitContainersBegin: | - - name: "custom-setup" - image: "{{ .Values.initContainerImage }}" - imagePullPolicy: "{{ .Values.artifactory.image.pullPolicy }}" - command: - - 'sh' - - '-c' - - 'chown -R 1030:1030 {{ .Values.artifactory.persistence.mountPath }}' - securityContext: - runAsUser: 0 - volumeMounts: - - mountPath: "{{ .Values.artifactory.persistence.mountPath }}" - name: volume - customPersistentPodVolumeClaim: {} - customPersistentVolumeClaim: {} - customSidecarContainers: "" - customVolumeMounts: "" - customVolumes: "" - database: - maxOpenConnections: 80 - deleteDBPropertiesOnStartup: true - externalArtifactoryPort: 8081 - externalPort: 8082 - haDataDir: - enabled: false - path: null - image: - pullPolicy: IfNotPresent - repository: image-registry.openshift-image-registry.svc:5000/jfrog-artifactory/artifactory-pro - internalArtifactoryPort: 8081 - internalPort: 8082 - javaOpts: {} - joinKey: EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE - license: - dataKey: artifactory.cluster.license - licenseKey: null - secret: artifactory-license - livenessProbe: - enabled: true - failureThreshold: 10 - initialDelaySeconds: 180 - path: /router/api/v1/system/health - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 10 - loggers: [] - masterKey: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - name: artifactory-ha - node: - affinity: {} - javaOpts: - corePoolSize: 16 - jmx: - accessFile: null - authenticate: false - enabled: false - host: null - passwordFile: null - port: 9010 - ssl: false - labels: {} - minAvailable: 1 - name: artifactory-ha-member - nodeSelector: {} - persistence: - existingClaim: false - podAntiAffinity: - topologyKey: kubernetes.io/hostname - type: "" - replicaCount: 1 - resources: {} - tolerations: [] - waitForPrimaryStartup: - enabled: true - time: 60 - persistence: - accessMode: ReadWriteOnce - awsS3: - bucketName: artifactory-ha-aws - credential: null - endpoint: null - httpsOnly: true - identity: null - path: artifactory-ha/filestore - properties: {} - refreshCredentials: true - region: null - roleName: null - s3AwsVersion: AWS4-HMAC-SHA256 - testConnection: false - awsS3V3: - bucketName: artifactory-aws - cloudFrontDomainName: null - cloudFrontKeyPairId: null - cloudFrontPrivateKey: null - credential: null - endpoint: null - identity: null - kmsCryptoMode: null - kmsKeyRegion: null - kmsServerSideEncryptionKeyId: null - path: artifactory/filestore - region: null - signatureExpirySeconds: 300 - testConnection: false - useInstanceCredentials: true - usePresigning: false - azureBlob: - accountKey: null - accountName: null - containerName: null - endpoint: null - testConnection: false - binarystoreXml: | - {{- if eq .Values.artifactory.persistence.type "file-system" }} - - {{- if .Values.artifactory.persistence.fileSystem.existingSharedClaim.enabled }} - - - - - - {{- range $sharedClaimNumber, $e := until (.Values.artifactory.persistence.fileSystem.existingSharedClaim.numberOfExistingClaims|int) -}} - - {{- end }} - - - - - - {{ .Values.artifactory.persistence.maxCacheSize }} - {{ .Values.artifactory.persistence.cacheProviderDir }} - - - // Specify the read and write strategy and redundancy for the sharding binary provider - - roundRobin - percentageFreeSpace - 2 - - - {{- range $sharedClaimNumber, $e := until (.Values.artifactory.persistence.fileSystem.existingSharedClaim.numberOfExistingClaims|int) -}} - //For each sub-provider (mount), specify the filestore location - - filestore{{ $sharedClaimNumber }} - - {{- end }} - - {{- else }} - - - - - crossNetworkStrategy - crossNetworkStrategy - {{ .Values.artifactory.persistence.redundancy }} - 2 - 2 - - - - - - - - - {{ .Values.artifactory.persistence.maxCacheSize }} - {{ .Values.artifactory.persistence.cacheProviderDir }} - - - - - shard-fs-1 - local - - - - - 30 - tester-remote1 - 10000 - remote - - - - {{- end }} - {{- end }} - {{- if eq .Values.artifactory.persistence.type "google-storage" }} - - - - - crossNetworkStrategy - crossNetworkStrategy - {{ .Values.artifactory.persistence.redundancy }} - 2 - - - - - - - - - - - - - {{ .Values.artifactory.persistence.maxCacheSize }} - {{ .Values.artifactory.persistence.cacheProviderDir }} - - - - local - - - - 30 - 10000 - remote - - - - {{ .Values.artifactory.persistence.mountPath }}/data/filestore - /tmp - - - - google-cloud-storage - {{ .Values.artifactory.persistence.googleStorage.endpoint }} - {{ .Values.artifactory.persistence.googleStorage.httpsOnly }} - {{ .Values.artifactory.persistence.googleStorage.bucketName }} - {{ .Values.artifactory.persistence.googleStorage.identity }} - {{ .Values.artifactory.persistence.googleStorage.credential }} - {{ .Values.artifactory.persistence.googleStorage.path }} - {{ .Values.artifactory.persistence.googleStorage.bucketExists }} - - - {{- end }} - {{- if eq .Values.artifactory.persistence.type "aws-s3-v3" }} - - - - - - - - - - - - - - - - - crossNetworkStrategy - crossNetworkStrategy - {{ .Values.artifactory.persistence.redundancy }} - - - - - remote - - - - local - - - - - {{ .Values.artifactory.persistence.maxCacheSize }} - {{ .Values.artifactory.persistence.cacheProviderDir }} - - - {{- with .Values.artifactory.persistence.awsS3V3 }} - - {{ .testConnection }} - {{- if .identity }} - {{ .identity }} - {{- end }} - {{- if .credential }} - {{ .credential }} - {{- end }} - {{ .region }} - {{ .bucketName }} - {{ .path }} - {{ .endpoint }} - {{- with .kmsServerSideEncryptionKeyId }} - {{ . }} - {{- end }} - {{- with .kmsKeyRegion }} - {{ . }} - {{- end }} - {{- with .kmsCryptoMode }} - {{ . }} - {{- end }} - true - {{ .usePresigning }} - {{ .signatureExpirySeconds }} - {{- with .cloudFrontDomainName }} - {{ . }} - {{- end }} - {{- with .cloudFrontKeyPairId }} - {{ .cloudFrontKeyPairId }} - {{- end }} - {{- with .cloudFrontPrivateKey }} - {{ . }} - {{- end }} - - {{- end }} - - {{- end }} - - {{- if eq .Values.artifactory.persistence.type "aws-s3" }} - - - - - - - - - - - - - - - - - - {{ .Values.artifactory.persistence.maxCacheSize }} - {{ .Values.artifactory.persistence.cacheProviderDir }} - - - - local - - - - 30 - 10000 - remote - - - - crossNetworkStrategy - crossNetworkStrategy - {{ .Values.artifactory.persistence.redundancy }} - - - - - {{ .Values.artifactory.persistence.awsS3.endpoint }} - {{- if .Values.artifactory.persistence.awsS3.roleName }} - {{ .Values.artifactory.persistence.awsS3.roleName }} - true - {{- else }} - {{ .Values.artifactory.persistence.awsS3.refreshCredentials }} - {{- end }} - {{ .Values.artifactory.persistence.awsS3.s3AwsVersion }} - {{ .Values.artifactory.persistence.awsS3.testConnection }} - {{ .Values.artifactory.persistence.awsS3.httpsOnly }} - {{ .Values.artifactory.persistence.awsS3.region }} - {{ .Values.artifactory.persistence.awsS3.bucketName }} - {{- if .Values.artifactory.persistence.awsS3.identity }} - {{ .Values.artifactory.persistence.awsS3.identity }} - {{- end }} - {{- if .Values.artifactory.persistence.awsS3.credential }} - {{ .Values.artifactory.persistence.awsS3.credential }} - {{- end }} - {{ .Values.artifactory.persistence.awsS3.path }} - {{- range $key, $value := .Values.artifactory.persistence.awsS3.properties }} - - {{- end }} - - - {{- end }} - {{- if eq .Values.artifactory.persistence.type "azure-blob" }} - - - - - - - - - - - - - - - - - - {{ .Values.artifactory.persistence.maxCacheSize }} - {{ .Values.artifactory.persistence.cacheProviderDir }} - - - - - crossNetworkStrategy - crossNetworkStrategy - 2 - 1 - - - - - remote - - - - local - - - - - {{ .Values.artifactory.persistence.azureBlob.accountName }} - {{ .Values.artifactory.persistence.azureBlob.accountKey }} - {{ .Values.artifactory.persistence.azureBlob.endpoint }} - {{ .Values.artifactory.persistence.azureBlob.containerName }} - {{ .Values.artifactory.persistence.azureBlob.testConnection }} - - - {{- end }} - cacheProviderDir: cache - customBinarystoreXmlSecret: null - enabled: true - eventual: - numberOfThreads: 10 - fileSystem: - existingSharedClaim: - backupDir: /var/opt/jfrog/artifactory-backup - dataDir: '{{ .Values.artifactory.persistence.mountPath }}/artifactory-data' - enabled: false - numberOfExistingClaims: 1 - googleStorage: - bucketExists: false - bucketName: artifactory-ha-gcp - credential: null - endpoint: storage.googleapis.com - httpsOnly: false - identity: null - path: artifactory-ha/filestore - local: false - maxCacheSize: 50000000000 - mountPath: /var/opt/jfrog/artifactory - nfs: - backupDir: /var/opt/jfrog/artifactory-backup - capacity: 200Gi - dataDir: /var/opt/jfrog/artifactory-ha - haBackupMount: /backup - haDataMount: /data - ip: null - mountOptions: [] - redundancy: 3 - size: 200Gi - type: file-system - primary: - affinity: {} - javaOpts: - corePoolSize: 16 - jmx: - accessFile: null - authenticate: false - enabled: false - host: null - passwordFile: null - port: 9010 - ssl: false - labels: {} - name: artifactory-ha-primary - nodeSelector: {} - persistence: - existingClaim: false - podAntiAffinity: - topologyKey: kubernetes.io/hostname - type: "" - resources: {} - tolerations: [] - priorityClass: - create: false - value: 1000000000 - readinessProbe: - enabled: true - failureThreshold: 10 - initialDelaySeconds: 60 - path: /router/api/v1/system/health - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 10 - service: - annotations: {} - loadBalancerSourceRanges: [] - name: artifactory - pool: members - type: ClusterIP - systemYaml: | - shared: - extraJavaOpts: > - {{- with .Values.artifactory.primary.javaOpts }} - -Dartifactory.async.corePoolSize={{ .corePoolSize }} - {{- if .xms }} - -Xms{{ .xms }} - {{- end }} - {{- if .xmx }} - -Xmx{{ .xmx }} - {{- end }} - {{- if .jmx.enabled }} - -Dcom.sun.management.jmxremote - -Dcom.sun.management.jmxremote.port={{ .jmx.port }} - -Dcom.sun.management.jmxremote.rmi.port={{ .jmx.port }} - -Dcom.sun.management.jmxremote.ssl={{ .jmx.ssl }} - {{- if .jmx.host }} - -Djava.rmi.server.hostname={{ tpl .jmx.host $ }} - {{- else }} - -Djava.rmi.server.hostname={{ template "artifactory-ha.fullname" $ }} - {{- end }} - {{- if .jmx.authenticate }} - -Dcom.sun.management.jmxremote.authenticate=true - -Dcom.sun.management.jmxremote.access.file={{ .jmx.accessFile }} - -Dcom.sun.management.jmxremote.password.file={{ .jmx.passwordFile }} - {{- else }} - -Dcom.sun.management.jmxremote.authenticate=false - {{- end }} - {{- end }} - {{- if .other }} - {{ .other }} - {{- end }} - {{- end }} - database: - {{- if .Values.postgresql.enabled }} - type: postgresql - url: 'jdbc:postgresql://{{ .Release.Name }}-postgresql:{{ .Values.postgresql.service.port }}/{{ .Values.postgresql.postgresqlDatabase }}' - host: '' - driver: org.postgresql.Driver - username: '{{ .Values.postgresql.postgresqlUsername }}' - password: '{{ .Values.postgresql.postgresqlPassword }}' - {{ else }} - type: '{{ .Values.database.type }}' - url: '{{ .Values.database.url }}' - driver: '{{ .Values.database.driver }}' - username: '{{ .Values.database.user }}' - password: '{{ .Values.database.password }}' - {{- end }} - security: - joinKey: '{{ .Values.artifactory.joinKey }}' - masterKey: '{{ .Values.artifactory.masterKey }}' - artifactory: - {{- if .Values.artifactory.haDataDir.enabled }} - node: - haDataDir: {{ .Values.artifactory.haDataDir.path }} - {{- end }} - database: - maxOpenConnections: {{ .Values.artifactory.database.maxOpenConnections }} - access: - database: - maxOpenConnections: '{{ .Values.access.database.maxOpenConnections }}' - {{- if .Values.access.database.enabled }} - type: '{{ .Values.access.database.type }}' - url: '{{ .Values.access.database.url }}' - driver: '{{ .Values.access.database.driver }}' - username: '{{ .Values.access.database.user }}' - password: '{{ .Values.access.database.password }}' - {{- end }} - terminationGracePeriodSeconds: 30 - uid: 1030 - userPluginSecrets: null - database: - driver: null - password: null - secrets: {} - type: null - url: null - user: null - filebeat: - enabled: false - filebeatYml: | - logging.level: info - path.data: {{ .Values.artifactory.persistence.mountPath }}/log/filebeat - name: artifactory-filebeat - queue.spool: ~ - filebeat.inputs: - - type: log - enabled: true - close_eof: ${CLOSE:false} - paths: - - {{ .Values.artifactory.persistence.mountPath }}/log/*.log - fields: - service: "jfrt" - log_type: "artifactory" - output: - logstash: - hosts: ["{{ .Values.filebeat.logstashUrl }}"] - image: - repository: docker.elastic.co/beats/filebeat - version: 7.5.1 - livenessProbe: - exec: - command: - - sh - - -c - - | - #!/usr/bin/env bash -e - curl --fail 127.0.0.1:5066 - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - timeoutSeconds: 5 - logstashUrl: logstash:5044 - name: artifactory-filebeat - readinessProbe: - exec: - command: - - sh - - -c - - | - #!/usr/bin/env bash -e - filebeat test output - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - timeoutSeconds: 5 - resources: {} - terminationGracePeriod: 10 - imagePullSecrets: null - ingress: - additionalRules: [] - annotations: {} - artifactoryPath: /artifactory/ - defaultBackend: - enabled: true - enabled: false - hosts: [] - labels: {} - routerPath: / - tls: [] - initContainerImage: alpine:3.10 - initContainers: - resources: {} - installer: - platform: null - type: null - logger: - image: - repository: busybox - tag: "1.30" - networkpolicy: - - egress: - - {} - ingress: - - {} - name: artifactory - podSelector: - matchLabels: - app: artifactory-ha - nginx: - affinity: {} - artifactoryConf: | - ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; - ssl_certificate {{ .Values.nginx.persistence.mountPath }}/ssl/tls.crt; - ssl_certificate_key {{ .Values.nginx.persistence.mountPath }}/ssl/tls.key; - ssl_session_cache shared:SSL:1m; - ssl_prefer_server_ciphers on; - ## server configuration - server { - {{- if .Values.nginx.internalPortHttps }} - listen {{ .Values.nginx.internalPortHttps }} ssl; - {{- else -}} - {{- if .Values.nginx.https.enabled }} - listen {{ .Values.nginx.https.internalPort }} ssl; - {{- end }} - {{- end }} - {{- if .Values.nginx.internalPortHttp }} - listen {{ .Values.nginx.internalPortHttp }}; - {{- else -}} - {{- if .Values.nginx.http.enabled }} - listen {{ .Values.nginx.http.internalPort }}; - {{- end }} - {{- end }} - server_name ~(?.+)\.{{ include "artifactory-ha.fullname" . }} {{ include "artifactory-ha.fullname" . }} - {{- range .Values.ingress.hosts -}} - {{- if contains "." . -}} - {{ "" | indent 0 }} ~(?.+)\.{{ (splitn "." 2 .)._1 }} {{ . }} - {{- end -}} - {{- end -}}; - - if ($http_x_forwarded_proto = '') { - set $http_x_forwarded_proto $scheme; - } - ## Application specific logs - ## access_log /var/log/nginx/artifactory-access.log timing; - ## error_log /var/log/nginx/artifactory-error.log; - rewrite ^/artifactory/?$ / redirect; - if ( $repo != "" ) { - rewrite ^/(v1|v2)/(.*) /artifactory/api/docker/$repo/$1/$2 break; - } - chunked_transfer_encoding on; - client_max_body_size 0; - - location / { - proxy_read_timeout 900; - proxy_pass_header Server; - proxy_cookie_path ~*^/.* /; - proxy_pass http://{{ include "artifactory-ha.fullname" . }}:{{ .Values.artifactory.externalPort }}/; - proxy_set_header X-JFrog-Override-Base-Url $http_x_forwarded_proto://$host:$server_port; - proxy_set_header X-Forwarded-Port $server_port; - proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; - proxy_set_header Host $http_host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - - location /artifactory/ { - if ( $request_uri ~ ^/artifactory/(.*)$ ) { - proxy_pass http://{{ include "artifactory-ha.fullname" . }}:{{ .Values.artifactory.externalArtifactoryPort }}/artifactory/$1; - } - proxy_pass http://{{ include "artifactory-ha.fullname" . }}:{{ .Values.artifactory.externalArtifactoryPort }}/artifactory/; - } - } - } - customArtifactoryConfigMap: null - customConfigMap: null - enabled: true - tlsSecretName: tls-ingress - gid: 107 - http: - enabled: true - externalPort: 80 - internalPort: 80 - https: - enabled: true - externalPort: 443 - internalPort: 443 - image: - pullPolicy: IfNotPresent - #repository: image-registry.openshift-image-registry.svc:5000/jfrog-artifactory/nginx-artifactory-pro - repository: registry.redhat.io/rhel8/nginx-116 - labels: {} - livenessProbe: - enabled: true - failureThreshold: 10 - initialDelaySeconds: 60 - path: /router/api/v1/system/health - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 10 - loggers: [] - mainConf: | - # Main Nginx configuration file - worker_processes 4; - error_log {{ .Values.nginx.persistence.mountPath }}/logs//error.log warn; - pid /tmp/nginx.pid; - events { - worker_connections 1024; - } - http { - include /etc/nginx/mime.types; - default_type application/octet-stream; - variables_hash_max_size 1024; - variables_hash_bucket_size 64; - server_names_hash_max_size 4096; - server_names_hash_bucket_size 128; - types_hash_max_size 2048; - types_hash_bucket_size 64; - proxy_read_timeout 2400s; - client_header_timeout 2400s; - client_body_timeout 2400s; - proxy_connect_timeout 75s; - proxy_send_timeout 2400s; - proxy_buffer_size 32k; - proxy_buffers 40 32k; - proxy_busy_buffers_size 64k; - proxy_temp_file_write_size 250m; - proxy_http_version 1.1; - client_body_buffer_size 128k; - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - log_format timing 'ip = $remote_addr ' - 'user = \"$remote_user\" ' - 'local_time = \"$time_local\" ' - 'host = $host ' - 'request = \"$request\" ' - 'status = $status ' - 'bytes = $body_bytes_sent ' - 'upstream = \"$upstream_addr\" ' - 'upstream_time = $upstream_response_time ' - 'request_time = $request_time ' - 'referer = \"$http_referer\" ' - 'UA = \"$http_user_agent\"'; - access_log {{ .Values.nginx.persistence.mountPath }}/logs/access.log timing; - sendfile on; - #tcp_nopush on; - keepalive_timeout 65; - #gzip on; - include {{ .Values.nginx.persistence.mountPath }}/conf.d/*.conf; - } - name: nginx - nodeSelector: {} - persistence: - accessMode: ReadWriteOnce - enabled: false - mountPath: /var/opt/jfrog/nginx - size: 5Gi - readinessProbe: - enabled: true - failureThreshold: 10 - initialDelaySeconds: 10 - path: /router/api/v1/system/health - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 10 - replicaCount: 1 - resources: {} - service: - externalTrafficPolicy: Cluster - labels: {} - loadBalancerIP: null - loadBalancerSourceRanges: [] - type: LoadBalancer - tolerations: [] - uid: 104 - postgresql: - enabled: true - extraEnv: [] - global: - postgresql: {} - image: - debug: false - pullPolicy: IfNotPresent - registry: docker.bintray.io - repository: bitnami/postgresql - tag: 9.6.15-debian-9-r91 - livenessProbe: - enabled: true - failureThreshold: 6 - initialDelaySeconds: 30 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - master: - affinity: {} - annotations: {} - extraVolumeMounts: [] - extraVolumes: [] - labels: {} - nodeSelector: {} - podAnnotations: {} - podLabels: {} - tolerations: [] - metrics: - enabled: false + driver: OVERRIDE + password: OVERRIDE + type: OVERRIDE + url: OVERRIDE + user: OVERRIDE + artifactory: + customInitContainersBegin: | + - name: "redhat-custom-setup" + #image: "{{ .Values.initContainerImage }}" + image: {{ index .Values "initContainerImage" }} + imagePullPolicy: "{{ .Values.artifactory.image.pullPolicy }}" + command: + - 'sh' + - '-c' + - 'chown -R 1030:1030 {{ .Values.artifactory.persistence.mountPath }}' + securityContext: + runAsUser: 0 + volumeMounts: + - mountPath: "{{ .Values.artifactory.persistence.mountPath }}" + name: volume image: - pullPolicy: IfNotPresent - registry: docker.io - repository: bitnami/postgres-exporter - tag: 0.6.0-debian-9-r0 - livenessProbe: - enabled: true - failureThreshold: 6 - initialDelaySeconds: 5 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - readinessProbe: - enabled: true - failureThreshold: 6 - initialDelaySeconds: 5 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - securityContext: - enabled: false - runAsUser: 1001 - service: - annotations: - prometheus.io/port: "9187" - prometheus.io/scrape: "true" - loadBalancerIP: null - type: ClusterIP - serviceMonitor: - additionalLabels: {} - enabled: false - networkPolicy: - allowExternal: true - enabled: false - nodeSelector: {} - persistence: - accessModes: - - ReadWriteOnce - annotations: {} - enabled: true - mountPath: /bitnami/postgresql - size: 50Gi - subPath: "" - postgresqlConfiguration: - listenAddresses: '''*''' - maxConnections: "1500" - postgresqlDataDir: /bitnami/postgresql/data - postgresqlDatabase: artifactory - postgresqlPassword: "" - postgresqlUsername: artifactory - readinessProbe: - enabled: true - failureThreshold: 6 - initialDelaySeconds: 5 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - replication: - applicationName: my_application - enabled: false - numSynchronousReplicas: 0 - password: repl_password - slaveReplicas: 1 - synchronousCommit: "off" - user: repl_user - resources: - requests: - cpu: 250m - memory: 256Mi - securityContext: - enabled: true - fsGroup: 1001 - runAsUser: 1001 - service: - annotations: {} - port: 5432 - type: ClusterIP - serviceAccount: - enabled: false - slave: - affinity: {} - annotations: {} - extraVolumeMounts: [] - extraVolumes: [] - labels: {} - nodeSelector: {} - podAnnotations: {} - podLabels: {} - tolerations: [] - updateStrategy: - type: RollingUpdate - volumePermissions: - enabled: true + repository: quay.io/jfrog/artifactory-rh-pro + node: + waitForPrimaryStartup: + enabled: false + initContainerImage: registry.redhat.io/ubi8-minimal + installerInfo: '{ "productId": "Openshift_artifactory-ha/{{ .Chart.Version }}", "features": [ { "featureId": "ArtifactoryVersion/{{ default .Chart.AppVersion .Values.artifactory.image.version }}" }, { "featureId": "{{ if .Values.postgresql.enabled }}postgresql{{ else }}{{ default \"derby\" .Values.database.type }}{{ end }}/0.0.0" }, { "featureId": "Platform/{{ default \"openshift\" .Values.installer.platform }}" }, { "featureId": "Partner/ACC-006983" }, { "featureId": "Channel/Openshift" } ] }' + nginx: + http: + externalPort: 80 + internalPort: 8080 + https: + externalPort: 443 + internalPort: 8443 image: - pullPolicy: Always - registry: docker.io - repository: bitnami/minideb - tag: stretch - securityContext: - runAsUser: 0 - rbac: - create: true - role: - rules: - - apiGroups: - - "" - resources: - - services - - endpoints - - pods - verbs: - - get - - watch - - list - serviceAccount: - annotations: {} - create: true - name: null - waitForDatabase: true + repository: quay.io/jfrog/nginx-artifactory-rh-pro + mainConf: | + # Main Nginx configuration file + worker_processes 4; + error_log {{ .Values.nginx.persistence.mountPath }}/logs//error.log warn; + pid /tmp/nginx.pid; + events { + worker_connections 1024; + } + http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + variables_hash_max_size 1024; + variables_hash_bucket_size 64; + server_names_hash_max_size 4096; + server_names_hash_bucket_size 128; + types_hash_max_size 2048; + types_hash_bucket_size 64; + proxy_read_timeout 2400s; + client_header_timeout 2400s; + client_body_timeout 2400s; + proxy_connect_timeout 75s; + proxy_send_timeout 2400s; + proxy_buffer_size 32k; + proxy_buffers 40 32k; + proxy_busy_buffers_size 64k; + proxy_temp_file_write_size 250m; + proxy_http_version 1.1; + client_body_buffer_size 128k; + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + log_format timing 'ip = $remote_addr ' + 'user = \"$remote_user\" ' + 'local_time = \"$time_local\" ' + 'host = $host ' + 'request = \"$request\" ' + 'status = $status ' + 'bytes = $body_bytes_sent ' + 'upstream = \"$upstream_addr\" ' + 'upstream_time = $upstream_response_time ' + 'request_time = $request_time ' + 'referer = \"$http_referer\" ' + 'UA = \"$http_user_agent\"'; + access_log {{ .Values.nginx.persistence.mountPath }}/logs/access.log timing; + sendfile on; + #tcp_nopush on; + keepalive_timeout 65; + #gzip on; + include {{ .Values.nginx.persistence.mountPath }}/conf.d/*.conf; + } + postgresql: + enabled: false + waitForDatabase: false diff --git a/Openshift4/artifactory-ha-operator/deploy/imagestream-nginx.yaml b/Openshift4/artifactory-ha-operator/deploy/imagestream-nginx.yaml deleted file mode 100644 index a0ef6b3..0000000 --- a/Openshift4/artifactory-ha-operator/deploy/imagestream-nginx.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: image.openshift.io/v1 -kind: ImageStream -metadata: - name: nginx-artifactory-pro - namespace: jfrog-artifactory - diff --git a/Openshift4/artifactory-ha-operator/deploy/imagestream-operator.yaml b/Openshift4/artifactory-ha-operator/deploy/imagestream-operator.yaml deleted file mode 100644 index 12d9a2f..0000000 --- a/Openshift4/artifactory-ha-operator/deploy/imagestream-operator.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: image.openshift.io/v1 -kind: ImageStream -metadata: - name: artifactory-ha - namespace: jfrog-artifactory - diff --git a/Openshift4/artifactory-ha-operator/deploy/imagestream-pro.yaml b/Openshift4/artifactory-ha-operator/deploy/imagestream-pro.yaml deleted file mode 100644 index 4c4ba85..0000000 --- a/Openshift4/artifactory-ha-operator/deploy/imagestream-pro.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: image.openshift.io/v1 -kind: ImageStream -metadata: - name: artifactory-pro - namespace: jfrog-artifactory - diff --git a/Openshift4/artifactory-ha-operator/deploy/olm-catalog/artifactory-ha-operator/1.0.0/artifactory-ha-operator.v1.0.0.clusterserviceversion.yaml b/Openshift4/artifactory-ha-operator/deploy/olm-catalog/artifactory-ha-operator/1.0.0/artifactory-ha-operator.v1.0.0.clusterserviceversion.yaml index 2876eaf..befdf1a 100644 --- a/Openshift4/artifactory-ha-operator/deploy/olm-catalog/artifactory-ha-operator/1.0.0/artifactory-ha-operator.v1.0.0.clusterserviceversion.yaml +++ b/Openshift4/artifactory-ha-operator/deploy/olm-catalog/artifactory-ha-operator/1.0.0/artifactory-ha-operator.v1.0.0.clusterserviceversion.yaml @@ -8,598 +8,103 @@ metadata: "apiVersion": "charts.helm.k8s.io/v1alpha1", "kind": "OpenshiftArtifactoryHa", "metadata": { - "name": "artifactoryha" + "name": "osartifactoryha" }, "spec": { - "access": { - "database": { - "maxOpenConnections": 80 - } - }, - "artifactory": { - "accessAdmin": { - "dataKey": null, - "ip": "127.0.0.1", - "password": null, - "secret": null - }, - "annotations": {}, - "binarystore": { - "enabled": true - }, - "catalinaLoggers": [], - "configMapName": null, - "configMaps": "", - "copyOnEveryStartup": null, - "customInitContainers": "", - "customInitContainersBegin": "- name: \"custom-setup\"\n image: \"{{ .Values.initContainerImage }}\"\n imagePullPolicy: \"{{ .Values.artifactory.image.pullPolicy }}\"\n command:\n - 'sh'\n - '-c'\n - 'chown -R 1030:1030 {{ .Values.artifactory.persistence.mountPath }}'\n securityContext:\n runAsUser: 0\n volumeMounts:\n - mountPath: \"{{ .Values.artifactory.persistence.mountPath }}\"\n name: volume\n", - "customPersistentPodVolumeClaim": {}, - "customPersistentVolumeClaim": {}, - "customSidecarContainers": "", - "customVolumeMounts": "", - "customVolumes": "", - "database": { - "maxOpenConnections": 80 - }, - "deleteDBPropertiesOnStartup": true, - "externalArtifactoryPort": 8081, - "externalPort": 8082, - "haDataDir": { - "enabled": false, - "path": null - }, - "image": { - "pullPolicy": "IfNotPresent", - "repository": "image-registry.openshift-image-registry.svc:5000/jfrog-artifactory/artifactory-pro" - }, - "internalArtifactoryPort": 8081, - "internalPort": 8082, - "javaOpts": {}, - "joinKey": "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE", - "license": { - "dataKey": "artifactory.cluster.license", - "licenseKey": null, - "secret": "artifactory-license" - }, - "livenessProbe": { - "enabled": true, - "failureThreshold": 10, - "initialDelaySeconds": 180, - "path": "/router/api/v1/system/health", - "periodSeconds": 10, - "successThreshold": 1, - "timeoutSeconds": 10 - }, - "loggers": [], - "masterKey": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF", - "name": "artifactory-ha", - "node": { - "affinity": {}, - "javaOpts": { - "corePoolSize": 16, - "jmx": { - "accessFile": null, - "authenticate": false, - "enabled": false, - "host": null, - "passwordFile": null, - "port": 9010, - "ssl": false - } - }, - "labels": {}, - "minAvailable": 1, - "name": "artifactory-ha-member", - "nodeSelector": {}, - "persistence": { - "existingClaim": false - }, - "podAntiAffinity": { - "topologyKey": "kubernetes.io/hostname", - "type": "" - }, - "replicaCount": 1, - "resources": {}, - "tolerations": [], - "waitForPrimaryStartup": { - "enabled": true, - "time": 60 - } - }, - "persistence": { - "accessMode": "ReadWriteOnce", - "awsS3": { - "bucketName": "artifactory-ha-aws", - "credential": null, - "endpoint": null, - "httpsOnly": true, - "identity": null, - "path": "artifactory-ha/filestore", - "properties": {}, - "refreshCredentials": true, - "region": null, - "roleName": null, - "s3AwsVersion": "AWS4-HMAC-SHA256", - "testConnection": false - }, - "awsS3V3": { - "bucketName": "artifactory-aws", - "cloudFrontDomainName": null, - "cloudFrontKeyPairId": null, - "cloudFrontPrivateKey": null, - "credential": null, - "endpoint": null, - "identity": null, - "kmsCryptoMode": null, - "kmsKeyRegion": null, - "kmsServerSideEncryptionKeyId": null, - "path": "artifactory/filestore", - "region": null, - "signatureExpirySeconds": 300, - "testConnection": false, - "useInstanceCredentials": true, - "usePresigning": false - }, - "azureBlob": { - "accountKey": null, - "accountName": null, - "containerName": null, - "endpoint": null, - "testConnection": false - }, - "binarystoreXml": "{{- if eq .Values.artifactory.persistence.type \"file-system\" }}\n\u003c!-- File system replication --\u003e\n{{- if .Values.artifactory.persistence.fileSystem.existingSharedClaim.enabled }}\n\u003c!-- File Storage - Dynamic for Artifactory files, pre-created for DATA and BACKUP --\u003e\n\u003cconfig version=\"4\"\u003e\n \u003cchain\u003e\n \u003cprovider id=\"cache-fs\" type=\"cache-fs\"\u003e \u003c!-- This is a cached filestore --\u003e\n \u003cprovider id=\"sharding\" type=\"sharding\"\u003e \u003c!-- This is a sharding provider --\u003e\n {{- range $sharedClaimNumber, $e := until (.Values.artifactory.persistence.fileSystem.existingSharedClaim.numberOfExistingClaims|int) -}}\n \u003csub-provider id=\"shard{{ $sharedClaimNumber }}\" type=\"state-aware\"/\u003e\n {{- end }}\n \u003c/provider\u003e\n \u003c/provider\u003e\n \u003c/chain\u003e\n\n \u003cprovider id=\"cache-fs\" type=\"cache-fs\"\u003e\n \u003cmaxCacheSize\u003e{{ .Values.artifactory.persistence.maxCacheSize }}\u003c/maxCacheSize\u003e\n \u003ccacheProviderDir\u003e{{ .Values.artifactory.persistence.cacheProviderDir }}\u003c/cacheProviderDir\u003e\n \u003c/provider\u003e\n\n // Specify the read and write strategy and redundancy for the sharding binary provider\n \u003cprovider id=\"sharding\" type=\"sharding\"\u003e\n \u003creadBehavior\u003eroundRobin\u003c/readBehavior\u003e\n \u003cwriteBehavior\u003epercentageFreeSpace\u003c/writeBehavior\u003e\n \u003credundancy\u003e2\u003c/redundancy\u003e\n \u003c/provider\u003e\n\n {{- range $sharedClaimNumber, $e := until (.Values.artifactory.persistence.fileSystem.existingSharedClaim.numberOfExistingClaims|int) -}}\n //For each sub-provider (mount), specify the filestore location\n \u003cprovider id=\"shard{{ $sharedClaimNumber }}\" type=\"state-aware\"\u003e\n \u003cfileStoreDir\u003efilestore{{ $sharedClaimNumber }}\u003c/fileStoreDir\u003e\n \u003c/provider\u003e\n {{- end }}\n\u003c/config\u003e\n{{- else }}\n\u003cconfig version=\"2\"\u003e\n \u003cchain\u003e\n \u003cprovider id=\"cache-fs\" type=\"cache-fs\"\u003e\n \u003cprovider id=\"sharding-cluster\" type=\"sharding-cluster\"\u003e\n \u003creadBehavior\u003ecrossNetworkStrategy\u003c/readBehavior\u003e\n \u003cwriteBehavior\u003ecrossNetworkStrategy\u003c/writeBehavior\u003e\n \u003credundancy\u003e{{ .Values.artifactory.persistence.redundancy }}\u003c/redundancy\u003e\n \u003clenientLimit\u003e2\u003c/lenientLimit\u003e\n \u003cminSpareUploaderExecutor\u003e2\u003c/minSpareUploaderExecutor\u003e\n \u003csub-provider id=\"state-aware\" type=\"state-aware\"/\u003e\n \u003cdynamic-provider id=\"remote\" type=\"remote\"/\u003e\n \u003cproperty name=\"zones\" value=\"local,remote\"/\u003e\n \u003c/provider\u003e\n \u003c/provider\u003e\n \u003c/chain\u003e\n\n \u003cprovider id=\"cache-fs\" type=\"cache-fs\"\u003e\n \u003cmaxCacheSize\u003e{{ .Values.artifactory.persistence.maxCacheSize }}\u003c/maxCacheSize\u003e\n \u003ccacheProviderDir\u003e{{ .Values.artifactory.persistence.cacheProviderDir }}\u003c/cacheProviderDir\u003e\n \u003c/provider\u003e\n\n \u003c!-- Shards add local file-system provider configuration --\u003e\n \u003cprovider id=\"state-aware\" type=\"state-aware\"\u003e\n \u003cfileStoreDir\u003eshard-fs-1\u003c/fileStoreDir\u003e\n \u003czone\u003elocal\u003c/zone\u003e\n \u003c/provider\u003e\n\n \u003c!-- Shards dynamic remote provider configuration --\u003e\n \u003cprovider id=\"remote\" type=\"remote\"\u003e\n \u003ccheckPeriod\u003e30\u003c/checkPeriod\u003e\n \u003cserviceId\u003etester-remote1\u003c/serviceId\u003e\n \u003ctimeout\u003e10000\u003c/timeout\u003e\n \u003czone\u003eremote\u003c/zone\u003e\n \u003cproperty name=\"header.remote.block\" value=\"true\"/\u003e\n \u003c/provider\u003e\n\u003c/config\u003e\n{{- end }}\n{{- end }}\n{{- if eq .Values.artifactory.persistence.type \"google-storage\" }}\n\u003c!-- Google storage --\u003e\n\u003cconfig version=\"2\"\u003e\n \u003cchain\u003e\n \u003cprovider id=\"sharding-cluster\" type=\"sharding-cluster\"\u003e\n \u003creadBehavior\u003ecrossNetworkStrategy\u003c/readBehavior\u003e\n \u003cwriteBehavior\u003ecrossNetworkStrategy\u003c/writeBehavior\u003e\n \u003credundancy\u003e{{ .Values.artifactory.persistence.redundancy }}\u003c/redundancy\u003e\n \u003cminSpareUploaderExecutor\u003e2\u003c/minSpareUploaderExecutor\u003e\n \u003csub-provider id=\"eventual-cluster\" type=\"eventual-cluster\"\u003e\n \u003cprovider id=\"retry\" type=\"retry\"\u003e\n \u003cprovider id=\"google-storage\" type=\"google-storage\"/\u003e\n \u003c/provider\u003e\n \u003c/sub-provider\u003e\n \u003cdynamic-provider id=\"remote\" type=\"remote\"/\u003e\n \u003cproperty name=\"zones\" value=\"local,remote\"/\u003e\n \u003c/provider\u003e\n \u003c/chain\u003e\n\n \u003c!-- Set max cache-fs size --\u003e\n \u003cprovider id=\"cache-fs\" type=\"cache-fs\"\u003e\n \u003cmaxCacheSize\u003e{{ .Values.artifactory.persistence.maxCacheSize }}\u003c/maxCacheSize\u003e\n \u003ccacheProviderDir\u003e{{ .Values.artifactory.persistence.cacheProviderDir }}\u003c/cacheProviderDir\u003e\n \u003c/provider\u003e\n\n \u003cprovider id=\"eventual-cluster\" type=\"eventual-cluster\"\u003e\n \u003czone\u003elocal\u003c/zone\u003e\n \u003c/provider\u003e\n\n \u003cprovider id=\"remote\" type=\"remote\"\u003e\n \u003ccheckPeriod\u003e30\u003c/checkPeriod\u003e\n \u003ctimeout\u003e10000\u003c/timeout\u003e\n \u003czone\u003eremote\u003c/zone\u003e\n \u003c/provider\u003e\n\n \u003cprovider id=\"file-system\" type=\"file-system\"\u003e\n \u003cfileStoreDir\u003e{{ .Values.artifactory.persistence.mountPath }}/data/filestore\u003c/fileStoreDir\u003e\n \u003ctempDir\u003e/tmp\u003c/tempDir\u003e\n \u003c/provider\u003e\n\n \u003cprovider id=\"google-storage\" type=\"google-storage\"\u003e\n \u003cproviderId\u003egoogle-cloud-storage\u003c/providerId\u003e\n \u003cendpoint\u003e{{ .Values.artifactory.persistence.googleStorage.endpoint }}\u003c/endpoint\u003e\n \u003chttpsOnly\u003e{{ .Values.artifactory.persistence.googleStorage.httpsOnly }}\u003c/httpsOnly\u003e\n \u003cbucketName\u003e{{ .Values.artifactory.persistence.googleStorage.bucketName }}\u003c/bucketName\u003e\n \u003cidentity\u003e{{ .Values.artifactory.persistence.googleStorage.identity }}\u003c/identity\u003e\n \u003ccredential\u003e{{ .Values.artifactory.persistence.googleStorage.credential }}\u003c/credential\u003e\n \u003cpath\u003e{{ .Values.artifactory.persistence.googleStorage.path }}\u003c/path\u003e\n \u003cbucketExists\u003e{{ .Values.artifactory.persistence.googleStorage.bucketExists }}\u003c/bucketExists\u003e\n \u003c/provider\u003e\n\u003c/config\u003e\n{{- end }}\n{{- if eq .Values.artifactory.persistence.type \"aws-s3-v3\" }}\n\u003c!-- AWS S3 V3 --\u003e\n\u003cconfig version=\"2\"\u003e\n \u003cchain\u003e \u003c!--template=\"cluster-s3-storage-v3\"--\u003e\n \u003cprovider id=\"cache-fs-eventual-s3\" type=\"cache-fs\"\u003e\n \u003cprovider id=\"sharding-cluster-eventual-s3\" type=\"sharding-cluster\"\u003e\n \u003csub-provider id=\"eventual-cluster-s3\" type=\"eventual-cluster\"\u003e\n \u003cprovider id=\"retry-s3\" type=\"retry\"\u003e\n \u003cprovider id=\"s3-storage-v3\" type=\"s3-storage-v3\"/\u003e\n \u003c/provider\u003e\n \u003c/sub-provider\u003e\n \u003cdynamic-provider id=\"remote-s3\" type=\"remote\"/\u003e\n \u003c/provider\u003e\n \u003c/provider\u003e\n \u003c/chain\u003e\n\n \u003cprovider id=\"sharding-cluster-eventual-s3\" type=\"sharding-cluster\"\u003e\n \u003creadBehavior\u003ecrossNetworkStrategy\u003c/readBehavior\u003e\n \u003cwriteBehavior\u003ecrossNetworkStrategy\u003c/writeBehavior\u003e\n \u003credundancy\u003e{{ .Values.artifactory.persistence.redundancy }}\u003c/redundancy\u003e\n \u003cproperty name=\"zones\" value=\"local,remote\"/\u003e\n \u003c/provider\u003e\n\n \u003cprovider id=\"remote-s3\" type=\"remote\"\u003e\n \u003czone\u003eremote\u003c/zone\u003e\n \u003c/provider\u003e\n\n \u003cprovider id=\"eventual-cluster-s3\" type=\"eventual-cluster\"\u003e\n \u003czone\u003elocal\u003c/zone\u003e\n \u003c/provider\u003e\n\n \u003c!-- Set max cache-fs size --\u003e\n \u003cprovider id=\"cache-fs-eventual-s3\" type=\"cache-fs\"\u003e\n \u003cmaxCacheSize\u003e{{ .Values.artifactory.persistence.maxCacheSize }}\u003c/maxCacheSize\u003e\n \u003ccacheProviderDir\u003e{{ .Values.artifactory.persistence.cacheProviderDir }}\u003c/cacheProviderDir\u003e\n \u003c/provider\u003e\n\n {{- with .Values.artifactory.persistence.awsS3V3 }}\n \u003cprovider id=\"s3-storage-v3\" type=\"s3-storage-v3\"\u003e\n \u003ctestConnection\u003e{{ .testConnection }}\u003c/testConnection\u003e\n {{- if .identity }}\n \u003cidentity\u003e{{ .identity }}\u003c/identity\u003e\n {{- end }}\n {{- if .credential }}\n \u003ccredential\u003e{{ .credential }}\u003c/credential\u003e\n {{- end }}\n \u003cregion\u003e{{ .region }}\u003c/region\u003e\n \u003cbucketName\u003e{{ .bucketName }}\u003c/bucketName\u003e\n \u003cpath\u003e{{ .path }}\u003c/path\u003e\n \u003cendpoint\u003e{{ .endpoint }}\u003c/endpoint\u003e\n {{- with .kmsServerSideEncryptionKeyId }}\n \u003ckmsServerSideEncryptionKeyId\u003e{{ . }}\u003c/kmsServerSideEncryptionKeyId\u003e\n {{- end }}\n {{- with .kmsKeyRegion }}\n \u003ckmsKeyRegion\u003e{{ . }}\u003c/kmsKeyRegion\u003e\n {{- end }}\n {{- with .kmsCryptoMode }}\n \u003ckmsCryptoMode\u003e{{ . }}\u003c/kmsCryptoMode\u003e\n {{- end }}\n \u003cuseInstanceCredentials\u003etrue\u003c/useInstanceCredentials\u003e\n \u003cusePresigning\u003e{{ .usePresigning }}\u003c/usePresigning\u003e\n \u003csignatureExpirySeconds\u003e{{ .signatureExpirySeconds }}\u003c/signatureExpirySeconds\u003e\n {{- with .cloudFrontDomainName }}\n \u003ccloudFrontDomainName\u003e{{ . }}\u003c/cloudFrontDomainName\u003e\n {{- end }}\n {{- with .cloudFrontKeyPairId }}\n \u003ccloudFrontKeyPairId\u003e{{ .cloudFrontKeyPairId }}\u003c/cloudFrontKeyPairId\u003e\n {{- end }}\n {{- with .cloudFrontPrivateKey }}\n \u003ccloudFrontPrivateKey\u003e{{ . }}\u003c/cloudFrontPrivateKey\u003e\n {{- end }}\n \u003c/provider\u003e\n {{- end }}\n\u003c/config\u003e\n{{- end }}\n\n{{- if eq .Values.artifactory.persistence.type \"aws-s3\" }}\n\u003c!-- AWS S3 --\u003e\n\u003cconfig version=\"2\"\u003e\n \u003cchain\u003e \u003c!--template=\"cluster-s3\"--\u003e\n \u003cprovider id=\"cache-fs\" type=\"cache-fs\"\u003e\n \u003cprovider id=\"sharding-cluster\" type=\"sharding-cluster\"\u003e\n \u003csub-provider id=\"eventual-cluster\" type=\"eventual-cluster\"\u003e\n \u003cprovider id=\"retry-s3\" type=\"retry\"\u003e\n \u003cprovider id=\"s3\" type=\"s3\"/\u003e\n \u003c/provider\u003e\n \u003c/sub-provider\u003e\n \u003cdynamic-provider id=\"remote\" type=\"remote\"/\u003e\n \u003c/provider\u003e\n \u003c/provider\u003e\n \u003c/chain\u003e\n\n \u003c!-- Set max cache-fs size --\u003e\n \u003cprovider id=\"cache-fs\" type=\"cache-fs\"\u003e\n \u003cmaxCacheSize\u003e{{ .Values.artifactory.persistence.maxCacheSize }}\u003c/maxCacheSize\u003e\n \u003ccacheProviderDir\u003e{{ .Values.artifactory.persistence.cacheProviderDir }}\u003c/cacheProviderDir\u003e\n \u003c/provider\u003e\n\n \u003cprovider id=\"eventual-cluster\" type=\"eventual-cluster\"\u003e\n \u003czone\u003elocal\u003c/zone\u003e\n \u003c/provider\u003e\n\n \u003cprovider id=\"remote\" type=\"remote\"\u003e\n \u003ccheckPeriod\u003e30\u003c/checkPeriod\u003e\n \u003ctimeout\u003e10000\u003c/timeout\u003e\n \u003czone\u003eremote\u003c/zone\u003e\n \u003c/provider\u003e\n\n \u003cprovider id=\"sharding-cluster\" type=\"sharding-cluster\"\u003e\n \u003creadBehavior\u003ecrossNetworkStrategy\u003c/readBehavior\u003e\n \u003cwriteBehavior\u003ecrossNetworkStrategy\u003c/writeBehavior\u003e\n \u003credundancy\u003e{{ .Values.artifactory.persistence.redundancy }}\u003c/redundancy\u003e\n \u003cproperty name=\"zones\" value=\"local,remote\"/\u003e\n \u003c/provider\u003e\n\n \u003cprovider id=\"s3\" type=\"s3\"\u003e\n \u003cendpoint\u003e{{ .Values.artifactory.persistence.awsS3.endpoint }}\u003c/endpoint\u003e\n {{- if .Values.artifactory.persistence.awsS3.roleName }}\n \u003croleName\u003e{{ .Values.artifactory.persistence.awsS3.roleName }}\u003c/roleName\u003e\n \u003crefreshCredentials\u003etrue\u003c/refreshCredentials\u003e\n {{- else }}\n \u003crefreshCredentials\u003e{{ .Values.artifactory.persistence.awsS3.refreshCredentials }}\u003c/refreshCredentials\u003e\n {{- end }}\n \u003cs3AwsVersion\u003e{{ .Values.artifactory.persistence.awsS3.s3AwsVersion }}\u003c/s3AwsVersion\u003e\n \u003ctestConnection\u003e{{ .Values.artifactory.persistence.awsS3.testConnection }}\u003c/testConnection\u003e\n \u003chttpsOnly\u003e{{ .Values.artifactory.persistence.awsS3.httpsOnly }}\u003c/httpsOnly\u003e\n \u003cregion\u003e{{ .Values.artifactory.persistence.awsS3.region }}\u003c/region\u003e\n \u003cbucketName\u003e{{ .Values.artifactory.persistence.awsS3.bucketName }}\u003c/bucketName\u003e\n {{- if .Values.artifactory.persistence.awsS3.identity }}\n \u003cidentity\u003e{{ .Values.artifactory.persistence.awsS3.identity }}\u003c/identity\u003e\n {{- end }}\n {{- if .Values.artifactory.persistence.awsS3.credential }}\n \u003ccredential\u003e{{ .Values.artifactory.persistence.awsS3.credential }}\u003c/credential\u003e\n {{- end }}\n \u003cpath\u003e{{ .Values.artifactory.persistence.awsS3.path }}\u003c/path\u003e\n {{- range $key, $value := .Values.artifactory.persistence.awsS3.properties }}\n \u003cproperty name=\"{{ $key }}\" value=\"{{ $value }}\"/\u003e\n {{- end }}\n \u003c/provider\u003e\n\u003c/config\u003e\n{{- end }}\n{{- if eq .Values.artifactory.persistence.type \"azure-blob\" }}\n\u003c!-- Azure Blob Storage --\u003e\n\u003cconfig version=\"2\"\u003e\n \u003cchain\u003e \u003c!--template=\"cluster-azure-blob-storage\"--\u003e\n \u003cprovider id=\"cache-fs\" type=\"cache-fs\"\u003e\n \u003cprovider id=\"sharding-cluster\" type=\"sharding-cluster\"\u003e\n \u003csub-provider id=\"eventual-cluster\" type=\"eventual-cluster\"\u003e\n \u003cprovider id=\"retry-azure-blob-storage\" type=\"retry\"\u003e\n \u003cprovider id=\"azure-blob-storage\" type=\"azure-blob-storage\"/\u003e\n \u003c/provider\u003e\n \u003c/sub-provider\u003e\n \u003cdynamic-provider id=\"remote\" type=\"remote\"/\u003e\n \u003c/provider\u003e\n \u003c/provider\u003e\n \u003c/chain\u003e\n\n \u003c!-- Set max cache-fs size --\u003e\n \u003cprovider id=\"cache-fs\" type=\"cache-fs\"\u003e\n \u003cmaxCacheSize\u003e{{ .Values.artifactory.persistence.maxCacheSize }}\u003c/maxCacheSize\u003e\n \u003ccacheProviderDir\u003e{{ .Values.artifactory.persistence.cacheProviderDir }}\u003c/cacheProviderDir\u003e\n \u003c/provider\u003e\n\n \u003c!-- cluster eventual Azure Blob Storage Service default chain --\u003e\n \u003cprovider id=\"sharding-cluster\" type=\"sharding-cluster\"\u003e\n \u003creadBehavior\u003ecrossNetworkStrategy\u003c/readBehavior\u003e\n \u003cwriteBehavior\u003ecrossNetworkStrategy\u003c/writeBehavior\u003e\n \u003credundancy\u003e2\u003c/redundancy\u003e\n \u003clenientLimit\u003e1\u003c/lenientLimit\u003e\n \u003cproperty name=\"zones\" value=\"local,remote\"/\u003e\n \u003c/provider\u003e\n\n \u003cprovider id=\"remote\" type=\"remote\"\u003e\n \u003czone\u003eremote\u003c/zone\u003e\n \u003c/provider\u003e\n\n \u003cprovider id=\"eventual-cluster\" type=\"eventual-cluster\"\u003e\n \u003czone\u003elocal\u003c/zone\u003e\n \u003c/provider\u003e\n\n \u003c!--cluster eventual template--\u003e\n \u003cprovider id=\"azure-blob-storage\" type=\"azure-blob-storage\"\u003e\n \u003caccountName\u003e{{ .Values.artifactory.persistence.azureBlob.accountName }}\u003c/accountName\u003e\n \u003caccountKey\u003e{{ .Values.artifactory.persistence.azureBlob.accountKey }}\u003c/accountKey\u003e\n \u003cendpoint\u003e{{ .Values.artifactory.persistence.azureBlob.endpoint }}\u003c/endpoint\u003e\n \u003ccontainerName\u003e{{ .Values.artifactory.persistence.azureBlob.containerName }}\u003c/containerName\u003e\n \u003ctestConnection\u003e{{ .Values.artifactory.persistence.azureBlob.testConnection }}\u003c/testConnection\u003e\n \u003c/provider\u003e\n\u003c/config\u003e\n{{- end }}\n", - "cacheProviderDir": "cache", - "customBinarystoreXmlSecret": null, - "enabled": true, - "eventual": { - "numberOfThreads": 10 - }, - "fileSystem": { - "existingSharedClaim": { - "backupDir": "/var/opt/jfrog/artifactory-backup", - "dataDir": "{{ .Values.artifactory.persistence.mountPath }}/artifactory-data", - "enabled": false, - "numberOfExistingClaims": 1 - } - }, - "googleStorage": { - "bucketExists": false, - "bucketName": "artifactory-ha-gcp", - "credential": null, - "endpoint": "storage.googleapis.com", - "httpsOnly": false, - "identity": null, - "path": "artifactory-ha/filestore" - }, - "local": false, - "maxCacheSize": 50000000000, - "mountPath": "/var/opt/jfrog/artifactory", - "nfs": { - "backupDir": "/var/opt/jfrog/artifactory-backup", - "capacity": "200Gi", - "dataDir": "/var/opt/jfrog/artifactory-ha", - "haBackupMount": "/backup", - "haDataMount": "/data", - "ip": null, - "mountOptions": [] - }, - "redundancy": 3, - "size": "200Gi", - "type": "file-system" - }, - "primary": { - "affinity": {}, - "javaOpts": { - "corePoolSize": 16, - "jmx": { - "accessFile": null, - "authenticate": false, - "enabled": false, - "host": null, - "passwordFile": null, - "port": 9010, - "ssl": false - } - }, - "labels": {}, - "name": "artifactory-ha-primary", - "nodeSelector": {}, - "persistence": { - "existingClaim": false - }, - "podAntiAffinity": { - "topologyKey": "kubernetes.io/hostname", - "type": "" - }, - "resources": {}, - "tolerations": [] - }, - "priorityClass": { - "create": false, - "value": 1000000000 - }, - "readinessProbe": { - "enabled": true, - "failureThreshold": 10, - "initialDelaySeconds": 60, - "path": "/router/api/v1/system/health", - "periodSeconds": 10, - "successThreshold": 1, - "timeoutSeconds": 10 - }, - "service": { - "annotations": {}, - "loadBalancerSourceRanges": [], - "name": "artifactory", - "pool": "members", - "type": "ClusterIP" - }, - "systemYaml": "shared:\n extraJavaOpts: \u003e\n {{- with .Values.artifactory.primary.javaOpts }}\n -Dartifactory.async.corePoolSize={{ .corePoolSize }}\n {{- if .xms }}\n -Xms{{ .xms }}\n {{- end }}\n {{- if .xmx }}\n -Xmx{{ .xmx }}\n {{- end }}\n {{- if .jmx.enabled }}\n -Dcom.sun.management.jmxremote\n -Dcom.sun.management.jmxremote.port={{ .jmx.port }}\n -Dcom.sun.management.jmxremote.rmi.port={{ .jmx.port }}\n -Dcom.sun.management.jmxremote.ssl={{ .jmx.ssl }}\n {{- if .jmx.host }}\n -Djava.rmi.server.hostname={{ tpl .jmx.host $ }}\n {{- else }}\n -Djava.rmi.server.hostname={{ template \"artifactory-ha.fullname\" $ }}\n {{- end }}\n {{- if .jmx.authenticate }}\n -Dcom.sun.management.jmxremote.authenticate=true\n -Dcom.sun.management.jmxremote.access.file={{ .jmx.accessFile }}\n -Dcom.sun.management.jmxremote.password.file={{ .jmx.passwordFile }}\n {{- else }}\n -Dcom.sun.management.jmxremote.authenticate=false\n {{- end }}\n {{- end }}\n {{- if .other }}\n {{ .other }}\n {{- end }}\n {{- end }}\n database:\n {{- if .Values.postgresql.enabled }}\n type: postgresql\n url: 'jdbc:postgresql://{{ .Release.Name }}-postgresql:{{ .Values.postgresql.service.port }}/{{ .Values.postgresql.postgresqlDatabase }}'\n host: ''\n driver: org.postgresql.Driver\n username: '{{ .Values.postgresql.postgresqlUsername }}'\n password: '{{ .Values.postgresql.postgresqlPassword }}'\n {{ else }}\n type: '{{ .Values.database.type }}'\n url: '{{ .Values.database.url }}'\n driver: '{{ .Values.database.driver }}'\n username: '{{ .Values.database.user }}'\n password: '{{ .Values.database.password }}'\n {{- end }}\n security:\n joinKey: '{{ .Values.artifactory.joinKey }}'\n masterKey: '{{ .Values.artifactory.masterKey }}'\nartifactory:\n{{- if .Values.artifactory.haDataDir.enabled }}\n node:\n haDataDir: {{ .Values.artifactory.haDataDir.path }}\n{{- end }}\n database:\n maxOpenConnections: {{ .Values.artifactory.database.maxOpenConnections }}\naccess:\n database:\n maxOpenConnections: '{{ .Values.access.database.maxOpenConnections }}'\n {{- if .Values.access.database.enabled }}\n type: '{{ .Values.access.database.type }}'\n url: '{{ .Values.access.database.url }}'\n driver: '{{ .Values.access.database.driver }}'\n username: '{{ .Values.access.database.user }}'\n password: '{{ .Values.access.database.password }}'\n {{- end }}\n", - "terminationGracePeriodSeconds": 30, - "uid": 1030, - "userPluginSecrets": null - }, - "database": { - "driver": null, - "password": null, - "secrets": {}, - "type": null, - "url": null, - "user": null - }, - "filebeat": { - "enabled": false, - "filebeatYml": "logging.level: info\npath.data: {{ .Values.artifactory.persistence.mountPath }}/log/filebeat\nname: artifactory-filebeat\nqueue.spool: ~\nfilebeat.inputs:\n- type: log\n enabled: true\n close_eof: ${CLOSE:false}\n paths:\n - {{ .Values.artifactory.persistence.mountPath }}/log/*.log\n fields:\n service: \"jfrt\"\n log_type: \"artifactory\"\noutput:\n logstash:\n hosts: [\"{{ .Values.filebeat.logstashUrl }}\"]\n", - "image": { - "repository": "docker.elastic.co/beats/filebeat", - "version": "7.5.1" - }, - "livenessProbe": { - "exec": { - "command": [ - "sh", - "-c", - "#!/usr/bin/env bash -e\ncurl --fail 127.0.0.1:5066\n" - ] - }, - "failureThreshold": 3, - "initialDelaySeconds": 10, - "periodSeconds": 10, - "timeoutSeconds": 5 - }, - "logstashUrl": "logstash:5044", - "name": "artifactory-filebeat", - "readinessProbe": { - "exec": { - "command": [ - "sh", - "-c", - "#!/usr/bin/env bash -e\nfilebeat test output\n" - ] - }, - "failureThreshold": 3, - "initialDelaySeconds": 10, - "periodSeconds": 10, - "timeoutSeconds": 5 - }, - "resources": {}, - "terminationGracePeriod": 10 - }, - "imagePullSecrets": null, - "ingress": { - "additionalRules": [], - "annotations": {}, - "artifactoryPath": "/artifactory/", - "defaultBackend": { - "enabled": true - }, - "enabled": false, - "hosts": [], - "labels": {}, - "routerPath": "/", - "tls": [] - }, - "initContainerImage": "alpine:3.10", - "initContainers": { - "resources": {} - }, - "installer": { - "platform": null, - "type": null - }, - "logger": { - "image": { - "repository": "busybox", - "tag": "1.30" - } - }, - "networkpolicy": [ - { - "egress": [ - {} - ], - "ingress": [ - {} - ], - "name": "artifactory", - "podSelector": { - "matchLabels": { - "app": "artifactory-ha" - } - } - } - ], - "nginx": { - "affinity": {}, - "artifactoryConf": "ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;\nssl_certificate {{ .Values.nginx.persistence.mountPath }}/ssl/tls.crt;\nssl_certificate_key {{ .Values.nginx.persistence.mountPath }}/ssl/tls.key;\nssl_session_cache shared:SSL:1m;\nssl_prefer_server_ciphers on;\n## server configuration\nserver {\n {{- if .Values.nginx.internalPortHttps }}\n listen {{ .Values.nginx.internalPortHttps }} ssl;\n {{- else -}}\n {{- if .Values.nginx.https.enabled }}\n listen {{ .Values.nginx.https.internalPort }} ssl;\n {{- end }}\n {{- end }}\n {{- if .Values.nginx.internalPortHttp }}\n listen {{ .Values.nginx.internalPortHttp }};\n {{- else -}}\n {{- if .Values.nginx.http.enabled }}\n listen {{ .Values.nginx.http.internalPort }};\n {{- end }}\n {{- end }}\n server_name ~(?\u003crepo\u003e.+)\\.{{ include \"artifactory-ha.fullname\" . }} {{ include \"artifactory-ha.fullname\" . }}\n {{- range .Values.ingress.hosts -}}\n {{- if contains \".\" . -}}\n {{ \"\" | indent 0 }} ~(?\u003crepo\u003e.+)\\.{{ (splitn \".\" 2 .)._1 }} {{ . }}\n {{- end -}}\n {{- end -}};\n\n if ($http_x_forwarded_proto = '') {\n set $http_x_forwarded_proto $scheme;\n }\n ## Application specific logs\n ## access_log /var/log/nginx/artifactory-access.log timing;\n ## error_log /var/log/nginx/artifactory-error.log;\n rewrite ^/artifactory/?$ / redirect;\n if ( $repo != \"\" ) {\n rewrite ^/(v1|v2)/(.*) /artifactory/api/docker/$repo/$1/$2 break;\n }\n chunked_transfer_encoding on;\n client_max_body_size 0;\n\n location / {\n proxy_read_timeout 900;\n proxy_pass_header Server;\n proxy_cookie_path ~*^/.* /;\n proxy_pass http://{{ include \"artifactory-ha.fullname\" . }}:{{ .Values.artifactory.externalPort }}/;\n proxy_set_header X-JFrog-Override-Base-Url $http_x_forwarded_proto://$host:$server_port;\n proxy_set_header X-Forwarded-Port $server_port;\n proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;\n proxy_set_header Host $http_host;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n\n location /artifactory/ {\n if ( $request_uri ~ ^/artifactory/(.*)$ ) {\n proxy_pass http://{{ include \"artifactory-ha.fullname\" . }}:{{ .Values.artifactory.externalArtifactoryPort }}/artifactory/$1;\n }\n proxy_pass http://{{ include \"artifactory-ha.fullname\" . }}:{{ .Values.artifactory.externalArtifactoryPort }}/artifactory/;\n }\n }\n}\n", - "customArtifactoryConfigMap": null, - "customConfigMap": null, - "enabled": true, - "gid": 107, - "http": { - "enabled": true, - "externalPort": 80, - "internalPort": 80 - }, - "https": { - "enabled": true, - "externalPort": 443, - "internalPort": 443 - }, - "image": { - "pullPolicy": "IfNotPresent", - "repository": "image-registry.openshift-image-registry.svc:5000/jfrog-artifactory/nginx-artifactory-pro" - }, - "labels": {}, - "livenessProbe": { - "enabled": true, - "failureThreshold": 10, - "initialDelaySeconds": 60, - "path": "/router/api/v1/system/health", - "periodSeconds": 10, - "successThreshold": 1, - "timeoutSeconds": 10 - }, - "loggers": [], - "mainConf": "# Main Nginx configuration file\nworker_processes 4;\nerror_log {{ .Values.nginx.persistence.mountPath }}/logs//error.log warn;\npid /tmp/nginx.pid;\nevents {\n worker_connections 1024;\n}\nhttp {\n include /etc/nginx/mime.types;\n default_type application/octet-stream;\n variables_hash_max_size 1024;\n variables_hash_bucket_size 64;\n server_names_hash_max_size 4096;\n server_names_hash_bucket_size 128;\n types_hash_max_size 2048;\n types_hash_bucket_size 64;\n proxy_read_timeout 2400s;\n client_header_timeout 2400s;\n client_body_timeout 2400s;\n proxy_connect_timeout 75s;\n proxy_send_timeout 2400s;\n proxy_buffer_size 32k;\n proxy_buffers 40 32k;\n proxy_busy_buffers_size 64k;\n proxy_temp_file_write_size 250m;\n proxy_http_version 1.1;\n client_body_buffer_size 128k;\n log_format main '$remote_addr - $remote_user [$time_local] \"$request\" '\n '$status $body_bytes_sent \"$http_referer\" '\n '\"$http_user_agent\" \"$http_x_forwarded_for\"';\n log_format timing 'ip = $remote_addr '\n 'user = \\\"$remote_user\\\" '\n 'local_time = \\\"$time_local\\\" '\n 'host = $host '\n 'request = \\\"$request\\\" '\n 'status = $status '\n 'bytes = $body_bytes_sent '\n 'upstream = \\\"$upstream_addr\\\" '\n 'upstream_time = $upstream_response_time '\n 'request_time = $request_time '\n 'referer = \\\"$http_referer\\\" '\n 'UA = \\\"$http_user_agent\\\"';\n access_log {{ .Values.nginx.persistence.mountPath }}/logs/access.log timing;\n sendfile on;\n #tcp_nopush on;\n keepalive_timeout 65;\n #gzip on;\n include /etc/nginx/conf.d/*.conf;\n}\n", - "name": "nginx", - "nodeSelector": {}, - "persistence": { - "accessMode": "ReadWriteOnce", - "enabled": false, - "mountPath": "/var/opt/jfrog/nginx", - "size": "5Gi" - }, - "readinessProbe": { - "enabled": true, - "failureThreshold": 10, - "initialDelaySeconds": 10, - "path": "/router/api/v1/system/health", - "periodSeconds": 10, - "successThreshold": 1, - "timeoutSeconds": 10 - }, - "replicaCount": 1, - "resources": {}, - "service": { - "externalTrafficPolicy": "Cluster", - "labels": {}, - "loadBalancerIP": null, - "loadBalancerSourceRanges": [], - "type": "LoadBalancer" - }, - "tolerations": [], - "uid": 104 - }, - "postgresql": { - "enabled": true, - "extraEnv": [], - "global": { - "postgresql": {} - }, - "image": { - "debug": false, - "pullPolicy": "IfNotPresent", - "registry": "docker.bintray.io", - "repository": "bitnami/postgresql", - "tag": "9.6.15-debian-9-r91" - }, - "livenessProbe": { - "enabled": true, - "failureThreshold": 6, - "initialDelaySeconds": 30, - "periodSeconds": 10, - "successThreshold": 1, - "timeoutSeconds": 5 - }, - "master": { - "affinity": {}, - "annotations": {}, - "extraVolumeMounts": [], - "extraVolumes": [], - "labels": {}, - "nodeSelector": {}, - "podAnnotations": {}, - "podLabels": {}, - "tolerations": [] - }, - "metrics": { - "enabled": false, + "artifactory-ha": { + "artifactory": { + "customInitContainersBegin": "- name: \"redhat-custom-setup\"\n #image: \"{{ .Values.initContainerImage }}\"\n image: {{ index .Values \"initContainerImage\" }}\n imagePullPolicy: \"{{ .Values.artifactory.image.pullPolicy }}\"\n command:\n - 'sh'\n - '-c'\n - 'chown -R 1030:1030 {{ .Values.artifactory.persistence.mountPath }}'\n securityContext:\n runAsUser: 0\n volumeMounts:\n - mountPath: \"{{ .Values.artifactory.persistence.mountPath }}\"\n name: volume\n", "image": { - "pullPolicy": "IfNotPresent", - "registry": "docker.io", - "repository": "bitnami/postgres-exporter", - "tag": "0.6.0-debian-9-r0" + "repository": "image-registry.openshift-image-registry.svc:5000/jfrog-artifactory/artifactory-pro" }, - "livenessProbe": { - "enabled": true, - "failureThreshold": 6, - "initialDelaySeconds": 5, - "periodSeconds": 10, - "successThreshold": 1, - "timeoutSeconds": 5 - }, - "readinessProbe": { - "enabled": true, - "failureThreshold": 6, - "initialDelaySeconds": 5, - "periodSeconds": 10, - "successThreshold": 1, - "timeoutSeconds": 5 - }, - "securityContext": { - "enabled": false, - "runAsUser": 1001 - }, - "service": { - "annotations": { - "prometheus.io/port": "9187", - "prometheus.io/scrape": "true" - }, - "loadBalancerIP": null, - "type": "ClusterIP" - }, - "serviceMonitor": { - "additionalLabels": {}, - "enabled": false + "node": { + "waitForPrimaryStartup": { + "enabled": false + } } }, - "networkPolicy": { - "allowExternal": true, + "database": { + "driver": "OVERRIDE", + "password": "OVERRIDE", + "type": "OVERRIDE", + "url": "OVERRIDE", + "user": "OVERRIDE" + }, + "initContainerImage": "registry.redhat.io/ubi8-minimal", + "installerInfo": "{ \"productId\": \"Openshift_artifactory-ha/{{ .Chart.Version }}\", \"features\": [ { \"featureId\": \"ArtifactoryVersion/{{ default .Chart.AppVersion .Values.artifactory.image.version }}\" }, { \"featureId\": \"{{ if .Values.postgresql.enabled }}postgresql{{ else }}{{ default 'derby' .Values.database.type }}{{ end }}/0.0.0\" }, { \"featureId\": \"Platform/{{ default 'openshift' .Values.installer.platform }}\" }, { \"featureId\": \"Partner/ACC-006983\" }, { \"featureId\": \"Channel/Openshift\" } ] }", + "nginx": { + "http": { + "externalPort": 80, + "internalPort": 8080 + }, + "https": { + "externalPort": 443, + "internalPort": 8443 + }, + "image": { + "repository": "image-registry.openshift-image-registry.svc:5000/jfrog-artifactory/nginx-artifactory-pro" + }, + "mainConf": "# Main Nginx configuration file\nworker_processes 4;\nerror_log {{ .Values.nginx.persistence.mountPath }}/logs//error.log warn;\npid /tmp/nginx.pid;\nevents {\n worker_connections 1024;\n}\nhttp {\n include /etc/nginx/mime.types;\n default_type application/octet-stream;\n variables_hash_max_size 1024;\n variables_hash_bucket_size 64;\n server_names_hash_max_size 4096;\n server_names_hash_bucket_size 128;\n types_hash_max_size 2048;\n types_hash_bucket_size 64;\n proxy_read_timeout 2400s;\n client_header_timeout 2400s;\n client_body_timeout 2400s;\n proxy_connect_timeout 75s;\n proxy_send_timeout 2400s;\n proxy_buffer_size 32k;\n proxy_buffers 40 32k;\n proxy_busy_buffers_size 64k;\n proxy_temp_file_write_size 250m;\n proxy_http_version 1.1;\n client_body_buffer_size 128k;\n log_format main '$remote_addr - $remote_user [$time_local] \"$request\" '\n '$status $body_bytes_sent \"$http_referer\" '\n '\"$http_user_agent\" \"$http_x_forwarded_for\"';\n log_format timing 'ip = $remote_addr '\n 'user = \"$remote_user\" '\n 'local_time = \"$time_local\" '\n 'host = $host '\n 'request = \"$request\" '\n 'status = $status '\n 'bytes = $body_bytes_sent '\n 'upstream = \"$upstream_addr\" '\n 'upstream_time = $upstream_response_time '\n 'request_time = $request_time '\n 'referer = \"$http_referer\" '\n 'UA = \"$http_user_agent\"';\n access_log {{ .Values.nginx.persistence.mountPath }}/logs/access.log timing;\n sendfile on;\n #tcp_nopush on;\n keepalive_timeout 65;\n #gzip on;\n include {{ .Values.nginx.persistence.mountPath }}/conf.d/*.conf;\n}\n" + }, + "postgresql": { "enabled": false }, - "nodeSelector": {}, - "persistence": { - "accessModes": [ - "ReadWriteOnce" - ], - "annotations": {}, - "enabled": true, - "mountPath": "/bitnami/postgresql", - "size": "50Gi", - "subPath": "" - }, - "postgresqlConfiguration": { - "listenAddresses": "'*'", - "maxConnections": "1500" - }, - "postgresqlDataDir": "/bitnami/postgresql/data", - "postgresqlDatabase": "artifactory", - "postgresqlPassword": "", - "postgresqlUsername": "artifactory", - "readinessProbe": { - "enabled": true, - "failureThreshold": 6, - "initialDelaySeconds": 5, - "periodSeconds": 10, - "successThreshold": 1, - "timeoutSeconds": 5 - }, - "replication": { - "applicationName": "my_application", - "enabled": false, - "numSynchronousReplicas": 0, - "password": "repl_password", - "slaveReplicas": 1, - "synchronousCommit": "off", - "user": "repl_user" - }, - "resources": { - "requests": { - "cpu": "250m", - "memory": "256Mi" - } - }, - "securityContext": { - "enabled": true, - "fsGroup": 1001, - "runAsUser": 1001 - }, - "service": { - "annotations": {}, - "port": 5432, - "type": "ClusterIP" - }, - "serviceAccount": { - "enabled": false - }, - "slave": { - "affinity": {}, - "annotations": {}, - "extraVolumeMounts": [], - "extraVolumes": [], - "labels": {}, - "nodeSelector": {}, - "podAnnotations": {}, - "podLabels": {}, - "tolerations": [] - }, - "updateStrategy": { - "type": "RollingUpdate" - }, - "volumePermissions": { - "enabled": true, - "image": { - "pullPolicy": "Always", - "registry": "docker.io", - "repository": "bitnami/minideb", - "tag": "stretch" - }, - "securityContext": { - "runAsUser": 0 - } - } - }, - "rbac": { - "create": true, - "role": { - "rules": [ - { - "apiGroups": [ - "" - ], - "resources": [ - "services", - "endpoints", - "pods" - ], - "verbs": [ - "get", - "watch", - "list" - ] - } - ] - } - }, - "serviceAccount": { - "annotations": {}, - "create": true, - "name": null - }, - "waitForDatabase": true + "waitForDatabase": false + } } } ] capabilities: Basic Install + categories: "Developer Tools,Integration & Delivery" + description: "Artifactory HA deploys Artifactory in a high availability environment across multiple pods" + containerImage: quay.io/jfrog/artifactory-ha-operator + createdAt: 2020-03-25T00:00:00Z + support: JFrog + certified: "true" + repository: https://github.com/jfrog/JFrog-Cloud-Installers/tree/openshift4/Openshift4 name: artifactory-ha-operator.v1.0.0 namespace: jfrog-artifactory spec: apiservicedefinitions: {} - customresourcedefinitions: {} - description: Openshift 4 Operator to deploy JFrog Artifactory-HA - displayName: JFrog Artifactory-HA Operator + customresourcedefinitions: + owned: + - description: Represents Artifactory HA Instances + displayName: Artifactory HA + kind: OpenshiftArtifactoryHa + name: openshiftartifactoryhas.charts.helm.k8s.io + resources: + - kind: Deployment + version: v1 + - kind: Service + version: v1 + - kind: ReplicaSet + version: v1 + - kind: Pod + version: v1 + - kind: Secret + version: v1 + - kind: ConfigMap + version: v1 + - kind: StatefulSet + version: apps/v1 + version: v1alpha1 + description: Openshift 4 Operator to deploy JFrog Artifactory Enterprise + displayName: JFrog Artifactory Enterprise Operator provider: - name: JFrog + name: JFrog LTD links: - name: JFrog - url: http://www.jfrog.com + url: https://www.jfrog.com + - name: JFrog Artifact Repository + url: https://jfrog.com/artifactory/ + - name: Artifactory Video + url: https://www.youtube.com/watch?v=r2_A5CPo43U icon: - base64data: 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 mediatype: image/png maintainers: - name: JFrog, Ltd - email: support@jfrog.com + email: integrations@jfrog.com install: spec: deployments: @@ -627,13 +132,61 @@ spec: fieldPath: metadata.name - name: OPERATOR_NAME value: artifactory-ha-operator - image: image-registry.openshift-image-registry.svc:5000/jfrog-artifactory/artifactory-ha + - name: RELATED_IMAGE_ARTIFACTORY_IMAGE_REPOSITORY + value: quay.io/jfrog/artifactory-rh-pro + - name: RELATED_IMAGE_NGINX_IMAGE_REPOSITORY + value: quay.io/jfrog/nginx-artifactory-rh-pro + - name: DATABASE_TYPE + value: OVERRIDE + - name: DATABASE_DRIVER + value: OVERRIDE + - name: DATABASE_URL + value: OVERRIDE + - name: DATABASE_USER + value: OVERRIDE + - name: DATABASE_PASSWORD + value: OVERRIDE + image: quay.io/jfrog/artifactory-ha-operator imagePullPolicy: IfNotPresent name: artifactory-ha-operator resources: {} serviceAccountName: artifactory-ha-operator permissions: - rules: + - apiGroups: + - "" + resources: + - pods + - services + - services/finalizers + - endpoints + - persistentvolumeclaims + - events + - configmaps + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apps + resources: + - deployments + - daemonsets + - replicasets + - statefulsets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch - apiGroups: - "" resources: @@ -653,41 +206,6 @@ spec: - events verbs: - create - - apiGroups: - - networking.k8s.io - resources: - - networkpolicies - verbs: - - '*' - - apiGroups: - - policy - resources: - - poddisruptionbudgets - verbs: - - '*' - - apiGroups: - - "" - resources: - - configmaps - - secrets - - serviceaccounts - - services - verbs: - - '*' - - apiGroups: - - rbac.authorization.k8s.io - resources: - - rolebindings - - roles - verbs: - - '*' - - apiGroups: - - apps - resources: - - deployments - - statefulsets - verbs: - - '*' - apiGroups: - monitoring.coreos.com resources: @@ -729,17 +247,6 @@ spec: - update - watch serviceAccountName: artifactory-ha-operator - clusterPermissions: - - rules: - - apiGroups: - - security.openshift.io - resources: - - securitycontextconstraints - resourceNames: - - anyuid - verbs: - - use - serviceAccountName: artifactory-ha-operator strategy: deployment installModes: - supported: true @@ -750,7 +257,25 @@ spec: type: MultiNamespace - supported: true type: AllNamespaces + keywords: + - "DevOps" + - "CI/CD" + - "Developers" + - "Software" + - "Productivity" + - "Artifact Repository" + - "Repository Manager" + - "Docker" + - "Maven" + - "Git" + - "Helm" + - "npm" + - "go" + - "golang" + - "kubernetes" + - "k8s" + - "rpm" + - "yum" maturity: alpha - provider: {} replaces: artifactory-ha-operator.v0.0.0 version: 1.0.0 diff --git a/Openshift4/artifactory-ha-operator/deploy/operator.yaml b/Openshift4/artifactory-ha-operator/deploy/operator.yaml index e32db4a..51f05a8 100644 --- a/Openshift4/artifactory-ha-operator/deploy/operator.yaml +++ b/Openshift4/artifactory-ha-operator/deploy/operator.yaml @@ -15,7 +15,7 @@ spec: serviceAccountName: artifactory-ha-operator containers: - name: artifactory-ha-operator - image: image-registry.openshift-image-registry.svc:5000/jfrog-artifactory/artifactory-ha + image: quay.io/jfrog/artifactory-ha-operator imagePullPolicy: IfNotPresent env: - name: WATCH_NAMESPACE @@ -28,3 +28,17 @@ spec: fieldPath: metadata.name - name: OPERATOR_NAME value: "artifactory-ha-operator" + - name: RELATED_IMAGE_ARTIFACTORY_IMAGE_REPOSITORY + value: "quay.io/jfrog/artifactory-rh-pro" + - name: RELATED_IMAGE_NGINX_IMAGE_REPOSITORY + value: "quay.io/jfrog/nginx-artifactory-rh-pro" + - name: DATABASE_TYPE + value: "OVERRIDE" + - name: DATABASE_DRIVER + value: "OVERRIDE" + - name: DATABASE_URL + value: "OVERRIDE" + - name: DATABASE_USER + value: "OVERRIDE" + - name: DATABASE_PASSWORD + value: "OVERRIDE" \ No newline at end of file diff --git a/Openshift4/artifactory-ha-operator/deploy/operatorgroup.yaml b/Openshift4/artifactory-ha-operator/deploy/operatorgroup.yaml index 8356f6c..6784bcd 100644 --- a/Openshift4/artifactory-ha-operator/deploy/operatorgroup.yaml +++ b/Openshift4/artifactory-ha-operator/deploy/operatorgroup.yaml @@ -1,7 +1,7 @@ apiVersion: operators.coreos.com/v1alpha2 kind: OperatorGroup metadata: - name: jfrog-group + name: jfrog-operator-group namespace: jfrog-artifactory spec: targetNamespaces: diff --git a/Openshift4/artifactory-ha-operator/deploy/project.yaml b/Openshift4/artifactory-ha-operator/deploy/project.yaml index 49904a2..c290689 100644 --- a/Openshift4/artifactory-ha-operator/deploy/project.yaml +++ b/Openshift4/artifactory-ha-operator/deploy/project.yaml @@ -10,7 +10,7 @@ objects: annotations: openshift.io/description: JFrog Artifactory openshift.io/display-name: jfrog-artifactory - openshift.io/requester: johnp@jfrog.com + openshift.io/requester: integrations@jfrog.com creationTimestamp: null name: jfrog-artifactory spec: {} diff --git a/Openshift4/artifactory-ha-operator/deploy/role.yaml b/Openshift4/artifactory-ha-operator/deploy/role.yaml index f881935..b18faa9 100644 --- a/Openshift4/artifactory-ha-operator/deploy/role.yaml +++ b/Openshift4/artifactory-ha-operator/deploy/role.yaml @@ -4,6 +4,40 @@ metadata: creationTimestamp: null name: artifactory-ha-operator rules: +- apiGroups: + - "" + resources: + - pods + - services + - services/finalizers + - endpoints + - persistentvolumeclaims + - events + - configmaps + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - apps + resources: + - deployments + - daemonsets + - replicasets + - statefulsets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch - apiGroups: - "" resources: @@ -23,41 +57,6 @@ rules: - events verbs: - create -- apiGroups: - - networking.k8s.io - resources: - - networkpolicies - verbs: - - '*' -- apiGroups: - - policy - resources: - - poddisruptionbudgets - verbs: - - '*' -- apiGroups: - - "" - resources: - - configmaps - - secrets - - serviceaccounts - - services - verbs: - - '*' -- apiGroups: - - rbac.authorization.k8s.io - resources: - - rolebindings - - roles - verbs: - - '*' -- apiGroups: - - apps - resources: - - deployments - - statefulsets - verbs: - - '*' - apiGroups: - monitoring.coreos.com resources: diff --git a/Openshift4/artifactory-ha-operator/deploy/securitycontextconstraints.yaml b/Openshift4/artifactory-ha-operator/deploy/securitycontextconstraints.yaml deleted file mode 100644 index 6bcf847..0000000 --- a/Openshift4/artifactory-ha-operator/deploy/securitycontextconstraints.yaml +++ /dev/null @@ -1,15 +0,0 @@ -kind: SecurityContextConstraints -apiVersion: v1 -metadata: - name: scc-admin -allowPrivilegedContainer: true -runAsUser: - type: RunAsAny -seLinuxContext: - type: RunAsAny -fsGroup: - type: RunAsAny -supplementalGroups: - type: RunAsAny -users: -- kubeadmin diff --git a/Openshift4/artifactory-ha-operator/deploy/subscription.yaml b/Openshift4/artifactory-ha-operator/deploy/subscription.yaml new file mode 100644 index 0000000..5d7ffd1 --- /dev/null +++ b/Openshift4/artifactory-ha-operator/deploy/subscription.yaml @@ -0,0 +1,10 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: Subscription +metadata: + name: artifactory-ha-operator + namespace: jfrog-artifactory +spec: + channel: alpha + name: artifactory-ha-operator + source: artifactory-ha-operator-csc + sourceNamespace: openshift-operators diff --git a/Openshift4/artifactory-ha-operator/helm-charts/README.md b/Openshift4/artifactory-ha-operator/helm-charts/README.md new file mode 100644 index 0000000..256b392 --- /dev/null +++ b/Openshift4/artifactory-ha-operator/helm-charts/README.md @@ -0,0 +1,2 @@ +## README +Should use the latest openshift artifactory ha chart from the partnership artifactory diff --git a/Openshift4/artifactory-ha-operator/helm-charts/openshift-artifactory-ha/charts/artifactory-ha-2.0.31.tgz b/Openshift4/artifactory-ha-operator/helm-charts/openshift-artifactory-ha/charts/artifactory-ha-2.0.31.tgz deleted file mode 100644 index 20a856925d260c934289148ce640e18465e9736e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126568 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�*NBwvAyYGJZ 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 diff --git a/Openshift4/artifactory-ha-operator/helm-charts/openshift-artifactory-ha/hostpathscc.yaml b/Openshift4/artifactory-ha-operator/helm-charts/openshift-artifactory-ha/hostpathscc.yaml deleted file mode 100644 index 13eef79..0000000 --- a/Openshift4/artifactory-ha-operator/helm-charts/openshift-artifactory-ha/hostpathscc.yaml +++ /dev/null @@ -1,18 +0,0 @@ -kind: SecurityContextConstraints -apiVersion: v1 -metadata: - name: hostpath -allowPrivilegedContainer: false -runAsUser: - type: RunAsAny -seLinuxContext: - type: RunAsAny -fsGroup: - type: RunAsAny -supplementalGroups: - type: RunAsAny -users: -- artifactory -groups: -- artifactory -- jfrog-artifactory diff --git a/Openshift4/artifactory-ha-operator/helm-charts/openshift-artifactory-ha/requirements.lock b/Openshift4/artifactory-ha-operator/helm-charts/openshift-artifactory-ha/requirements.lock deleted file mode 100644 index c9f98b1..0000000 --- a/Openshift4/artifactory-ha-operator/helm-charts/openshift-artifactory-ha/requirements.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: artifactory-ha - repository: https://charts.jfrog.io/ - version: 2.0.31 -digest: sha256:d7c2af74a0188ca8df2a97158c83b36f85dfae72c1b60ce4540a4e00da2d9a6f -generated: "2020-03-19T17:29:04.445679-07:00" diff --git a/Openshift4/artifactory-ha-operator/setup.sh b/Openshift4/artifactory-ha-operator/setup.sh deleted file mode 100755 index 3bef5e9..0000000 --- a/Openshift4/artifactory-ha-operator/setup.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash -oc project default -oc apply -f helm-charts/openshift-artifactory-ha/pv-examples -oc apply -f deploy/project.yaml -oc apply -f deploy/namespace.yaml -oc project jfrog-artifactory -oc apply -f deploy/imagestream-nginx.yaml -oc apply -f deploy/imagestream-pro.yaml -oc apply -f deploy/imagestream-operator.yaml -oc patch image.config.openshift.io/cluster --type=merge --patch='{"spec":{"registrySources":{"insecureRegistries":["default-route-openshift-image-registry.apps-crc.testing"]}}}' -oc apply -f deploy/role.yaml -oc apply -f deploy/role_binding.yaml -oc apply -f deploy/service_account.yaml -oc apply -f deploy/securitycontextconstraints.yaml -oc adm policy add-scc-to-user scc-admin system:serviceaccount:jfrog-artifactory:artifactory-ha-operator -oc adm policy add-scc-to-user scc-admin system:serviceaccount:jfrog-artifactory:default -oc adm policy add-scc-to-user anyuid system:serviceaccount:jfrog-artifactory:artifactory-ha-operator -oc adm policy add-scc-to-user anyuid system:serviceaccount:jfrog-artifactory:default -oc adm policy add-scc-to-group anyuid system:authenticated -oc apply -f deploy/hostpathscc.yaml -oc patch securitycontextconstraints.security.openshift.io/hostpath --type=merge --patch='{"allowHostDirVolumePlugin": true}' -oc adm policy add-scc-to-user hostpath system:serviceaccount:jfrog-artifactory:artifactory-ha-operator -oc apply -f deploy/crds/charts.helm.k8s.io_openshiftartifactoryhas_crd.yaml -oc apply -f deploy/crds/charts.helm.k8s.io_v1alpha1_openshiftartifactoryha_cr.yaml -oc create secret generic artifactory-license --from-file=../artifactory.cluster.license diff --git a/Openshift4/artifactory-ha-operator/unload.sh b/Openshift4/artifactory-ha-operator/unload.sh deleted file mode 100755 index 37dab14..0000000 --- a/Openshift4/artifactory-ha-operator/unload.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash -oc project jfrog-artifactory -oc delete deployments --all -oc delete statefulsets --all -oc delete configmaps --all -oc delete deploymentconfigs --all -oc delete pods --all -oc delete svc --all -oc delete networkpolicies --all -oc delete pvc --all -oc delete PodDisruptionBudget --all -for s in $(oc get secrets | grep artifactory | cut -f1 -d ' '); do - oc delete secret $s -done -oc delete serviceaccount artifactoryha-artifactory-ha -oc delete role artifactoryha-artifactory-ha diff --git a/Openshift4/artifactory-ha-operator/watches.yaml b/Openshift4/artifactory-ha-operator/watches.yaml index 42941f3..843b786 100644 --- a/Openshift4/artifactory-ha-operator/watches.yaml +++ b/Openshift4/artifactory-ha-operator/watches.yaml @@ -3,3 +3,11 @@ group: charts.helm.k8s.io kind: OpenshiftArtifactoryHa chart: helm-charts/openshift-artifactory-ha + overrideValues: + artifactory-ha.artifactory.image.repository: $RELATED_IMAGE_ARTIFACTORY_IMAGE_REPOSITORY + artifactory-ha.nginx.image.repository: $RELATED_IMAGE_NGINX_IMAGE_REPOSITORY + artifactory-ha.database.type: $DATABASE_TYPE + artifactory-ha.database.driver: $DATABASE_DRIVER + artifactory-ha.database.url: $DATABASE_URL + artifactory-ha.database.user: $DATABASE_USER + artifactory-ha.database.password: $DATABASE_PASSWORD diff --git a/Openshift4/artifactory-ha-operator/helm-charts/openshift-artifactory-ha/CHANGELOG.md b/Openshift4/openshift-artifactory-ha/CHANGELOG.md similarity index 100% rename from Openshift4/artifactory-ha-operator/helm-charts/openshift-artifactory-ha/CHANGELOG.md rename to Openshift4/openshift-artifactory-ha/CHANGELOG.md diff --git a/Openshift4/artifactory-ha-operator/helm-charts/openshift-artifactory-ha/Chart.yaml b/Openshift4/openshift-artifactory-ha/Chart.yaml similarity index 94% rename from Openshift4/artifactory-ha-operator/helm-charts/openshift-artifactory-ha/Chart.yaml rename to Openshift4/openshift-artifactory-ha/Chart.yaml index abc3f9f..42b4f95 100755 --- a/Openshift4/artifactory-ha-operator/helm-charts/openshift-artifactory-ha/Chart.yaml +++ b/Openshift4/openshift-artifactory-ha/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v1 -appVersion: 7.2.1 +appVersion: 7.3.2 description: Universal Repository Manager supporting all major packaging formats, build tools and CI servers. home: https://www.jfrog.com/artifactory/ @@ -21,4 +21,4 @@ name: openshift-artifactory-ha sources: - https://bintray.com/jfrog/product/JFrog-Artifactory-Pro/view - https://github.com/jfrog/charts -version: 2.0.34 +version: 2.1.3 diff --git a/Openshift4/artifactory-ha-operator/helm-charts/openshift-artifactory-ha/LICENSE b/Openshift4/openshift-artifactory-ha/LICENSE similarity index 100% rename from Openshift4/artifactory-ha-operator/helm-charts/openshift-artifactory-ha/LICENSE rename to Openshift4/openshift-artifactory-ha/LICENSE diff --git a/Openshift4/openshift-artifactory-ha/charts/artifactory-ha-2.1.3.tgz b/Openshift4/openshift-artifactory-ha/charts/artifactory-ha-2.1.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..8d21a4f514e4bbfe76883c2898dfee5b0bf721d0 GIT binary patch literal 130327 zcmV)ZK&!tWiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PMZ}dfT>=Fn<2lRiLzbV)sN}cAWMoads73PSpBqEhjzsH9aas zLK13{UUy8OkoUd0y^`O90YHKuk|pP(d-jdmCzeQHFc<)XnZaNN$AV6Xu6cyJF^vQ~dK1zs z5_9aMa}qI5<+MS^IK)#DBc4PNivU(?@UJXJ5q2-}R6d)qIKYBGt|2r|sP7@c zn9mUoJ+wbSoWv4xvo>P^>7tns5%0EI*Vot0Unen}HeD99tjXG{QCDJQ3dZ=lIi+Hj zj1x{`mxY3a0xCiEmMbSVZv~hO61TX(W1qANliz1kmU|{2G^21@yCm~#7JIx~YapvY zt$_e~t${pp#Ufq{FbxH!A&H?Z2{84$2nSTmF8@94NDZM7%WlF88uF~DheJwyQc+gF z`JKdBY2tg>!xe?qi>zRb1Gl1>J4-Gv?P4^*Jg6ub(;(r$*EH5Sveh_CVwXUF&1j5i zC}KRf=pV(*OI*?V{xD|KM$dw97PHnBCD&GUHISvzt6iC?x!vqEcWQt3+WFt`DJ+32 z>?eeOz`Tx%D&KLgwIX)ZcfJ|`W3#5i#vgyJCZ`L-@#f)-9Il|~& z@A#;pc)1`Rnoys}0x!umjtRP+kr25v90JSNAZH{dP4tc>h|gH!d+0J`*XVkN1)8%2 z$$B26;qF}1I$n4#NS)O@Sv<|Uaoc{08vb98rCt8Jit76dG;(U6LL zrn&DRz*Evi4)!A&lI~8k({^e#8ghYspTyl7LSh~f`8V>hkp1ae?+4+8b&+$69%;Tc z@Equ0a_M)oEo(NZFl-ZjzP-J{3o(S%@;#DqWUqMy)h`ddMoTJadWt(yE-&L}q~SdcCf zaYAYc#mt9^hLD7w_=F?DbfG312sB~7&#u*^mxU3Jh)XBb1>jIKmemxH2Eq}26|*GL z59FgqkM!4=q}#E1Cq*mj5}rOFp%*b4itI_mJoDp<#AB=Sl!)~EH5TqH{pC|GfSN-E zUy_m~p;(=U8nFge6?sEFu5E18^eYXrf~XskClQcN5Ssw$hPgVD#tA1)Rdz5zArpub z0RpE2CK;Lp_ZVRXh;lR~A&If%YzdbWO9GxGz7OvO3FNdSMl7l!gu{>t7$@FEw|A0< z$n^vi)XS`kCfMh)lAio8v3p5EPZ2pSWIBf4$a$I05QIZCP%u$UTo!w>OEbm=@1mc6 zhWV8U5}#o)>!OxKDdQ9RVNPx?<18D^50dUg)AcduT_m~rO+_)`^9FXMNa#rHof<+u z9uq$UD`GsEP`3fh7Lgl4;t=~4uV|RQ629q~oLjJLQIK$f#smd8OtA0IHE}#dLl`1C z96Z9V8gH2Nvf_!Ba&asgdsY5J+;=QhGbyK8A;%4O=3|JvSFS?%o`G)$OmS1 z268BxOO6 zgpySewNqz13fiO-RI%&mRkx)_N_96Yr^lnv-;JssZ`ge)k%2u_}lgBt) z15dK*?0JsoX?6x1u$o_bTb_53$J|R2H;tA^nSO6f3SBg&BE$i07cIZp0HM(IUW`!_-o)RP0Cx+V8P z681b#PByvnok!n1a%yTG-R!e4B(CPQPG`5>h8CsZCabxmdKW;5)89!K?Y3Xh8ZujW zS95|`bkXjUo$Z>v-<#EoV)9!;Y|a*t0Ep`BcD9eHV;;LvB2j9$1O3RS0j;Xmc~z{m zt1E@fBk2-??N9BsC#M(I{&}XTH~fzy#jYt=EE#Qzi-wZFbJTymc z!UYSEkwKA11g5@HFc6E8C0V0u>id9))bB*i)UhRhFQ!*Y7f@Ks_N0U$aZY0YG4ct% zBCt&WkCuc-B#4BZ5=rdmYhHtD=vD$t969#~U|fCH*vq`Z_R7Mg7K*el0X&->KDnHl3 zgxLgSp%P_JPA~eXfsXMF4U#~~62wzeOp5Io=9Huh4T+bvNIB}X%|}jp{bC>FQRsxx z2aIfu6x43MBFyX4D-y@lBPspmXlcS2IUWkWDRd)G0bRqqJQC zXig&%<~Ez}+6pHy-FP%6YRD)DSzGR5Fr;$mKyW)b93pZ>LXluUFT_B(*FC9rV7Wsc z(73Q`WrGk&jRQ(bEhmZYFAGQ>Qll2LXfFSj2!&XP2zF<=`NtJiqR|(^T{Ev6jmC@#E@B+D#x%t7oC_9{=1pKEN+dN~9}9X#DseQ$ z1dgXfbdem~g6{QTjBMS+r|!qXNNHKrBQB0Jc~q};4i<#sG?21ZhOZPxZTpVFj zSHVP^>gQYd#kZE#=QDQAQJjRJ&82N3%u&pkK%3MD^`7jMDfwe9A?G2=`B( zRh+m9NY*SAc1<~)_~%lK7* zFe?O#*spmqR&dhV=56lO$k4jDS?BiN9ov#r*nZQeg^hd3=8X#WsL~Qsbjg^cUMQux zT-kZ0%^c&%LZzzsqE^+Y7uwcSVI>4s9K%HeWE;t6j9oUAO=}r&UDTAVY^7YL&|FMb zZOtxO-BzJQdZ1!RovsmKSR%B)l3*gCbU=*(yCNzS^3UiV=6 z(-?NDB&5G31gYZybV=q-)Gun{A@hhjr2|tW7&~!bSNcjd^NuCR#bJ8Tidd)(5VDS8 z+{j@O2|4#sj6)AKX5KHsPR|b z7#j&-5)(c{1LafiIx{U1z} zDeN(v1?vt=N^s^AQ1R6nM#uz;i8A29fh;T%7Mh}3ao4|&*wmQVYRERZRGl-`4BO~= z0o6J%jbL;Bw%KmBn;l0R>N3NltUMZ_gJzOp!!&| zZ{i`$Q$?`KdRu@CCq+KPQewwKN~~a3XqHH)JyqE0@ z0JQNw6?in$vQSj7nly-5ESfig4+tBPyZBs^B}FEKN<;0m1Xgk! z4hN+fm;gt`)os_$1gpHz)8w-*`lDgw3*ycgax$hT3oEOzmZ6*i5E6Q;fFP148i1ng zk;dK}s7(szjc||=`N@=qT(haukZ1=MDIDmRkJMoRl#zAL;A!ffrUft@yEA%48qD|7 zb1iOOg3Ytx`UHny`-X?tWGp*qem=UrP2H7{6U-ZM9N9FkOb%+IySqoaZ~Yq)t36MV zPVd5Uc(g+v`u^bMzCJL8t{=~bzxl0W98-KSZk@*1^_A8V#RLrS`{_=8JtYD)PEm_R zqI^iz5@1|x`E=Y0=KMFmp*I5-H-5!exUt*pG@o>uzv4J`UHH`{p|B3WTo$Ohl@MAA z!hO)494#0ZWn#$1OyIqK$hB1`Q^KK+8Yu}QM~WP^Nq9wL7J{42l_cXBPC#Z@fEY3c zI{~yRk}!YjCYY2~ViXeMnYotv?5O3e{dp1QP>e`<8Bp(M?Y=e5cD1=diT%U=`P=^a z=pV;NBb(vL4O6cfebVN9*Z!{KtWx*5_m9!V>+^o^U|0aLtsEk%A?)w>hr=b6cbC+) zTJQhk;=DK7KRr1dyedGrukD9aP3xTWW&2C39lRW!ot_>+AA9>3gSY)c@lKIGc8$To zQMr7+`0=~Zu)lxazZmsT-j3e(a_Ai99HJCw`+>~Q$;8`)|=Pz4(L^whkDBlhg= zC7J6(gVTf4E;^()NG`O~Nb}5q1Y;6|zQEC@o5V2*g+EtTu_&eij^}1K*WTzL1bNCT z#^+p+;2jQpwLu`nXE-LFae(vLbV|c%<_~AdMd>q34q9Nb$!ejyJ6#W!&-c17UGzdf zzP)XzUAEHlqdL?~NsvNAsBvJI#C#sQO_#;wj4^*meYtT82bZ86OgX^Nwz|j$CFDYputelr)#?T6DyREZL8V)I z;f_YOu@~Vl8aOfZtKPiFLvqS2ygMraT@}SJqJg{mC zuinATSz!S+E6J;LSgT2iWZ~ic(DE)G8T4iMInoxDS9QUCQht)y?;__{Z|rt0&&?KG zWjQB4!JIUu@Q&{88dd>|Pg)IYt<|itR&}Yef2Fp4tB;)DdSlcbSAKbj#Zw#10X)t+ zlDc_1_cd!gLak=A>n;V7*}#gIU7P|HtBNMEpDSrPQ(0IG)H%qN-O9l8T=~+ZF^b%R zNmFSavx#6CfEJx**!33RQSgpS(O_{U#MG@QoypauQkSCgjF$q!3VqI6iqsKIHVaeN zrbRNrqPh#&z&(8^W01K_EyiI{{Q?&Ea+7MOu?5Yh)30179dcmh-L+cF%`mk+EN{tK zK;c5&h5T??gZHoTVvSXnda=&RE56hiFI0;%C-x=POsVR%S~7+XCdPaU*ZA!NTYW+2 zjKxCx9v_^h7E{;&e0B{+Ivk=-d;5vhJ#Do$PC^d)C<_~KPz^V+;4%^#Q>9@`IJ^kx zE2X<;&7<$y-)+|r%Hd=lnvz!2>HCgVY0>+HdR^3M@3duvB@$G110t@TF9iy$PJFhVI;$_k4OqLURo$CfK9!D~j1zIjQOQXY#?K z+X9ig=%ucLwQxjRSDlv9m0B}`eKFJbeW;+=KOjDyr@iQWr#xjRnEFXfE@m;|Gv)&o zD&3;=<0wxI{gfv#18pcZxTl~y_Q|^O^fUBgg?k&|P-lC&#>7iP4~Oo&i*}T^u6=}h zh2v_&m}9ZkW4XJbbAr7eV=BmL=-QV=w%hGjw3c&XHiweh{3ux7psnmjWhYkvaB_Ol z*9S>p3a8VM#YCS{=&3y>KD$=dssLXSlth)#6c#VDH~$FqP26tHI4bW%+af$sl-I7xW`_xrU`*oEi5xO)jpW8g?%o<$(X&%lq>fq9P#ub*{mjuD z4h^)g*5mT2DSB={dSTV!ir`MesjB8UkJ0svx-;Zau8e-(Jj4NYm8TDWQR~tRz=rAy&6&#xus@l%P7#2IvGB@MBabsJn-fP*5Lje&CoJrry`@ z;3@xuhGGjfEa|?`HJ*$cWy;*%R^Th;VnZ&01!>@G922LttnWF!D%Wt!v|5@Om2aN6 z^fan18q&pcsMvtLlfGER578=*?(UwqasZ0Zi#zcuEfniODi z8a{93UKDEq+UeVf#4ZU1o|40ukYR*f^1PKVQf}6C^2N4nEB$ppDgP&~+*a$5#p-HT zZryHzxVrT?z5NT?Q_2vfoSlY8SvZdCtoah5p^LIHIZxA;7lC}<%9UR*82PctagygP zwdcH8XuB?LO4}cCQ(Ad@X}EsE1&NCbBz?Y!cjgz28#B&NRDg`3Uc}3nP6{W#KB@sN zT|*W|>FQa5qgm`lj(7Fa%fa_aNJ%J;Xh4Nrt-0TeDg`tgMmQ#KBJd-M`*4SZ#S*~6 zcdPG()|6jo=XV+X||l%0!wL3c%!qJt3oX~fnET<&s*?)z1|wl zTg|zLbhC2)mq&L-+)HIVe6iD(voiZ#EUVAd2Hp!nz`a-j?L2Q~Z;ExaZR-WxeSh9E zKP#!Fz?I2`D%R(WNFLMFC!=GZxtHl`g@{kB<@;RambS_f>dJ~~UMVl?rmx^_YE@XG z-mSlre$aOKF}A{wvkiXAE%2l5WaVAVnE#5@FFjwj71_&J#Pe(w%O8s>mMa(Mpn_6( zx_D1qxTmSNcGoLQeBi$PA$#%~yDo5DB2a*DklAFxe!Y~ve%YRj6nXH(f6!j}iTApX zv2U$}dd_~S@V6f=mqymTs_bEbTdBTyj|3w~5Xt8)5k${h=GVIYTZsiN+|LHy3tiOp zS>l-rS<4k7hY2FO3Uw54ZKZ9Rny?;HFh%&_>wOyfEA2}82GXj~LI$YV#5i#;)t#jE z+sNudBNnJ)D-^1KDrtLYCG zBL2`3P_?Zw(BM8?EL}$mRfj;0tDT|%+WT>chCAr(&f2mk)Hf$PdyeMnvK75LWou;{ zef9R)NOuRm^ARjRRp3^)0^KXiSx{FN=gLTf6la0DU#hF5o z@6bImUapIu({%DtX2pjpLLaUKeJTa$p>p*aqF8z8KY{4YEZ17e&8EFoyAWVM2@wBYR4w3HKu z?vb)q6r2{G7C(>4)DT8})!bxSB1BnGU0wD}rMBgQSWcE-K|If9*JZ$ma7$%KJ<<=| zcn+DOejxKfRj-#7hsL4NrKMIK(G)+p(55L|flvB6*M9bN?e_L1y6l*Fq`JZEeXd38 z@j8<>;RJ#@gf7|7g8EjpTwM@QSP0{JYeB6thK0Kn%NrGOLe_v?xquQ*&SJvpG^F9w zbR&CWu(!&T4DECpLY9*LO+;hkND82;UjfVowHC|=(5DY$7K#JNC!iN?iMv!3%VtOA z+x6yU2I2=YKf^SxT%HxB6t}CaZ6lVIe<)sODtSxcI!Xz#tXLI&the{$Q6=}Tb|{}Z z&!Y$HiVGCQkESKAtQ!6)jsPFuoL|QBUM z)ZJSZaF$%80>}JzaeE7mfZwy;Gvp)H;@w?-&sb4c`uJyP>D8%{ZY1BJmp&V3H+?>i zo|Ltj9+H32n?P@>pv(v8QH!Bfy!oPMebKWjsaYhQp4(a0q6$V~lGB=7t}qJA9hd)i zs2>Zj20_8xJ%rBkdkLT6AoKH|Vt(=?%+lmEyU((@w-%o)VXE^euPk6nkaDp!t%|T9 zZ9oeeF$UOm+fer1w26|Xc3q7#g}<6tSsJKweIn(mD!!Ei_7Rkzw5_!ip|xZ)c(S4L zs4tbr>`UviPIlkVL|o9p+ygvE*yoUKJBzlhZpa}QuKlH#F(LW_4m~u6C`QIHU*Gh{ zDmAk4*55qo4WXtE#l5A&SU_A$lshCK}qcPX96>v-t#}k!GSE7P2@KY2dzMzp$ zazP;=x@5E5Epzj*`ZA*mkL#%bdNX#70vwvCE{jPan2N*EM4JbCPufGBt*mh!!ujm& zK39h%Y1ofr317$D5bn$biq=_Ru84}NltF?hXDdVuY@)lnh8&tkbmcal1ELKkH@i$H zS{IxeUm5mB!B%8`+W(XlZ zVjofmK!B)b%|ekV*lAvcT%;jguHp)A7J929^&+w&rWEPlNlR>OpkW%893yu|ea}iI z$tLS&aY`Y3Cf3@zDRXl9O(m2pAl5jGp0*^cj-CciZFN>?#Q+&hbYA0=!y&>vy;>Ai577`vi^WDkx8uyVta7BngX4tu`&fNyZJ(vBU_% zxnmdPk-?c9Knp25jm9#XgcIJR(O&)b9tVGolDV3)o$ z!%>_UOGa>(LR)jlRV5ck*rj4_0w<}bFv(6M9hnX?DXumWDH zfhZ;s%xoGW>|No|g$OfIB6O-2u)9D;Z!2rGrm;#rW+nYd-#|6<+X!miR1{FO!x808 zmj!0l7%OeQ6Do#KnxIC}Gt2IaP-ZUe7B{TM)JH)+vD!pRoyehvcFZ#fHP~}k5Exk*9TFS37Ka=jdbVuFS{=odrTUqH0|MGf6AO62O?=IpIKaQN5Yiy1v`T(U%4l4) zrg1CAp+}lCp`%B^yy||81%$7;vtTyl=bJfb>wfIzRz3sE%@K=hSWlO&B>PmWi=5t% z!zYc`$G!c=@O5u{_o-uvWj)WM5&-s*Wr~+V9TA8rrpR}S;byX;I;oc$1whsHDG5b0 zz&9pIh1!ccStj%Q=U6`eSgKJP!djYr;Zd3`r#zZDJ@-C_q%WzfVx_eB@Ki-b+gD=E z;LPrvPSq=Sq3anHMCFVLONr-Ax}?p7lS$$uIx(>c%`2eC-VwvzOYBQd5~nfURNy(v zRW>D)mS%8<_6G;&>QE*XzO>HLg_J%9(h!m*oO>p2lgW`{%WUCwwS^zLoYL>@HzcBGwp)oYpt)Yl9A8ms4nwAhTo=m8VApWOO zsDfC38ct>5D-jF=Mqz;2*YK^b-KSNS@MnH1Dh zQNEm#EDKdQwjs!oGnCOtG|`#Pav=xaPKO~u{hH>NFw|BV(I7y&TwZ*(FrR)t9ByZ4 z=kKcIP3dv1JhHkQl8Gp@2X*sdFnHQi5)&0P&ZCnFi6L;~n22ja)QCq`{~%;zp^qCI zXdmQ5YJyPGI7>ka)fClDVkwAG=dq9=*|r3sn^?eQ5@lV~qij%?I6l^P zrZ_Q4oAVhxa*)&{E95*DELU96;c23j<-BZ4?6ih9lBMjz> zG>IaFx+l#k`b8z8Yy|UIMfPu06RFYurC>+Uc_%XrHa1Y2&^=4TX;H0)a(QI4>6=R= zTT0>niaOb2lS5V|kuBtYFIL^IsH*eTee5-!>u9QhTZsd?3S}C=W~#!?Y0%lUhU}DM zcBLqluJcp|xCyxI!PK#y+{k{WPwZSUUDSE1AO9NM+^g(Gu=fAn?zGcKkai*c#kpV9 ztw3ANWeJg6Cd@!9Z->bem*(D(3@8=FjM2r7TJhk*+a*plf4Ii`doJ4u2_%=Px+^+G{=rhc{>-(sJ7dJlp= zJDg2~BiF4n!?EW)gQRyV>xc5RFvenzLWXcCXv4H>WGWS;-i)_k5%bw}uCg&)riP&= zWi68w1~!E(`9UQsRQz{EPG~Xf|A!c%>h%hIP)E4kSLUm2coxtwHP#sOX(hk3H^Tqb z{Ia;?f8m$^1Nh|zD$oob*d*IPE3sIq0AMOgL6&Wi>l#yW$YL$(0#it$Ou;N=2LgxMT5x+6K65uk`^jO1~OsSRANUt@X9i=ff||*>h#z00f}Q4!*6(Sq-xmE();QqrMo9ES>AL_M>;v_ufKG$86dQ~YU(7dPj#V!VDi z9$47}xQGc3P{6#zR~{P5u!Ao4&-BYQl{drQNEd7+JccyEfJjR{<*jgfGg6gw!6s+V zQj^i}HB#piXy2wLyw`Z#YF4I?L2uJd)dzx=X(@YW+gi}w-Lq^bj@iw81ZKY5TSPPcyj?SFN@dgmgevwlEu@BO zBq>;g^`!mxr;Cf(;5ysiJ+n5oBB1T|ldAXC2&qwz3HC<%VjS9j(r%}8Qnvk(il@4? z$e4Na>H?|_J&b9QZ+8m?I0+XZq27;^$%Moy2`;PNa`dEK`I4t476A|>h(?lEjlfk^ z({i^RNGo5R9J+m&!(dZivuha14ZajT{(x2u;<07fy_@xn)Xv&Qey-z zoIfL{uGzbTjN`(iIu}?Z9Mx5`b3wQyqd-m_@QlfX#3Z(A=ob?H2v12U98>m2qIQjA zk9hK%^QZ!ALBVP35slCu%AuY%0GRKg_m16__Z9}w9T;a-EbF6P3Np^_p*s9cpK1yi z`0&H7rOB~}3}MnYKpXj@NU03*NV8P{Zhk@U>?YC|x(8XwnDB^&oTxWNoYV5T-&QFY zDb=_=c6Qrude-}F2;XO8r9_JdZKau1g7i3N+$i+q!Z14p3(cDi;YOp7MG2o3-dqwA zVV_=+bVZ}5yJ@xQ?=-SY8^&$1Y$-!Dz1BBP`NeSjS}sGUEq@gDbk$)vM=kE>ocmG) z5zJ*iM;AxKtB(4&Y5s2OzdO&;3NDe&D&=?$!gB7ngwLC9EGl7*F3J2M@Gi+bgU1P% z%xDC+5lmL`;qa*237%O!Ccu)^#^TawCYfb628CNt8yiNdaLdw1Ufigpye(zCmZOmQ z&@B>9s;WrTpIPm|E!D=Ne5FeUeQ~p@ctI*EwYyUG-r*j@cv#~ zG79?7&3}6?^{*Grziqv5t}H&TE@)avsJn-zCp4VKl5NR-g69&nXaZ>^iX*2fK{X2Z zIg#U_KM)N)xfir0PNlvyQ30wXL!(5PMn*h3L7U}G6_^g%LysP9S+Y7O0xc?w>fD`? zfaGOo<;9UnteGWTYn-}>wHJVkp>Gu6oQt8w_VZkSW5d$RmH3~Wb^f^8-fC?&zu7`Ls5qi6rR=u=Osn2$)wj_& zCit>QHFuVTm&6;17>8UkLlU|SOt{%bq@_41OM{>QB3%1fEfs|{$y*kl6(ThHd%Inw zS!p>MA+6gL%eahPQZjECU&K>W)iQVdk^QJd=4HCK~b zeUa?NHVzGp29OL@*R8mfd@ndy{0mTBj@4@^F6TZ9OrDPSA#lj#qq-`FJ+G)6Jj?Ek zWh=s7me%UX7P%68lbE9aEbs=ouIstAUpd)7_DnA%QZ6{@x9Xi|7C!d2@i~^^J;-IK z-4zTgMOQZMpcc@OUM6GmSf61jFR~Nn5efb=tgCDAkV!Z}w)+`CQP%U)<81X8d@kBwSawbc3aiiZDRxJTgXW2z0^fCLQ-)hIw!CVVQ`kt3*`|7*}ktC!l~ar zGq(x;`@jB=_ICX5|N6gKj#)Uu`tSexKSxq)|L_0$zv>{!%-jp*3}?*e8i2whf1{LKePdCs(|LnZK-@E7^bPEU0 z#&a$vk&j*Cq469Yb=psN8%Le?w@={;0-7Wufx}Wb!Uu?U>r&X)7;m7W7LdLu*5Da> zCDlp2vc2xsaGT!?9?X3yZ?%wzs4{!8pbdoRTTdD5p@(+_y;!beGh#cgbAsUfv{>0xCJ|EXiLF zNICgI%x!2r6yPwyzCV{=@RWEJ+1TZL2hST*>s<#>)smCms%pwRt5)qxQ{j@5_XF901m|OdMftG2rn!#3VxqEzL(%-fG36ys9iL5k z6Ac8yoF@T+`-kSbs(dFfpBZ6{sBFvWUghaaEdIP%GcD%)AIy3$`y!g+i#-k;?Q%eT z%msCuE^EmOyk)8?-eQ~#(6`OqW=9?71JZ9|zl$96tGnBN@&t%4NF2}*=STq zfvYdrNNp<7Y11cH#P1>+PFO1PH09ROUH6tfSQxFfcF$5o=(mI< zq{-D?ng6WWBh;i}lo+?mhSpz|%T2YU2G=Ax84)(=qWbOr(dn??1(skmY}qlMO)AuQ zQ2)MZW>`!p@jVNqQQVR9>m(MAWo4O;wEvpbj(V>qVK=oFhk+ zdAhUPX>Ygx((dd&-G1^H)czP9yzi56f#bilKe(-8=l(@L`z)NsSR}r_;{{&YAPIn5 ztq1Ol#6w^S&dCt3dtcRROMJir%ms;cJbztI3KE+k6U!@P8qpToTo6ApgYF!D;K$hl z&#BrstA5arz4Md7$t$#Sjc;n-NW$iYFx3TgN#;^S<3g$+TDTUrSVxSBY{5qYuO!Xh zhf+oZ|70Ic7IQ1Woxz!;u~tG%40atNb*EiwZ(!hB19%;g8}KYV?hP;c=c6C`@Am4O zEFvN2K8odZY|O|F+S%S(AM-jQ?u?=OZ3g`A0Ys<<{>eTP_!;IZbWNrer&CcdWs0?< z!Bo$#T*n`M9?W|_7}^BABK}-m0CI7tJe^S#lSVO!33LNP&s?RA8|cih(-NeM_mh1-9}oThba1kegLa;-$w3P|)ByiD9Q1!U4>hyP>h`10hWRJ_ zEaF5(RunNVrZM5a`L>r;?Vxwjd)XWIyR{33$c>1xE7Gu$W6Vi<&FwMVNzFw)tLa&K z@N#t48xDUwJwMp1Z(b&2;tC%wzBC%(2p(aVfW~>Q&XJlY>C?MAl&_*Uk(FvTn7VKJ z2b#ttLRlZT=aE^~72EbvPK$A0B>p$U9)de9%8ot|GjguDex z@QAog36=lU{<#@yT<#pB!SkgdCl#i7e}Jtbrh~Hro+@g|L$IZS1c0dWif-zoVFJ(e zk2^)A?LAKBQjhmz#ZyMb_Di3vr_Oc;PLm#ca>dsCNK;A4+ zBVyjFbJ<6Z%Yul7BouokC)Q8}HFg%x`G5!vj7yf(v)o`JF>GkprWM(&=@0s@{aw4O zd=G3&X4Y_7Afu&bdfQDn0LrmC8tO2LF}vo5fZV9K7Wrnrgt2YA_(CJLTwdOHF9A6RdtNbF+ zH0gOBdfhWfD$gWWKt#QQg=tA^8Sm?3cb0o8IlQ@2&k;sfa1Gk@D;GlV`ue&FC)W@> z&t>7nPe|yJmPdKy<9X}+;;{9)_qTyM3j-tB-*D*tZAe6-&eH=H6XX$rsn46GiF$i0 z=L?Ig4czK>eA5IsX#N`9q!Lk81&BXWS^Dm-_Wkic@+W^?BX`Lm*<7^4RNp+b7!jDq z1`|-WuW=~UctPw3*(CUPfg;X=C=n)*?5{2hIrDXt4lC}1b6MKb_L(m0s zj@gn1XWeCr?^252-5DYB?0j(CJAXI&w7ZZ&<^%Vjg3!I7=S!!Kv6A(VU-r*Gaj!qZ zu3Oj%j&YO|OJFZE(YVujA@>Kk7^Mz!K4g~g#AArhP{TzIY+CP~`fYj6fG)e<1bFYD z7cVR{osTiPmFSkn`d)1F1Gf}Y$>oo561o{5_#lECAZt={k#lfmbCGfn{ul&b3EkEF zn9J=fz*Bu)`}}9&`QK<@1mXKho2u;4Xvw;V6RcG;2Q+1s%!@*@om49F2*K6HX9k0kN`OC?Y6N9`KI`|0)x6j&iiA9jFgZ zh9>I`kBGa~l)8z&6QF>knhvlg^^6w0u`!1W1-`Gby^q}4Ze1~v&CAkcURdDavv+0A zY2ld?M9<;e0!VSKTox-Mm|HYX0a`u$koEFq8ZI~!fv#g8W&)Qh4lZ+UTHR^N?kpVYY?#Y7o2??8CcknY3@gRf#S+gc z3HN(>5H5Dm&eL71B#DJCJEYT)c>D6f=E7URMswamA@wb?NT9M=30Q}W0sm=epb0?# zK;x%RNa!M61RNsLB0rFMu7o|Hf3~vr2|f$;e`Voqj2RPL#5iiWG4XhFj)S$$0r%+t zozBj7UjN_jJn4M#|NSf<`-DKU+bSEBnhHHHprJVxy04gr1^$7|x9+i`*;ULro2;T@ zrz)Sj8jfh1lIN;ZGY65~^or3sX({v5Ig7%oZudpea%hD}I49O|S!bFza0jp=fm{-R<_5_5V3O%0H!Q?ztug1O%NdtZ22`(=ZVqw!*XNweAA1 zh;EoIa$B#zyK7`mjCTK#MY1L9*rKJiZnxFCHR|P`GX5*A|Ea6wWu0VmT^ZnB{qIS; zxc`6q<^1>aeAd|ib6KsMrG(SXV$SD#biZ{#TfP;aOwO3P(Z8%tm=`jpuF?tha&7*~ zC4E+xH0~W}mHBo8n6DPKOH^|KQHH<4iC1`Q`{Z5i-B`EU10QT~$(;1~Y?IX*=} z?qhP){IvO3tDOhKg9O)msRw??V|mE zd;8mOzpVey@sT?<`0Fpb3Znn&8{?I#pccp;$}j4YU+88Y#whCRGm3g8qo}XKDe5Iw zq2daiM)y)O=zp@CRIzyU#mgegF3L@N%F`wy#o#@cVI(5Y1QSa60-JYYP zi^0#6Jtxe54oC0gle#L2)ZY`k`02%{cXoC(*zdhO>hC$Dlio zoeukZj{2>CTI~<}C&R(T;B9~OL;v0AZSUxf#Bsz)$f=-Lkd$XMqn<~?(a1)80}Ua$ z4pQ-Z(IuHHnhoC#0oL$!@4SC7`u_0z^wpd5qdi9@<53s&-o(CBReIRpe{(*#csKg~ zba3)R|6N*(6E}&eNTV(+udPDbRMt;p!PrE|gHboV57N5e|4hBgCcp2!?Y%xd?q}V@ zSNJsx$YSs&KmrU@TF*pBfXj20P37vTp&Ff?4liDv_lJ8<7Kvba<%9FV+x~gESudtn zBwk+E9>%m{vS28)TEqT1TzW27jE$nDWUChNH^;hYujiKQ%@A|_WFF8=Yb1DaOh@zNzi7T>XK5FY}qM?qDqkK+P zd>|}l;EWkkA+gF*tg5iPsly=+Ib3blDZ2ziDy5DlkGj1~bYuz85YdIiCyQ#20Zxt< zs-acsX}VuAVb6OnUk)yg|6|nK2X+ihC^y++JRVbV{998YYF*2?AJE`zIT#w{hC|W~ zE{LjqOkyrk84ceJFZ#!$cfDh|kbv=n5a|@kr9p-q$*!B1hTCQ(tWa)_V#!sd1}DRd z-qBJ2TsN8OVdzR#vq#kvKO02duz^iB?XN2e!} z%n+;EXQ3u&R!YxcAmyGT305p&nAM(Rm{Sh9zRoPLsRDOzrLl0hDv|NJl%Jb#PQE~H zYVA3>pM|1kBJ4Tln}w4BKRW8Y>>uqpXKMQx{>PCjl%K-7P~V>Us$4qTbdhtIUBPcw zQ@!(x!C`Oz;`IETDb*{+ZTbR{k(rL$Tb!dk8*of z^gPJ7g%J<1@0(D^CZs)9{Dy=)i6uW0h;jrWwkZpVWPx!^T;W5+4De5PV?shL3TNrJ z_S(%|dn%r)bS6?<#`;DCM7CGC$W&NyH_LB$c7A$%b^-HybTBv{9i8s?vg2|_8utBry=ndiDvc42SXC0YgRqAc;XmFs|`><5Jo@xqKe~HXB3Ky06#8QgT^U3+c>3F@ zC_Co{vkaheI5&`Hp&Vs7x=ln8#SzYqM+g0v89=Ewj1KyTy*Eb}d&L|adER8|nn{!G zTNyaH;P#y2$j+Eai~;e0VXfoPLsam5oRNG(dH@!;b1{zy@(8C=2dr$=@R2-VSmFzz zW@BSTmz(9)DMN$2T4HiO|3^TCCCP_KPzI~X~F7M{~!NyOSk!r zy;7Use5SS9{HC}xS8e*^F2?3JxwW?{5+AtQn&0TfwL*Kj<&@6Ve^$)K_jP+Z_Rr5x z&qvjJ(jZhp%c_=GPEO9M)R)-aRGp19RwU(!1`&&e7KXG4rn1h#ok}aPTtGO-Qvv}d z#{?;puH+kU&W|Ld%aC1{ME-*PuC#J<2CsZ)vP$>a1^=XOWhS^{xANAvT(_)B_n9kI z?ZI%Anb@nqsDpzF@x~I8@|x*tdP0Q)pUFk*=?cq0<>aaRQC=jzS2SVC@b|+l%k&jW zdrqvsALarvKW7A4Be6%g5 z_WaS-ibvdvT@G2{qs5vzQY z;+l{!i(;*5sFLWM`B+R?95mmDo9|Ly8mVmxTKj>_Rai~9b%|b}p(ZGNRXJqy=8ggk_udgkcI=rRdxNv8wXK~BY|T%}>;$Rh4r^4(fY|rh zHAnSZTj9IYd7D$or?99I7`H>0RIlz7_=?N>F1N^2hlmu8waU|%#Z_+J0vO#-34j_Id5-!a|fp(-?ciaGN)0ug-f1Fzc1$ z%Uy0(!cpp&_$-{l5|gSe8YjXqZAfeigrkw%&wbg zUu|#!mNPAcVGM|vF_r3+sbEN29Z08pZXO-KIl35}9rZ_NuSUcD*L`3$D)uix6>?(%lMuasr4RIS>ux43b;{|D3y9|<&}85LNJuJq(uNRhh| zZ#eHCrZYdF+-**LHl>_R1Wf-i=ChWd(a2>!i}?tL-bn32!sM!U_kDunJ?B07N#$ln z$bIQ21fJ}C_iXps)4!YN=fpcmd>>wQp6ztZ^LIqDdGmP3D*iI2)0xO%b^iWs+6ePK zRV66$yphkQQxd--;+T2l9AD>FnpzCU;0;jkIC;}zT|T!Bii4BG)4ci0#P`T*TE?h@ z{>wM7s>^@P9pwB}zm+ZA{fsKB|JXY}sjgkWHRQYdnt#pfw~Fw05~d?x16T(+3n0S= zvJA8$^}~Rt=C|Su%a6n-8HV~T%r}X6V|O|7YmZpt+uWFa(2zX{xiv=ZLGY^vZUgP( zhzjgeNDPr`m_89w4%K3}Hr*9RSv{>7Xcp5c4Y6YAS!^E5;(iD3;i(T@aq zO!E1dV4VX9B4IWQM28go7cqA8bkF$C*NvSvSL{d5iB7k^oy~~5s?~ZiiwX7?fRk_n zOv7aWw0rl(JX(y@ZiW+|5#O)GX#+Zj1_y>%IEsAg!agS$%Dmch=*v2TgC+Qv8}iw- zxKpUP;FLhv?8+{ahbA|ul8RFW?H2a3yLu;Ez4w7vv(CeU=x`?Jn#GqKd2})%F$sk~ zhb(5E6!ouXM9icH3F7*zlQ*rG!vg?A`AEVT@g#~^EQq(K61M~3M#IE?tP zHuTps>JyY@KlfOM4vP_$%;FbLenV~a?JrfOQ10CJRyWqI(;UOgN|6vb@7tYr{vG!T ziBQLCASC4<7G?O1T@O`Tx#8SELxE$JHb%eCItTPYf3*r9t2}BU6A;9e3XaZV1}Sd_ z2WazbaIlqCAD#_PMrVVAz4})ch##o$D|?}8&RC8(orc(dtOHw0jmMJ%(QvUaPKa_p3kBNTMqHo6QI7O^2o;?86XkFu zhY=-_F{mjOjc?^wXWeQXHKqb}DpzNTgy^p?7E>)<0GJA0C0}F7vXm-!zn}+~Jq$8M zuu~L5Kp?H(ZZ{k$ayk}hl=IZsKRvnV|Kp;X8|jyO^-V~49G4hLHt);oWJO~~r>{mY z`>%U%2dC%YpLpEA=v6me0nn*$mNX(IVQ=N$=)>5$u4k#mCAO((WfIrut1!U+oQiT6 z=e>P(C#Ul5>+^o^V9${vMgDz7VNKc5(cq+?iHYf87{O48aLiS@zOv=BI!=%S3_gqUh1t_Tii0XFVvR{&11wbI-ZJ`EQaSm9f z2s6FQd*UEH`fq62)rAx7a4sdH)M68}K=B>*poxA|w=`S^-bsjt6B<%Mkk44uL~l4z zTa;kPBjaS6iVqj;kopVt%KB|5w~Vvb0>@JVS77!kR@Zs|U~n!+^Yp}Kr-MVS4fzC7 zE;|=t&WZOJ;W3Lv#k$R!S>M_Ntz|mGn8T+ zNnDATQ@?%NKYw{T?2oi=_|+atPnOWn=&yfWSW3hRxu*zVP~BVIyezC_IZ(YNyg&XZ zycrITj^0&6si0edc10e$fvlkLYV@Q$fjmZF6yXFZPo%F<10?fo0Pj{BLDigKi918q z=vPY6l9<&)uZ159nx7|C9qXk#3z&zVK54JsfK~g5O^tTSD^#QRp;Qpd%nTBZ<>#~A zKwj~g7DOC9?xkgR(*F?{lN$1D1}+lsol0g@wc{hF{_iVo>?`&@Yb@nCX1Z4N|3EGQ zTj;Qt$zFcdG@J?cIkC`LEITY%zIo!AwNzEgEZ-$X(&bwk0yVIp{F;@!Og<p%&ErQw5xwi=-;rDN-Kp(pifGz=difvxwIDAlZ zKlaW~?(Y()iw^;Ra(dCfAN&|g1rGGsTqA-CpV%jIl40e3z~T1$_Rh{vouGaT7Yq%(0glwPrEQxi2%2i#M zE)w3|#)=;_I6gZ)zv!J@pjE5XZw*pab5gf&X6;IaS8e$LpM~vL4_rUYpH6ICoF1Hl zK8COwKhTR@?7Im>sqslT6*J_`LmW`K6U-53$}q;kEGdhV(32|XCBiYw@kF2d~DQ~Llx(m)2;NCsB{#>IO@gt5Bj$)#`P}761Yx2lLA&Ubb z?2LM8@@J{`OP#A}X(8D+^dnI>8#%cmF+>0WpFfVSXVje`*H7TkQMm)EgudX#!@!{i z28}~1FI&m^#SJ`LBl-n3lrC-X=C*&~BW|DxhGg-k1(lwhLS3{E=fxotNav7? za4gqX=JdUpLfn#rXRkyUYB_jalp_5sr3l)xS}&VOHlCu8U89K6Q1Ig7waS^H)h*Z% zVghH6E=iBZl91jsxxnrvxp8MWoDy&=N?qk!ohQ3bcRQ^_u8oES-N2#O5QH=YYnZ+@ zd^Y9s0T&)i1QfyYVMC(OpkYJINQ2{mGz1Mw$bvcK1$wb52tf^;jp$aH2;9;JoNQ9#!6Iu(Yc+UuPIYvSqQE4bI&B<$aaH7|2cG<@xuH=$baJ`bW!@qVj zB;e5%G6NE!AzWWW3D`Hfi1HuEe3)Y6)Ne1z{LVpt{i^{1K8AaGrviIT?nV6;+Ev}p zLn|McT#|WN9!hEP1DW$Z$K22OLwV=_aY^QX2zE&Ir%}`GL$UF2dU5RWTwt2|6R`C7D+fRQvH#j<72d*s8(U zuA`CYxdjeBscjxM3~j%k$_WpLgDP)p5|W!p?IT7I(5HoJqURb0#tC72L{!e`T#-V2&On`Yffx1=RCoswNT+X!>U@Jj4I%BVP=h4^vefS7= zdm2iK`NfMI1G01qw1E!bOxs+5mej!ET)?G?1_~fRp{=r7QN7RtZ>fz9bfB-ulkkeh zEDR)PF|3Cx>x9~P#SDFaI6~NG=4UEC8dz_QR+b5>mt>xWLCnNU%#9U8U*X>{Ftns; z(CQXm?=AS4_un6)epOFate=4?M07>vPZy@tjOpXsTrGW{va*)ycfLXRqsh|`uPV%z z-yinFtG&8P@JYfeA!UFmeyR-BGN94BoxZW+4QiqC@*soJe0r79C9A*JzC=1qiDKf?QKV#j( zc~#P;uF7hZ`BX6)=Y9BfV@LZu8^8|e>P5*j=VB?l^QB`!n{?7 z(a2HP&`|yM@Xg8oN$@becfRL%nELY~9pU=j6**+SN8&w4|MZ+HSS|~qm~eiiXwUcV6MnS%){Nzpp)70~ z2#)p(SV0id{sUE9sf3S{!e3WRD`6Vo8-VE`$97IO=Psv{m)N~bBHeBt?+3Ryq`#Bn zv4foL-C~oR{!UKKYOq^7E)A7gemYvH&!*4@DJUB1!k%77KTFZ#r@C2jKbO{2&+`iP zrKo9}>9RGuZw>}F^~P{?`s)1jqIc2XKRr2w3Z`9)Z`9MNnyHVJa~e+BW%@+-q+S?- z3`lWKq;End=!683$iOq-lj>5XrI26;oz;)cE>cERk>WR{ai%Z|;)yy!v0e?9k;()y2l}_MF z>Xa|5xUBNChS!6Gz4|8gP$Mad8djkb91v41+^P^Y>N$vVf!8w(j5<*-Kr9to7MyNQ zc-}{*xHYCFLsnuFh23sHX5sg2e8}P>vxpwH)!7Sa%wi#lk*!N}$;j*wX=%w3Hz^zG zW0yYY)aa2Lvrypiqb;QZ%N{HLNTpcG*Cm*aWil)sYuvLB>$n!LSx~tZTif(@>7AnB z={4Lqsqd8d%8w+~Y!Xi3PK3T(L?oKsK+2g1bb3RoQ;YRIEq?gMq{rL;aJRDY3b~nQ!$VAF--w>weVa*paA)v(N0S*8t=su zsXXYY%EIRc-d?FMIZo4PaK(3R(n+P62)Bx4s zuHF-hD3^{U2b0t%JOc^N-;dEX93jb3kc+pGz?nB3MaL*k!cd()!wn#Hi%KqHSsc#a zWzp;!Y82Be>XWIpXKSCyd{2~E7_#ccwyBvTYWU?TX6eh%%noZ)*4aXTpcFu{b|bf~ zENpeXMwaYA8ym=IS;U$xQf|YBC!2zYnEJAq%R&{foEr;@96wW;f??R4_Kr=+5^xz{ z0obm%jSELq+~C%ud`W@Xz;alM^+?cEPVo65tlx>aI{y>pO1@@k@9j*P&( z)5S1Rv2>x6sSQ+j^j@yMbo<_3+yPnQVI6?z-4l?XKT_ZM06e3D2`d2hHtQ3WXc>l9sAt74BIqhq6$`>PNn=LSu9kS zXZ!-G3lemfBy4a}RB{cIf^!mcNfdPwnU+&W8wXU%1GxsJOrxkQziIM1ws2OzwTX4N zP|#Y~gzVF2YDOJ6f3~JtsXgtZwfXTz)=VV_eI|nBrmdsYCu=dT-J(SbIrG&uyX<(J zU56@-SA|GQbP$gM=K7LVrujJ9&CWveE{A8yd9Gk&lK^eI+TuYcQBe%fZ zQN<0`pw23-+cuX7C!F+eh?|rox+V9gmR$cV?C;=F9}|3e#%Nf$4S)*4)3S1l?}QfP zLA{i9z@0G-tAc*AAlad;%%|vrit>U%RWoO?)TKxWp^-vYCoPKA;qzQasuVO#NJVrP zq|-g221o9UQMV#EN%_`e&h6!c)ZkL(hndtKAlzxdCrlt3L_Q=DA}W@js@hy#UR%vF zmbZSDtYaTXMgJ%Q11g!g*3-LJRJ+soB3J4Xz(n8ceUR2&t#set#L~H~k_uc{&WNd{ zNjW}gANTx82q)m973V#2Qc=69fg4vyILlXg#hOw^__33 zeQsbn+(axEX#f9b@9Y2CHj>7lpYvC2g&QCj+d$g1N6&rgfJuA>?6aM=c@mBj*4ow~ zOR6OEa>U=i{rlNh?W-&sL(*Qj`!rzh&d$!x%+Aiv&NK(jE=~zoq2?3=`jk-Gga9k!@6{txD)QCTtaDe%Q1F|>JR6GI*jlx>M zjcXyPOP26`&P6lLC6oTWB z%3Ry{DNVSM;_T(@B>=sc^wS=(VcYoo<^lUwx0R|R;M8j*LpKbs7S(hTF$G0g%N(g< zIpIj4PLL--e%o*L8h`!kU-74>uiK};k&kwFz7alp-Rr#VHgX zuV6?8NO*LHw+%{86peXb6)IMxuB`>LzGLg?54?(9I(lsXapO}E(qBq zTZESb}e5`X>Gr>4%PG*1q@!sx(ZU{8PJ`2G(BMl9cG9EKo7NMM!9alShwrvX=F^)`Y#_p2}Vc6N4DgCcL)Wn(rfcYFKQ-JQK})W#{y*bC1W z`&G0tsV&fE?uX-(bbJ&gY-|mV)Jh!pTm6;@-_>D?;cTihv2r@$^wp{Pl7+;X$pqP& z;U1tG>REdZNC$Ow{FKM6iLjJ|V&%@zW{yL8W+5IEdV(G{0R+_`LzalVh=rN&?%2{; zEI9PTXN=k_z~_#T2!IFX5Yz0$y#e8DdO5oqOXZ;iF6XQ_E5Uj>hwJRe zVJa-Ba#h~0BpV7HR8|zeS`$0YWOn2Od@7a{5wNqR(CR^0lfz#ddkU(RZ>gza?{MSz z(9K+&%|d^dkG+Z{09dtoiI*~MI2Sl%8(c(Dmf}R$xVj+BhQz6K9VM5FqGk(`kBy0s zxKp5AGZZH*93r%%BJr1@%@GfsX31=r%@XJU?L@_m?tE&@P8Nse4pkP#V;YdP(FUbI z#yCN27So`b5LE6c8S_0;F@wqX4T)HF)(!n8&O{f^ujqMzwztbCS4n7Yq;?ZVav$WK zwNBzwa6W>3^gMF?fcOh3)hyry4mQ1R#Q(`)n)RUT{fcb2E=*`mYokr%`N??}onzC< zP~i$8*ubx9HP%Gu6tVZ5=mlX;n@WRC?vTy7)M%Ta37nHOG%|!b`lcG^Q<8gc06b;+ zZH7Ohxr||&;YS1<`W)=4fw#sa4g_dA8xA4#pjQI}NaAA?=z6tUO=YK{o5{lnqu3Jc zPU(|>-l?SiY)E3OaER{5)VmlD$Mo)c4jK(Cn=7UZv0Wm{Nw3hlJ>&5J7m2dk=fVB?Xz>=v%N3zz4J6n8jg<;Kn+z73DZZ6C38Zm2rnQk z4ic%{kpT^Un6K<=MH$KDYA?xmENFr_V6B|TZ;-Qdw5c>ITj+OCJstvw^TIy(I(#lp zb02)|KF5(U$v*h{EsdMo2VcK-)G4S*>P8>^%lW2wm0CIkr;*@Ic6Lky2fo8ikv`dq&#njMiMMS?QR{nXlM z6pST+y%$BIvc*2=Yg{K37x6`i(!5yIJIp)p?So@K#d){#aJ%8e4{{#zv1bNHaggA% zGR1ivATL7}moxy8@o8vF|fIEWVKxT-O5@C48E6304x-S3`6QD!`jpjAYt z82v1QhHO+`D4*iNX#n#bYBE61rM6w+N3=`5;( zRRsCPrxj%RjBiT*mgw(XSg4yHvQjOLFcLQqS|HXKECc-TD!POo(f98wbOa&ro*lF4 zH|&V5++T^~vG?s+2B$H$_{1Y4hr_#wN6&l|>$N8V#xbv3|88OY>W8Ofcz$1yvS#9ztmGlKjksN=3IO&Hwk=_Pu5TI+eUDW znUESii004(yEJ%cgiqu(a2j2sKXJm1c-}r#T zgvK82t;V9`yCEDt8I1&?BS{_zh<*N4#%LFA@Z5{E=ql<<^4PFDb0kz)s<9$Ovq9q>KRe9pG1(#1MMdiSN#(W!ise=B1psW`LM zk!wJQlOW%n*&pIEl-Z&Q8o&iWO0Fo;q^ueJOjD-2#%3?gEhI1CT#6$W>k{z@ovQJ38-nvmEI0H%gQn}@Vj81^v*|cJp|QY z+rfofcg!kXCKmt79+51Nu$W(16}p^f)T7`^6r<#_^9+p+);We#OryNRV=SF*sSsiz z#S}`|NhXulM6n)Bqkv}VU?~|_Boe%GgI`!)V^bw!oJQGXDzU0PYLY($5tr)6J?Bp2 zL*>q4<$HwKXxt7@nlxbTwWo*7xy5|&rnF15B-q>*jnWm#p@KG0gnmDW$YV%lPnx*t zggnHQTg@FYP*MSzWR1%I%6i?YBpII14pZK89<3ip0xdCP)(=KrG0<+71Y~wn)}nh* zj02RPI;hL!poV6{#gEP>ZhGQo!-@Ldr)Y~;d6K54-Vys#mjr#f8jitx!gNk$_k+V; zqPHGQ zr0>~gNw5uYUWqi0kVVGV$sJB`j&l5<%x?UF)7&_-Sb!7{j-ES4dtJ7YDcJ6xA9oI# z$8S3Q0Xe6Vniq%@>n!)1#Z2_0^D)fY=`mXHNt9-*@r#H;Lw`3TsJK3!xMq1$w(7bG zekAq2A~ZgeR`D9*D;f{F0ngiPSRHly$t40fB5(&d0h>F1wSA|apeSlb(G1tGqHTpo zY~Ve8Q=}Y~OhkDnybRA%k>d=9`A~;Gacz zK>0crdN)*)>5g`$?n$0>z;ybJ`h$!Kg4W6ZqH) znAwI+ut}6;SV56M(ydv{UQUnvB+Y;qWvd?RO}frdw-n(m5HZ~@f%XUySj0M|Z?oML zOlQLhu2n|UxULKR_TeJrO_=K@FpWlD2r&5THvSjqw@=%*?Kj* z)9lIA>I*Ut)uKcNEOS}j=`1H-*<1x^{sSLxz35l)7l&obu73Td`t?cm>%JhB`CBYH zkK938BjeU8cMPO3^IMpLkKhA&r7Alc?_`+Lv5wpa9Fb&A`A}zgj?hC)lI9lx9K@ON zVZU0C5Z5A%u3$0>qHCoV;Ws;bFTQ`VQ=dfF)hwzGqiO6Wu$o;*RdN(e!D^cCA^fLlP3id9}V3U0;lq-*?)8XORLv! zcTOGP%M9?Mwp)9)t*QBLb1-Q2P8*va{`ukkPW7)J&i?YDvZ*!u;RorXB0&E{V9x$h z3?Lv`U@dis^v*|4=NkT%-LhzG5Z-EY!0=Rrha%% z7lFs(PW{lI&ZcFgf&bk^e7*bi*R^K?GrmF}?g<|%*gBOaG0V{GpFTzFNdMlWe>dsN z{Z~%mlyur4A=%w{RwFlnd-ykDdscRRf0VNq8TIK?>62G7F^o2fFsCZ~ogr;8X!3>F zF{IH7L|EgjG_2i4u!8ciss><6F0aDpH_NJz7cc+%-M8N}?U5z^w0b@9Gl+u@tD_{E zR$Z(es)`2}on>O+1_215i_1jdaEZkAvHJk`Pw!#!C;rr6c3-(ll>wGYjAM~w4~7#r zaffKL<;_X|yDK-@Apd;*_4}{h@8kCSXJ^mm&fEZ-&#El&ujv>Y&qU}F@Z9FOGM-v8 zIE|wOCs}0$@>t4&gxxy(8EE#KUD_jsZbHv(tjcTXfds|@!Z(9A__{(U<%ho*z?W@h#s`E({886urIEFW79~1eS12f$#j!0TDHF>{$cOhJw<;89nUR>Dig=O=*rO-om z|K=txFrL;ccfzFS_)k8`dEF77e)IU5{QVIp`y?klYj4+x6otnc-=scP=b|rcgO+VW zUbYQ+*)|@WZ60BKAer|)(!~SsE5g8MEL>9<{R}}P(GG=SQZ^=x6MRI{nUH?5A`@nR z8t&VyZ#wewJDYX?!)9gkL-^qX`VP%??rh>uHj7z-Q+q{Le0*d~oaB0xU(j(Aj(rll zDJ0a!?Oe~wJd`^$t{ItY$9>M+v76TaSr-UT)}p?E^q7LH^1uTPsjsvjol{Lin9a15 ztRA;vEt53AK+}_~!eJD8{Ch31k{+z1gr-=lYpK;{*mMIgCvkyc>@A2HdT zv~tJMnIpRKna$;I#7RkC2|g5UWgi~}(Y>3yMg=@{&*=Hc550H)kQiWNq3a85we!I9 zfYg{_752a(%Z7?L6Hixj_`B#3f9NN+^7g#J@-@`;*Z`JI?LEG)!B2W9^tl77*pDid zq@p>nJniYh?e7hmEUPStZDnS-=k4$F`t9$Q^pGUG<-32JcbkJZjl6Y%EHi=T1u-9M zDeaLvx4+AAJ4>yg4F9WwTG%)$k`T3AI#|l<#tw^7A&AhmnX6%$cL$x5Zl~WeqNjdW zjGNrrgcz+w@GC9{#n0UnKLr;-G`s}vD8mms0-6cd!-+By$TMMhwWa3PKj^i)X38sH z70*m+Y^AuoQIQDn+0CJkjN1!6Q~h!K^zCowhwc8L*M9XDrazDJ zQ3xHo5TvJ1O|$Gl?~R+;YMyoa;AQPbAJb3M8LSBxk!u|AJJW!sNe*F{MQO=l z4`7&e`sOdse`)m^&Ue%F&y%?ciw@318QlFQ(B8A&P6&y7O&10nx z$t+6D2E8WCQ{mN`q39j`n5SByf6Fi3Ha6JXMLgN)Iuz;g8sGV*ma=x@hphGhlu8er zb_Q?Sr>|M8W~YxPb3!k~e43$w6ic{ISZkCHZeys2#HjYw9cegsq)n;t4*6}E&SGRq zLJxHMHPFBG;}~1Q2zAq)nVv7laDXq!V}lb5_@2;WPo9v$+)(>CtR6A`RvOS^E$1;X z?eNMCd=K;Mke2}?t6Bpmq^`AAc~CP!lv$A!3DUIqQy=kT^#F@MJm<+4=s`D(9DC_C zmR3`I-x@LhA0Ox}Pc!mf!{Us|7AwmpeQ8VslxA+$FszSLxl`saUtrH;NLxV6iu3hb zn&w8D!h9PP9GOjEX5i~_F&OjeQTjAUVj3iZmgQwFcF*QIE#9+dn>Y~?x%s`*7y!RJ zLd^S~zw8v-Ys*186bfPnILNTZf+cb=XPTmYZ@_Nfgn{~^axIy)%)1e;AR%o> zBnGHXwRjbrc24sYFAuvtk^O=f{-LkPt8{uPrGUIOf#vol_O9|#cP7CPV0_mu?NufB zqGh+B1pydpf^zdd!uAf!mLYEwIj~Q;M+p1E+@Rf!_CO5?uU81G(A+IdT=Q)IxcZwQ zuw|NSPdita(;Dx^V-xaEM&JTs+rkY3=%G!El}UQeGOlz^kKf_^PNWIWvzfqj!mLsd zB{*Ni(4D0?{}&Fm!dWNKVfBIS)&C}i@I?uH_DZ1ITUHM&?6JHmU}diS!~?{oO}A?9 zK~(A*ccU~LCyPauiX6^lOK6`b4v7-rrl~&;jfq}NQYcCYlO^7cmPGo;@%dqM&^+&T zI)nR*m?>vY%1?%vY>X5*-@j7TZ zcZq3Cj6mw1o4LaMjgoz!U=qSNxPFxRBROYOpXLCPb}0M&NDdJh6dOc=P!P1u6gaxblEWaBpEyFkeLuR1nLGfQCXLbxcnLq5~IHb>q*;~iW{-AyE$m}i=EWwKW^zn~do#I)`zma%16h{QbqMt!8mE@* zg@)GTS+jRhzK7V>BuysDu#W|KlKw6yPbP8^i4uVAOMgB1rr};(_}R%nJ|Cgtg?t}* z>!5_V|L&pTztRSxLs@zcF(6XBjhHYOKNmI=<)f1OiD^=FOOXKXs~_0K05m-haUgsB z;L@rQ*)8yKnY1h4gC6_Php7}f-bv^a2u6ED=rMywQio`{=IOUIuvSetpN~uOsH>^x zJxGeKvH0VLdMnG=9s_>O*!D2;el%ZgVzdF{=XB4yiGvf7oaMhb1Xg9HlB8 zJU>T)!#*qzhZ4e(;P4MEa5ylMIOCs{J8>fO59zbY9Vg_x_N?Ln-h{%IN)X`y7eR0< z{|l-i1Uo>;)(C;~AyftuN6Eip1?_(PQ6H5LB0lr^xOf5|ml*lu_y@y$bwTOFESHTa z3~t4`$0^L7H~jP650M7!>f{MuV0>m+V{CyPz2mJW-B?n`AdW1F=mt>O9B6{yg zv*IKBBHYYmV}k7`$9|}0?ZD}~{Sb#qxSpqr3b`7g)!sxwp>?g2TbdQm^*n-7Wf%R4 zvjaYTDKGTU&G;1*2FbGtR*!&F5fE`e_4;=m0OORe8ej+5BD*kRXs*QCLJEZBRCPm- zKXrCJ4|)a^Ik$<}V4f1tRxFA z8<=W-qOY517LBdSp8BX}6wN|U$We(78<4hCZ`W z`ZXG$A|Ypfb44)F0)&8Cshefb#O=%Q&KQ!K5t}I(P9mQbcv2Ywhv6f!O)q)Csf8bK zQvwTT)^vwM7-!E7OPw+ZFA^PspOR8CaOBPc1`upz5gMDFg>bxH>QCd~7Q_juA>0ZP zKPzkmHpeh~o5JLPz;T)h1h>%)j3C4r6@uCD^7em0cNSiLh50K4@4zYg%^~?*r2e7> zK@RP+1Rh7@4o=D|tcL5IXZ{pMv#e3M6aU<=?$o~3qZ<+Mh7-D`x4}reczzlO?yb(j zl;FB`LJ4?IVGBk(B3{Zqm$&IznE8P&c@@&w;lHJhR%VGj#&dpP|4Lt`0faHAh=c$e zxZny5(^-PEf|Ixse2~GTQhSM|3X$t`B1oW$k9-P=z`i4LH2XpOC;524QITmgH;a@+ zriubmw67He_CZDLD(}sj{5X`u^NQVbXfJ|3YUNb&DQOrV)96$2-l9kM#Rm zy%->MBHKj(u@yurrdm(DL`Yc$ngsqn^AmKyb+bvzrrC^RQkW#49ewO{*zPqdTb`fb z$3>N$ZMDIh&Pl7`RJMj_V!WYKxx)#g`klAE1LFAD#wmZ|Yi~Ojyk@tHM{xc%)SqMh z5MO)$(x&r&?Jmj2=={g0>BQKJGxG5;n#K`JYyPHnd_q5;zUG&?NlZUFY`vl% zkv9~ApM>O9?~}SfmJI)|Qx9K^&Zky1v}+LG8eg9}iKZoe#IQFAmIAWnf}c{REL z`eZ!L$rBjFEH#fG`q>-ux6wqoO*1%s=S~CCsNq!ZC=br->X)^2qHPfqKk>S5lHKAu zg5*7|0HRha^PE_=2xnVtizHDfE$EW3!qGJi8F^!%+lo-6@d};9j|YfLX>^xaNfQYlou< zjgc>(V%-tG=OpI?zJb9Mb*`Z?Ezjyt+OK;}{K%^Ru0LpUOR0ikalF5vR(q&LwK=nWF?Sx zWZ5>d1hNNYyIMEG8dy8h;`UjT>O-u(k0d%5^)?rE<#>;C0CDUV)Jw|}A6`Ku`@fJA zwywX?7p>?#*sz*ob*;o}3EoJAf1CvzS|Y;3H>mTrRkB zXJ0)vZQ~ebIR)hLonkmzITuEdJKX4(=J8u`c_~-^M@;HrVd@-rE_@VyQ6ZaWu|bWgR(RznQHYOhN(u((UL8BXmp0+tC6c(q#vQ3)iMDH4CxlNn~f|`AT)yRzp>uM1y zx^WCcoH_E!P2_^T6=m!qy2nJ91+ZmdeWcx0 zw;CNTX0@2~z?PF}1CjJ|j%=LFLJzKPo>0!TT3hV89lEB?ITCpxGO=kD3RAPVXIv5+EiOF$(g1w%xxU;i#d8NDiC#>40QG=cuyO z?)cVi>W7p~X_j<+!8vtrtrI{0XVnhrr44yN;vJl4zI?;Fm` z+V1zY9kt;s?6VXdGSu|D#+LJ4ZLhWi(0^I!6m6BZ%=zSH1jw03!yLPktMGTQLsacr zVC@zc4df5{QBs!C?P4@-8C4E%gjYx_WRJq3d=$lg74N+gJ|4! z4}|TocDJ!&1C_f1CVl_Y*&N_<5UAn7+g`7AI$+f;&^K0dh?HQiXVbWj72*$t1`{p! zATSA27hBrAwsYqR&3_|!Sdamv;i;aE4QJX5Hw_him zd|NbK-dtxAW0<=(7N>?U&6_^5w+v2%r@+q0ZG{50YEqiIW;G~HO|ypZS}5|Y>C`Cj zgs;Cbs9YRp)D91$;U&J2_}12@;Z$B0tL%pIEh!mh$dQ9|4c{ou25OPu6KAF{wW1S* z!CGmk)=FWu3~dXGeYh=LXdE*}LZuX<O$aHBf4vk96gbgELu3iGXMDUuy2()K?G@Y%>AAKw*Mb*w^!c_1CXmK%#{PQc( zgyY{`PY^ZQNBzcTW0QvBCEyY=w-revglBgNZ*e3L@2f-&zJCwC%G)*mANa6QdxjQ+ z1uBs*gb(t2K?%?$L=)ShmAiOPqc1uiuc2ritLR_l+X+M9=~LqNY-Gs{qQ5Q@=w2>X zLZlPE7qtnQ7ljb~Ee~_j9ZD?aA>rX5UA~kDFP>myr49BH^EevkZg2b*`QkVlOD<_p ztYPyw1gkeXkE^g=MZHa7(hR-VNi>U(l4yFw9>V1_o<>)&AC0nOKfG*)-hq^GL~;%X z5iW*}L%_}lo%4e?t%IM5tl=~t!e@m(WITj)Hbu%Lf27BroDz=>BAiJ;k2|l=kJ`tr z^V8-@t06cv5t_WMNP7i9?&@Tqbbojdjq8;=X($taExIYNF5yC}*NmhXWLbcpz`w-l zA;llCUP1>wT-FhwcU!%acApr93qipfI0R3B1V3(N5Q3^}>#!}~;LtZ~ZZ-ke6PQ36 z?}r0mST;YhrcWrseIC<>134s45q;P!Zcbicm<{W~5DV7!t8$CRwnh1C=}e`$NQ(%Bl-3 zOg>!RYI^DU38==(_sV|s@uP9BOK%|ei?p%DtgJ8Ag~|+n1pdlRq1Or9VVb!?K+a_< z73FYxd)M-8_vyDiA#b6)o9%0RnaVg?gun3QJp`4U{q={8kFZ~;kNg$nN#U9NQ9u8q zV8d4Exj29xuoovY-veXc1AqJ5-&jKJA=t!exi?v`d444-EdG_DJs#oufB`&U_X zm4e#hwQq^RmDmuB3$edz0BkACh{!&Oxu$9JEhggI?<&Z`-}rAvkRJS_gwpuiXHU zKySb5Ka^ExJ7|*<7jm?2VrPKgL-XX2Y^)-Fvc?Cf*M}B$xGv zA4(JahaZw_frlSTPzlQqW^|3<(-90aocS9}-5B^Oz}e`@duj60%8gsNiNO@ZeNB%U zvFzb*$wBs+({P@#7ZI#hCq3JI{Fr})E8oh8P>dvTUXu7boCCt8o-_1Idqlpl*ow9X zAj0Di%UM*Ol;~4mbe*CcXXNt(fEWvlF_J&sFHuJ7SAraWYF&O@`1z@X~mZa?A$A$p}a{PM)56vVh_VC zC4r{&wQ3dt52l$P<`LPb@xjzH5(sxP78J*?c#RQvkq3i$1cNe`;;SXh-ft!lFR1J2mnOOXdrA-<)Qg zos~5yHu!MiWc!AOzFy;oX5F}^S2QlgNRg!^qQcrh{MSP~e%7#F0hz47KM1l6=aTb8>v z(d9)0D**-Nz?ur9>(?_x@{3rFQblDqw)$vsqrfxEaKUv@&T@UqEOJRNIk8V!olB8r zYM1`m3D>G}E$p^_-MczxDspC3-V}(`*LZ)n7?|CcRcZnLr;qoA?xH` zq){--tmkLM-?sBJ86AIXUfeqoI$9F&q5jOg7y>Mmh2APInswo| zC*idL1|-5!Tq(kCZZ_$`GzzX3T;SR`&Li(rZ7fyh3T4Hc&cb)2QQ*;+vkq{iKiFNo z1dGkW_VyF~kQcVJWf7Z`hL%_T0*kZ7zys3=9mNz)wjQZRT5k&)}c2lwQnFQQrA!kC_w^ zm6GsS5f#(%5JX2La+}ZdY-#7L9l!s=z}$Pkh~bh<#Q6pqjZ-5^#-)85_4=mn*#cttBi#VgiJL&L7DgVd`Q%>8kI7uMAVV`H`GJWB zH@%lZo{>lL?=f5~i^kx|0y3&7Th_#kvUH?l7zz+5dPIC_M%-8^u_CJx5p_#^y6q?m zY!T@4{h)9wMSmyB=*u1_*<8EkIpi-`gf|y_6y1%H!t9OP!dX8(oKZyHGifejwHFo7 zE)N^Rj%eG}-m#x%>Kj(R+uC+o<@2c<8+=rY5`|!@VBBihrR)HQA>_~uW5O;#F)fo@ zjWsT?L@hfEjX`1oNZnrNpw;iUPhaP8-Jo*>y1h=f)f>D6N9|)V5((ES_es7@0S)Ue zq=!7=vO%Pzbe{hp8i9(OM1M*0;@&m3s+7+3SEGF`m|J!OdnE)&g%3yg)rtVM>FfxY zu9BZV6+WYtB#3MxzRs)ki-_rxY!| z!~jz_E?#HA${Vmqjmp%G^+Xbie44q0M{|hQei=^eT@yGhS5^x(G zog2us<kC<^ zl@}&GIGiP^e+9{183m&_VkJq`CT)Oq&)I_#*<$}-?^z5hr1{_Y3yb_@!PkJKC97`& z^gp#)OUBr)AuXb0e0Y9BY>#~6KLDHcApzunAly9(Fi>9Q->>8|+?0$^gpk5qe{WQ_BW!hLj0U zO%M3R1NJ}W*DK1UkNk>3ywlQIW(9AxObaax{E3wxl#bL-EcZ5~dKCBral%`=2I zY!J=E$%t#7`M4YvxxrFTMaL5H3g(NKm*lL#H(_#&f$Y;@n^q4YgUg>y`0b~3S06`y zn9=%Z{Mr_cq+rFr(@cksnxNZqg6oh zfZal_gyeEjElZ-7Q%~Y-af@4wscJZB(9HL^icl!wOU7GZ1A2-CDSEe0;})$>lJ)4` zFRJlTRAbS3er4&`VnOwi3-^-#&q&0q(G^R}RhI<8p3pGS2No|aWWuT3eWMn7Sc~Yf z>q3+G<;Qlj2x_^W{yW6bum>|rthx`=bNqVt;y^{LF2-i>sug<+&Km0#X|TFj1Kru8 ziMKk{WrW?xScPg+8SU9(Eowd|34CXCKzNESu|M&!zgXZ2Rc$W;XjJKYJHhVrLO>hd z6m755a}9WzWAY_@Y*Fp0ZYi$;A=@*YPlS>ZhtHYv6~4%!d}-X~bjHjppq`NL_U^~D z%H7pLr~3|6?il>JdRJv2b}?6);GZ-H2XES^uf>5@V6a7~3(x++LFaVPIvo_x#Ktyj z9mvECes~pKLd2Cvvk;H66gO~VNHcl3F{Fn2uEHw%xu^Ww3Inx^`KIuCsB(vJIl>nS z^IERi7T*tud%ho51M0&nOSjsmS=Xn7V_V6 z$b&jinaBsF&+-8foFw_}1eF0+GKH5(5zD6-OQsk$MoFX$JH`^aqVN*A=<@gvdgdy) zy;kmZ)^uB)dz#7wxylnQ8Bfc8IR6Sh>il&MRW>vSfD&k0{zBU+3=ZHZa8)UyKvmnr zqF}Ne40}+)iO+aB^@vdbbnywEg@;kCjK1l*oe<;f;!jU_2a~2_Um}yjlD_oHO{AoC3WzB1_z;cC*54|3BG9>z7gUW%6MLQ?!*HBU z*txNCw;_HzSG$JrIv-TgZ@9{Z3V05x;|$ToD9?&68}!;I;H23fw0b|c-pNZQjm)tX zN8I1pf3Y{0JuJf**y*BuMbgZj=Piu(O(*fkekd*?;!D&Q@j?vt7sJ)#XOd9?qPhu= zOMc|b1b!^rn@vK(9kJ^adIro*D05pNcNCenb;+Ngx{@615@4@KWiwo_fBX;Pz2@K_K$}xoa zLX1ZcgWE+6A0=*=;>a{1m&*i#batU-7UuL<^6D2Dq!!2W(uac5#)g~*q~MHKjI}9S z2EYoCE}>J|V!vA!f>X<2%gc#lcs$;P`HWJOVngK}nLq5rT(qDH+*MXm1M!$kXd|G0 zFk<7aJ1%%p{BLoHFOUOj0L_Xcxj$Th#TA|4yr?iH)k?voV^kNrOw4O21e30Kvfcps zn}VDM@h6PM&kKrp5HL_axs*nT6_{vK>NCMrbR~Xg0p81H8t{nCER_JHzo>8go zV2Sx?4}J=qZECzs7O@vEbcU9GKD^CbVgp|BB=A#dBrq#5WSk<>fS0o{-O` zn7{bQ%qVC^-=D`p2FhOhk(@9GQ5X{OCMjV|icm=3q#3|0#f%|%JRC=)7tNJ|Kfy_1 zl%|P$ap7mv-=)^%!;{}l9asqtse|WcE;>OOM}VF$x5l5;hRW=XlTb<2aL7y+btVfX zdEUqulPJyFaRa9_LPw<8Mc@zLpbxvM0}nNoAm|7EwHD114;?)i2ksDppBTCKpZ|ns z?p^FZ|A{Rc`W4Y~AE~3C?#SHc`(W!Jn#NHI0e^ogpAp#1oS!PZlX5J@A$NK1D_uiZ z?nF+QTap3sWpMJD=!y~Wd`Wm+5;A!z6mkL{4w3vxXQCd0fF4vvaORRx0%1n)Pl>N6 zo+VJ`jPXfvW&&RZVa&dtoFh~<^VxF;k6{FcD;km?&XS@K$@D7e2??r4wldRspdirq zF6Hw}QK>GOpO7Y_TQ(^nO_pa*^LGjVz^Mq)?ADoua11lyBq5}{%b5WEO%AfW*Hwua zPCeD2HHjz7oTphy)|`2EDzA`T5Q(inbh9YwCeg?bShnkeRVbW;j$DcMyTiF%* zZ_kS+T3>QbG;uAB-9NiLXj*Uvr}hJ+K=U6X1KI|4%%ps?b3-q$%qQ%2f)@v|{Lk=~ zaQ!kC^=dZrs)jSqN4%`*Txiu0zEd2A|Lx}UdhD~(w%L0I(QJ}wZbyP!kujDtw$+X* zXH2OBI>5;#i_?DXMqhI70bYu=<@s99W>}v~BW|ELae8XnQU>!u`z8?g)z&U~0B=SJz?&$65 z!D;iP^?v6}_sknA)Of9T1W&rR$2E75#n|NZ*^tIZ0k}Hfc%#Qj~wa#XnW(R z>r>^Kqj0EGV*_mUcFM21K>Z~ax_p+!_u>#@C>=R@;d-C}RF72Jr8ih$amjm}L677# zG^Nd@L0T$1mI};Tr92~HRbz2ROed!RdYN#q#c(AGi>Y}6=!S3O4zDLxn1VuWTq3%P zh}aS~zcz>i9Mfk?DhLg=Qpq6HUiY^C4~|>SQ}DKnR0BYwyF$Q~hSll@e>pc7j$L*t zTj*c#m#^P_J^kAI`pwrTf`$;)sNyssU(tW6xSpKogCYcKPva=b+%N;qGyDTOfrpFK zA#_Imct$3l0yly5h0iReMtUyXqDCQbR1^g}da)5u{y1aUY^++RthN6rwz=S_{^pC_ z{>5%DvfIDd>|bp5JO!py??AY%Dx`w`6ntN}u&w|4NX>GSmIj8vGY-c1gJVb&D(zC#^xV;Z%-}o3GC)6AMJQ6c#twRU|%r(Nitmg3l{>4PySK)_QqZ5|al{p~d1>f8GM!d6*+jl5Lon6mk@R_Tb?l=zA9@xUr8TUg_NU9UQqc)BP&RI1n6 z!@J*ueS_;j2u(xuH9hDoextu|${Q~f^|IQYXQ&gy@0;B&QKGe4y#~W8(}5uhJh6-H{({+1)V)G2 z?lLZRo45b*vG~7scX{f``;dafLWI^jH?3yTW1)-Tm@S7z5Y-!u+;nEL>s0PES*7J3 zRM8|K3o|Ak2)L3DR9Tfj)%Wf(%noL07EP&jZV2})^b$ql{kQbTk?RX*3vtnno+8QC zeGN0DK(c5U1^II=`a(WR80NoCg9G+imo+yiMBlV239Pe}yPo0o3*9U#$L&|YogDAs zU}sRR-rzX?&3e5LlPj3ufBYe=b4=fFR{YJg`cDkdCa}Dk5eqbckM8v)s2({D2W;NO zi63U5vNzu(6&|V{*mO3xC)%u+Gyh^Di#s$B$pY z4@VKW6>ohEr!|Q(A{h-A`4W}O#4Cs$mM6Uau2g}iEXdODOC@l|H>Mc!!gr?SL?Jh* zG z6HtxFOS8NVRponefHiTxYFKLgU&d4~5(Bg4Z7LF{G<+1fu-Mi2kPz)ev_>(pk;ot| zR%(_J8e8Xe$W8(5g7sKhn5@I7GG!idP12>B?V5CzId~OGm-(1skS?|1qez$K)N&8$ z($2SQlr9^I4ANz#W*OaYZRJIT`eY3lV>?W-B~HcXPk?f96CU|$ zaLEjXSPcAnt#WtRI%>W>9-KGv8=UiQr#G0h_XGCUy#Z@^c7|Wb+A`-VG++6qaLG_2 zLA;e+*s0vLejD_f=LenBqxNeop;VWe6qd4JLKa#rPVy5@^}f?Ar9E=9$#AZqYU3bh zeA}_Ycp=RK=LWa2QD@}xP!zV-mG9FujWN{jhlJLeDlr(LLi3jeck162sKf8A!>CSs zVX(hiJE^`%(TdsKnJ?;RKBw>Q&J9818~mOXt%hjQtGemVxFR$9u&;aIcAr}_9`ioZ5=uQUtQAfV|?y4aS4t#bF*vggWWmC=58Q>66Ksl zx%G)Q26!`sF^#Exo(na2uHVHy*X|G8&|64gv!}uyTV0;4X2^vB#q?d^W?GN2F}o@1 z!A+-LA8+POa@B_$Dk?^8t&$7(F^j3%Ri$gg`LJo@^34zC&N=<1-YTQe?w=;s+vf8$ z_mmZ0$@p;ctPC9nJaTv-oc;aIH#>N0-|u|COVT*-6BYWH3X9Q#vc+^g+_B3mK5yB~ zEW6=kGP5+hso2cYOsO*FlHJBCFqanESQcAJH?qvZa|f5)GRa{r=f zOq%Aa$IvtuUu#)8VJqTD1~6+k0(%!Hx_RYQ!$x9 zP4_8V2sC#QFn`orG~`y02W4dJZir)+9|sI1O&rPIK@L<}Q0QYMe} zUtdNCH_`Vj1q=B5%nc9{7m;{9`+OLMsqevLokP>(Hn8*Z1Ebhd>S&!F_FBz;=d}B#*X*}+(7o1i z^S9O^`t0CMvu7Bbw)n@}R_~qK#IP{#u*AX`6jtF^MCUm$i@!<26d^Q->Ahs|b6DyxQuvvw$3K7!nl99cvq&_)ATExR zMa&mPs73pA?h`9{XjP9?s;4P zSSJ!Ib8)3Q6JYXD6)9W=FDef z^%!^ZN5}eBO}=QwSI=B49bHC#=z-n=W%*QfV7504 zRR^#6rWr$?M^~G1Dk)LqrohFfALel(?WoNJ+5jhRa!GFhQxfulIK?$w)h@+A>giLD z6<@FcX(U-zZ(u&rMt!IVb*mxam%F$A6I*lZAkXJ#QL!IW1hE-g<6{LyPNWe10^P7@ zyC7p{Me#sXdXsC^5{Qp8JK`mbiU%<$3dy`U;}Hehb(I%3tFH2m*mzjX$n7e{J&cYX zpWxI{;`E@Nw`JmL0%;5~G-`sS&f-O;@zRE|5d9K*U@BU_*~HECyrrv&@~5|dAJzOd zhMn49U0NI>;7@HSj(qj~c1e40oY@(E;9f$|8-Tp51n|QwV%(1H6LhNk!piqz<)tI2 z|JjGbc`R=?$h??H8am+ zGswCa<8v||aT(R4C>aFlqZ@}Ss(mjqI7HJl=&q{}p#bY4O5Fe{qEW${>h{5Lzd(_b zg8l6&(#Kz4@oM>_ZIq`>AG-m+&@3)oSwE02A$q{>$i4) z&~H@kNImws)_hUyi}^ut3NtXo1w26(O^0qqu?NR~n!ym7GwP))OAcNCX~_CMxYTLbvf#HkDTv)KNa1$e?hjh0 zt)4lTo3<_`!n9fSG1v1JFf?xHdfotkO=z2Q`{Qu2PFc#hNSW$ddjM2o~M_797_rgL?aWxf>(D&`CqWrDl=8#DJe^PgY!Y>us|s3Ckn*Qey@4Ekg7Z%cnu2$EP|x)r`1F#Kk|%ldM=DuU;3iOt zrnO~7SqDW8xHS(7m-)d~Sv#kGnmY>fBGH5Xqc4A}fn%L?(WJ?!q+Ec9@(-&4Y3@5_m2r)c3mb5Sq{fwa<6n(oUn4~M zZ5q^wwNjIHp4o6J2Pu!+m*83Lsd7-&E(EvlK|SO-L+O=$mRdBBh9vvo^`HIQMwe$i0N897GIdrgRJ) z;0V9=Fa0=2jqBes)t6Y~y$({x?bFxbr2V?r9JD*9pmPL%J2?hN z?c-M8S#E~H8nBJS0gmviR#r>cW*5&}FrikP_v|8{dJ-W`>4#&wqf&Qmg=2fKsU!73 zr%r!0PQ6>UhL~VWE?u!NPGAf}51h7sJwI#?n&*e@9*EFk!yj=hfS=+t`I&zO@r4=( zpls=tEeh|@H(0si7|h5a-|As*Tg0X42N1u6!zWsKFv(1Ew#n&$IHwE!_}I#MFFNPZ z^tcha7 z+ip!qmniVM^lNJ|;}Bk}ZL~{_+k)yy`5X<&LO6S?nD9tSb@=iX1aGCp-G%{Hy0yAB z7Tt|TSfCiKQA75-rR;7Y3n7`ExZxOLW-$XL1N))OM^+wE8HhIN!8q`Tt|fNhzPuyw z#S3NS*S=m4xK_H{{oTECJ2AdS{G-U6gh7tKdMpp&wf#$MF5ADxyL1Cr4pk8%4$TJI zk=3tA!ZrR4|5`>fFNI^^3=&qc`KtB0eR_A)Z*-3O4d;X7%9fwL`EBT zR}of|PHG#ssEKn}{DM^)VNt*?;R9){#h;4=x|iBF#*{`mG?}aTDm)bI1no~v=aqC(b zOi=BeIJ5f|z{49v0%a&A2qVwM^BlPq5(S!_^UzldOsKy%e`%g~x`TG-w7-N6C0GEg z3erwxqDtd@W)YfeHz8gf!V-Q8;50_Rgkb8%xMns6 zf5wip~Ekx4ZJs-U5wru;GvYk7XyJojb)~Z&kn_}crIvj7nZ*nAN#0x=~|#GMS7!da4wgj3rRTy!eoi`YXP`2o17Ec-4wXxaG~ z!7AiGTVd~*x-n9g_`ljVfoxmb_P`CjsToVc;(*;#n_ z1a?gPFQ9otf+%THthH_x`vDZj!(uV$)>mX3v$sfnS5UlZ+jw z%09To|G^2Sr!dSw78|AljB2BzA?vg0>|*CpCx`c#>L1GFk{W51jd0o zgade!HJpv7>Q2JHJm*V&K8d1Bgpn`?Q9(lUl3^(L;7^7IByk3l)S(-K3kcj<7ERsE zAG$$s3p|*?Wa@{|qoz(o_LAW&Nsx+|L}?bfQwX92bxvUhW;nnRHR``<_F9MMr=7#r zdHWE+@XAl35UZ9e>e{SOC*4lJ#Y{a?EL(5(rgeN$Xb!p_o!$o4 z>v*5Pc2h8hAw-*$M_!707qvX~*z<&Y)v(&d&x|H+6)&}rp^Sv!VMUPE7LiHY)yiT< zpERLSRK%W3Xs-oLx|-^e<^y+=XygZoM+?^T5;8Al%$gtiDG9?aDiHM*RhL&q5oXdz zS3=^OMezja=Zf4AU}dN^u-^4x%fj3d7w+(K7UOfA`SF;130y?(5j!|7pyMzG z)p(TmK)-P`h*~3t?UCyTM0pRR_?F*vj`)?4)KA{?rl2YgVSq^pq(ChZ{@5p%df1JJ0;5! z0kdJ9G^+=sUF}9>Dhepc{Ka7M-K_`~9F5>G^RM9B6ee2y9{cij63v9Gj7QiIWxSlq z-QSP!#h-czlQA^56W$Q(h#a%8p>?agNd z#HamelpXuwWi#{+FjrC+U@miPsej9#16A%M1n2Tc7z^zU|Ej}L=3Q=7u!doCX1~{r zW#wFYs+wfa?*&+yj3Vy((_NFE%5PkI_|UYpwn`KLc1@GF6n>SS2Fg3*7sc~uR6P08 zGj4e>Nwf@Q;#gf+2plYFR>PK$g&+5jn7o{rc8fqnlXMk`x=28+o%MhRF~Nj{J|4o4 zLh9N)j>h@$u{%p)>jn;Igrs`g99L{h3Zwi2lhlvG0$}D2Im9$`lZ?NIv;&gc3H_O= z|Bkvn3qYt%9hp9`2Y;XW3G@zqA>)#nK2lo&o7-vNhnH-nd{_WSZ!6#v#kZw^C=CTS zd~^j%K~Ngz5VFLdp15fSlb_+Oy}#5<7@u%Ymmk}(WEG%cY_Gwio8dw@w4K&pxGz}< zLujkPVR~dC5Uz=M%USHX8O%Ac7>ud4z$XE8!?$rK@aVN%368OKF+p9hXi7toe+4Ih z5%&ts^4?|#oE?n0y|CYgUI`5&w$c1a;Nue@ ze7TRi#7X4MhS|Ot?TEjK_>$~{`jwm1qd2Sodz3_D(e!&_knVko%hZk8uN&Yr${^SW zmA@aI_d1pN1z$fe84Ztbs?E+lQcc$odc* z?Wr4sbP~-14*~E)cC`g>+-V%ZeG`a=0du}QWb>qEd4ry!$%i?I@bfim0J9OXd4)8Vj}qTEOANzk;69EQrRbrCq+_4XKrESvLeDTSS>o+T2i?Jf5Dp zr8G?mKXZGIDcaevPWYTy^Rr@0#TU~ste*I_Y0bp%rIku&aU3O?)PR15+h}`$vNTIj zj$di(>kQN)<2j?`+bPUkmC4d4qDJlGM@+SJLbWN__^N*4hxH3LCB#gJi63VvaX6cG zX5Ecr)X8~5dSH+^MeWu$F_Ot$Yf7uTZh#Z_1`PZujAo?ZFMciYOT9~{2InYEDNOP%il zgfVzQ#+`+kAAtA3`PXok1fZINY6S8O;ni#4e0?{`viN)$d2sFk^!t9jzPtBbZKt+V z+ui?u=li`n$*NO#W50g2TPGgt`UJW`Hu)DhZ|?2vIN*%LUW5>Du6X$1 zcvq`cf;MZlyTgbn9o|8Ot^lq8Qpt%5&V&mZxda@>AomjE0c-iUH+}|o%|};hx%kL` z0lPxv8>aQ{4xM%gp9o8^M?NN3#p1j%4$uSX3^D#_76iAoTFnnZJM=Sf5QUlR^8`Vp zdq0aviVU$tA@xh*?u!geG7f4=;D z{yzerR3~mdgVQ*0Gue+@4Pl0?$2bc7A@PSUHO9`)&dzt=evALz+1XM5-Tmg9@BU}^ z#mg5jUwpf}v$yj^#`4g`XJ`tN+=#_gL!W{vbbhcU6$!Fkxm5NQ({T z^CxcXQ-|0-pkMmoxOVw{TJxj&)$Wr^KlJv&Dfz04`#oVM6Ed?xcMA8B!NIsoIt*7Q zZVl~0A&&p5fcd`NiO?m10d!M> zex=qUf7MP2a=66=CVu9Q)h0COE3%uwlQf3I{U?al{s`3K$m_#^oCFH91jjdk9~=#Ik=6<(T5@C zhvNjMDQQy$ZSp5=z&o?nP-@&Vv^Bz|e~^i?Z^}$^k4{npFCqd3;P4)>tJNz1vpS!D zYB7DVpK|(tlvd-b;qscF{4CJ_FL!pnRrLSPci(*XMgKp>50xSKyYVy_BfXzyFdV{K zb{j+Bgrn3!^0Be8A=#&In)tLYZ5DiM=rSF$CHqa>LpO6zaEiw{y&O%T>vh85 zb{~+OBWTw#i_8IGqDxSp0d_GE^ zGuRh3|A$lavT|6vq8G&XQy)UU{Cu*Xa_9fZgVor(SkVEn$p5>y_d+@U@9w64a4$8WK*eA*VYZ@#l&1W#934jST?7VBl&>VO_* zpYWjYEO9e9rbm5pKI=t6;D_V4xWU70d#i3-3-&1njbbV=I{FDDq*p1--503DnJ4w9hvRmLX$s|dh?K}&k<#!)m5 zV4t`gYU5!{7pXbKbxv7TJ>z7?!+4lLq#}GbNLQQCcoVHYNTv|OS5>Xe(?oZt@?9PIqk9CN^2kJLWiB)sUXAuwsnT9h= z;wa4EO_uA$WEM8lw`qZIdge>wKT7et({j!I(9d|3X1Y*ZhO;z_rfsRyD>(K;X1T;> zv&G)8mYXpzjl?ObClx)oY|z5U4btW&{xTyDWVioMI*Htv*6Z!;GjKn23 zcb+dq%wiUjZy2OiYoqV^Rf5Ey?7G9k3AkM?<_(pNf9i%_&WBa7nNBvvKdVFW&mZ~k z08B4EKLOPk6tKh+1oX(`4y*=#5DX3OrPpm{nXhZSZO(1GJK}W7%>llZNyRzi>#Z)n z;wjw3bRT|lL(hJyyLSETC`!7CKXsE^%2EYd47IP0 zqNEy=9-kdsEu*^hHx_hOIKv>$t_1OY?QN}AbHp-o_b2U=-7-n5paVb zx(2wVX)eQP3c)Ov=0TnY6&?Ev(NRf~#~ZVs>j_R|h0~aiVFs$zH1<81fNCF92jB&J z;Z}RSu#sA=!vk0 zG2Z#e)3j_@7fG(vNurpenL4Rap)Ue-UhFhOi!N$nlVCHcg69ni439X0v75ju=~&HUzGxuOeGHKmZPOp6ZDKfyu0v4mS=o)8#cf*` z`PSCAm|PO~a-^(Y2FcH`^C{SRwOOj(=Q7f;Ea40`wZOsD7&>$__rgt~W@<+XZyHBw zHcnvrdr-!j_Ab`SzsnfGNVIi`SPpzY(zo}bIjumu;m4wJ|$Y(W2A~M ze^4tS(0A!}dufdvx#+CKEg+uppekFTg_e+hT1j9Wr9KXqCNj?)v$cbXn`E_S9Mg-| z0w7nkg=kf+;CFi1*<(O(zT)YIV z@2bnd``NTCt&5(t+Jr8J@IT~yfsh3FKor%FJ(bzs6F|JH(w>a$c_9}9&!3ChZH z@A$#RI0;sk;v`ro#HQ)tVkO;P`=m*8@(I)1*UH9N`oC$mPMfceTbf|*(`5TN<_Omc zusGflx0P2*VRfKW;jVCt8F1U6k{fB?EAdQx@WKN`Zl%%9sOadL@7KmtYyR~*hEX^4 zf+5wWYZ{*K#KlANW=lC8%DjCNcW>v(dhTZ*=yp~JSxNJDr?cq=OrC=Z4qhP#q^)}n z9b%ZBQHy?uKTSXSVYY1&Z&}lmo8r4W1D4hUu|vhKvZf2!3bMs;L7OZ}pbZztuE#A? zQ<4N~bGR@5JP$R;P766u;}4cje^6reRu`vml=4LoPyH*>v&?WR&E&hC0$CKo@rn#X zF>3F|?spU*pI<~#mS%|?i!p<85fDMkDQ!&ayll|P3c-17x->Q~t^PZW!sRAA9>z5> zBo9F_&e+t@GE?CUAWk;$hcM*!NMRHD@6WQeVq!?za=A%M4!mHNW-wtxI0I<(OjM~!oW%=p~)g!c*#($6{55j2WSE8`jJD(7P@s+d-#h3Z7sK> z1^h5eVbTp|V?Wg58G+;<^TRQSal=$|gB>R{FD7YFe^!4c{+%wku`Ud3g*cGlfY88% zTyGYJ2sy&0KIz;J!W$o7NsY2iw6tc|N+ zpq>G^Lc%Y8#4motFMdQ7-7kK`FMh;7rXMkm64`;s&DU;}*k8K&p%h8Da(^LjmI`Xo zGtqy$S8gZH(%QeLH)icv4iz0(Y`~0#4&*|G=cE-af z9QorDH$GMNalUE{wJK?9n@&E3!X4^Qa@DYastp0ZgiXIEt1d zJL*xF0od8!(5?itW4rSg;q*}ILPY9NQ;wHbk`x9iYiF@i@3Sn^N}%icAxzV55?vTo zu-roQJWR4Iehn25Z(PKm%4o4-rvrMvUiuWxYm*+rz`b3R&_Th%&{c*Vmr4_%&dro1 zg8ay(@5%zy3g!tAN3I{t5;&M7Fr7q!R~Dw)PZfClploTVYQNQ81A%`93z_r(v-hUm zZQMx1=<}Js0-^m*B!z5=)Z%60yjPZFM~N-z5#?lZGdU*M4U&kOjh;rgB*yXm?f0Ot zH@mq=va^hM&SWeSC~Sp7?d3JN8*chz{XwYdPvV|1v$V21Bc>1UUhvWfc~5BR16>I# z#TSpkV(X?GirHvHvMPhJ+bzeV+D_s(zqOT*Yw{Y^3DZmI6y)H}skjOo^gE<#!y!S< z_f6DnH{EXn`AxN*UG0suq(7Fcnj5K`V`{l}oQ*sc>X+?To{d_-EW7OUO_;Jf%$-6V zA6IIMDj(iTAye(_`AT6z+S*mgFW?-hY2YrFkXCp|w>>`OjIo67riQy@h< zW+N5lQE}#ab?9>(zV56CZOb#RhElbNDrU3l=jE}ibh@i!+k9zmNMkY}xI!SUQ0$t< zHU2lvsg!Lv=!r)}!?<{!b-(}dVU5MtI~lUStrSqg^@Y%{HFB) z=SW%(tOXL*@|oqTTi)JDuSX*i;%r4fz1dz%xauu-ViN!HYfp-g`>nUl72@#n%ZCB+ za44AM>GD%7_drO0bBn2IbxMsMSUPsGXg|s6z8Xa-ggG1L&8j(Qj4E~We5*1tBw0qH z!y==}s27e&RKzqH9gh-bzCOAkVF8|kPS-ZNCUi8;pQFy!R!O*t^jH@po0L5aa+b1~ zji%p|dJo6y<=T$3z6X&1w&x}Dbw3q}ecjJ(vgO*(61isG&wP#lqO|zlz_-r4>(A!i zaB+;Y=(f0+k^dC*mZ`xj%M~fA zW|++3+}3Wi$Z8~2>n;i`Y1fgD=SvIrUlWy_wWOke@8)Ouy#?6nlxU^Fmag4phbs@U ziU@IUCb0Piuv;J5qIoEO$n4>r4)Sh;-Rtq{ZM@Cdei|#=GB&oAj(M)7Z1KU(>wafj z+3gN(*5tVO%oYdt8au7KuPYZ;s)N74e0M*CR|3DC7uP%=E;32;=^>RR?d>49^4Xg2 zu{De6Wt1uRxf5kxs3ok^dEL+PRYSj(uR+D!-LYl62~O`D{bvB**(d11tL;ucZRIMh z(9AtzDB8LT34ZL>tzO2du9gBzQ>8{7S_wp?HQkKFm$GPrXQ zqaruv;+J6gJjQOS-6d%1GOq3S=-9sE?%!>=yPH1h^z--go>W6$=}B}Pj8<_*s@C`+jg<@EeFF6^*#bjL&$C=`dIm|>$bZ0)yDA{(MXo7ojVh(nipI+v;_Nb(k4tc? za-*M@8qanSBcWduq*9%3R8gxNtyr(yqG!crS|&ZnGI2L`2zvJjoTX}BEr53?997h8kLbMd%gdd%_im_HK-obS+}oIm_r-7~Yfr@OFdyDF&nA6=jH;qz%fJ`Yq= z|5x#`w=DrYxBhQutMg>9TdM!Nz0=)&sQ>#pKA)og@2uGKXDyZC#@)~ zcX!#M!lm~2S68_5m~Cm{&Y!y^uv4Pn-+EL!$*!X!oihcd|zWs>LWGG{R0p-l2andFBu z$$z;r$@f|y>(5_v`Jqhme;tl}f@;fu5-f6#J%du0?U?br4W%XjyU*OEEB9Nb(}8x+ zL~8MXcO1;klT$fZeckVx=&XlCTz^m^t~;mV`jaK&s?5o-eA1{tNlGs3x%^3F{zVOE zv*nuSp<2lQd%qF4sduYOnUfS}PNw#K*gl&|Dv;afr}e&dJwjD7yHtg{l&@YjDox=I zW0gUb#vV^tg!Zv>C23=N|rAGw=c=GPBU=FW8Z zx>ep0PKgxv)SL~o`3NAdA^OKZpCj||JRm&8{nmp#i_ynqPfY^eDl{~#zwAR#wJc7mv%L`?N;%h@jSFMU zAo)kZiGH(|liLUdqs=jiCpH>9h}mczb-(#Xr-uFe@KE!tCJW?4&9lXQA8MXG)I9t9 z)I9UkN&Zzzp3RqL>+_CO2%Pr0u9P+H&-XD*`8}UAWVz`*4R0Re`9qs#E2#<|jJ^-m zmmaDwErY=i)t4TsFa33^FFn*j`rFk(TG9Rc7M|bBle^j(E7ZCmOPn3^I;t4)h7e|wkbumyGZO|}d zliC4uRx?tw(sSmj4$x)|m`xYVkp6QSHnX+>-J+%P89gI7``F2BES}|J>DaRb%`5I& zo~}wuSUpLnxa)?Pr&DNl;pFBdm|*GjG&#B=*>uLiUH5*R<7`Asu^NbM8=~g_;hX=5 zHy1O5Ru%~)po$TM5PnEAh}E5nK{7HTH?L?Cp=PkL+4Sb%v)GPWwFJfuLa-YtXoWPt zC==ZZ3;6gEs?nHbEZq27X+6yd?Dv7BAyrs$UL=X*5LfP@sE>y%UjE3tOio7gt}sc} z1tJ6KkcOXT)(CBqB+sTPqe<=>hg=ytrb7}=!`Q0}mNK5hM0|A;xv}Y(45G{$kWmeB zH^2DSWK>~M)?4<^(zo*uLeIML1S)o~0(fZ)A9VB&I{F74eR;YMI{F74{a;c?pR&wX z&KuG0>^4;^SM9%Vzbk`UBG=5X_zItx<^Nhxuu zvFjMon$b7C_H)btbIJRIq3pp>_FyP`FqAzQ%2uE_{{@D!mDI-O7;R|coYJgKM_)WQ zgY|>G?yqjILyPMiEw#&{$EFXU9{nrYErHukqJJqzEM+|OI#iYFtK5>gu?|&&*}{N_ zIVgIxvdkLlWcZqMT}_SyXiO zVW&%FYAdg;Dp8yKe8nLeab>9Gez%v( zyz13e$XP0ceHYyH$NGa%)1SmWVP0WutH!`?7=iU)pNsWhs5dn@HkwX^5* z-`*PgS0&3(S4?n$i@~BAgrEDQ7v!$vW3;K9y*C9?v|~0>F;x|3u2+XX$Kfxk+UP;4 zT0|AUS@rYsSXMgS)v@ia<+>cwY8uzLt2L|I*7&N`w6pGL%jIP%b+7hCD^r_h+p|P9 z+ehA?f^*RO@xnJ--A|bKqDp8!niV|T1eMyRZg2h(Og&|Y;KELmc={ZPSy$m=Wyepc z>z!fHW(68EC$D9lBvTef=D_ot)&ra)Y&ozNNLb4!cdl-Ed!N=GjYx>I72R5AdoAJF zx|CN_!XnaBbs_Ak+;3N`U%!N<6Ay=iRi3Ui(Q+q*^f$Mdpw^_+>4de*7mN0jobIcE zlzy1AVcx8ohQ_W^H_!7bBSVs9BswfInv8nkm_$WPlhN@gVdm?j8xj`aWb1ToqiaG( zdsuUi>MjSh+%c_4vvL-btX#dp`Eo^qpdWs| zL@CO-CXhu2kd^BCyKl981YTOO|C*>g|0Pj-alQZBfSolGRSdRtnP5BIO1kGyWzCsy z%enQDEt-dV*KJy^yBy@*2D{he)!TTRv;8#op=GQ?D;@J(8_(i{o7er$R-W4(+N`l` z@tG}-3BR8b(RJ__SfcJ{@Jisfb4!}%lw^uRqYukzk(L;z+5u^Co%M2`Phn(UXkwm! zdMk{iCcD&J7is3|^i21IYSqwhwb>POcgL3PCOEzCt2zVtfzbaA2>pjYYf||IDYR>k z`cvn|UIH~LhWdmYcWsXG`}duD@cz7$?`K-&E$*Ul2>n*T0P&K`!PBd78RyelMsL1H z;wPH997W8%@#&D(clcb!-Shre8@T862k(4Px%0J%QITbNF`K!3?OZoq{}N2lGO-}{ z7zwiC?%!>=yW0orj9B->09Hd^iHCI@@m6u#t2T&~#{OVy;w~Z#wHsJ6yBW#NMRocc zc|#|3PKcH>l4xzGXXbikkw6#C1^wib52-i*_DuQgnYAq18m(`3hj3p(y-~In?$T4` zQf*~Q$b5Ory$(Ve6D7@B8FDnr)A2gE)%L&hog57T3f0-^8$Ex!qF9Be|ofC zeX%u|JQt4}rpFv_sQEK-!1<0p%1O#E{4g_{d%6pYwyT1G|Bv_aAI(kunsTq+yDoj* z4x#q7;CB9Jh0oU3*4C5VUHJd4t*!F^Z|!z>{-?9Ox4pN$+u7=F{m)jnyS@A5f6&${ zgWUF0@Em9VvvudO%8UDpeCE4ERF+xCDOK6Po+EC|$HC=O9#FP<)oEPPBzlg#LhlWi zf+nB3D7y;uuQyOTePkW|j~^SOm<@1zD5s<|h($zd_F=J2Cy3sZnMZIZnr_JdAAP2) ze3rWZ8H>rvx88mh-T%FvC#CzpwY}4Qxc{HyQ@a1z0EabK9e%<^K4uyHO;#2tU-@$u z6Yr+Sj@!nnt{UMOs~Cye9?-WHdLAt9AfU=4st%fs@F}DQ&VM zu67WF?S+d5O^}~OFn; zz+5uGi@~oX6uf>L$-VR4VwQr*y)GvXkzp}W$(|g-EcTwh&RCJoIn3KE<}b?nJbad= z|2m=9Em^=t^nbg%SEm14J39~b|8sm?3UBDRblj98p(a_Rliaa7v!H3dV7Nc}R{eE8OVWQ?V)E0_|GnM43i|(` z|NAVTN1E|OLzW>N$H-N3sYEjnbH#&3&0_)m|6;Gj=av!X=vnpc!b!q%H+01LVp0B< zDj3G*yi=l%+Ug|VySl`f3L?0nxK=dr#;n!&uXvrB2NHXZ&zjZBTirU;?c_M-&xLa< zbzIiwr@O}tM=x=VlaORRu*RI@WTfpmb-ylq6t&R(b16;Rq={|M&k;gyW^;t7%=@dR z7D+RfvyjEl(Z#`8!UEh~>!!~kO5WStCHJ%@SMCbi zTLYnPst$<8f;clliM{l>KDO7MMLK68=@L`?b#ha6!^|JtiO8Mj;byBE8ryx`q{^;hd2ZuN55XQ0j^ow#P^xir4rZZ{sGV}%2VI}dBgas(9^#8MDT;^`NS zN9Y|V5gJU9+!6WUqMV^{Ou|bWtB%;v?>`_zmJuYFn4BgfRHXO$O3!+{{rz9+|BBb~ z&-l#zb*S^-;xSw*ocT}v(k%C4RMN0N_@(%xr9S&vMgGSsWcR-Pf1d1i%lJ^)<@E?BAXrxsxSup-yzU`!Br^+v!#K zDeV7GIy3sez3tA!{r?=FIY|WPN2@3&zp9_h#G+E>xP7$AUGDppo>tu(UQQeLhZv%? z2vTxcUd>;5fwOXzqw;N?<`=u8-@+Ar2|x52A9UaU{Pw=*OE{j_v#BKq@3M3Es*c?= zUfrJI3x;i%eY=}L`&wGI98BIoq zYV+hiz}0z|4%A~{sV5*b!2zuc9>gl=Cu#k2FHSI7T)@puhtNXr&to*&Wg2wz{K_N#vf=*tgK zXdFH6eEf1<&l)O%=VJo1&Y4ZxEy91U5KL@jhl;~23xl8eSk zg!nbh!?E6Ju|YI9z~~VDjGFF_p)X#DFWgyvYzmyo$Hc7`h2&7}XXx>Vv*W{$-cQ#8 zGar9}y5DR@nwv zMRC`^{Z2!@4Q_(`3Z~!utpD*-1+#=Y!;+9cESom037y#R!zd%a_Y|r!sJ9SNEBF_wNIyx>7Lxl}eG`8CTfy~z3j$#JLQsyE#pV*QEuC-<95E=Q8=V>$O~g6(b4A7NTs zn2~*Ac>A}UZE$LBV{-Q;vOxZRz>p?bW|V}%WQT(5oGt z_ry;yO%}ZE_bs0+xc?DJV>X?TTX_B3&;0w}+1q)tJCpx!?}7jSET58O?ceJ^O#ACn z6P%{prWkXyXL7FMYjH1DG(kb%KROA)eFO*8Il9ReCe`T&l6)r2!;kx_s0zAzEzpHqyWHj?Go+eZDO2<+v>#9_2x2z|HKlv7QhQ|t#XF(;t+YnGX_<~qC>e2lxhd%T#qs=d-UWzl)n zF)I~9_2b8-x~;dV*LsVKwfxD+&r%n0DU5N849rI5+%k#>%_fL9rR-;l?3I7fv#BU7 zQU_!vTRBZ=ZVP;uAvQV5i?mc`-*>b3033_omoCgNPi$UQ{*X;3*j0VE(U;2G?o0Q( zcIf{3jidd}Ca9eauV#m>t4hBaGoF71-dO*1;7l$fnxS^O5}*;cAnMBeI|cNY1YOQR z4BZ4=bTKAq$l{n?gAX9&kPu>p*mA^+6e6&PEJKj@ zoTD@&s1s}l9U%fbkgsVRqX9u-OmIRXRHTR|2!pF*ro*UA`%3m=oad>#8?}w9YNxd= zp3DToJ3Xsn;87I?^P+;BojW>QVMuqhZ!1<;F=FL{`Esppzc2g`-k6yM&fl52Nfefy zLtRRQnkm##T9-sBm4p5`M0k_rq2!1*tz7Rk<;6fYtoYR*qr#R^Fy#qlAD@w7)mmPFOEqPLY5oqVV%$ta7KhUYc+A?0*JSdlLc%5U$(8e$q38Mzo| zgpXNVrQj$*EBEl>@d6@!SAbXUaho?SrdMR{?eQAi_VW0nJlvhz-yMG^?|gMi2Xlv; z<3qaR#qojN`QG^8R=PIQ`xK;JM*}M3+^S?3w_A=!wVlLoerx-7I(_Cpu}*hCxqw=B zUCDWsJ|H7$j6;H&@0$?X?|c);Z>j}2wI5PYdn{M-B_GSB(C+Z8B zGh+58OxYb~876Q6!}PdfFKalJ$CW#KKA&T$C~N1r*C|PvMWm+`q_(g7t;aIip`O<0 zd}_wQ!=WG-4wC9`?gxI(Vv@P8vp_cNmn)8W2 z`o*}LjkJagEh%`+Y{Z;xsB#TkVMpe7zt^p)S+4JAy5RO#Zp7TuytgjGTmjpwY5V)) z;(0SRuJ!p_Yw87~4>iPR2|3TNu3fodo>Nij8TKo2FV(LaOO~zay@X#;X(Rq#k)sRj z|7kS1dj!}5|DR5$+bzd`J?TF9|9zIvLi@jKicdkqZK8`*3NRKOQl1r1B=cnvjaJSa z^XD+eFKaKnzw}-UE!xYQFz?;=J)z0|6{fL3go@GKpZ|VD@xSP^i2mO$ssME`ep zw`b`8L;U~e`BW5+s%LB0DxZmUNb9#old|`y>&~-|I_r)jQiZQ+Ew2mx?wW4$PyYDa zJ@U0CXQWQ_Si9A>y>HjKMgGEB;Io+u7YI;pnnf2~N_ivacbu0Ua+TbW3#ZpCmpGgI z&p-OASAG`I|2tOxlAi_if45t%|JZr5xBcM%`&m9K@&9+MCi3SXwV%)FwnqP93Pde* zzb&<#Q#fkwK&uuOtM9#fNiiSR!g47U%_|F~`0bV|kutZ->{c$A)ElR|S5w27bJkAt z<1-a1?|(UGvZda7G(YIRc5Llkf05zgkcO_CTIEl3CNc+9{qwifrrfRm+LCbR6cI44 zb@%C1x22rwmT;$&-gFE6=$5o^SCpM`n=W5*W`Q-lu7Zo`P?;OM+R3bTy6#L}ce}Z> zt@F`ab+Ypu_tft!o9ne#jhvjvY&aAsy2N4e%F~*Asmkzgd$?t_`a&qaA49c0Zr&mA zPk}Q0Ryf0NJ>NT2hO%CaE8oz2s0QWhBJWTfX|AGjVTsf~v#9j9{FLOsU`*l(9VILy z_cz9(`0w3rS^u}Q-PwJR|31g(5jw-Upd7%|$dgCcW0IgjLE}j9J1Gt?@rdxC@d#av zDc2kiM|@1;7>!~!kk$*Dj9TK3W$dKNUNVYvS|SgaCljykg$_CHUfT~Ha3C*zHDp+`6O*@{C|x{=m(rpR&aED zc*Gk)nz3I=m^T6%5xgneW$f3+>5nHz=e6(NaGzm6sEqah`+B6$PG zgfs{`6K9(`W@g)FW^dUQ>?_Z49Fq*uWXQxhNO=>qvxqZ9bI1{2#PL*Z82wE!ofi03 z1@L!igvGJBHHvjCT+YywU_0n)2wTDSo&m9CKFVoC!D|CNG9?`K$M_|@8;3OOgBq(p#)mk^;%^7GLHf>9 z1N%4$Gr{>r3a!$N-AvyPis6uC9C7*^aR3-Z?L096J0RcK; z*9!Lr1d32|5(Um0Iu&bpMQ>0hE;}418)}_0QsK|8lF|WX5V*7Foz=TUofe7Egm8{W z1PwDbL3=^xsl=0RaD&zisyGPHeP)1moLe!bu3h-VYedd7k04UvUjWCa7Etg&OiP0eMm!p7^)Qwh5O3$1%H> z)irW75jBJVN~l=XiiQQ3!o5(5H{C z$21(nUB^*GB3o)+>k*KCL{Xt`f*pUWV)%ti*b25Jgif#%bPR~jcI~nEdf%2F4gtv- zz``?|+S&3@T(J#@FHwp)zh+saRKVsH61|`5-u3jqpQmwOayE)%>E$@f4`iG|-@b7B)P<-{Ayp z`%Hk?Ye^FUKNT-WtZxDgtEvo*Nao}gu)w!9aOb`q3wiB|*vkg-VAo8r>s;m`O-O`N776O7 zyerWF+$*`HD=E%!PNbhY4D4RLlts=Sbo3Aoha(?g@X*P{;Q@xijKxAFROfe72F60& zs(`wH4D1D+CzcLu%bN!vyyu)mh}_^w8WT;8B{EB=1ohBZC{HvLhaSzmTn;~s`Vh2p z3Y*IN;sF!<-PsQgOt^}NBvd%rd8W2Zz)CdRHV`PN>K1|0B*sM&j$0mV?kS5bUm(PjWd(TLzK=v=}${EN*t? zrk=1X#XeNdr4Z~l((Y>LETat4sKnUfXIJhpKzdROsite!blobg!&^qoM$C5V=uRDf z<~}_YB#;XFtTqtOGTuV0o~3y_FNQ-D(@P=^Ax{&#S{r2Sk|Zb>*LB^2(W!u;&OpD*Eb(R}=g7HPjFIXPZP z={1L$NINVN{Gq20!Wq#;Bhi2i1y?9QYB^adU(93-DcD}=A{oNAWtZbV_;$9$qZwjL z$PLZ8#55s=E15mbNSllG3aMbExEVVN%=0wNori1V`0d&0`NjUp1!|+0=STbBAD_HN z(r(cEVq@d$LH12!W8?7j$CHcWw@2vh@#}9d(90uqe)PZZj?a${(W}#Qw10x$oxMKa zKRo(kV?!|HL#Z;RTot{viD!j4F=Yk9vDAE&1su(;qcxYrDQo+SA&xoeueZc%1(&XL z*c%%W15Fkl4oR4c0X8qFHMm<}1KoI{=!Foj9ML3IY5HE1Dj zWm5D4ZQajmU*4abUL5s;N%YHF`I~hyQD;zI474&H8*v?kL5)EDydUSV;xoQ`EfqI0XpB)YNFKf;p>xMQ6Y`G*;4q8WmUYY~t3Y$oT zu)wcgj&m|B;vUJNJq+aR=h#g8mo?4cjEe!-#sfaylnTC04vfO4J#aZE9LETo*eGv( ziUMp2A!yrNElZH3URPgCS5|h}FXfa$laT|iYru7CDQV>kqsz8SAJZzGUu8Ez<(KKB zQXQyrf+%AJU<2s>r7=Uz#f8$IEVG^0*bJgFaeLIoola~FA@84UCgP|Amw zWV&f2MJGvw*guUc5xT}%B2Gz~9j#JV@>ThbyT?*7S;VgLr$;AgOovlLEAk?h#n;Cy z%SocMZ@K0>P!T$CpBT8iGq+KyBoH33B1dCsKf`GnPkmJn4N1ZYcYy90pxrVrp)ctE z*|D-8S{_g0Vn#y2W!nNhni9Ap>{g7h3=!FOVC-lZzU*K1KK%;$B>{S1X-v#{nUY z0Y&2KIG2F|F%syUNGbHpwRcN5M4#+R;wa>V0U-&Rut?r*njqhm%}h<3m&DX|mQaV{ z1RbAQ%>z6kZ5&N#f=Cjjj3&;@ugyz7aIG8!2}cKt7^4()>sEAAS61Spn2{JuW2h_7 zyAI+G%#MNSqm%0ZB6+t7j^h@Zkcbu&*#8)3BT{Ah1Hkrd9cG;qTi=H}W)UCR9h_8F z6Ky)xIo`}T+v@!g19etm^0tB<2gox6V;SYQtx9UHI8>~406sMUXBjBLSWFZlrSb`m zDpV8lsVH+q+Hh4Q4nwrea<`p!#wn~Vox;k5a9h6)RfD`{Y!nl85VIlz-vvA(@Kn4z ze*;G+gI=`%j{|g919e_{5)<{tM}t6mrsPy1URguVrIO8oXm05$IGO&OlpwpjAlimLqI*jZe^Yj^?#efW&;7gh9wMa>iKPqrZ{93)XC(i_GMm@CJ~)Z<@Jw+497{d;2dmVTpK$T`fsh`Rwec zS@)USnfTqu1Vzs&VY+Jm^DF3pnC>rckbTI@^~(kT?Hjx z0A^5xmn1(D!ZGhlXD9Lf2xyujW-i* zYpME&>+b^JHk00}xADqHN2`x3n0l$7OmT)MBqy0WK-bKE1%=r&hqQII+z6Ab*FotQ zBwFMICt+??EnIOj3CXWncB%4)0cMXf=1~1^@T_u5AoPemvX=E94x~L01ORE6)^E3b z&w+7VcR)Y2pzV|LvKZ+bQ*e@<#l?sws{D=9*IbXClI$QYgTUEl~cn_Nt~TQQmj@cKYmA_5r_3C7BC3hMT3L6xPa>D;2~poA|yMC!@kg zX>(n+d}W!`Ha+U@Zlkq=R~(VxdVor)z#5e_#XXws3fOY$ClX~;WVx?BM{COB0&9>i zrZ|pWz+Jm3^?Gn;H$3-DiO|L&eQyr?7_xMVFp4S95gRJjI%jDA{Nni4{=voR`A_e^ zJ$-v5*q$=0({;S?SK#}eIq!Ezy&(X@f4~op!5dhfyTfR-41ddwE+>*axeL}fCwIH^ zmTwIe+6d+eN;4?lQIEqcheEgSnFdkc0=IxwbFf!;<2*SZJrthbUJ&|hh<(!NZB7`x+i zE5>nk+fu7tmXNgbjSZlXl7{l3^^sB#BPnAFN(3a>_dHkLj4pH=PGE1*k6L?ICC`E^ zqYV5~14DBM;Ij&Nz&z#U5?jU;&1n+CQl{vdWCVp+!4-7YJ?Wp1= zCgu!fMY8SyGxvNItH9IXi37r1=+3r}I^~tx2Zv-RCRZeOpqMLIQq#?zt$AqVC6I}e zC7tsnOP}*o4l<=7mRRea1HxRBS*`6H2s;i0Kg^->T?%oIW13(gV{%PCyt{6EuvZZL zo;pg{j&yl3M`~N-ym8{x#S2)$GaPYu?+Qb+3XGg*#gE)qycg ze8Vbwpr?*5V9V~+jMLs+5FND|ZAoK8)bAag|8R8v{$Fq3yg&Na#rgjGgVU3fBk{=h zQNdkYb3!9JD`ARx+Mn3~g3bzxkSF$#pV=sadP&4PT(J32axL)=X#3?;j&MpXOymB) z=h2=j4{LEnUEO>?7t(41NB=s*Avtp^g!JtgJ9>x~k+dFt)WeMl`Z8b}L{k zJnX$-*FrGyHcx$y(bveC?URv=@3I)OfYOXa(ljG(j1wVZO=ET>6MVD6%ex2q?U?|q zQo-;#Cso0VV$LP&SLN%Dg3)!&{Oyt5U zcX~H?Y9ZLTg{SUYLS`bYRUI59_NZ5MjtXA#(VmL`i49p$0^XAIb#A|jD^TyuQ=_Cy zS%h$s)3zxGWikZhtn!E~R1-DekQC!xUR^zG0NE_gpdMpMLA*#db;(r19XYpjB&wp5;=3Qj`&YYr|F`vbU1MQzJYUB zem|fw5xZ8nIaeei^%apZJGUqAA&j`~k$!8#C_92_-7gqOoD3iq=2HW+Tf!(%$$Bxq z)u~3s7;hMk1}Y53!hTW#+uF!=W&$1AX0F^C+#PNAS$F-cBkj^N64ZQ(uDW)#ym_fO17TM~=sYXmF0;dFM%qT}p>|m@(&8H@%1rmg*?{JmxOHw6A4|+-gaBp7i3;L` zH_%ZsWLZcc`3Q>X#Keje%IF=6b5`7~G>++VQGGLbpR-}!M}k=!<1Ff%$Zr$g=8o(U zkmVN7-PO-}S-3c-qWt)FU%5mg=@Y4+OXUNSk}RH@m<(yPZ4Y_hvhK4x>v%ReTLk@U zhqLFtW6r&NljpN#7J`W!a2PwmE$^pd_NW_dY5vRhG2sEuYXB^NZ`*h^c{*aWc8xg_ z#~89mdq4O2whHjX*E|T>q`z*5upa##AEAx#W|)xv0Ed?(iTa8(X^%RS>VrhStw&dy zu%m5NjJCu!8U}gSZlk?_{|j{r^lXiTpe6{{G>$@?MbfZlA=%gq?>zbtN0O100Ym%i zFk>SVFe_t70{AkZ40b~Le_FVmS-3soGup7M9g7{x4-b6zpDgNSHe<($gV^)d5Yo+@ z@VxE11e;DaqQMuAD=I=cwp$q>*wV)+;6%K!N0_~7WIcXYpF z%+LSW-Ro@cmhwMtcb+`d|NAT-wCJO_iZ_a*nA1|*e!9U{3w?)^La;&It*xEfPU10q zzPWjQeH~yJCSciUQwKO~LPge#qw}{tw10Al4o*)Fk1vi-PkInS{H}M@LgzIvyG4 zYQO-!Qp%*X$Wq1$x4UW%T%S=>L21HLI9j9YvMakLSxeaj#3X1U|J?#{6f4m{K~X^= zVh1ub!3iD_8KOQ!ya>l?Vl5#T!14!EIeQGS-JQ9n0-IQd)+k+<$HT`omCi)Ne2P+% zL0rz-?$-ZVhv9@gAvazFDsrCV1f(TC#+l%%Bt*K71|%Uv8d4nl(4BeOBmapNO|-@` z_*d3kcTXK+)gpRDqe8&Skc%G*0J$MqNI?#A0}}zywg!$~$aWa+PWrQpC7A&e05{_{~L#!`Ip5cUBcS3>6;+xnA%NWV+0dOsU zfu_K_x6F`DQVN0;OinG+x*&QBcBxkgv4Qf?a;EO?ghUiW+7M^iKeFs{hA4oOrK6|+?!)@+=r7tX2j{OzYHNg{fK1|(+J>vk6oNk*?^mUFQoyjjKoF-G+s zsMRY-au4*x2f)d*1g>Hv#t_(_v5BNrVko3_p)&i4B?cq{cXu44j9gJT%9g7HY9SKi z0n7AXEYrvA-X>EVHq8hpN#2qk$=72R!=*qhqaz9_N@vb|mL6+5HT1533zfG|?ViA9 ztvtSl?_pyyGQrf`Pe^+wFh%T3OXeEPNIXR`O)g>M1~dUY5mNfPK6FT&HpC%35-sPA zG@CjzDX}|*4ehBP2vV-z_{tM6-vM)Fo$<^DYN1NKrDh%in0F?C!^+iJZz-$_=du^e zYA4@vE=4ZWUg9{`WSbX*3C$Jp(0m7A7tCBH2}$hq2Gc6GLZ31`cXMA0mr((|iWpwt z`+$sbJVb0*&%7-6+M}jfQ&Yi`@4X?*Y=|H^QN|J)w!|q6a13~Kor!)4Fds#twU*)* zxSLMwMu~mOxxFl~|GYK#DYBKFoiSMA%n41D(_Tz@&Rg!2WmqAZ^_IINTzUZtRs-Hh z)j}S>c=;r^Vt6fg(_0Q1@vy+zZAeZ=d05COC>Rmq-838dBTzj1G?5#<3I19&K87se zDGdu&@OX+QIJ=YzK*JqrmWyyYN|YKO&ImTP5)%cnYM!thVdUP`pgDVmOZ>H2w!VQ2 zSsr%-1$~^92DLG&83_qc^1;*_$6i8C{!@@7m*!2DrA$88g5hrIVCpxjYy{ z2Na{MxI!Q^dSzk@*pga@RTTioc2fZMjaSISIXNt-5C#QzE7Du7q zx&R#y#rYdqi03pHIBgCkr>gD_9%1n_5IH5duh|F7@YWgQybT)$`Ak?L_$T?dDqMKY z3!00i#$;qtQtQcEo}fe(=Mgw~6Xe9X616Ry&>qfIFH4`t1US_kZ0pIigo&DE(!!{^ zDO%95cT7EbnyZqpgZ3-cxPrN6*ueO%kk9O{s(KPhQm_-CbK+`-0vLLNr8qIH>UQJudM{KQc=Pfjn65007$qDLU&26H`zV7Z-f+}q`lfQp+k zv$Jqs4k#^pV#w;CviE7EBbD2#y_((aS40gcgIowKp|#AuI$)}IxN=_s*>H|xg1Hc< zTrIuoVs9(NJM-synpn@#?zP<^53BgxIsDTl<{px{_u5xLAv&~lMm(7#`vT6wXIX1@ zm$Byc94(iU4JvkNSh^{|KwLrEbQ1{>_;TB*EDpskWAsvs$98UN(Q)Y&a6x5!Er zz_x<2UNQhB#g}sw0!T%A7;sJzT&u_BR&elEwO3&>Qa&zr^=w!%o0h#cI(>7sDB^18 z%vAz-VrWO3XD2XYt@2)B!*z#jB3WsHN1j^7NGc^sz&ns#5O#Eu3XoMT7svzjPG<8H zho)1M$5RQ>F_0Mj#3Etlq%YKCdF0DK-nH=^%^*Az9Z* zTOVcr6PAlk#(D$q%YaFtOkCR$hrj63OEiE%voYQV5Lhn&ZOrbO;AL5 zn9+ec3L|vT5uMe~>f5BxO}z#cPk`L1CjmO797HFQiB>=2Ozg|lTmm!I!Bh&cAbATB z%aQ>&#YnnWYb{vI9+n-;jSad*@c?>J#^e_qL=%<rz{Di(gJ~?b5LZt=xCIxRgvl2+6NFql~ zYHtweNwKC=Q*>lUL`*C$Ep*9-UmY(A%T)gKzgw zF7{s@zd6462~gFTj(Kkgu|SJ zb-en1Nb2c5A1p%yePppLexNi0(tmw|N4^eU^wur`);R!No2`7HgoZco41-5ab6a5VK)myV+#2VP1IpJbk)@utj)EF>sg6q$4nyZ zh_UFJ#;)%067ig+DISp)@B~G!@(L80e2s8CEE3Dyz#~}U2?CW;ve4TPIWXbtEx<#; zpqCYK3Wiap{K0bF2#>y!Mgj` zwQMY$Yi`qAXgFp}YC%EM=^5KW=ZY{I5}+q7$eofxMNYYhRH{K0^_v3Tkx4>xb03ZM zHr8`TY!E9g6!0yZg6s&+SDIQN3rw!%E6P1{4++q>>{>`dQj|0s2K(s%w(A3rmLztp zA%^ExW)V>0s;>nhwPY0L3!IL%qF9PX&-))7eSAg1y$E8A-om9osC_TAU_1zA=VS5bEUw z0`wz6IOfb2UsMJIEwn+#OTZh>Wsy`6yMWD1^<%6}s{>+PR=`54XTn9tW|~n@Tnif9 z6mNxZ`Bcs?P$v&_YV7f9=d|6`sAsH_183owUTI2cjfo$o)9Lgh`k;%umaMEFp}9hm z$dQ?R^l7;cp=eDsFg};-{}dp!JfbQJ+oIu`jfd39f?WjCXfVpKIF8iM2B0m&p2|)m zGR`%+FLF6m{?Bc2?MG-S4!w@|P(Ei3S4-*bm!2NwUV}Og{EqCmX1rnBdW3jW&`54- zb?St0XvD6FOq=d9oJw0_`E@?KuHYd|;Lral`Tv`$c=tKRT>t;>-rnx+PTBu|XK&}h z|NnD*9-;4EWz5fB`7Irdk&4EWyd{)zIv8V>Zu~4GKoL332}g${$28`R#s>P{77^$K zPrqtx_;B~Vz(jy&dV>Z@Rk5ORj3VZ<8qXV$VmghPUk+hRN8@uKqLQs?Kys}KOwFRct7)0~8Pk&(tlDZT5r`zDRE)|SepQZ5}}ixjb8 zqmA};J%2BFzKt%fSt)!@x(0+eku~8tIMrdfd5y*!h9e|{q-8ES6tTplv2`HkFL1~(r;1fs<0Z*}~otjN%KDboc|+f}x+^}cuu zn36<2=UC;T``Kw{;o0I~rC`p@b;CMK&@m-R-st!H1I)*b6~aPApGKpxv2k*GarAs+ z1D#>%e`kuFNDN9M40tA<@nJ@wb|@?o*f+qmwI{(1+D}vEcDgP%>p*5|!l+2-e+q)$ z%8>H!$+S^}zls&&wvP=%55!bo`Q^lIl{-^eKou_MdB&0v=+|Z|nCr9`4sdh~vXri} z;>2z1xMJH_R@#wD{VO8K1kR#T=2EA%VBL`rUou$-abu&=5S*nF8?dPNxmZm^f z_+vvA593*(?JX8EfxLJjn`{cOaY2%hY$_A;=6A2oPhW4!S$_4?{@XWSc~kxB6^#if z&}q(PV!)tr?9@*doODJbA7{Op`ip5*Jc9aIoIQNrKx!|3!jt$p`WR(t`UVCDw545eHeOwp}qa*xtDh2(9a;EtCwy1P;wrO9muUPVx<(wYbA6R0)ZcDsVBK4ZKM|1hJ6O)Yw54#rrVN2>T7ujIs?EXB#Wz+ z(8hVHj&n2tr9lp<<ICIR zbj>YDH5N2p!P%&g52vy!EAq6+9rqAT(n4EcbEI6`+-q=r24lZFe*+AGEGS3wK<)tq z%a^y{GzkejR4ScVLazO4)RM^vp}s755dsc66>q`h?h#;9h}NgP_4M?3=v555h9D}L zNj@^>Hk)k4NqRQ7PB>b_wq~9Hii?~X*PHd0x*JGV+jURid7~4c*J_7ByPD({)L^QU zJ6RHUcG|mmeSXw?f41N2{djtQ_~P-}WicRO9>YF?FQ(be#xEZb1;QP zXg)N}$Q6|#4W;z|a<#~)^POz{T5bOSpib-iGP@}5ndjG849 z8BO9HiH27V~=NJvDYpmCfFq65|=X#upEr+_y! z!-!GEU9tLX*YVZaLJFl31!+bh=7h_4#5m=c1bjvlZIhFe1fs%a`Zu6!j$e+M3NVjA ze@l=5BlOlx*W~!{_q~BEoaewFsCB6fxzEw|-qx1o3EZQckO@WNfO zWYyyUD7QL`a?kk(QCFM0bPSz2r%(&RJA>WZK$tm%y`8u9`?qK!<|MmM=Rk2-sJh+g z&O^$|{_a+EZaK7`{_fV+s?#rTz#Jr$S-V9v_RU6(%p+A;NnySww2Tr=*X{i+p> zzVRMl_mMK%XQ`oHQ>C4YI9iw1{sED^149#>D_@8z7C|OUbg%8tiiZ9!?(Z+&)mPc6 zmur2~4;l?2MFG{cn|9Up^537uD7JG zA$b3i2>m=J8Tn=Hkx_}YoxN-iS=OG_OSL`S_WCV#YWP8^_MlXIR9VQVBx0HJZRnZ` zAsJ9!u8+yvj2+P)0Ud}zDaNo`aT({uA+vqq=NEiWoU%#H(-)( ze1kSNj^Cc0o?q;rTs+@^B)VqcazRApD0T9xw+;fgsyu0}3w1k@k*G)_oP^W9efN|Z zn5xowioB26HJadLs^=^nnN6N!qtAeh$HuQt*$cnqdSR!s%o*iM)d;x*zynmPaILP% zYDmF1OlnDKt{m!x%&4XOO3|K5*%T!O*tthwY0IRpMW^fl5@jdJ>2FHSoXCj45XZ!8 z1o>DcT*#6Qms~@IG39VlPbQ@4igIQ0H*leF?E9{fNX9K!7dta8!bf;1dVzL)x~hHvfzt6D~M5Vi351+_(0t406cGs1*cGR2Ha;?;5a1i zvZ1|pI;SKq-D@S2LaPH-BzfOGQ@-S(%4M{_hH2oqEhq3zzqQ;MtL|Is^p-`5PCxiW zI03t|EJE1Z3W*e>(xsh;9}+RvDk|Tun`B2a&A9@NA-RU7`6XPj$a40>fs!T8366fu zXinY=It);)1d`y1(nep&phyl@h6X|(K3I>0rhfpzu!v)U2Tc^9k00A&>h1I@Y<~^w zX)7%FW;G~s-IZ{}jP`A|JsA}|X4f2bOM9ueOT0mPC6lS@SjHnW@2z>QoO#V{XP|YK zgw}!iwIRbgNP{)ctzZo#uW8V*2iO3}s0-bTx6{eA4x}I}h}?vB8_kftl}C_he>YH) zFq{sL-222|be-FD@~YRkFjwW|RZkbx!+hr9tst0kLyOe!EX{{P#5g_^fcht|dhd_V z`tBRo7bmEQg*>Ld;m~DXAQ`0js)wY@4T&5M9`4$;xM!ZTvt-aTnG$^+O~HM`IwmR+ppcK{&H|V_PRcq(iA`OA&p?Pw&u(i zo!7`+K%h&Ly?FfL^}*Tu$;L(3&8Jzi9zi)#S`5OeXaVvS6|3Ruo*vszbqKRb><~c?NIWl<@id8W;U2d z7W#u?V?f0E4z2E6*S-%8giur9Nb@;rmS)t1P>yDrv0q7;zo(IC^R@l+8`FSZ;hem` zBvaMs|BBD-ui~e+_`E!NeSCt>&X0fCzc@nQAN>U1{yX`<>ht2ozZ3ZC=;W}XnSv~R zRo{~drm-6J|M}IOUqJCB7^zjMMTx8K_jjgjCXI`H{JzMj_(f9-eZC62fo8BxCYp9P z#eY@boL!Qn+*vkLU2#gGB+Vu?b%)e7c;4UaZasS+k}Q8;WU&iK(5w;^HHE9rrs%-^ z)vW?3V*{3NUUdTTX*QHc#%W@zTTAv(p|**8`?&}HB9^XR8l_c0*=EE-E{Lm;{^1{1 zE3hd&O*Yrd4yqDoeKIIRrlhN_ht9K(s^Ydd{{6b>m(kx*DKD#)M2O%lra~NkgseIP z)PT?wl4T7D3Z+X@vx?$0(SYa_?2cYSI_jzyOU>hwOuuMo?;y3A>L(yNH1y2MqcClY z(Ku?i#S+?LPA`JZs#(B^^|WF^0j0`OX71jV{4^YDE`2aOlCBIGqcH8s%e61>#&cuY zP(0joU<%E*at0DzPVj_0uU@FcyZuCl)_S;?7P(xECC{qPzbTbFZ@I=f59`g*p4S=` z07)o#z<;Jaf$3{kSo!(jTZrZpXs6vGQtdUJL$s^g-7ooe#<(LPpM_LG(w#97Pj}DtIi`6Q>*^LeKJt3*MZWF45ipxdj@HKDq?Y?_;Kp!qe zD7WgQ&Te6{StU@$RtZ5Vi%?9iNbGy5my`CCeRkAT6s!zVPnm(iLM6B+8!WC{ncyQF zj%h;HWUd*>ba@s_t~o=ij*be`T{N?~M$Kjz4F$vqz)#{3;4yGE2! zQ@@J{^$7haOKZyPUT$^9=gY`f@?;l^MfjTcwgX+m@WtZ~`#<*H_qN|3ogAK>9-mw+ z7OW(MjEpEtRR8m%*T<(P%XW2yInjCl;NYm&69U;%a-D?X$#bxTql5FK3kR5%?%d6l zSJ9}?OpWTl)%NN_;JWkao1^z9`)`k2ao2_&Kvhd#WKi0&uP3gsRnDR>m8a_32~_v% znX|;y#I!e1aNJ@-ssJY3L&-12n}YE0d~=j-W;lsRFwQ6Ox<}v958JmO3^I|9jybR{ z$i|ri03CkcG6dvQ|I$1B{JxnRQn?ggy)>SYjYXCjUc(%*G-b+0Dj`6aZC-lhHdVS! z7ZkjcSs~DDJ!sg6-#Y2*M-)P2Cj+qgD7)_EQ?4rsacPaRqwD!go}NX#g<$)B7GhDC z;)z9o5zWWN08U>Ja20mCnP-G-%GkY4o(t|_Q}%7|Bmh#HOf#QpR|St^|@t1WNTJBhB6Tc(T6S`{hWz_wjhO zua+dRKiq{t{;(ZLO5za7-uC;K?+(5{x-gV-IY9UDl>M;EV+MS1Y18lgsQtOO-KohG zd`a=--?pUkzm?b!lP?v(3(QeE9<8lN3_4W6E`|$n)w3S`GZUHPk9T*X$l-pMgq1u0pb>w9!XR;ct8XXfMmv3PuU7z z0xRWz&2xcehYENJZJ(px+kfZ*m!4o_O0QDz8x6aRBW)*Mka2s6g3X%EZ-|2{owOJG zrOx^J?GjG7WJ%88rFV#l0{w$e9D$c(&eMrP|A^%})!Lp^c=!g@G)H>T@O7qP!lWAK=a!XT8OmiVszpxNq z%*^skyYFffg94E=z^XfDEwRRw7j|~Fh~lI?NOao05OdOk0$5TPAs#S2WiXvPXuuNi z1sfK*Xc^)-UXE$`0;y1eA~gn8$wC)j83Y-Cy}#+OET4t5meQK5U_Yo|UO})p<63z;$skZlpGt`_%^>&Y@ndYZ_GHxwF zhmR9C7q$ii*sBF$h&hBcLkMhwRVF>tc4NaG=H2neMhk6hoFDZr(Eb_x1r;GTHXKJH zxj7pfK?6dqWDaZfxY^jAYdqC)R2_fx1-Aeo1XCt72ksVEt0`kI#OtMfEE%IuhdCZh~y;8-BVtZjEeZ?-LX;` ze!D*#j0*|5?kkLN9ge|`VHC(Fct2@inc71j33!Lau_*v59t4({r1TIT8{6F5x?+;d z?u`<19n*vaf>uekPNxAi@F3ApjxancEtAK51eaB6gS7J~whbN5DduD5az(LefmYjX=eWNTAiml^JAUMRDZbl3J8r8Z`F3Ba zVO4%_z8)ZZ0%A309^@t^Va`$W-$~QNOsS3K8hi8-%tB`_u352+44kpbIT#6r(0-or zPrQqEDrjg;6LzX28Y8STxUL*e6GU@xDbaPxCqKliR0>hKI+4n1z=c8(%Ezx48yohcwZQS%}SjQGVVWeTlO?h-vuc z`U;+vinz2jFyFsYLG(Bir(*Q&Wq17q$(g;FGow~jw+QE0JpF2Z%P=yEwGcF22BOB~ zN}QUkL067wg?Hf#1a!FM?IatKsO3^IA%0vElDgUDxM$bE{_au1k7NW#Q=?H+O;zbQvrhdQ#^D&fEoON`82-4q!1& zeZ*P9?|4N@r5fz4lU`Hh771B8Jxz|TNH*=MRDe1Tk&mIujHJcxX@a_2GTIg0hXg~S zcd#0jBH#NS4v?EX!)@`x^xb%wOmT`Ts6>gd{r&Tc<5&9!7pLbxz5n*~?a?O5L$_a% zGFRuP5*va8CuchIV9V~Lw2{nYNan`9WTnwrf(T^OHsfAgGrg7EvM<-_uBU2`S`DejlA;?-QzyNY{M#jg1kEzd zq}~xZc28Lm`c-3VU)xkxS3#~Xtrc$NL8t+Nr;zPu_OvSLvr#fQXR+lZ+?4X)0X>JesR!Q4-#+O$@YG~6g~y=0&cWL518bJUO7Xn?~@u^D~mc$8&s zf>Wo8mDkuGIB4A0(Yjhz6}nz_wW^%l>^?MfM9B{ThHLwCTUkZbYT7rGxGj56aB3=N ziND|C)W&Db@8pj37Gecf8EztaoZ)=@9Bt;4)WZVRZ*w`cuj{>0f$D!w^ag&*VC@OX zuUU3^#$p;y8x8MI?LbF3x`y-w$p|V$fjUb56ZnFdT|32{O@`$F$;2xp30Wbyf=In3 zAeY+}&uEI>Y&ET7lN#dr~X`>Gx`>j9{l4RXaiy&)&f}Gr~UI`iyNSELs6`+E*Z8A0R zzL<#2Hc@fXIokvSKdwk91OAmVw+Uq7ZP;5`c6xBOR9}5?v3}!tOH_GG2o70%FK45# z<%f^(4>euyTeF^!C5b?aD}hDjC5TG`S!um==E^5lmO|AvX`to}WUckuxr?>GtiIM# z-_nxAymg0m72sOnb(>k4!1=qk|0)&LP-;t^8w^-SH-j-AutKVI$c^-Ke)|&mCeQ`9 z(XG`?-@X0UR}xgCaU=_Ji`nV$LM!_`Use!PnID(PTKntd#!G`y+tbgnTGOpo+OvM# zL{%J@4*aDkDtIZx+7+{^$qJaF)}C#3w$=lEPLeGd6UQCSsbd2@1}4Wc>i7E#_d)dO z_m$10KbuXcs&Pa6?Sx}SWvN>6i=Q1w-OK8jF|k}&_pc#KpeF2^D!{57%2Cc(yzW#g z(D~?f5Z=v4*&)$2$M^SB$;{gP875&PiSSZ&3l7#GTLTCm8h9p2t zLSmK@YId?ayBRV&v(C(>Kxp;~0uL-S6)cEK5W#{-6a!(oX=-~mh5smEIIE5;~$7bygu=eA%Pd^q#p^A#5fE9K;IQ1 zkYWS5RDg47=C7!)N|F$_TTvO{W>@!s(kCh$QwPX1oaC#t!jT55Bj~%N4nR{-+o@+7 z7NjVg-3FBFDZ_bM;VLNXC6>{RiI0X+Kt7vc~aU%_Q3QNz((D^6h!QzoMg@AIAYzjb}#)BrgXJ1>AEy3)6=W%^DaB zx{$&FsUS81hdC>Qg4hA57D?v7SoIpN)SC`73AkSx>#`IIipp7o-6hnIuM*)eKC{*IA7yd3@>lup?l6d(?5SOg82&U+Ui;q$@i)PEDL|Nrdy9(jO zgF;_7U%^F7VI##tQCLm~9<(O9npzHBTYdfUMxD+V_De)wS6a6% ziIQkffCUa3S84+S?c>WSrJx#dhhtfgkihX0s?Fx(iFGR|IX13fU?S*9Cq~jxI+qb8 zlrq_(6(Ig{Ni88t zl*G6ciJg!@qIA`knwVJRXF$ptD9NAX{Q+Tx0pw;p9$J4)AmL8iyf)zURq1HsE^#K} zmlx&CL%TuNoHWDBPXas#Mi%DEMHfs4R1P{Vc$-C+sTBFFn7qTP&NL=5t6g!Vy#LK?Lb;GN4EcSX_*BWED;gZr~3gQ_NEGjFDZ<;Rw!9L~^R;I@uzF-&8e4 zf}9Hc1Wnlr(S{O7@Bs-hSnLEjDUtIQWm{A(f|vA4QbK~tlL-kn zwM3-0_=>h%la>`PGKgK46!DgU$bPG))X~WAOx{&S3xM%aUgV7HVgtldq}fc$95Ex> zECT@)Jve)$@*||8XqNtscuXq}ZieANkc*kb`&^V{XPJ@<-iKW@xu1gW1KLTW&@nh% zUX{sIu@`SccD3GuO(Q3R3>?m!7Fz*NA!|Oc^M1)5bmH38dE0$eP+=ufj2EnvsB+5M z+m>wWm28_t3Cg3}Bo}gVx0NuQBv4g|KTu!O5$t$`NTbJwkWr{xNb%(2eKyp>28B;p z@q~p*VXlcR`Twi1!9gj0fwn5iY=T|fi4zPUp z1A^CRtuef7%eD8}D!E&jh$NdO`nyDkn}le3mC!nmM}MUdBi$+BjtMfEY4mq1D+5h4 zAyUv`Pke%vgLqtsIV!XB>*_z7M6F1aSSH$q0B1#hN4Uh89b;$}$&iqt?4%YUNwY&v zK!Nr$qC|=j;yQgu5s(FuOc{TGW%2KNeF6L00FuI39S#-1QSMC@vc@jou`v$#_$BuM z)6+LzZ`_jOf-PFQ8D|njs1GKZVu!K%dAC(bT4aZFwIbZCWL{Qz@ZcmhI@`2H4w_>n z=Qr;z&|dsa_Yh*xjruEqfzkn3t>icS;tu6penw7KA<9?g7*RN8s@epKAPy&CB8_C3 zNg8OSC2jyErltYP7_I)Am6x8KixU>3Km_7*hL=f078H5wY`6&+k-Z?mk`ygsnmX_B zrr%uN>qT~1H|?SXk!X$R5GSvnqQPedYNc{>^lDErEGVZ0h7X8<<-LTtHS!6EHzEUZ zImNKZZ-IDrhR^kcETXbAqQYp3IPmlCAQ^+K6}(#nRt^jpo}QQGC`ix98VCjyx8QaSRdPDLO(B;2CMtp49LB{)l6viby-R%yACS6Ip z0x0Gc;~N@7#Z5a~SAcsk?PWOm)euFa>j5a)7`!}9{06&pi5@LXy9Q&`V1!iXX^aq& z4^i+hGNuVsa1WJfZRpM{`}X>Hj*)nD<)^$j&R>9=4!C%hRr~>>=0D|7H9;T}Pc;fl znUG4UMuC4aT^C1Cw{S}%yQ!)X8OS|}j3MzTlP)qt6ReO9t~|79{UY@S1f`^}Of(q@ zW%2-Y0mQQfm0=`$s@j7Rfxz<;h-2I!DPHrg4(Cl*k}4HKfJ+xginNdllF%0(aj3ut z{P0gB_Yob{sEc6(luO%2SGfi44PFRd5o0JEBa-7V8b(7qPb29Fa{mx_$)pGoj$))4 zs(x#-t>K8eutUfm1#G~}aB_|$t@YeUd8jgs3(?;+opP|w0vXckM?J*&a0_C*Q6n|E zF@eL)pl$#q;hyHPN&{GAI4?__;_v{9q7X6)+*Qhy(^j5!D+XqLeI3#wpLNT#5^Y|A z=gX^ziijdijQ6UDh~e)|LYX2UTtSzV@_d;NMe?1Dmg#TAjRmS=HWAB*FzDm7M{c)_ zEI|U7W`&9~SsvMYPt->Kh1e=^@|X{Z)+|R9n63f&ji9fWs~lgUx(&!Vf($4j-OAwW zA+rzso@8eT@^05Gk*Ll~jM|TyxbJC^X;@|{A5}#%Ex==13Sib?k|KahiEP zC=C_rIZO@jLg6_$)i|joDc?D4%G;snqB(e{z(xx+Cw)F2Mnv$~D&Vf-C?DfO39VFz zjBDqy6+5U1w^&LtX`uY^#S-Heiz&`sED4OOOtg1FZqQb#l(tHK)+)~> zUYQlJ0+I3gwXQ1yRY4FjniL66@K2WFyaCEfD|N~dnUS?Z%``yCg~o}Uv!n`&^I%Ot z4QrqTcvv~j9Z`+@&{|5Rf-YdVW`Pa7iy4LHTvd8!J-k^%>|wZ5yX#8s`l_s$#q`B? z@x2b2*2sB_Nfk6M$yvph(}I9*#S~YCOv$opEpJgJ)vHF6^x+&&6wWfJ2D+n=NqJ`i zkS>>9XM8jmr}u2360-&YVN+w+j1L~rI%<>TTqH@kKHfNw z@*CrTjCl`GOslHd$)Y!18-`5srx7PLAePcB3q+T|_$8cQD|C=^oM{MibZUuH@fg${ z3?`3r#CbGKAi7KqS)J2hqe*zJpMaY#33$_Dk>y^W@tE?XjV2&5kQSSfKirX@n-vRO zEG3F*v940v9lU6hVYqmKwq@YhgLKkUHy#?3=3G1+GRzpHi7l6^;serX;(DBgzYQ7@ zjmn~?@}RunwduT1d9Rn@yf)m*HkfjijSwgoT|h~Y^D!LLfzjZ8+-zVsH(aoB-K@P) z!Kw*hd|Wqc&m`BBl&PuRa>vJmZa!KRDKFiP8(^0^nPF?khy>BbPG+uK1iQQn11;LG zS!|}mE2G`$!6Zl6VxgTDn>~C;zM8H&XsN9N?EwPqQCHip#|Fb47!nmod)mb^ev!6K zq9rL3KBLnMhc_NR1N1qk2+5$N#~G^qyeL^wMhGiXImJ?STc9+Qv2tlNpOVu6_Q6>s z0PGWMi7LQe=NYYR@DLI9KDmw6NBQCS5T^FMTOQq2>f_y@N2N(Od$?KlN4*=|Df%dX z{iqtTV;1R;6-%h)La``UU_#Ft8qHNsGTKnR)*w#9sJ6<}TOzuA2LvwFlAtQ92Dfn8 z9Eua0$kF~J1X9~CY@!I=aA*cjb5?O$5&&W?AX1E5)0^ku?IxJ&PPxnva0as{98E5! zuRGW(Xv~dpBBa=pk@;ZX4Bk&-i*#u>4 z(3E66#)(N!^QsW^L~4>S5hn%o;mm<98fr#?r={TORmB>N|abSQeacTfHCPoVK8Bs#7@-w~ii zRpa&1KByUh*yN<7JVvgR>GB8gSH4)1@XNt{Ni%Ej+OPJ}H$;8XUKp7MPz#&7G zKY%NQXO5hZQ(5Q!|-Bs>egn34N0Nx;bnilLI+`Ye`e<3fOlgF{kYfO>8jf^>f}x5@N6k|w z-{IB!y%}&#jW8Jpvs?wF3Y4b6o~QtKI`POt3FXpIQj1?OO$!I7XQ;y3grcBfG)2Hs z9X}z!(i&!}2898VhR%d^${fZ`hzKV%aIA6L5J%et+Ruv&q@EL01NATT(m^f;*w~=} zFA0cMC46OrF$e}OQC_DyD~a-kf~o>fwxuLp$lMWdU95=0$3_^s=w--~rsL^Gi-1uO za6Ek|B??F;CwWxmX%Nd0oUzCRc(!LaFBJ&1NOMwn=ple>7d{xc3Gp?+u}6&JXv^^C z<|=1M;H1uoQ#+~=IAjMi;I<58^h@{qM+J=%Vdj2;;n6!JONpXRj4BFYfwl=rE2RNW zoMfZ;L;#LXRVN-*h6ylGY@Ickd2*8ciG)D};941O0B+9k)xfDUz3MMx1_P`!5_s8F zS4V573~3~ak|EB#az|_#BJ#U|bI0;TG)j4c$_AT&IFUAFJLNT*+VBtY;RJ9f;Dz$p zVUu-y8&=evAuy4{Y;i03W?;554JL#ME-rt-8Ja3e$ge-3L!<#ZO=Mi~Ek>bAC|n3V zQ0pk^aKX69R0)L(q(=}U7m16Dk|>tps9Y`6>cNjdp%IP1vyp&D&9nxL{tn)ajG8$Q zhd`|{Sve$X5m?%Q+TX$1kx&c8;Re+H7Df-{JLjwp;V>zCH4)D|<%}>k3&tuc;1S_s z*SiLQ4GTQT6-_B#bL=Op^I1OnuKfNoH*+>lm8wGG;*3?<9lQxhJl6&^E4rU~j4FzQ$i7TZmDL3t6d=v}td!9R9_PmHo>4|C` zYKjxuKn9M;R2^0DtGrpQG^Y(<#{{L?p3B&o)Jbw-o^v4+1}eDccaz^;8bgkA$VGmf zp-HG#=Q5u6YPDDGYMQT5!`4r(NfsxgRT}?5k5{clr?$a zY>Yp|wLnKcT`oPwPd2ScOSp`IlJH)ByNFA`WuB5ye!8S;HC0{24H5}qC4@10gq46h zbF{0Y2QC+UYXG&h>=scxgauAAS($KJB;c?o+Ph&9Fu4QkBA`tfr5a?Y?t@xghm(XV z^d5=H97#3?12;YiMgtrxJgUa9nL~Qu>34Rzpc165D9Q<_YX*gxwm67d?rV*5_A4 zGTe|mO;_KegqKRO`yq?`O_Y%7fJnP-dP)W>2a3B8q?g{6NL4-S zqUQBmo7X_=4sP~njT4PCoKlNa#)%+=QmG?TJtN_FaZ1B)VJELAbSQ=ic|2X57HwEk zXIS8hyl5oga`Ix?if8@?f*(^95zTNod7j~sF_IZOByg$99|kze5gmDEz)33SWfzzV zq)@>0!V!Fq%5Xb~Q zh!IjunHtut8WN_T=hGRRveXLZqbPx)N_4NYpc-VM z*hWpEa}+3z+Np(_4fhboe??3IDM{<*T>*&qg=8Ei#eEpg+XL!*J+RwD7xioSE&kH# zkVBWvNQwlR*|AzqbF?TH2z&`Grz9~Nt>sb%a%13!t^At z@xt)+I3Zkdv^XJh5MlyNxtYiU1IMz#OAGQ&q=3F3L5K9#^=ybwPZ-3^1qOkkw2dq_ z3_YWlA(0R?l^X`JVZ>7>H>yFO#@Pf$%9+WHOCmN5h?&ZbOCmN5h?&ZbOCmN5h?&Zb zOCmOcLn34umP<0zD79c=Q|-GBa#_cZs31H1I(TuOR2$>t1RG;G-0JxBTZR_`oBs4Gn4i)UQ&CPoNT&VukQU+ zZmDdt5sZ&Uha7$*fd^tWaHjN8{S+@XI3?Yoi?%7TdnVpOns%~@8VeAEE>;bkvG#IG zFi&0^Yv%Z>MM2M15m5-%OhGjM=3!C54_kS>+r)}%f&wWC=HuP84uwLRa*q}miO%O- zCb)z}L1ZS=&Je4vMS;gLX{?M3dZt%V=$Vu>lxct+SBrwSfVZ+J)r#AHZ~(eev%N}R zv|UdBD8Dk1XAbh-B)_?MNWbVFd(xOXR`b!kE-RVAh{ z?E7OlZi<$Is1Uq<8I2QBJctdz9W-r7FVO%L@VnDs9U>0(RY(p4Cb@E;5Hz9{jbCwi znL<@&P_9zifmm8k0~h?k>QM?N3qac%3bB$Zi54LWy_3Rvc!#F~9Fb&K5HcA7qJbVR zc^*!hg@Abvo;ssZt&ysWk}RVU5SJ>2x;0U<Nwy#*_LA z8ueU`>!|{F1Sl2{jV4SOd*HIV2=3Gfc$L=$K*;pCSr znHLS|dgbFh?2}eC4$~vMvcV__v^&7LDb8i$C8|L|ZDx)_N&^Eyv?y>M(dfNWjdTf| zTNPv%gr0jepNPP*o{Qd%oeFUDbgF7Rrn9!gMi)7AS@|O1G4K-fRT%IPIBpaUd_>@G z%)=V%MtbClBj6!55Nj!+NJQWzveM~Pfk&Kp1mH4FA_8|&e#*s2Rf-}6$&P#(HAlP| z@CavqR5M2hdcNOqbyUzG7f1Yi17hyND}F>Vw{Zbq2`%J%MwALPMU3=Wveu4&#GWVU zXF$S#8g7Wx0{8N~m!%z~1`o}-k!J?cf`_6X0r?fA7i0suMKy5Bg?sQ2l%El8F5V#L z8UPzTI^}aL5qBoAQ6&n++!OH8Zd~R8xksAEVKo4LNx)Smdo~8c$G;kUM)YGV`|ARL zGbrspVfrB8#t>G<9a+RS0Js35KwiIEb---qM&QV4rSX94uC+nHk!Aq3Ax!=dWVb6y zgQ+uSq&3f~WJF1HhFWvv+%Mw9pUCL#=4la?vXNDE)vwBS0c=QBh>jFJ`>FIuAMF5+ z6m#|ijl+o;zHaM>f-g5Rfe*EH`Q6yfyF@swjq*{Gc@DiEV~1PTjvlooyH~Ia6z7K9 z-p59RpFn$q!#a)l;YOzP3Hyl#KF`v_jp4xx{Ot5R09%Awp@w>927%WJh#>IkqaDTR z85vm)M{!QpnBwfrMxVY;Mwr5PWMvd)jnJUcsPI+uvKf4B?m5*C-Kg-*Uh5S2reaFh z@WLgQ%>EvM7E3eK0x?bve1YcZ3S9{to&$8HpHV&f@J&7ry+z5q3@=jwk#>`$hXyBE z;v@)fRziS|j|NNa8Ll9Q&uC&SBKI^xDCFT5+O8iA0Ll*4y6-eB1N>E6*-n1Z00F5OW2-$apy%#6x1)gV`W`w4;}GSYCRD)iEr+XYW2?A7q2zj|xG7 z2GBr<&Bak;)Fl^7qb|8%8WnUhMRg`c9T#W@&_q>;LQyctAgV&Vn1ydldDu{4IO@M% zTN#yNEAxpCWF>JhZaRx|303IUm_t`(yMvdFRvIAvIy)2PCS@5)4C0k&q36(5g&{aI zC(nVRrexNqHV%C@CeHh-YdDcTlYB&t-hDhQ3 zA1Maocyvbx%Lm*;1fG*Jc^}1aCK5G6X#(7+4Uw!Du&SBJa@GTl*n?a#dt~wz9LrPg zF8EjUBl%7K$%-l?s))qplk9x)4V+{ST~$CaLXh~;%n`~SKg9@80R2BX#{yiDOdG=& zG)cJ{8!=@3*H3bCK%fV+e2I-%V1{cF^`yfe0sK|5TF7=9tqKtCC97e;Rmz41u8nMJ z1mHo(y(w_B^S%*)E3s$8)!3?F;A(`LO8741ky zTh+jsn*cXYO=Su^y2Mmb0FRJ-N(a1Qsi&d`9xA<*4tT?oON9ikh{{Tzk?q0&M*_0Q zCmLUzFC4frFX}%C+{FuY0nf9t7ZOU(tGp#sVio7oln_P5Yg`nEBmv6nAy6z!vq~*i zEviV0V8hY?M~&7$N!l7J^_l$4A; ze-l!{%4ry(7fL&ApwQEK)sQO*xwPnlV^H!J&8-DqSJbE?4PMdNxnR=>nS2cH>nM>y zV=7|NQVO9OMhy##YA8i4T1^ZA7id(6KSTEEixxQP2e5rX58NaTf;n&>!==l$$r}RP z$8egW<{A{B3Lh=-FbZf`;2|@oHe}7iD4#i)2s}su4NvwED(J-l*UUQ{@K7pf zgMf!oK*ItLr3GFnaFfLR{}k}XRX{a(ivOGfs-Mv%);@!g`R7&7U>q)1@6_TJU0V4N zx@RzIjiPu45Bs-johINep~`8(a+g@&)MI372@NgaLaCb#5^!OZO$6MaZz{@W!Ke&1 z&_*ZDqSH1dTJSL(qSjDU?=md6&fX=>vD;ocL=T8y647svA||6y^`LYhd=kFF-xU zr03-#?l2S-aH{h{f+o5ce8U{04#?N}4rUGpawxuxgD%2RjHqd68?v-th=v^*q)xvM z1+pP}bx4rrTD1}6g=o`}KpJ#uBghNUp&8CAK!!5Wu&PlUq7a}Hb=xBw_fWi6H5JVo zpla!W2h|iaZb=!YF?nL-w26^{>+k30a5Z=F3j`SgI8@idmc@}Vko7uE6}1bgK&AtZ zGZz&E`xaJ%LiCdY-Ixcd8aVA2Km+}vtFtsk!Hf!KcxcACSd^q-JB>LWBXS+a^8t$P zuyu(d0VmFFgDF=T&AGL)@X9ts$tQ>poU;TsbSfK>a=Vp!ek6U@E;Q?o z=0^GbG$nv?S}36;#wT~fIibY>i*y4Y#W5aQlyHtkrwQgxWz-UyO&>=cmX&y#X3y=0CXKL1ZmTvgfh}0Bf>CjG(v-g zkOsJ^xmE@q(k2_yGTJcU0mj71L}`!WRSgh66rS-~;{;&=K&y z7YE$59Ah-K7{e4|L?i1=V7MG(2;hctj9TF4(Ji21g&4!m+)xEGni7}|s(%>*xarG? zyyk9Y9|ymLT(AzN0Uqgbf^7Im?-3?eJ?#t)br0oX8?D%3D2QR}#%XbAv`TT2z^e{8 zrr84-=t3yn`OE?S#S;~`@#m!MmRaMcp3fm56L|AItZaJd9D@ZVZ7 zK@T}htpq&@8of$FXp{^$Zap52e%ICmHK`lNe()D~*jaI&H(rog(^>)VTC%f0 zzGaY-Ax^#QQW-*N74n?>o6tJrLELqhSDXj(P4(tC9ck4hSDXj%OTqkBUj}32MTh8K`C@Cj%rZ& zx0T`ujnAbmy2%@?C2LVslo1ZWq zQ2;miK1PLwjuRriVYj48njWZEU#oJ%cm3YF;)fWKkac z7zuEhWhk7I8|dj14ffhn2w^6mErAfZ@)h{G-&urG3>cbA~8ta^UMM|`J8!2P@^c?DX$gAI8vM3uEU7t6zQp#Zmc z+@6cP9c6Ts#tpg(YJj6R#}Sm*sFG^ng?jST0Kdi7$Ce!V&D#iE{ik*jbikFFhRiPN zjMC>QH1Lrkyz2YH01t?!J{gSxynr}|hX$^=j~jtU`w0y^s}h&Yfd{aSMLR9s?G})3 z=G3Eue+3l&*+7NZ?g`yP2+Amd`>0C2+pG?_kE$%zy2h&MI^hx7+q^u4DRk4SGdftP z$gkW?Qi=^|r+a~W&Aix)4!8+mT_h4Z7o(DVM&N3NYHh$w2#zza5DkI%N(pbxGzT8Z zD_Mg?!?I3XAaI?3vI+1De*g~++}u-H%j6gR{2dXv!Dm?m{Nf+K5pcy7USCB-GhCKz z%vHDzy;;U-@OCBwr>~0qgBK_lOJjdCp9sH<4~>-`2e-hKn>-bp;eeY0RDRFN3to+w zvSrG{Ln7#>{LDi(K8d;cY+9}$P0SD3aiQEi_06F|Zk9>hR_%#Px1RO$~a2JmQ zzGjPv9vWxDuyk(&8~P;|xwY6Xj()_|+o_!{LP_Kpzn@m_gs7A(4{pW*UD%79^7~l^dyq4ni}#^6 z#Q8%{KP#9r)d}KIbeP1We02<0!Us6F+#x;$ezXz23&W2ONM61{`0)WL2tkCOhhgaw znv%=|oJia-1>|O$#F7#ZM4CfyBm!W0FLIut;J<*6;wUeTd{a@?VR)LNXOyhm90RV3 zp+t|3aU)clVPIr;IUGI78Hc5YT%8$c2VXPTu%iE-Inyd8EH?UBHj z2YV!kf^Bl$uLjP(w%)en;L+hyNR(JQQm^#jFjJ`0kPrzM%}D~qf?U#GerHbvj0Zh@ zl~Uz2;5j3S4=fHc$t6lofa)3`NGh!Z8qm4;$s zc1@FD?*6ZOhYW#Lqr9~D3-yE)4)Wjopst5(e0~kdAjTKPznMd#d8fJrEE3IAY=hon z8^9#dyt)2uToUH3XoxH%8_PF899Z?0C|QC!qD&`^|zp(Z%PnrQkLxap%s*n(Zqs{lH;G8BX%0*eYe<6+6(gcHy@Sd&~v+OYsjRpE?C2%gO{gcm?oWhy{P<53Fx z^o%^!FUS*024cu3wavy zx(#Zm^X5&%zT+WB)A+XAV#$}|Z6&lsjklErN@#(jC0ZPBV|Y7NA)+)*R(V=hQDm)< z8nJ1yl)$A@6=Evo@}*W*S}Q9nD^n}UCsji+d!_ah+Zc$&nqWr4psjv^mv|S?rXgSE zzX=#5gP#{9F%6g5LSW2FzryvG_kkRU>;@xp9gv5;v;>Bsj7&Vqo&YFL4&#+?yQIpq z9QU6HC^stSEYd)#-~kH{E;sF;}e0O zr701rB_4cjL}B{83&}?!;*sKn&Nx!4#%6(>;G;NfC{W`fM&vpYfrk-9xrDupJ-nut z(N*APE%vy6h^&{9m$Eooj3?#oMU)i^?hV={+29q4Q&WdN+YeTNI_Kn6xX zYviBYUKM*#_Dig2rCdHb6~sc!W5Zz{lm*8Hv?QMN}Nw zQjPp(k+m7!?88#PL@F!fuvm~=jGTr*m+S$PT+|Uk;z0#3l;H$>#GFw`dl^v@sx)d; zp=wttprlgZqoq>bjk8pY)76X+jiabiD5^?1LupB3IByS>fs1zcfLo`BHpvtv_Mm!T z7(HYd@g|bW2QOI+2X!g@B~`))BwV#pq@{r0rfwL`cF}V@0Q!U`srp@k1iVGJc2?l4 zf`8h`5)hsZ;#m18((|o{7hE(tpamKi0nu@=c_+WXS5{d|cz2amWF|wNPm0_eUK_2% z8#Wch_DPDOj|f#1lRo;k@(3=L62(+}B%)?=Jc$_q-3GK0Lu)FiCi_94D+ETO!9;sp zdCz#e#Fx<=(3fQKGj?p`vvUEKwU_tAt@@jf5I1h(c>9Eeczc{JAwJ|tU3=QQCfmEF z^pA*th&528fYm77VuRTv)?{ZJvZz=rV`Q5j+?F^AAu{Q@-P*>o8m6RP37Kvsol}Gb zK7et3SKvbLtQ3bbOY;FqmIU@nfvQq6H5Lg}mCcgP0bX!pwZY9J9U&2jjL*+j$qFCv z@KCWKCUeT@rfM}g&LVEk=ys>s=KJRuHa2b$6OU*XXRq!W54kNC*t_-wB?3*A^+(w0 zQ|ZWKV2()z1Mk^eV_N95K)gDM*a}O2jlQ*Yq%{1{9b`_)4*z#?@fjali76ySUn*0 zrVJKMC3GpnxdFwYM5@Ss0OTtsxz(WbS_DP(=%i_qh_4c)nlySZBL)d5Eztde;eZEK z-;*sI3hWG?lLVe+;V`@)KZQVOB32(jLPC*s2rpDnf}3_*6A}_oE&^H*6H!wi<1Ljy z1%*vNB=uE7Lid13TRloQ(gocjyC)!VxqIOEjZcV*U$1219otT}}%kT>#a^46O=b^SLh=Mp9Bz zQs3Ua(SMVYk_`V%?w!=DXH0TRpOii+y_1uACdDKr_wAe9D+VMr>P$m?0-{6-F-aE< z%Q(6JM?PJ^Z9@d!t5d!S69B{oz=8LRNUq!Hq(et-7kxuZ0svqH&J1q2a+9Quf_!mj zr0yc{QJkBSFZr;OZZsPjPG4OI8EQm884%R*DHw{%oJ+g_M3+D#kw%hfB7sGrryx{& zfkMGHya#v~nsuXV2(FPX(ZC`fh{znKe@c?wZ1kf_P<*;cU0h^{mc<~xD6>_vJ;ucg z0xkM^&JF3Q*3y(sXaboXy0ekQkv0H;OkkF#1le5RQmbc!;X|{B7eRd^-A}nn@qI}@ zmSQ~BnnvZGNyr+5p9WYss~x39%zZ;5$c1hl)S3ib=5pD1w>jTs#GxY zkfa)ggWN!m ze6HmEnSlw33{f3NI>?%qXScZ(dzi+~A~Q5U6FOXsWlsm2_!` zK`kKB^a<4<=bC0VgPI9;s@BmC>$E7+PfgjXphLX7NI759*+=>DDcoBrBwqJZJwRa*e+1r;vC6y!^@D6+-!8yd3gmM7!?x5@wQN&ZW0IQuWZviNmCkW9xaMvkWqAFqtAQpXc%QDk_o*o7nxE|r|>aO9>Y`}%8U4CPKS zmSn{)#$O8W9RTpe`qib2oE|sW&P{%pLhhs_S}6$Ype!(8>Qo53e*^o$ZgL-){b}+7 z2r`E|u)84q1D;qCFGoviw}eH#Hq$~e>M$*C&;Wt<^8;-?;>X*jOaTmek_lZ3242KL z)Ghm42vo)c;<`e)U0hkL==+%GKpN=YJzgOtK*wLGwxFx%Dy4n2OpK{2QPTY=WEG!< za*jQg_ljy0OqF7m_W~qoSXsvCF7>3$0&FEQK8EvZC{GIlFGLyuHG=(vt*Bk~M$-zq zg!23CKsH+kchI&T6h}J54~lXeNOsT_E-|<%4aCL*EuFQt-Q;Ry-VJNjg~K4ju40DM zuYt*U<0jfC^g!mju2EWx&4vlxHQ6rra+LMkx3|&m}noLWWXtyN*yV^=#H)Q!J4hRgGX5a-(Q|)qU;gc_r!P9P!db_4-1d-Mn zr!}TQnX5&lYqE;=R1;FD==~Ge7zr)XlDZb4$f^;D*8Fl>5EwUY9ZZR|b)>+Ck~*n& zdsk#t?n;EGpBE%8*ho-SlN!PqXvb+lUnBuT;23_GVZ70G5Dx=q6+Hq_MFF5IZbrG? zIxIZApce?l-rCb9yMxJ!p;ilNEE8;yUW9>TZP6joeo?;8i8v*t!3{4+tyePRLR}0c zA<~rzB5B*uDJsABLZzL!@H%D32`?=HvD^i$9OybcJuk~qke-o+sUmB5PGjm@r^c|R z>anWH1LW}n4aS-Lq?9x;_hAX59TuZjxtCoMXxi?hM2QxVi@!(?HweV$j>jql`oAHH zuBmx851xtILA?**KY=oT&16w5S}-{%5ns(cOeJ<7a488~%IGSaI$|O1XDOF{46808 zh}>;7t0z%qG>47IqD1>avQ0%==1oA<2e%t4Z-C|`fuTj5GXpz=l~N)op;2aBNyX4y zSB4+6i%yiPaoDc^4O(!oUMVIzZoj0zU4ad;>LA4T|5HxU=YPuS|CCc*o4-dn4XYD| z*rBQYlKLeZv`zi;MyYc~J^ugn$NwVz5#S>jpT{Yx#-twqyvIymkR1*2VGj>=s)R46 zZ9!+c!M#kSl&ciE z_ag1FM1D<>O_J!0<2{-Q%Tq%WLh%<7lixvgL?29|3mXZc)49|l`S8diMo3BmLV$w; zCN+qdQFxq3!Zpo6cT@jw0{2qCQ2p=ocYX}-zatBV7N%!r6%WrJk>$9UH(%{1{QGZG zpI$wU@4vlz_fGoX`|m&TF?;_-^{&83Vj_UoNfEnkqZ_1Lkypg}HN~p_F|Z}zP$Vi) zvp2Zp&~p)aZji?4BA9F|f`YH7tq8z$fg7H zV8x7K>BEO+<>n8y`P?>35Y3Y?&6CY&o{*54KYI9x?7S?H?Er;Yw~x#&%*q5q@(V%w za6p6uCdq%z+GvtpiGdP1RFM*8(xYXNiSF!U>usxalI)!Fw~UBJE}>jyP)PzP(n><* z!IVcoo^>njxgke7DY`pH_iM+OM=Xh2ykWqN4dk>26Ad63r@TxLeer3P{7A{3DHPS8-=wP zMGz@&i*N87xXH>!T$K&IBQ0sFv$0rCnvf znN^7&0Z3Uer%YKVu7?gV7T{)p5pc!>k>Ol)kWW4`R7xmpMN|?Rx(Tkbh=I2N#o0UA z1_rads|@Gaq?D59+EL@kwiZhRlAEvK;+0ztWdjZug=)T55YHJBgovW;G_~vzCE}c@ zP`);yZdwwY3{RX^;pAvHaF>|SN_HnGqy3PuC}T+(2jLQw8L*feebjz%o+`w2v<*PD!vmWKLO_ zYl#l;x+oYBnP%upxDgl$#NtyJie*KKVJUAc@zBPR!Ll?Y`?wHxNvonorwt6D7?uRa z5Kl3D@?-SS{)RIlW8XwD>SY7@P>LYni2&u1(h`4UHi%PQ-DNfxXe-U3IAeGdX54^f zTr?-r@iyQnWBfP`6<5Mj0=m0bFq7eVjf9St5~}3P#Qw`Qx6ZFF&4O+Scsu7d@>0yBR_ zDJ|%@A8J8xM>L%62Pm#!)+#;#Ib@(yzvb{wz-UF@34Ls!kWkX}7zh^nT6wP%oKQ=X z&v9O0ybM$+p&%hAk?#4h6jfm1_zJv_;69LWZUA{0ju(6s3;C10w_NHQ*+2U++#Otu z9bQtj54;x-Bf|YZDWz{;!~MT^-=4kycmMwUMlmC)`4Evwuy}Ztz0Kc&L zIq${52*3YRl9Q8r8{J+C5@|r)_)OzcyM|w1W@z&aRCkvuDj3)pnBpRXCRZdqh{HRWiy(+aL)^G)*h_=ZJ%pur!QuF zQv0vkBmJ&%epz3?@y1oN4nFZ6D=u97++7o9o&s5Jp`f<) zoTGa`FMj;nC3Rl^<(}tL6JOn*`$@`YL+FvW`Ck5P)Zwca&F9A7C-z-3a6nO_@8Pst zuVuztiei5`FHSoCUc5utQ~cGw9y|Z+TJx`&n`W%r=PHX?Ry(0~=koE#zw7J#mZW;2Q9dFI-GPC(!&x_yW-`J$S8CUWAqSR*>{rrEs z&fL0s^pEQ@pIp>*!LWIg>}|)+?fUr_U-jE`@Ny|ee8HOgnRnB!&n*LHrhHTXnDft@ zyG=+LA2)kzr^oN#{PZ=q&$)TeMBDJ3VY6EBTkCq)KCsvG;%`+oKQ7w8b?E!>+g4Z{QkX<4J^oda`Q6>pI!6o?+dQJYjl&vwKsjA0+uKEmu{NzEtC}ay$>x5Z z|Nawiw(D`-sq}~Et>`$e%e?KL!>NmYow57Yrz;$FO&<8*mD_7uKe2qlzbB9V*O3tq zpT6Pk8y@dCCHK{w4*Qz^`QBGw9PWEn`AKF<%Q@M%HOX%0`p1=P9{#44^LX>&EriuuyS_VO#=@EWWcttN z?@H_O+r9#KYuN0vcBk8ooBMXh#m>${W;a{7bI6J9d-k699a(36{mVa|EL%H$!3SNR zn$d0d;ncHJPL&_s>G|t*XUnJa1~0tb^5u{9#VK`jXAV9-Z*|MAu^;6($yuJhc>n0! zu{($7?)a<4k+r4E3TFOP`)vIWpY2=s*Oqrv_}%P+VRseQwq|baUOaJ8pTLV7cGg_e zWaxk19<=hWm(HKtarWbvPIqn2Z9P|Zb^BKB{#duA)1&wQnZNUoCf#;Fy5QgYt*h5H zOFsMPCkOxUOY5n}n`W=rx#i)yGdDEfQeN$A+2;uR{=WJoPvx#@GR@BSKB{MpLBt+H;ozv+TucYR-1ykJKA z8MB+_Y#W|*UGq_n{wFG1)wHX;s&ezm*NJUqN& zW3#$xDbx3^?*1b4*5m;zURnQ2S=QQ#%~HSp>>=^xmmTH#trxoXjbAjiU8~sy=H9tb7t(^D;A$iJKMB#i-ViK`C{7BgMXTH za9-^r_0xKvdD%I;|4S>`&Ic+_uDmZ{b<5w`#m~O-cK2;;m(LFzIND_Eoz`AQx=va% ze$R~Rx;yHZw>sQ@)Slmd-Sqx1uGKBO?5=B5lNoy~F3`E`fvHU^+kV`7$^iTBekU$F zF{A%yPyTMHn0D9d)lWXRtj9y&zO{3B-oM{}cFFj!nT5~y>9I{5;K^w<{MmIme|4Bt zw*Kb3EGK$YoPX`;?s4~}ZlAopplj>qiE}O=URV5NZujD0HTg}RPr7AVyQMMQi}xhF zlGo#hM>5i$ZMC{(+Yi5fXV-zb%TLbtEb^?K@N524>z0)De52i&%RcV^@w4wAk4?_K z_nN?*+#l+G=#oD>kVlJ~azu@6KKWBt3^nPY=GbzJ*} zXUDK1A9mc?d)&#AMZ&i|%eK$XOWwZWy~L^>1y7wCQqtv>PxgO*V&v&#pWSQu_9PrI z5f1p&vM*D%K0G_-`19+!-P&bE%xBFu3P*qWdD7&wpQJsT{dz&#g1e^spW3-}%Hi9u z*tRlx*JZ<(|9tB6{a63B^wDW|Jhk#A@v5w2w>HV?T61dUTStoy4y3m9XI}F6zWU3r z>kqyE(nkqDOl@WvW&ix^!kd=n)WvLiuy*~svzD#)yf$RUl`}rNN;)~|#+Gwx+tg$> z9lLw<<4d=HJFwZJtRp)nJ=~-srv2gZx4qY;S9`)=G>+1}sl zku}Y?UbpM?m*>8Gx8%^W)h)Zsr7cCVGZW+67cX%x?XzZ0>BGe}@&0Shyw6N(U-VwH zyCzshJ>B8=-{-N%|5e`q1L4&0!#nqWTH5>02REJm`M0GluYC4C*EK`Bu7sEr?H;{o z={IxpkN2y2^IFdxMhtDERb=Kw$SfC1ZAdncwGV$LsheryfkZ+1cUG z_x7Iq^6A0ZDPv-r#5o_xt(hg9KImL}VD)#CZu{n|hnw_poL*IO)ir^WzWb+6e{$r| zH@)pXrnVev`q2HI-yS;ic;&I9SGPO++KCD7JL8=XD1aa-P^}xZ@%e~riV7~$#2!>wjWClb)J(5 zMKxG_E^W=s*)g4;DKGLTcB!3zxcJapflVK`@*aGuZ?hYBJX4rIaJIeYnvGj3+upJ1 zOx%fY_wJeAG2!2Rw!YIhcFfZ=y7g?*?qu8NzY({!Y&G!ex^{QOUDJPBr{#yPuS*!z z>Fhfn{90x|y(9lbMail3!{1(e->c0}=U35nhgv??YS!j=?6G4WeJCwv&bC)JjQ`-< zx!)vi8rY=ndgi*e&iR{$4p{rpy_V0@?!G0b)7vKw?)-Jv{vY2Ozx$7IDPPPU`@w@h ze^AqQ&5>b3*{R8UroEmv?LW;XuOH!V|9Zc#&3J-nw{`FOLX`WM`)uzw6_l}1)o$pk4 zY=iC8x&M1&N1K|=iO{_OOp%I@*J-1C_YBiOZF<8N4W z<)RMMgwb7ec*m}=-sjQ^eHQ9)<1DBZQrYxe>-&M_5*v?eC8WB z_1X7EuDhyjj*Ba&pL}k5lRxL~e`3x__pKFk_if$3{lJvX?{toxH{Vl}SzdUy?LBX= zy}5JGHTg{)KaQVv<(boadYyah>5?&97rDnzSy47^?lFSL4|Ju5H@A=}2cPuZh z5`X{U-gES>U!J$u|MYR^BeDIno8-8=OaGoSYwhM;O}_i&&EFh{j}AV${jPg%6YmfFrFCUXL@9hoKvsdi9;cTb-d!@pD)W@{v_+|T# zjSxDX_+jtLLE}F^F#3T58+*Mn^SuXed-AzKP0lCQyfvI2S9@??%8w5o*f?yNqqcR` z)jyp}v!|Q^HPaX0#x;8<^H}?<+J89qW1GG7g`!S@y7gBVH#>In-XE%KHrChuIIXJg zudExMXu9Bor62!i<7?gCJ!JW9?}~38-_+M}bWqC&r+!g#+CFcqbM)~~rI-F_RdIe} zZPA1WZVtn$Oh?z3#T(RJE3@1qmH z{PNt3qyK7t^!Z!I-Z$6hS(GLY8MuYo8$0jLrVBn;llb3NF}-XL8kytwrG zgj1i2t6z2R`0(ood)NQaeMZ|rLe&edc68C<2ST>m!p z)yTB{UrlhgY@T@SjDKgmd$9R8O-JwlX4mM1wi^eQZ=XB$t_f2=o9w%}EaPzD1J`@k zuJgO=mSo*VGxO{puEVXtZ*MNR zZ^p(AYhDs9S+_RHxqHl-vH39*o8NtK{vUl07k5tGFg>Sk$+J~g*?&AV;^eW>GY+-1 z(N4ZRXV(1()(q=XP&@az@;^WN;@5jOT+y$Wf5jv9)kltv>-(uI?copB9Jr$T`pY}k zpKg9|?Q0`0Klj3f z_2rvg{VU#n_j+b-htBK0bN02VSRf- zemVW}hc8Q<*KEO*aetlIckaQ>%V%`UTd{0o_tlFQ&$^@NaADt(8-#bQt2$qPuEk>? zTzNy>D=$2Erg^P(X3pZn^^5O2H*Ed-oL>uT=RW7IU+-ABVbT>vo-5B(EqQoA>-EKR zo`3WC+5P@ndiR7AOH$VK-FaY2#p2uJ@^YHwJUMSnd;f^T2^-#+u=dp-Ct2CY?oA$F zSMlOsWls(Aub8)UuA}61kJb-0UC?Xs=!xrIYgO5?W=d_(mG9bbi2H5e_3Ml0cyFw; zz5MImjm=-WvdEKgV%;oZbtmtX2YYpBp2(!`dH&n{ro%1cJs>dIbvogfMLS-(xsLj{ z#kzeRJ2tiEWjD!ra@Lz`o3(77xccV6`TByVc}LyEtR>r>Pgg9SGWm)Vm9;(37R`P8 z=JHjs$#KqX#}9F*>+btc_8Z5iwrsI-{xN6W#H@+K0s}h644$@X-F2^3{M&MNOZ~{@ z2iw#v-*#qB?TRK>vVqgTj<)`I=!W%9mZOx9`7ko4Pp#v+2ZHRYf z?z66z_7hn@jb8gY9Ck^Yn&nkRuRj0DtSwj2 z3peGrTt7KuSBv{|U%2D-muF3X?5XwZzxaAN{o%~jQ`)ZR-aL`%v@5%|Ns}JquNmKQ zecqhKcbxmBZT+s>4nH@8p7_;Qrx*W=iL(^#Zqsh!?K`?{x&GF1Pql7)Vz+bj@u{n) zwEdiEyCi1XZ9jE;O>*k) z`+fE5vu#$iZ=T3l?p`ku zcfDUfa(SmVHC=yA&3V7-x>c7Kecfc$@@A{gw)uP{)4OBS`YWX0JJi&qj#_-}`usVQ z3u@=qt@*}(_|aQOS1j6|&ARIPWR-tXQ1Scii$>nst>A&*Kb`xTYcON66wR&TI$T}X z{`+6XefdMj#8W@~{FM8y-@mQ>?$*(VQdS>s`SL@(E^D5+?X_9&)IafEhnzQ#pBy*r zjlSheWB>L3SAAGU*UvV-N$1>^uKdlM!~IO< z*oE`EeYvEl<#*5J7XRP+{5c=Dsp)#8+UBo(>LK2Lbir5kGk@MU;lbR0KV5RD-!4#- zR`5V`&-eQ}Y#Y!#aobA{`?x0y`Y-9S_p4nMO)ECnJKWEV`Dt~<3wcA2x;nI3KNO9& z=DA!S)4T4n+NSg05chm{+Y4(GV*gY51DM z_qX`-y9J-UeEG@L^}~AI_5SX5UrukfoJ!btZPDR%HQ?iKKl^%` zSl21*z18by-q&=(pGkKea8<;$p4)VRdz9@fKiKQKzxT+_=cm?n${KvfuV-hTZ8~Av zE1SODm-gV@%V%`^obJ&4wdQZU+W*gkFO6LPdXDGix4G?`?!L09DrMI9aTUkL58js8 zJaOBrU1oe5^I6AcT=}oJ{^-d3dgT)Fk-H9E@$lU%oI{<~{r(X>bDHGzTygHhS$%5G zU9qNiYKMIO`uby6uDy2IFqfZe`Dx2HUTt#Uoe=GKXZFoi@6et8@0j)3llT5m*KKpL?fW2?EnX@H%O5Yn>*5ABiT9MVWZaVCBd+pqZU#+?< zHFoQP<10pO*;-N&*Lq3+wKLk5WE^N$0T-rCP1lv*#oY91MZYssdp!2?3tPB?uCL8} zWnjhWDVMjYneo{B1fxa&+Bjvzool>LZC}-Q&Dzyd+N@~5wKK@A{cz!%pW6%2QQ~i;C`7Pf1qfJWrLkFH2cDbc!?k%3&XWPBn^hB#4`wV;| zt$cRu$+?r)K3Mfa`~LeAulRNAqr+HB(cH9MZJcB8&sn(o=Usizr{6aq=U4x#nEd8% zO(GrQf|roJYx^tY6r zo8N1G%Y(^v^_?b_&3$`e-XjN=AuO`2dk24-d1F9o@pP|c&T;d;*_pPvb4Kic;1u52 z)B5|}ZN<)y99TMRL$@t)|Mzv}3mrU`qPf|y)^1o9mPM#KC+nno!0!{jgLRrtIz3Cp!4Am+pb*vD42T-n!>3%ruov=>u;I!$Cc$1ou90& zTIK$C(*^GTTu1$tz%{$_|6}h-z@sRZh9IKrfr5$`*e)OmWH;H|ECdNjfCvdO;S?}C z+3DRKn4MW>W^<54z#9P-d_O9R$Mb?GDvF4RNEE>vR1iVAd>+Ulf(NLm{9pGRJ2N|b zC7UR|%=eyTXZonBuCA`GuC5Ype{p!v6%%GzC$-;lv>cr|(EyZuxL!J}$u3a;Mjw{>twcpLYOI^Osz(ycfT- zVZeD`Jy&_tu7&@aQ|>&TSeEk8_}vyqBe&=BHN)ngcfs;rb#tE?yrlDYxm`ZACsUWs zo}YbR*KdF5c^^Ah8ngbl-g5T%I^s$H_>T()c7FdX;pqH3Rt&1T4R`-d&2_sHZvO4* znk(|#k61Kp(RKY&um14sRm&<4K2Ui)vCEAK3&~Ble)Q1?CCk^{u`eMV0g%0^N8{mH z&%XBCu~o;W_NjiS7n(~GD^_wl9g`n<@B95d4&6I%`1n9$%sBp-L#s5>|3 zg10-q{Cmxmffq}S+;jPi)6V#*YC-pNpUi)__m7`l_vHIm?!4^g&;K*J$DO+#8=i=m z@{>pp#YY-Az_11OWZ+zx^Px0Pg z?kv0ZtX;jgynpBn$EtSsRvlTht6^Z(UFJs<9Yt52bJ1_zf49EzYSDI6)vFW!J+t>E z?%O(~Crtjmr01B%1@D(NE;z(7orZRp)c^IID)Pnuq@US)#lnBRvaemIPOsE2dUEHW z(!{CvT#E&B@^c-R%^!U4!=Glsp4esXudg@WIC$K;2Yhc$n2i_DWtabY?QMJ7_1OEvipG+?FWmFuxg*lt z)AoFv)My)g_aD1=uI~BF=>s-h^EhGwSN|`ax9%ypZ)Qhd&55l$PHaF6-q)O^?y{r9|N;&wqZ#s&fyXvEr-Sw>R7|GUxaoGo2kKH&`}a zQMoFy%c6vZ!0RbUuF9onybhYu8i5J*M#ssQg=g_^ta{ zyYl;AIBMm&BhudN-09A9g`>8;FHIela`1M%a#IOaosQHzGUxl*y%&G?$Abnv(MZ%xc5WL ze)+|Mw4_cQlizvu(c7-++-_ax@&8@YtEgn|uBYC9_L>DdsliLSn#!uzB@KJ;v+WIc zY`rOAA-QMA;YNSst%EOgJ<$8Ps}Fy?;kViaMF)TBch`IECpZ2+xcA2Qmu=KZ8j8xEI$^~9oGuN?ovF(P4Mjd=rmao?YA`Rtc* zk0a(P-#%!;pqZTpWOds6;hW3)R6T4?S-g1Y%O4cBzaqHyuc<{{Ea-&-I)++U$RdUH;)yUru|RLTz50{8R0LvpbAB zEqTRhUw*ZH?Hz}bZ|b^aZSKYIPQG>5rAVDady4scMhA3<_YD1b(bcm* zJ2YlVdSig+Kt6#X$cE-TVm%snona7^JvtPHV7mc`d+Z#_$e{#)_r|)f?3AerS z)VkYuJw5zv)A)~tzMC=!zy0HfT^y@dmQ22Q&A9pd7Hpn&<0b4F6V`v>8nyaLX%Dhx z!kBM&o%XxwjMaTM&vLl^3x6K^XvRampZM?GUSI5Ld@o_)CF#GMKifNR*K@ep2X{Vq z+Tn91eZBHd%bmOa^Y)6~XO39nO}_Nw@3&-h|L~)nkC$Dr{PCh4Up8)@Ii=Bj;=ZG= z-7>D~`}5aKod1+%f68I1*A=I|aYMx`6^E#=pGSMbf6we)Og-}9#Nynw7u59fEgdpq z&e|J_Dn>0?^+ZFQ$_bV?hyXC8ldZO*-?S<`pT?L7X@{L16~ zKEC$wAk&H!v+kcY;^*ldyU**1H>TSLkD>$nFmMO)c9b!(ow zY3*e>Hs8`tyMF!k!xvt=yU$g(XP{{|<-%2$&3ZcFUaI}>McD`M*!5h-bCd3@O5a_y zeRD&nE0&C2eO1*uto4*noN#E@t-S3>>E5!G6>t9epB0mKrc`bIxPIYJ7aq%8aaRJL zaPM_rZu<4<>C=Z*9#8J_K*GX|wcj0HKltkNe)Ip3;QD@lVz-Hv$CE#JY{k}H3rBEQ zv@1Dl(!0~F>x(a&bH^hyd%xk|@Y+XP|M#Px9zrK6Ugz7^NJu&;@_iUR^A9BU6 zpI%;H-D%F+&z-B1KR)AvTmet<+N4|T;(Y@PqM;!AXtG?pa9k{i0!Hr;f?Hdc9@Q#YudjVS<@5tb?{j9S4;uJH=D53d zbfnUje*KE=M4e-3_jmu;z2&C?pZcF!^5)@*kIzqZ%pSOY@VNa|)hBx_Uw!V^=cfHa z4qH8O&8zR-yg#wqT_tm8oOaRHM|W23T-R}Dcgc|SL-O^{OgioCPnYf-vVPEx>#aBM zet7tz!NV#(os>SH)A+Kd7WDi0n&0kuy)x;i_pUVGb7#WBw^y9~^Rk-0#lK#9gzWxq z?~9)sk^JlD$GA_IZD0G|SN_i~yk-Bw_ZlufG|%7n*O%AKaC#=xdJpX`ymWrT!nYrG zJf8n@#qeLem$iHH#Y zvg-<;KXLEI7niV0Yv-(V9;@B^wteAi9rsOLzw4&Yo}c_x$3(~MSI>KT=b3-@cTDa+ zr-!>&1)Ji3xXSk{`2qRP75-<&KlIf-^|#&M&@tzwJD>Q}UVn7A@YS8$j}Io(N*lY> zw$Gp3;h`rdeX(iP((Y%KrM%T=c7wCxflqEY()q5jZ+Edjm)MJ1RCWK3b?x8!^!cB1 zHdX&;%(~ydIDF-IwY`5Zf15w?tHJ}{rW|H_?Q8$kr>lQrcm8oj-|Lf}>-+3*=blcp zA6v2RzL}OzC%PRNz~7SpaNW-h`L}Sn=jL~N=d=$TvtJ#4)8r>QO*?7!jaoe73b(6* zE&9PN{M5~#BXpgT^7B_mzw$dy4qd$d!XxcAxi5USpb9b1rX|0D!xafxTUY<^h2tdA zYsR)~58r>$iLBv&Bp;e+-|+sPc}FkYyWD>7p4)%yf7z&U8(-^ezGq&-!naE<{x<1} zp8Jn|Kj4P;rAzr=|CpIlS-bF#Mqi!1wfy?-C$1lUarZwq z{CaD{1&8PZtMX4=(f`kyC-Y!y!#gKskA&*{jY`l@Ba4e@!YR()IYK4>Me8GYai%7@BC+b z2*+n!x@QnK;?RjJ)9&A2I${3g)bBPwxqCovHb3Wn%jr)Jz4(pSTveCmoH+SwUiHA5 zFB*D2|NZP&Grs%!zt^v>KX~H(Lt7fpf3xW!Q%ub!V>jV1H`@dVYcX6lPKQ`WS{F&Je7399;{RjK^y?6Ul zsVCYkANM#x`;R|2cFVijx6SD{)VZhY{C7&GE-$!h@UYc6pC|v?XK%{V+}GwjYTEhV zr85Qi{f{9mg!yq5CA@Alu;xEFoC|Kfe^hIQRHA2eS4OZHoD{jqb*d)Hi6xu@Iw zF8%hv+J46x=AYcZwd}T)A5Fin_pw2H zcQrES-*!*Jo>9B5P8pK$!erRCqvbG`cTXO}IpRqw0b`xKS=$B9P|FL=p$-u;73>b|-@X6FcJ{!t8~*54^V=sG&kwlmm1}<9efgLwPl|tE*Dn*7uY0{Fb9wbwSN1=0 zFyrg>`Gp?{cZ|&Fm^{Co{k_~_mGx(iANu>%w@kN-IQj|JCQ8-y|A*6lv;>3cR^ zm^*aQ;eFd5_~6jm#@F9GdC0%F@9?V!emLfp++(?2-ud_TtG_be|H*{IgHB(O(r(wA zohOuj{-E&0nu@(kCueTmwI=J>%om=0Y|_rRmiKsncZcMw4uAHl`vCvTn%AG*y=Oy@ z+lP-$a?Cz$>yAAQXK&xP^aC>U-OZn${>a(&cWoWfVZ)$jHZO9_nSO5x`_8K5PMZ=; zgL^LSUVF=$8N%`pkAJ?s!};&LF!a~PZtpC+liNJs^?N_x>GM_`f3U;UnR#!mD?ack zbH(uwK7IK5W7|7Cux#PK?(Or?ogWNeKwevUY+d6;U1u!*B>joT=dS!?NsqJcxcRA> zy~{c+{$tl|GaD|g=`iod`_7oMPRRaZ_rW9iHy!-Xg)_LC2}OBR`w0K4`zGP3MMuwl zEWKybpAU6xygK3ge?LED+m@_^n-1S_ zzw_%o^Tr&msGh#=#%+AgpWV*7=l=93yWf4^g^kyDOz!B~*yGcOQ}6h(=aCsb5`W6Q zpf1(?!I1VN9>3H6-Yxy_u0L(X@eW&@ckSy>cVs$@-TV8_FIF*g&-MSD)v&$q*%x`g z96I%ZLGvE7JpXC=1J6wFIPV0zdc&@Di^o2F(!O)cN%GL^w`X+im^|Np@Y{nA!Ty8J zI9C1Ufa=2=F77aPz@)oQ^lr>ddTsj4rBhz%S!4fg%~Pw>-`bmzUf1==HI8#XytIzq z?3}k|#xp~{zU*mJzpRZt<_=$RZDW_&j%&aF?@J4JZe8W9I(KEm{7die@MYuLJCA>H z_TH+eYNziRT%EMywuF=e-!EF!XH~m>!{?s6e)`M~OLBL6f7-mM?)9s)(_Z-F#HSBE zpSI%UQ1iTHA6?z6AZ_YVIC5#%>vK+nPQn zrwx4W_c7Bxdy#tQ{Mo;r>FATtCt=u!FW=Sf;SXjVoVnSte@urFEBST9lTG8z=lidp zFw*n9GxbEykxMV-kDmB(N5a5_fqQ*jmsZ^SdN?)EQt7C9TgUV5TWzlryJ{_G7Oj5()zPvN53 z2@8jJ@O+=Lsd(V8=WVR>9P&@t?4JACp>3z{Wp3NEcPD-L_}$y5AF=%36#ocF3SWJe zKJJt6mONDcT;J=azA<_QdFv(VWyf>h&v|pMb7t4Zb33`Nec*{jbo=AfsMY)p|M%{_ z<1TvfzR8cDpXivKar=gQ{l)JTfABEexTpQF4LvrWHhgLB3!j+=p0V@b;m++l-@oI_ zy`xsI_{h<9(>MQF;jd5L_1m|L<~cjBJF&4_?g{RfyGFfm{}%U)CHH@vwkvrt<4T|Q zfOjM9==|2cMW5f$*#6>931`h*x^>XWOTRedvB_UFF3zbi|9r(c!tu;qXPsf5cTM{d zkIzcB`oHEDJ~(CJ?;VyuxbcP&-f?p~9IUSQo|biO-OiUkIqJRD+hOQT+mUH+{by^! z#LAj;S6wtW%W=nma@&&=yr)k&edUfNyOwy5tsZdqUAt&-Vf78)ZR)n{jg>dOSNHVu zoqCy17PlYqczcW0|H0-7e>S*&XD>bY^8Zce|E#;}(EbU}kZ+AkpK-%8?f-ml@yYb@ z-!|kNa}<0vW6C$36X)Oh(&Jmxd(UFh2i-BP%Z|k#Ea>)J!lZqND@HaPdiRU}KJt>| zJgU?*-h9rpD<%zm@ueTvtnI$N&#{_bi~7u(vvUi3?nT#BZ|E`i_JLP-OrBr#$l9Hm z-8cW-YxW=KEWiEGv;7vFT$(WHoce|bfBN+4SFZWo*?D-u_4g$#e7o02yDKu*AIq-E z-oB&py^l8g7WO}K@sSz1&s=}^Ka@7BnkH*}x!(w^o;Oo0PCKt@v zyW)|AWx_8#j{Nxgv%CF>N-0Q{=vDQ@hNrgwE7xTiKKIj`{z#e9Y1q_;ZC~A!P~Cpt zO(*F`p8o!|?H#(zpZwU&-V54)*D&J8@rNIIb3rxn>X|v`y}hBwy{|rES~>Y}O3C80 zx{mn%l5an5|ABeJBQtw1xN^=7+a8*F|0h++v)6XW>5y~tJ2NgHdC{0zSI?}NZ{O2l zjep4_i?6Yf(@qxl{`#9SyBa=A9^LDv z3ziq8(M7A>i@xY|*{j>$-+hgD-q?P>?Rak0wR^9xwkDh$llk+SaaB{V?l(Vq%Wcbs zclD%Pcpb>z)8%@2I5JmwxvB*q?u5=H;fIKRf@5$IZphHWb>P z-+IjUWvb(n?fV-O9H%eZF@4Y&NBR-4>Hn6VxbV!X?1!Gc6rirDWubPs1Zba`%;W_wD$zF|YAV*RgA+JUTUN<&I~P4_#id>*&fJzdW;k-s!8_ z9k&n6+5X9ztYhsY=j6pNJ-#)w_q|`apQK*7Z31`N#-peADgFFI;i}Z`_nrRYn>`Nx zcyXtf+D}~i%oDG4``vZh1G5JB9=c{%R_AVY!zw$EF1YH7j>+fm=so9}+=ba)l0TUD z)F%@xUvc=J^OGOX|MKGHXKr8q<<#6GkFW2LGsE}snvHM$ ze*KD_8@FwH(f-ibEn_xZIQ^$S<~0TFM-<%H|A+r>c&EpTiSB*(?3|SS`DOKN`seG9 z=AQj|*ZS<`yO!j-9^5!%bA569&z5w2e&9;y4QCI3_-N)emVxt1AGl@uZ&U9%X&e5l zef_pCmUY;+_qA81?7!!(arBp0Ed0NZw;vx?@WP1pBMSaKe*2n?hd1xIAUQj8+5`Xn zaLUlLK0NSY<=q`N-;~?^*>;z|W!t&d zg0`oi;PLqr4z<6%op9`Ua>A1vdfayV$m#nBk7N5E0|h@k-wC|1zGGuv;!ktle)f{Q z8Ow?~lr}CHN(}B&cb++I|Ngr&s55@M~MGc?YECi?U;Q2`RC6+^U0aL<6im1$##XK4}q?me#~gs zu3c}TaJ)bg0!aCQ^CuUl&dzl zg3TsYxYlp}u3fu!?TQLZ3Z5O}xbd&P%+mJ6{OIm~NhwdfkP&z*%{r&XqmPL9KQpuR z_dheU+VcOj%0ogQWJt(3DahMR790uBuDWSy0)SJJ>)Ms*M1f?J7BLWvl^0l!a6_w` zW!*F+d=!r(pO}Cg-oOsBt*KU~C{AU8yiLCnp`I zRc4Z8|4PD^4s+6M{ZlJ5p)Ct$kq~B)>HS@#EsIFau%)FtVU9^jl41vGscET})HF+4 z=4hMEo|$F0h9z?U~O}?RUX~^7vnxyXo7RYR-6A>wp9K6&qz;ioByrx z=;A*}v8C+N4Ch%t=Y&c;FDVqYDw(qvda(d7XAPswfk;U{za5w}%t~N-FJ)NCmKt0u zM|?4bs3J!B0<~(qJnF@5R({u@!uU7Cl2C>?5d6yy(oZ2Q{s!Z(n*Ux%Qhsl|1VF_3 zpBkk9XQgGe&HvVT;x+#>g6BY5#F>*5Tq!Hu#L3W2oUE|ZKkd{(;%_njs`<}*37T%b z^*?z2XJod`|5kba()k~Hxs7h>WQ3jnwo?a*zs30D_-|rV-@tY(1&4@ko+yYg|82J5 z{NI_`ZSmh)Wit^zpYqdYvu0XTO=5I%pSVvK1BSa;P8Fv#84wI$E2luG zVBsK*qbRDQe2Y1iabR#Uc%}(}#8G7hLyF6j#JHLS1EAOEA$W?%nT~4&$naDpMN@*9 z_nBn?FAxk#a3pVWvR)re5sVXBO^|U@4739`EBI)WhxJ0cCK12NuE28c6cgn{SjZ(R zDS;up6t+kZJP*Zq*3PM#2|#(>s-G5Iz+$td*4S*>Rv+UwO@+19EJtGVsmg2;_+hdH zf=ye1_)QX3IO3#54s>Z!QciQYHRvTM+8#(}%nw#Uj3gg6)eI5esmeo=qnv|D$fM@G zXo@pd7pGLvd@u#sdlY$TF$zX6K_LGtr?yko*V&5xY7TFE!aWh?e;gu#hL`{8saZCi z{7*|wO>eXRw#w79Cm2Svl>`k6@I;pK;QI)U@InD{IA=#G4GA75;{+c-@DPG305mHl z=fd%L^_7#Q473#E25L)lvJ!q>%96p0_1z*UnCDQ(`F@T=>qa1zfIBR(cJWOabW^;* z)k=~12{$bD({wp>a!^1BnZ#DKK}YSNuEEq30BsX?;H{PaE+M=yP(szD9lr&@qAENB z){0-1T9PR|pC))7HCwLwjni~Uf?OQ}TtrZksHhAFU4iur$z)OfV$sYg!dW$c1;Wjz zAe?bic6^>EqbAj*SluaKa5E+V1i~%r1QrrjQUqh^Z{cz>OgJTCInMP`3y1)5N?Dq6 z){37Cpo{R+0uKA!Cy%ZsYWY5Za!L3J1Wtw3N6e7YCmBGRhjP^XK1Hq)Rw(5l4;i74 z*qlNI&6$IhVpB-g$*1^v$XVQeii9b+13smvkAoJUpQb6sZ4uw$mJkOhpxS}DE3v0h zK2e>aYo&BHh^YX95~HzKVim}b+mO?W$#KI8FXVlM6Iyk6@y3V= z1V5EeQRa@t$C4IBJ4iv8h{#!d992aK&?1j@ii~YfjIYAC=tVfbmC?Z?A#i?(1`Q`C zz=5@CYN{A^A3~(HaRi_k7t492oE(gtd9!CvP$U4s&oMk0l2<+)Pt20M;vzu8O26BU zbD=T7OEDA)D^;`zr-4YNEx2Por6+3M!ZMahg7;XIc1=L+!wzs_89dR-1x^lVkJdjt zGKw5isf==(Y#>0d4>2c5#4=A-)9@H_5KBiqmPu%$^~8V5Nek_|9#NZ7_9iwazt%K} z+ALxyL8Tk2#UT1DhIucAoR`AcX?eSn4b}qzTg^aD&YB{pSdb#ad(r;c$5IR)^)f$` z$B*G5XLs?#IM(k&-3K>r(uY=-#H744H;8H`!82Sz3geg$g;+`j>}^mA64<91+6O|_Xcw8U=$5R2Ju z@|;d2Et(H-;JuU*$3lorrLws59yKcF*dhD^>&5x&bydX)MX?NCvBeFw$)wuN8-nM@1Vp7O(4R=_P(s|} zxAITK(lk*8%ftqG(TXW8!F(;_^l&W0`o*-NlmNUe3GIMok^$>-CF4vn0<0i>KDt)< zB_>ivD=y7C3EDu@FtC*15$kWwN|Dl#TEy|OR1>t-BY5ea!^Y%W#^sH)j4T{mI1+&! z04^WHW(Q{0$F;$Th+nryL{XEX@}%L?-f ziVLk?vL`Q22#er>7LH{Fi_DQoqrxc-Eu5cGWo$q)L2EkF1FZ1$Uk5IhxdwS9LV+qJ z5mw0!v>>6v@+)zPvddr4r(!G@)M*IuH!;l~PMJwDyZ{LjF)`{1cfnLq9Lr#gG8mlw& z9)g495WmX>Io@ms=FHU8;vwb+^fgaX->52xRyQe|7x4K7F$bS&1;a_L{R|03dg8oZ zDL~0-6-32Q3!qc9Kc(;j(gk#DAzlad)XP`nA4EPV<*f;(V;(Ore3gCypmhKjtdKKZ zp)IFDtq3IPYfK6B(n{(G(iD#BNzgP~ZIPrgZxL8aCA82iK|(T+%AL2cf(LRI!9y@u zVw2(qP1O)i@UA1JHp!2k5orn=2K|BuGJ?FihGb8tn1B$^FrT}^Q%P8*F6G@K+L_`+ zlv0j*U8#u77bqT<@qo`gypqsz38=SV10hz=#MG%YjTCZT!0$aQFDS2ZA^b*Hz*`$Q zajWHV#!XxQG^;Hu$C_$QO-aiDUNTc$Nt7)2`1CE@^cFR!(ZSZ<5FC%y%wQBvJ+)0M z5ZEIC6l%gKA5c|YYm#&qPc3;h7a;M2w$~iqOiKlD@>z%k7$5{Gdvhhr3ek+Z+=PC_ zrHKL=fvd%a6pILymDJ2RlMHOR*p6sN_SROQw-sXJR^DR=^^$=Z^t>{ql44SLkNg5U zJuEO6usG$O;Gr0|)oeu5D3A>~)*2Y~Fzbjf>PJ!a2@;V=!^wJ;T|N(Z$nX>*xZ0GM zq=OF)LN&`x1q97v)1e9=z;YoV)PpYRa+*b1xBU7gEm!1gSxXdH0BfMrFC~7~Go17S z@0yigTHRB&^8iwwI242QMwTI^B(E%qlVW1(36S$r*l^+I2q(lQ#Hef)PL^>(pTMUe zVj;22r}$X$KPf%sRw6UZ{%;wLY{tM*rC5y;V^u-d8*2Uv^N!G7ulsaDp9VW~8T?v?mUDlgN^=l;s3z zD=+I&BUyqRLeK=`M4L8-1SN7gH3)o^#&?C7Qf1!4Kmie!V%+k(l%A+X3xWp$9I(2} z5ZWc^OQlSz1XBwLQoII%gg@G+ifOVzwTE(gfS0Hhb64VvIiv*ZXb+TdrFa0*U)air zl`PqOoD6t28PfvR5MCb*aY}Wm8k#}ki5y@VU@eo3*enOE*vA9yPXn;vv$4QYfS$B! zY9fB67%9^`%OFOLBX#ALv5sM>lmG~jnO1>SR4Nl20Sf}qivA7ar^tproUYWO+L#*{ z{G2rFCoNKTTn=rQU^PM0DLpyJ3moMXEK)NrmcyXSkjus{V+_hMq-8iCx_DM&0k%}D z_&>Cy8}7PF<&=j47%Lj|rISV=9yRvt35r~@xg}Y1EGgO{2C82TlFCa4a zqe~vCx0NCVAz*12-JD1R@*~NUPZN|^vTCb{Uph8lvDwR}dZoom=wdl2pUTMDpetEF zLpECq;6*J8As}(3Z2rJ#$kPgS?<1tV$T}$T84`j8@At5Atl9$^Y41l;XoII5vg!}K zC5dbTVl$}@2?c$GMh0Ny5oJb#f(HKp7q5nDZ8IqKp7;+aU3PUQ4F5;JT)EKLC!GBK;k0y z^!rFcfaL;52+&=tbG-xQ0wExTkXXjf4gxP4IC=G_U@J#-x&l(lIF`oe7rfLQ4~3MT zB2X4ygo=W^NeiZ3S=P%~dWjAR+iUC^=J?OL$7Fz6_4^Q&rgxCQdd1X$a)fL0W^4 zB}b}D_*gQ}NVUids6oLDGFEjot+;MrYo7Q88)0RDqHD~k8L@?6HZ4bUO2?&mp0zP) z8hp#M{Vsc<`vR` z@xiARj6<4+q)Fl`$#^G%29+006G%O9vK&$v#MUHxBIXj+@uGx)w2;fjShTg%C@nmo zvC1d<8};l7SVn>Zsfx+!vbb&3oDUm4J0>DL3w4Z~c zJsjjcEKS-$7S`$TFst6$OeO{5*ucqb8E7;E>V;@?$pct}SOFglo1}NfUJ|O?P@+Ur z*=URmFT*whI9m<@O*N1$qEL=3ZG5z%yG?r+P<77OTi=?WahEJGoguFcdh zgAY`e5{aAOzG16D6`B?4sgkP|5aAvzjs_YVzUdxo@{Yu!420sl zmTJw?_{*jSIe_VWPTSnTg51CiJ*46Qb+C_=ytgy*Dl=e5y>nC?U}~bs#634%(gP4A zbA!cP7(r(&>Wqb5C~+4;-~kXUfd4MA;lo3Uf$~AVky8gRx)}$Q2hj`F1375I!&Jyr zVU6yux&IOI{*P=&;!{dSjV>&=3N=EkeMGqbnH_xp$CjSjcK@eUp1ysh+dXKx@DT#m zf~!3gEgo%Qen9$dC6w;)&}=OvLEpY6llt74U{HNgONJz(yXlRH5CM?op2Ta_==-`43 z?tC;0+|tpEa!iTjzBv>`^2w$Mkr}OJ5?w_l29%B}A3dzBu)Lx)ue^NRsIr3GUWsTq za|$%>O7e2ESQKRfgu*B!S$JiomzcrAf+;-9_z1z1Yp%1Bgg~eqa}+PX1~aG!l>`s7 zGJwTGLMKbYBoiWnL>(k-G0P}E5u9JoXHM4ZB^Xk|T1E|(i*gjDJ)_0Kd4a_u2(`dM zp17X{fn zM7u^)MoT`>!A2WFGr_R)yv8R>lv!%I6n0Kx0nhpcUcNsnwV?5?2%50G-6Tt7#cRYY zpX{3zI!aqgD?XG)kf>x^$*6+DilS1TM8oFOD5tAdPEi8%@)J`hTX}&H{JfPQNe-=q z_?`5l!JHHXLg}co(K;ZS(mmQEV%Ed`$*u+sX64i>%8^f!*D%Tj62+UlI`)?2FDjk{ zKtqE{2APe8ki-b;$=ypLKd@LZDS9ci_-iJ#$WHhgn1-j+J`Q2|O1Wp?C2D~{Ooe~| zE?5n`6yp~lZ|sj!R4O?}DVLkAN*I}Ogy0nIej-ERNo)swH0y7bGfHNuj&k_>Xy!PaZ8|7T^(9dIDAbpkzz<#1LQfSHX2ze2DQb5)FeETR`effG|dh2 zOpBV4o65%l63MI_g}(c@VsXXT7eQ{yjtL^WugJ?NGR!9OIAlonl41iTlYrxJa=_iTW?*icl^*~^yo6YrrgKk(e zlwwF=ws4ask^OqrOCi3^Nmy|)jms-5DJmJJI0fLVxFi&yQ-CB$RAH|NK^ppC2pSra zl7UaUfUQKQpzxNJ7dV!2)3tzuNOKVVhy@l9RV*dn^x*=K@PJ|f0el=w`o;SeDszt2 z)Q@6ZtYX(AStoB*hYt$e!%p$A)fRzG!9Ky**T^FEVnMxFR3$az^VjVEW3c~Jcp&YA z9B&nTv4w&OZ~sZlwxwq4>_2H~skS!zPis7Nbt!#873H<#^HLW@LnQZey@)JM543~6 zDGd!KRLWFXiYYJk}iXbeprizwYv`kDfFMV72r`1YU=I+Mav zCa?m^2&vWyedGtFOvnOJQ4A>o@{e8^EqiYCgQ9{{SwzHEH0yr=R?XX(0rYVcBe;OM zH*e|9n{};;{l>y3q5nP=xkvPqGhm{o4{I+a3W=(AV&qXsip;eUET|zyJOGecMAzIL zCQ`T8RK5|Jr3?ywPBbYJJ|D;WI0`d^5>FBD`XpnHPc-I)7m`}LkJ64tH1N<{1-X3I z>qA^*9+YddW>`{_!9bfe+mdPq)_lT8;J}F#$nMGBi*1 zYO@smOjTZ1q(jwE6m6vr(yoIF>Xd#(at?>I7o=HjHo*IR*bpU748_k82j-A`)sYIW z9FHntAF%SR_=N-B$@*ZjsnRb1sqy}p7t*Y@R6w$jXZi?oXMhrt0ndVJh_6iH8z^2M zEruM$;+1k)FkjQGn{rxBc{I-^qvB2iHG>2;0nmPc#;h+3ahjN3E4$U>D_T6hAWAUO z$$DVSRH97^P^X*+8GN*AgVaey<>CSMOzF+rF^7h$tsh)Ga28efiX;r*iI%A%x2m4Q z>K>ZadQ>9UD8xj#*%R3B8>~bUO*PwReYgnqV8&EWLm)!~fTpOvk4P=5>u>}^=FvV6 zQR4RkTWXW2sfkk(4Q18Kc#Kq5RgI0zMioQR*$6&EN{1}iVziczU&GQja7G&==c;T^ zF>$U^FC^|^>|9~V5Dm{oMHBT<#Yi7jRRna*{DvzLWGrU^Ed6T%BMR;|*6MO!lH z;(M=Ap{%YD5nb6_?9-Hv0ae*GQ3-1k4sE$m%rin|MU81jDD@)Ca!t|D^Ch^&X!aPA z?if%Q@mXvjo}+Zv%@>Hs7?zGf@f)MoF+X<$$24N^g3nyexQ87gf;5|5W zcp%_Gc-tK=Bcjmc(TI|mhSb4mM9*m2_;-OIOyaRYSWGnmvWg9nH4dU>Xy;B8d~~FG zy^5QvIK{>f%OOjB!^g>M+Nhb%~iiL#Q zP+7*LGY+Q}nRX%SML|4N(;}hMDkPJ{K#cU#%cbZjA@$WO80=8mq?GQY2y2kaIxe+? z-K`>@AE@pNn*UNY3~NO3(8F*;Eu@Ks(ZW=OL?wfh!ALejH;krwAmw^po#?bx7w`#E zFI+6AJB(3Xr3|5a8e+!YirrWg>tKaHxXFId%sX?|8vxp_wJ zNL|IFb~la6@l#>l=EK{>&I1FgaX60bZYqL25m;Oxh4l%BIjy|D6sxk3LlR7mZcCzG zQnfMh!fppufxS-Ql{3tGX9;V1P~#tD6+n{)PQ(5WVX7r*>ghM0!QlianJ1aeL45@n zI@)#&w%uW|k+~+UAw+Hb4+IDd-Edf9g=!&~Vojr4cv)VFZ^2t-U5|{~}Pj>uE3+FYd zlnn0^`B%HKw>?dKVz~by+OfQZFVlq|S06(K?i( zA#WW4%r(~tLlt$DZbdyrG8N&rV zkfQ{&SZhkk`S?_YMeJpjD5{agQa!q|);!6g3+e&IkZ9MD7V4}e6dQ<}Q*Fz3X*Vt! z7kW*FwaK8DxKOJOov{)URrB~NC~5}O1D+wKLZ|2jl#5;~>V&~cA6R!I^LrS&smsMg zv!JP=?B(SKMN);Up>&fGgxOzv?Xd0nn>;bB|GEP$OVs*6g!SK+mZ6XTm6_R=|G#yf zI@P7{5DI{lEv#?o#a*4LOSga<9-k();PP#J?E24G$8jj1h$AG)_ppnNvI>Yzh8{9w#>v&Hx zKaEEJx4Ne{sFnwf%Y$xJFm?=S(QTdDqvTXx4Z^JhVMj_FA-p7AWhAB*uM& z;7JC(Dr*JEtK@iH9S*f9eg_Q=7{p$3_fU{N)Pu^b49Gb3zy?e7$O~FDEY}dzLTAyg zblQx8VmqQ07@vNIY33icD#alGC1(K(U*(L=0vJ*LXX@pDT6T7NoBVH$M|a95JA|mh z+8PRENia2C97`RY%92=@96=>Pbi|ae$f=V%YArLo4>|)mvs5-6eG_s}HlPXb3a5py zpp9gh6tb{3FN4^RE>}Z1;EbxPM5dU-Q%Qs-vP*yu&?9Dw=x@u(mR<-1=Y|4KoT(}* z=QxU;X+m>>T!5t!R5;SeKT+Q6pBUu7HkL^YD?r5apNveM{7=uwXw&~&<$oNVg)aVoDHvat8DWVuF=c?rSk8L2`mHpHTaRSKRe=U>UA zX|@_r3{EVn&PgQ+YL(Ouya)}I$`MfGloMr)>p(ph$9lEh>gXju26PMfdc+X%T9?GA zseQ&aX7Up?pQ)UGLa!Lj^Y#!8UvrmznYKRo~Au9$$!lKgwx6T86k#cAcFi)&CE*I z@BcD0+vI<%JaqOx8u9NL~8qON9-eF{sjXi2BfxvV=ajj^)!+(T!xkS$}7A@QlN za#rBe9RNfRy`1_vU_A*WgN{7(!L@Z3mT1AyWSb6D)+M2i3{Z%6G*Bu0YG7T&u_9!H zk0oT*o}e?97Bo%%Gtbpel_!?2Cfb(*q<7ppD=IPlQ6EPxd>pQ?&m&D!%>KpI$ zK+;b`PVEzd^fc9LQBsAfVGdTwa32PHnc%QoD!{Wss+b~47?xBNyg*U)TO*ewgSuK$ zMW^LTlE&qt7)nruBbDET?pmqS^lk-~hMb-gR4+q!uCCdX{sqW+DF!z%j3b<|6mk?x zmP04YkZM@M71IdAC>xAO7wGhJlu(;5hA+@3rAJa#Qy?IPT>LPO_4_nH>06V^!~%|y z{ZI{!`n$5aDA}eW?fa9$86hJ=sWx>4$E?yDJ=Ebjf)GKRoUf#FRG*`Z3k3E#cY3@m zX+f)p>i8Z{{m{}pWO#O+WC|CMOUf7?5LX7n$U&a`&3@r#Yh_3 zi593-4;X2N+0wKv1dR-Olx+M!^;kekCB>xh9^G4uQ}?1?=NjRiN>ZE@uF7aAy@+2* zMSu1b-PmAg(4c|r)YPUn;G!5Zn!3Q^MO5+$9*_zwUZO_)+XgHQD*%g__{_>Pgpc>I zf?4yLW_h8Xi}f?48PtPGItT!$AviY=oF2BC0hY3GQ=IcNdAyVp!ybz$0O5oS<`%hS zjfe?m&2SK@8WbxQBLebzRuSi%!B{BtwnsA}y2`x2GHg}pdl>2H3?m_8QXxTP!O;XU z@pl#qv95DXWXC9(&k#h&R2ehkkfPBgdBsH)1%*S#4AU_czWpeTBF7M1t>k$I%r1iF zp*}bs2`l~XP<~)?e{$yPYe!a$9W`=HabZP4QJHbS<|w9tIZ`L3qsm5Cl#D4JQW&O} z2p)pkPQpa|3OPX)z=jp%jm`^6=HMHy1%yBpP+Tag8jf`^9V*HSOGg&v=Z!8JRZ>wr zs-Q3gDHNMUlueB(4@K1|oH&dlIff&(pNDcXt)Ubhk;OEi%8Ak|h8B$sg?^|&j*?4R zN(9%HU^X#|xfT_aMgR`gIGW0j2-^r)TLxXhUnAK7)HwtUygkt~71r7#IqfuwC-X;+ zDIZ-}R*_d)T2Yc$9AZ#H*klNw^0#&m9HO)0JlxmtQRSn<2)S66xX_(M6gi=MtR#Wc zGLs?B6QG$)e+n>q^vtdEPgWxwXiu-Y%j#BXY;Nixm=kEK3Mw&!jkOI;5iO*!CSYa? z0B5kv0U>ufz-YIl0yN5a#rg&jWT!w7VFl+W0nBtC+8iX6EWZ9#oAyx-}BJU`mQLEgjCWSEBZMfFX&2#WS|Fq)?H zMPuJgXd{9f&u(p*)|=iIV1dSS-ca>33~g>zZ?>{xWl0@%n#Gg4wwlV6x@MZemAaOi z#g@9Zn!uN#Z5mBeOd_qc8iPnA#UvU9G|axua8~_|j5RU>VbF?8RICW;gd&fmF056U z0W}y*R7VClh5`Ls1O$x`3N#ARHI-sbV14nJ3DyW4F;+FJjcOSlPzBcvZ7?%{Nt7fi zArid+iB5QkQb8-E0vmuPY!VE}dI~XLc=`qLol~x-C1CjdRZv>E=FzXE#8ylqt4V|i znd>b|f~YSqL|CFiEKktu6KV@6&JOCL=`iHf=Jkam$pW<)$O(z9-$xPxEEhOJfbLq6 zv_Szyw1rghM6}5h%Ak1p&m69zvb*G1nx+`{7+k~-7(Y#$fPoK06gq+^!t!Z?@{X20 z4`nZ4y%!D$9;P7w5p_pFo>AhXaUxMuHbQhmxu6*1P>zdbn4uu(99r{2?T-QgftAr> zmedP!ZMr25Vu31J;6x8!BfFOY+Xl{XG&`Vae#q+;Qz=nJXg!OXZs;=-ACs zFtaX~IVlna%O{lN4=)>4GHOhDMgFMb;-b-ExI9##grL5oT&>YEt${!q&&aEnx_id& zEe}AT1Z-&L)tQ#OrVuR*G0TXSmkVvz30mwrLDT)_gXmH)BqZC!;uhb8B^LXI6f#wY z#SD5Dd^E0U28lRpvbjq971W;DDeh0qpjT3CerKTVs)qEX?W%@~McS@vv|ZI`yQ3S#2uxb)3@lXphG${XorIxMz2rR%u;*f5b&7)|Fc&d^LK_}&^1q4u^884B`7=T(%C8dH{E zSTUxoD5R~y$5D*n0%m15WbaL;^yaVTdD_d8Fqfowggu5Ngzt;AM@mXk5i_oqEj2Es zdFADQsbNbG%s<4gWym+-Y@3Eas(0HhXKe8Zf^V4q79jvWahcG+HHiE#K9ROXvc!qw zj@`J)rf!mqTWiK%$+*F0ZJCUl{Ofo0t;|F5++v4lv$m1G8i^>U=3i18INF7L!^8EMl~W|{5QCFU}PdQ{8mHp0>!xTb$cTs>kMd0 zU14nCn!Y{wc2!h;UBAeQ_8RZis!a7+OJBISQiO$)yNpPJov|Gzb!aOrxRoX}l;Q~Z>@%P-3_@gjRZ z?MI7qQK<>7TGHQkP{K0Mq}kPlbb9i|=Hny~oEr+_rccwB_BMMgB#nwje>Fq4J+1o0 zDE~P~kg)}Si9-HoWoGN-e_C2*Tl|++d7`_&(K4$9Vy07hg$Pp9r3>TnjMEYnMn&!; z5I@CW11J}wS%Mrw&;;W|%a!J8gQgwxNL4|zw29GHHUvV~z5HpcVOzAzs17!vvIx`w|QcvMaXKE+RJhAG7GkPo(_+=~;UH-Z=|1ZahxmT8wJxZ3>pk_Rs)D zWxFW0r`kOl5M5WeiHm95S{l5TN0c_$ zv9iT7fENgcBsh|{I9accrjSl&HJN($1fxd|C@33XGC3R$C(H0G4NbiOTB!iV@B%^8 zsBR?7R8;g3Jg9__0RrR&(a*k`<)(@-lng5>84rpWL?S*J zI3XukBn*;)i}piCAaTE?9P5RG2l_F02&@lvkLfXFL}{5810TndR*FqY5_zMPgZL%@ zPYIAWnJgecc3`vG()yV!A|h#4o2?&UIq_GzHPuoH1tJ}NFC7bf99u=9jWOf^@Ao0q z8R3jz@G~Uj=vp*H6yxFuUf}#r!Oua7zc2^N1Bl6G8qF%4iC&7N!X!aIB~=zH^}yk+ zwMZ`<_HZn25d-xFiicwQ(Wpo9vZ*w_ylUEG0(+pEOfnlv_{y;}HJ)o|&>@&uN^pc1 zA}*Mm*wd%{NCG^>GYrraFYvgTz*iu62tnphxm8F4($9%R#R!Vsm`sB}-@ciU$Jy3LZ#t%8*xyn>mxIKF}|S=BWn-Q1r_}OwfuC>R5!mNwrP&z!J*? zVk{rGr+FP?L>^;A$PA2|ElI2L*Vk14XD7;G}BJ8L~)Y0vrrQhlDFq zZ55(n?`t^%{i!BK;AR+G1v!o)ArBk|m6QJdh>nr2_ZTB8U;YV!s8acFi>T~~C;DqT zwEbbb5bFYRA;}FCX(xUjV$DZI3)x4Q*APS3K{SMD;SrVHo{dM8AiWf$;1Xh7l_r`u zt}TM7WI`-uIYHmD22re=snL^dkLW{O7*^eJ3m~dGcGnMSJtzx&#FNx`MAawvzIcpj z{1DaWBQS1Lzq}|5i!@V_@Ig8g+Bp&&N5pN#sRxdUlN}(DWFe0|j0uty?^y$%AMGSX zsFA1;HA6@OA4~E{L5Qk7KtmHwK~yRZoT$9G`Km=bIA>t*fh1Mjo;ZxCc(t61q$_X$vBv;&$9hv9Y78LDa|cl)y$n)c{evlD7C$4;;a_(W1s!g{VNdqp4;VpoMIj$R&_P60$I7Z4+!i+fwZdsshBf=UQ@*tAV!Bt&u4 z^`^;Pj3^Q&qok!iVl(xiT)fg)(S7RZ_cFmT!koVJRVS-^`8Bvw<1NjMYdvuA0tW@Brzz|k7E!~M zHF`wjyu8)}M;={G)P`OBVnsA$@FEAO2RMjPQ32NDk*uV&h_}>J4;-mY6-5%Fy8F}N zTdN1di7L@(F0aryKmsK3-VC@X8e#)JBuH#n^q`Bj#AZX z2KX_68ec^Hm_Nhz7i3{*oks$+A|iywwe^Vl^v1B@{z98lTJ(_-jR>J}Z9SscD_oAk zZ`4*jDDitMA&2H4F3c+lTjPe4F{r>{Yo;&?oAw~s3Rn&Wpelw>;3xrjSrS@79!;~= zkdzdCJ8-a!BN=t!Wd&G4_UT9q2@w6JStmg|@L`yPb-9cw9O_Gx5H(J)pjk%) zBdQD~K19Vjx(A75H5t^6gA!JNc94(#mC-iGjT7vmRf=H3ah5ec%S)KF4Mv)g0bU&Oz|NFl=#>9??MdxiFfM3Q;lm4ZvY&0KvKaUhJ*XQi#THMAiA~LNuvC6s_}k z;lNuqj$n8~a#>>IZqtq{qMCqNp-$7v{ER?(ArK3zyoQ>EM`TdriKseqS;!HU3x&Zr zk?{G%G6D;{1jPWBGxlnW{=_sMhz5nH3oCW8*+F!~^tmS~@$i}mLG++vL_s3SVl%xH zYmYz`kS{5$3`K|<2iprdqJcnWieH@CRZSDm4~I_!iK31>%E-e(M_{bh8&Ez;bZ8WX zE5!qd{vs5+hHO5zh8lQD1vH4N7m7TFh{`QQz&Ki9!;EP24uaJY(jv7~4+CA*NApxc z2y_M_sikBrp_-@|gzmVmp@~@P5!FT&2q|@S!3QXpjGs7FDIPe~kp<$iw#0WtL&YJ` z9qs3lBnNp(#1b3?gk-d?_CN;kRZfJf8r66qI&pF{YGXv59!UCW$QfI5_5I1_PQ;#5 zb9kUs2Z^lUkkEmie3%yOlNxcMCJm?lN!MFjUrI!~&D`1qh z^@vK@$-=6D{z{VKa6FD$d9F&RD(JTW&h@}yHaA&>2O}EE4Z9vs#d690I$v?WR;{KI z)^UE~%(|+G$)T)(2+=%T44`tYgQn967_N_>E{JH85BO#MZGEU0I}#9d)sLUMsZ`qEdW&q?wmXQGdb-qY}igVjMAy zsEuV8AQGk6KJif+;)f{Va-j`wgliJ@AWtgS%E-nKQGul)7iseX>cMEG zT&togUGQmYZS{you}MSy6%#mKfjVTIz+wk?ffZfn1VVr=Kh48}$D0Lh!M13ro7kTR)#fbV?l8-;{#ud?#kq0&Wh_(!lQpfQ^G$^-g2o*4oBq=Fq zjieZO#Z<5@i*r3_jx-8^Xn3(3glTK>ZnH7P{%BDu46$hpxaBxm8REdZBBIeL46$nr z@j^Ckh(@O{G(}^G52|s{7^D%6N@0jmW8mY5aok2UI)x#6jUkRWN*%`u(dZP0CTR?D z;oW#58im3TtHuyNxf?e`qf;1~p)oWQ=eVt-Q7Q~g(iq~zyUoT_fSi|N@O&G_5l&dD zPOEEleL&2QE8&DQ!(&|Kb|7%0X2koYaeLxm2UPN$Mbk<>$S)m}QVhK;SF2=5Q?jC^ z(3F>I89$tQAa-g8jAi=*<4Nn!cwZ-!^?WMc0CoszCi(CtPEx?)5Cpw7e9<+{UIDv>H+?!zHr#`cMZjk9k$ferrz=~L{xQ+(x^ZE#md&fGd_soqu@NJ z6Ri^w&JIlp4 z7;%AzLQ-7r8wNU2_Y$gx(ajev$}RK6LF#Jr;72$Nt_S0AWQkhV4`^yC1O(93N9#-_ z1ah9GI6iTZMhq0HS#GL$qdPLD67QC%Yc&UhXhDrba19Nj*!!ZeMt~ec7_dq`C}5dB z0$w^P4gx1lp&cmJeX)RYvJ4{zK8^2s8ix_p@-D?t0!7dTkS1yk)T4TUzko{UVmYYr zE%0H+rFbCL7vjsexa0KHX4DQw)E7$xVF?&4{Y&8 zRG_?&^$Vdetq0>gkWnFq%JYErx3q3l4>FrmI~Y+HLD7B=j`nbn_pr2HD%FExilMxI zFPe-<*TBB2Ql-F|sZS+>Q9+7?93*i$NCLtoKn{3_D!e@TolXczNQQS%sRvo{MHKhT z^RXc+Rf>$MRM6$8wb)7&2#ct#xrlO*AgO3q(t1#>Ur4p}TWTeZgVfa_8eZ(`q^?r8 zHNih=z5Q)0nUcoyVNiQh=3xY}}U9df=#2O&2T0rtnUV@IgB;BUQqjtote^ z>@)YbPy)+^kWON-AHhRm1HGh}39Nh} zxm?qR==-TkBIAP`f!;R_(Kw4E8Bs!EQuR@rhI!>K4V^S@JUbBnxUM|4aLMl(W$^HVgkIWR^xLX`7UIl6f;qG6((pUTnA z19CTt^Y75--fD%nWe|;@ZWP6_aJb{(7DY7<$H6k9Q60pb$_FsUh=wo-p30U$V?;w3 z1W#p4pfRE$41%Y!CD0hr5C*}2f+aAjgP2qK044;Y#$xv`l)7=7qfwp1{1c>ZROc}N z1gRUPB@Ab1F++?1Ej$R7EAw>Ome;E5%`jOclkk;(eDYf}_Mtzepa7k{L^7 zobiX3GG@y@%}oeC76&_^-$xPxEEhOJfbPf_n#SPbfS1a*{7zKv*ik3cV&i-ni<3o* zfS9AgzTRY#x0jG`dIAZSRq5Lu77GsrFcsG3;vtxrto%9Ip+wik25oh2Z-*5OWjO$A z2(OQZ$+2YtpJW0+>^3-lb*{Malmk;I2M2!6_10RHpw6f%5H77aQOQ;X@?PVMJGyY4 zsvz95d#4f>8=?6Lx)yK{agh?G7hy?hKmZgY9z~OWF-)^cCL$q+gd4--#jck1bE-7%K(WF&Jp|*{ zyGv7Ipc@=pTOi!n0FA`}Dd!3!DVGa!s3p2$*DnHFYj;N$)N9&w90a<~a)D)Iexu3I!9!+v_7ZiVrMY9CZ6>f|EfI`?c!k0L2HT8&XdU zmO&$BG05X%N0SQ;s>uQjk^NUKMaSo9dtREg=vUO_~Y+*bA8BjL9?XWhFD;sQp_`DmZYGhGes)q2PSv{ zA~I)~Rhnm;wT{y~pc3g}bR~?YE?GSVMYC90JC0kDyIFN@o)v1YTs4(#SG%2j2jhj4F7kbvKTn{xgrF;hLwI` zs@gMMoS0gX8P@@sNRnI35Dc*Ayjiqj;wICDGO0?OcKmS$;S_kqPeB0XZuebHvI!2|D z>#!X1jxTO`_^kH1KQf z(Jp`Zc_Y?IRW!-BGDk;x&UBwIVRIlXMobkb6SPgxe?&F}Mb^hGx1=13zv~-yjTXvc z${&xAm+ayuOcj~?I1wIx^{>S=;zlJ&ReFlFFuJWj+t>^Hqmr+ z7Ywa!w+vrti{x@RuNko{Kh0s)0$#Q_g(J%-({FW_5XKvRmYH5D`)Q1xfGD2N<5`j9 zp_qUy>7-fqb&^-tC_1)$S&M{$`q=?gM~iINm0H{v`M0%h;tJ)~8@cH>ptCxuyq0l- zCh0guF_`VvZUf*^C{D||;D3-JWOALUhQkgoI%VOYl!uI95v~1Bg0;+-b{Q1JluAJF&a^+8`uemL(V#H%=s zLB0w*RucM9-U9iLhrN>cc7&la9n7n6qRJIh*Tk4&Q@_e1bY>EnWJ*RXbs*qzDq=Pb z<5JIMoFJuc(i#4n%QTv9*aD2wSdy?M-}J2(R zS@d|Qrs{e0LXMuQ7o%r;(Qt46OhzwupAKg)9uHoGPY2dyI>@xn=Vp+^Q;+J+vUjvM zdLA6@?LFPGnv!GEq|s6P`Dg}s3uRd?W=U-rD2sxllB7nQjJ!i^3Ifx z`AeB3msA#z6)o4*xaJoJ1kQ4omg%*0wy$og@^Gqh8CJ1f#pBCge(c665U2UEJBB}u zCa?C7-SLlIZ(cukfBTI+T0g)cRK*7)xi9ie!pY+pHP*!=>i!9EiX^-D&m6p?JU0rrT$S_e_CknBORsistEK?P+NwKI|j=5hsAaSSDLNK9}y;;8Up6 z3DAU4>!3M|bKq|CRU0>E!(Uhm*5?@6qAg!;Ae_my@$M=gp@-Opf*s z&k*OQZ}uk_lTb|9l9s8Jj8oXw?Vtlp90N16Ht=nW8uF@aU34_+qyZchfC=8YOx0W- zi(SRAE?JSfBAawCWG&r;>{k?b!Sy&*wu%i|yQ+5)k^PV_7=3M}jjK>h#7DIeQG?9A+mMZY(oQ&d1m)OUcElm=obNJiJ(Jcy`y?EO!#*3> z*4mhON{&VsGT{m1ZS>ougjdSowWe%9w&zBwZtTZp4k4l|mkSF4o%8HVYWFPLi}m^1 zDd@m2uPe}?7>ZZYP`plmTL&OH0e_g19Or$_-NUzWE|$_dV}JopJr5Ed5p8i>mS=H5 zocp0LyLuw!%lkA(PxUZ-+TNzBVeH4*%K=PtuwLM7+rMeM)r`NZf3YRptk)Co){9I= zs?#~l9~hA;I3HxTLE()(2;@iN+KtY*&2e%ZN)E4NDhlciog^5XMVbz0zX3;r6|00> z#VJJ(WHOEPD%p6apc^X`XKJNT8{GyM$M-SkxN0hRY%%vw5f_E%tEqSqBh90t&yrj- zm1b#!{p@7DC_gKu$LTyNevYQR4qL-BKUjYM|Bu|!@Q=zzZScPQaCUHdbohF5ad`5! z{LY3DlKkci>!z5RJkG7pYMscLTB0Y)h|5+OE=fkcY#-^e8}@jlNAu8YWW zNF@w0)ga;_0X_o`*6I8mFv`SagcOO^AB(k%*VNOWK>h*U8x2-*Zo~ph;y#q?wb|)A zj`;9;!~*umIE}=^eWzINaG(uomC|4*SXcKwefxc!Mi_PX=Kc2}h0RzJc=P^yL1&8% zESD6W=X6vJ6)uB#NA^N#Sv~VKf8m`IMW$%L@u@fJkiAIOo=JTdh_^aB9xWPXSA-c z$;biNqKpFh56E~iSQkk$7(Ls4KBAo`*D<5>%2_(RtASi0YjGpXz)R3~U>yh7qbnqs zB2^`g$#whyEd-fDw`w1HDH4jeOxxChqBc=DS;?QYLzkEqtF;ZbM8Shj$aF!$Qeuy& z@sJ~)_%k|#9zEiaNo#rX4yDn^4@>l43?Drz0~s-F(#3y9PV7c{1^oz4Z;t=88>ci_ zCUN@FjKv4LA~!cTzL`pAi-DZ#A|Isc#tcT!UpyIyE5oeQRPoklp25y!JO%lpM?nr)j3zFKEr5oENQ2KPT#~tFy0C28^Tryb zD0Wq4na)^3tD;(`%HluK3*#~WA5?-i%$h{)6~}i5vCerhC4VG`)*!G}=$&rF4Qw|U z?sE)2(EAF-E>p1J%6N9A-i6FRtLp*v**RArq;r7vT&ZX(XCFm*IlRiu|MOzQJDtO~ z-<=5Y^5x&eqem36S=%Q@<;7Y&dem_Z-^1xIxh^!v&cvzk4y8w+;DBOd!q6MRMUvEp zusH%@rFA_R5TloXTSh8Jw{s}okl;a4+_kT3frIz|a^HC-JP^q=&hlG?5Ldr??S<(1 zs%G_6{lm9! zg7=4$;PlP@yW`Wz(b0|vv(*kOkpUH@jKdYYES(6BR%>*!lkSU^zNX_XQ|N#|O)>Q` z!7A|+I(jdBr8P-Vku5C_+pHL6SqNik4rgPR@M<&+pM}F9d-~kk;_NE`(6q%SC3+Fh zsGC$rD*TD`NNJYbLrY!<0qzVUl_;i$5$MVyf|Ci@UD}7o&Rx3B^jc-frslS|@>mkZ zPli}4gF{AKq?0cvmH^_-^U-z89vQ32#H*ExVwtN1wBy6$)04A{$=i#uaIvDeS!}SV z)An4y78^MzQ7idT2~+~%TNeW5twaNR&Xpui@}%0Ka>Ezopb58Hl!OcoNP||vohCB< z=a+1D!3Yk zqwpMzX(HbQ5F}cs!_Fal7eGk>F@ppSHtTt8hwmwz7fC`FLM&CX29$8lDPmkt6&{AR z)d`2_5fA8zS0KIPVMao5rxS=PggW0`q1u89OQt9%5cGz|^}DF&*RI$Lp`XeOOt6PdS+^^S(3jy_j8N&EdVjkx^?WBYaNM)R#EZr zf_;_~6j%O~V545`Z1cRSpVdqRaV}sv@%*ympMdI_=*0rX3;$4uvm6CoM{n*#aR)vr z!Eg{k^Q%4^Yh*5Nl%>B}b%w5!I+4_2=T1ei6h1ME;9Y5)-Je`cUQN#V&ELczU#$nA zp%m-TA$fu>=d4I;xy#-jq2%AyI_LZt>4=cMMkP&}>MZEc+qyN_K}W?%DH9UL%kf-9 z9Wq`i4z3}k)5(vBU=#n7QW|lc0Ad&ONYlh6D)m}V!s1L;J6osWVsteyf(F82DYj$x zKiaX|l!sBWKrbW8J(^YMnM}Mj?{jo}iMnzrd=dF!CEb(+N5>F$%HRwukXQs%uqc`7 zlxUqT)k>BQM&w-9gHf@7&*RMGJ`Y9i>B;1X%J2?Ux^S+SJrQMkT|!d9@&EPP@lL#d z%fhHkygNTQYqr3UDv{|#l?`lk7Nh^ctHX=8ljB45T{;SWQ0Zoo0hWQot+V(#PSiqS z?TL060e!cDv*jy&!%~#@El}DwUw^*D52!|SiJEe-l+J`(8h$7*e!{M<0?{KvH_?yw=r;ndL-Wv^fhu;i$hr7Gaz7fMOKi%d}0iyXg!{0qt zeRBUxeqQVKM%YCDtYH+BX*AGTOPZ{$(2!I55vihLCD-BCo%z4%=brnY(=R`d4cxW= zpFJ7Y_W$U~@bTCE|7ZN%Gw1jBCi>2*Y^FWk7o=m=$l#6BpC}8g#%RdFA*0A;?W%vt zoZVv-z|*;Q8E9L*EQ0pe=Y{+BDifw8tGk);J@^0iywrQ}guC|tli_Y{|L;8+4!`dI zKjY`W+BYbBj;aZ!IxF)_i3iw}WYF`mVg(5mjbxC56J;b>y$~GNu-{0z0NB zXZ9uz$~2J+bz0sN(CPI!qifs|p29O0zx>we2~q80ELI!)`&+qEWecy%F+LR{@EU)w zHuTng#nCFS6KM=|d+z;>p+;L{t*zO)*AtnVkHse!Q-V2TS1{$wP0d{-f=?|+9E)Z* z9U*eL7>m&;+^dvUdj6y%M6c)WS&$`iIAaH2b1nu7R1YS}jog?ABA%BOqC{-OgGA=a zR9+g z(MTs{wFFn*Dit!z~}TY>QsQ`G+gx_?RccTc2d~w)8wy%W$OvmJz%4bV_a0jdT;>_ktvK!ulRhC2W*^xej-F!a7 z`QurRn{k8f+{Ji^XH+O0CP~ROoHEoAqLxI&#O5eg3@N1nojxv;oE$z;k*JJI$#vmu z{@4v0C+w#rdzLs_6-gei6BW2|=m_qW1H&YVHJs|GIkVrrFcvWZ-vfl>w_vNjXL*m0 z#b`Jjbt<^TCndz>cArp5=id)-`J6ra0auG2boc=eRe_p#IuZ+D6q6cLmzwP&5NwbD zcZnfB9EKGeu8q#g-sI4A1%m6J(uTt7WkA9yEn}tZX%ndh;tv{K!ml87u%C^e+CPD! z>jhxl3B0ZRtI%m*==r?Qp`4d;y-qgnFS3lG&sWc6(jsVVixzwlJ{@F5n#U_;OZVK! zghB@2yn7w|FgXg24&EOe0oYrr$l_?<*^q&wALbBx$PpM2jHcPKxgY>4}n zo@IhKxi}bu+)<{5{jG}Lju6|c%wivBUZ^eK)GGkJ_8F`{hS|-Fgrl|Ql!9q_Ks8zy zn0}0hf!7Q20mLLPPBxWWL zvLf}WkN`(O+An?DHGmyS|8?LZ$8F|VjkkfyMq-a^z;OhP?ISv%#`X=oI!3NgiGhZ9 zWUa1Or-qTX<>z*Ku)G$?@8U%HBJ1mVbnPF3SK@7GF0;ejicwqqq=8Wzg8c^o2{1I0 zBgdjm^#v$M`nI<;u!<7r(NxH6Vg4Zad>kF(Xp;<6Mk>-P+gPzOq%B)i%WTavnHo8> z!N-3ZxIf4Quv%Z%iig3U44)F)OaI$CQD#tP z1T?UCSG2srJJV}NAs&Nu>{W^xH_+$2UJX1>j6L|KMK0hRz=oGLT*_V!Q2Xi*lssz3 z1p9KU2>C1%J9^6k>nsa$9ZXd~&az;h=@mMmOn}a^AYaN9IW{}Xyp8~(Iw}vmdb3SJ zq-q$l$d@Y3?diIeJW&Qt=`Kt!l%Z4Vienqe&cRc)R(BGg7awsO;feL)?^9W&67g$* z=0OUHlL`HoXNAe}`BIzQJ;p}(q}E`yaq&~DjltNj(Tm-1^z?Z+42Of=Ct?-tdG~?1 zGOV|4Z<3%cnzr686i;!%jVX3|qP-OM_zr-!Z5Yv7jF@_3?#?++J{17_0p&VFRoW}_ zJ5>}8ntT4L`>eXFpj%tE$ z=jxKAN=20Rt+G{&W{X88X9^97_p(&XbUIV(+zbGEV9RE(*7Sdap6xZ(X`ttzj2og! z@5LJ!@6^9Pa4a4V>&)0{$kk2CPsgN3ooWO8!f&2$)}R~H^;@i49iF0AJ+ps}#ao>! zbkk({7)vj8s{RI45_P0bb(XUtZ{?^XEu&X5k?D+cSl-%pJ_zQXrgw)-{@4U%RWbW) z(1RWWfCm6BZSEGrF++dK0X8z-__ch?np=jG5m$H@rA;4;7}on-=+?)Ynsfh(3|E~2 zNxH1{8J@8TTW2D~@|d8Xmaw2_taJp_QR`!qs-|;}woZXizaVyP&nROAQwE?!bK-$@ zcxsUiz={%DDmFl`?l$vb;CkRG<}K#FS)z+5;Gn4t)FpKzlVs4#l*zMrmIvI;TxSTn zh1{CD+GlW%ke*@I6M1R^F&c*SKRD7`wXSBtMfNiaay0gO;&5)wE&Ym9lI#%w;XnEt zw`cQsH|Vx~((T&hS!YCxHXt+3D3r{^8gp={FE}pA*z?efo!SBF<6+VwN%|tyjiJye zE@GU8fYyC6TWW3U_cgdtRTc{IaIxM6I>$1RScFk#K={#vDDo(XpVOVymKv$N7C5DM#`&Jm{2Nct&#OZs=f3!9{%at5trkE03-7bPrbMAM8 zF0fGC^~X9=?D7c2nUc{DS)8kr6t}&J|Eb2}`J1?f;{thBuhFd4xD@AHM&%rDT8OZG z4QCE}ubNhl`^gF*C1pB6?}b;eWzZv_0=}#>R;E)0bL@`w%B7mtZ|P0om=a7Y(Iy=- zQLx|uXZ9^ws#xlfl2t)wlE%afT+mNEb}F*VfVx2k1)SW29#(ASl*}*Nvz=KW( z9tZZxmmMd^(sMY9hreK|av5-ukdCP22J@+J!Qnr>kH_M}KRSY!z_xBk4Qm}8`7PEu znzV@)<*lDB1oGZpc8GSRv5dnyZ7`s z#wW9N0e=oxold0)E^igSi_>~h;jpe2<8_0%v$p2!El+*^Vx=RhiHm;EknVeDNfJNl zQ=US#v@RDwquwgjbxZf6tuRdod3mRHR&n^mMkFZmQM6I7Cv?hCfT-B7*7->i>~5X= z6?gbnmvqDG33c@YU;d zZ~DE2hWmQ-?LdJWB%nbCJ?~?DveU7R@e26Xup$cV-dBm-_+|+q)>Tu*2%hEfO6ekZ z5BEAk)GyED~lRd1Ugi&3Xjy^;Rj;OzY|&{P(*eq$5LPV}r*Un#d1Gc?ac(`JXM zGD%zSJE9E$2yIHrDLl`gop49B^6$6!!W4U zxL8pyv=`wW8V#;tQ#>AWoE2aAbU}*&OJhDiT+J#Zfm;U`xHb%*R_`HgM1R!+PQS*0 zHDbV8!=t_c)Xe}XtJ<}Nl(mp!Ju>PG!1S3M6G#4hMlVEz)3x)uZQO1P zzZ0U#fB#irL*HSXx(nLcYp!FAaVa}c2@W&Hwo`etzi)(fvQPy4|tpvYG(v9Ppa!Y%!o;d)+=X2T=jq zQfXp(Mn&oJSefov{DQlt+YA?T@4Q|NhQ?zr^gPZJd@*q$Z{^Fm&Q@J-n+Pw1NyeU@Exhljpw%$z-{Y#_u5vGd5i#vGn!YkVTBNe+g>9z z><*ti-_pR6#IZ*bq9g>@dbTe9LR`E)efNbBG2GU`B4Sm;L#OTcZJWlqAMdkm+Nj&x zN@Y0mKHWHWH@jkqYugr>YMm&VZedw$^6>`V%C1U0^gUkbhiq>H0kphDouxSt$g1Z0 zxEHrv#!;lw=KckVG3KQp^HTLa3QRDle^G-);3q74BgN|XoHw7dfZGsLUs%l2akuc) zuv_QOUnB$Vu0w{cAb&Q(O0KfiMsp9!ug<6g|NZv0rqb7+uRmXZzWmSs1ONd4|GGz= I@BlOl0KB