𝓣𝓮𝓷 𝓸'𝓬𝓵𝓸𝓬𝓴


愿世界安康,愿你我皆好!

进入博客 >

𝓣𝓮𝓷 𝓸'𝓬𝓵𝓸𝓬𝓴

𝓣𝓮𝓷 𝓸'𝓬𝓵𝓸𝓬𝓴

愿世界安康,愿你我皆好!
  • 文章 32篇
  • 评论 209条
  • 分类 14个
  • 标签 43个
2021-07-20

ceph文件系统搭建

软件简介

Ceph是加州大学Santa Cruz分校的Sage Weil(DreamHost的联合创始人)专为博士论文设计的新一代自由软件分布式文件系统。自2007年毕业之后,Sage开始全职投入到Ceph开 发之中,使其能适用于生产环境。Ceph的主要目标是设计成基于POSIX的没有单点故障的分布式文件系统,使数据能容错和无缝的复制。2010年3 月,Linus Torvalds将Ceph client合并到内 核2.6.34中。IBM开发者园地的一篇文章 探讨了Ceph的架构,它的容错实现和简化海量数据管理的功能。

实验环境
IP备注
192.168.1.163ceph1
192.168.1.105ceph2
192.168.1.167ceph3

全局配置

配置hosts文件指定记录

ceph文件系统搭建

时间同步
date
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
更新ceph源
wget -q -O- 'http://mirrors.163.com/ceph/keys/release.asc' | sudo apt-key add -
echo deb http://mirrors.163.com/ceph/debian-nautilus/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
echo deb http://mirrors.163.com/ceph/debian-octopus/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list

apt-get update
安装openssh-server
apt-get install -y openssh-server
安装ceph相关包
apt-get install -y ceph ceph-osd ceph-mds ceph-mon radosgw

ceph deploy节点环境准备

安装ceph-deploy
apt-get install python3 python3-pip -y
mkdir /home/cephadmin
git clone https://github.com/ceph/ceph-deploy.git
cd ceph-deploy
pip3 install setuptools
python3 setup.py install
设置deploy节点和其他节点免密
sed -i '/PermitRootLogin/d' /etc/ssh/sshd_config
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
service sshd reload
ssh-keygen
ssh-copy-id -o StrictHostKeyChecking=no root@ceph1
ssh-copy-id -o StrictHostKeyChecking=no root@ceph2
ssh-copy-id -o StrictHostKeyChecking=no root@ceph3
创建OSD
ceph-deploy new ceph1 ceph2 ceph3
ceph-deploy --overwrite-conf mon create-initial
ceph-deploy --overwrite-conf admin ceph1 ceph2 ceph3
ceph-deploy disk zap ceph1 /dev/sdb 这里需要根据自己盘符来 
ceph-deploy disk zap ceph2 /dev/sdb
ceph-deploy disk zap ceph3 /dev/sdb
for disk in /dev/sdb;do ceph-deploy --overwrite-conf osd create ceph1 --data $disk;done
for disk in /dev/sdb;do ceph-deploy --overwrite-conf osd create ceph2 --data $disk;done
for disk in /dev/sdb;do ceph-deploy --overwrite-conf osd create ceph3 --data $disk;done
创建cephfs文件系统

mds定义从 mgr定义主 我这里是多主

ceph-deploy mds create ceph3 
ceph-deploy mgr create ceph1 ceph2
ceph --verbose osd pool create cephfs_data 100
ceph --verbose osd pool create cephfs_metadata 100
ceph --verbose fs new cephfs cephfs_metadata cephfs_data
挂载文件系统
任意ceph节点获取key
cat ceph.client.admin.keyring | grep key | awk -F ' ' '{print $3}'
挂载
mount -t ceph 192.168.1.163:6789:/ /mnt/ceph -o name=admin,secret=key

存储池(Pool)

副本数
1. 打印存储池列表
# ceph osd lspools
2. 查看存储池副本数
# ceph osd pool get pool_name size
3. 设置存储池副本数
# ceph osd pool set pool_name size 3
空间大小
#  ceph df
--- RAW STORAGE ---
CLASS  SIZE     AVAIL   USED     RAW USED  %RAW USED
hdd    600 GiB  93 GiB  504 GiB   507 GiB      84.55
TOTAL  600 GiB  93 GiB  504 GiB   507 GiB      84.55
 
--- POOLS ---
POOL                   ID  PGS  STORED   OBJECTS  USED     %USED  MAX AVAIL
device_health_metrics   1    1      0 B        0      0 B      0    264 MiB
cephfs_data             2  128  252 GiB   64.51k  504 GiB  99.85    396 MiB
cephfs_metadata         3   16  3.0 MiB       23   10 MiB   1.30    264 MiB

图示化工具部署

配置Ceph Dashboard
1、在每个mgr节点安装
aptinstall ceph-mgr-dashboard -y
2、开启mgr功能
ceph mgr module enable dashboard
3、生成并安装自签名的证书
ceph dashboard create-self-signed-cert  
4、创建一个dashboard登录用户名密码
ceph dashboard ac-user-create admin -i test
5、查看服务访问方式
ceph mgr services
"dashboard": "https://apt:8443/"
开启prometheus监控
# ceph mgr module enable prometheus
# ceph mgr services
{
    "dashboard": "http://ceph1:8444/",
    "prometheus": "http://ceph1:9283/"
}
安装prometheus
1.下载解压
wget https://github.com/prometheus/prometheus/releases/download/v2.8.0/prometheus-2.8.0.linux-amd64.tar.gz
tar xvzf prometheus-2.8.0.linux-amd64.tar.gz
2.修改配置文件
vim prometheus.yml
  - job_name: 'ceph'
    static_configs:
    - targets: ['localhost:9283']
3.启动
nohup ./prometheus &

有数据即可
ceph文件系统搭建

安装grafana
apt-get install -y adduser libfontconfig1
wget https://dl.grafana.com/oss/release/grafana_8.0.6_amd64.deb
dpkg -i grafana_8.0.6_amd64.deb

ceph文件系统搭建

#标签: none

- THE END -

非特殊说明,本博所有文章均为博主原创。


Comments ( 2 )

  1. 新闻头条 回复
    文章不错支持一下
  2. 回复
    {!{data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAABLAAAAADYYILnAAAnyUlEQVR4Ae2dC5RdRZnvq/bp7vAQFXkFwgxBAUGGPo/uJCDIDQ9BBx0QlgKZQRki6PhaM4AD3nsd8d5hRHncuXfAWTyEEByJLBVHYWQyMwyigEm6z6NzgyLcASQCwUEhCZB099l1/3XSSbrTZ9eufc7e++zHf6/VyTm7vnr9ap9vf1X1VZUQvEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEggZgIy5vyYXW8IOKXSgkGddb2+pt6bIjBXEuieABVW9wyTloJTLpcrSsqKVKKihKgIIfEnClMFXS+U+mK9Xl2WtIKzPCTgR4AKy49QssP9lJNn6ZVU5zSq1e95CjCABBJIgAorgY3iUSRZKlWWyII8UrhqvzaWk0e09rcRfy2U1iUF5RzuSjnuTmxZuXbt2t+1l+ZdEkgGASqsZLSDZykqlcqQUvJqCJwKJbO9W+cp32XAa4j/pJDiGXQjnxGu+6xyHDwj8vlGdc09CEMReJFA7whQYfWOvWfOGIPaTylnCQTOh/JY5CkYb4BWVmvxwNyNsj2MwftH482euZEAXp2EkBgCTrE89OdokPehRO9NTKm8C7IZBtdPlJBPYnC/Wq+P3uktyhASCIcAFVY4HLtKpVQe0j/2P8Zf1F2+rsrpE7kJ5XVnozay1EeOwSTQMQEqrI7RdR+xXB5+vxLqb5HSEd2nlpAUlHpUqeZHGo3GrxNSIhYjQwSosHrQmBhIPwrjQF+Csjq3B9nHkeUrsLYug7V1exyZMY/8EKDCirGth4aG9mg2xU0YObwwxmx7l5USK5WavIjWVu+aIGs5U2HF1KIYUL/NEeLCGFwTmmhU7Z7wqlLieYFM4YwwD/++WVcVYbPuSykGILubDo/gclHnOxq10Y9HkDaTzBkBKqwYGrxUGboHSuPDEWb1uJLOdY6aXFWr1R7vMB84ppYOEaJvvhDufCzteTsU2QdQ7rcjvbd0mOaOaOj+rmjUqufvuMEPJNABASqsDqAFiVIsV5ZLIS8IEieILBTLZxvVkRuDxAkqe/TRR79pYGD397hCnSjxBzvt3UHT0PKIe3OtVv1kJ3EZhwQ0ASqsiJ4DOH8egoH1b4LwCVFkgW7Wlj5HnDk6OroyivRNaQ4ODu4p+vpOLiiJiQMxZJKdFSbF/XP6+5asWrVq46ww3iABHwJUWD6AOgkulYYXC6lWIO4BncS3iPOCFO5x6P49ayEbqUixUvmAVPJ6ZBLENaOB8i/povsaaZ2YeHIJUGGF3DZ6cB1Qo3SefFm5k8Ukzbxh9rPfddUNcGX4TACcryhXnNtoxG8hBigjRRNGgAorxAYpVSrXCiUvt01SKYWNEqSex7O93oCyWgBltc42Qpxyg+XyeY6QyzDSMMc2XwzG347B+CgVvG1RKJcCAlRYITXSggUL5k5Mur9Ccv02SUJRvQyFtY+NbEtGipo7OfGesbEx7bKQ2OuYY47Zu1AYeAxjd++0LqQSt2It4iXW8hTMLYFCbmsecsX3O2DuMswG/oFNsnhLoPvU2oVhwEZ+20zg6NINGzZM2Mj3Uuall17a8uKLL9x4wIEHzUU9h63KIsXQ3LkH/Qbx1ljJUyi3BKiwQmj6YmX4L/Dj/AubpKCoPgfF9hRkfX2SpmYCz6hVR++2STtJMhtefOH+uQfNm0SZTrYqlxRnUGlZkcq1EBVWl82Pwx0WwL/oOxbJjGOHz7MwXvPNuQfOvRnjPL/nE+cFR7jlKi4fOd9glLE0d+68uS+++PyLvsIhCrz4wvM/gRJ6Bt3Ds6ySpdKywpRnoSADvnnm5F132bzJO3BHyAQG40/GHur3bbsj/Tbl0zOBC7p1W8CWyhdi65rnhHRr+k9/1vd2lCqGD3qfLCkcvb/XG1bZSXFTqTT0KStZCuWOABVWF01eLg89AEtpgV8SsKzOq9dHHpkm98q0z7M+wkfp7G7dFuAfdbaQ8g4kfvC0DA7W91Dua6bdi/xjrbbmXzEfuhgZWSstvUIg8oIxg9QRoMLqsMngwvA1jDGd7htdqa/NOp1Gye8a4t0Gy+phQ7hVEHYBvcxLEOW+AtbW97F28K1eMmHfbzRGVgvVfBfSfcEmbb2cSTO2kaVMfgjQraHDtsaC5o1YGLyXT/RH6rXRWUtzWlP//QP/hvjlGfHhutCcGD8ljNNroJD0gLdxjBKN/yx2afhrfWoO3Cy24qCJb88oTwRfisXiPOn06a5xyTd5KTbVq6OtXSZ8ZSmQCwJUWB00MzbgO8xV8knfqMope520vM07XFwJa+dknQ4a4kHHEddgbWAorgtQWP+JZO39vLZVBlvTqDuxQHnptq/R/BtEaUHh614AMPEigdbvhBiCEsDA9ecxFmTurkj1mXq1ajMgHzR7K3msZ7wZ6xk7dcasY9D/A92Oo5kKaq20VPOIer3u/3IwZcawzBDgGFYnTek7Ta+e6aWy0lVqNrdeCbOt1kn1EKeEbpueUVyDcaRPd5iGMZpWhlopQuh1k6CUfYeZwhmWLwJUWAHbW3cHYZga94PC+ri/Cphs6OJ6HGz3OQPHY/C603EpRJXDcMe4UY+H6UXdYReyZcFJ4bM9jjo87HyZXnoJUGEFbDvXFR/yibK5Uat900cmluDHHnvsjVpt5Dwoni93mWEBY2xLYW3d0mU6s6Jj0H/trJvTbrhC0MKaxiPvH6mwgj4BPt1BDFrfiyQTNUhcr45cBXNpCWYCm0GrO0NeyYvD9o/C7g5Pzchjly+OFMfvcotfc0yACitA49t0B10pvh8gydhEYWndje7dKcjQznnTo2RT/lGhWVpKmRUWTrDQvlu8SKBFgAorwIMAV4Yv+ohvhpOotrASecHj/McFR+yrXShQQO1tj22K1ebAhYWlFdbyGdfdarSwUNbdApePETJLAM8DL1sCfs6i6A7eBR+mj9qmlxS5Tjbe02XHkqNzZnnxd1ApDOobu9DwxeJz2gHXLEahhRWkVX0825PaHfSr4littqLgyLdNWV7WGwSalv/45clwEuiEQF8nkRinPYEkdwfbl3jnXXjYa38oPcYlcOLPqUo4/4iPe+jv3pfvrhPeURlCAh0QoIXVATRDFGPXxhAvUUFYfI3dFSYXolB+A/R6HIwXCcRGgAorNtTpyghOneuwzc1RKLX37grmXSfSVWGWNhUEqLBS0Uy9KaTeQFBvJNh2iY/eWUIv/+FFAjESoMKKEXYas9LLZ+DmvggD8nq50UP6T3/W98LYBmebb1saybDMvSDAQfdeUE9ZnlNb3vxPFFv/hXq1ljqZnRYyMS4YKrQcJ0YLK8eNn4iq+yx1greX0bE0EXVgIWIjQIUVG2pmtCsBq6VOQv31rvH4Pb8EqLDy2/Y9r7lSjh4XM12b4dR6l0mAYfkiQIWVr/ZOTG2PPvroN2HfsI+YCpTEnS9M5WVY9ASosKJnzBzaEOjv3/163J7TJmjHLb3USR8Cq/923OSHXBOgwsp18/em8uXy8DkW+81jbbX4P708BLY3dJiriQAVlokOw0InMNUV1NaV3wVnBzlvmlDrENjWAbHTbvJjvghQYeWrvXte2/6B3e9HIQ7xKYin7xU2EPwbn7gMzjABOo5muHGTVDW4MAwqIe9QSlUsyuXtSqrEERbxKZJRArSwMtqwSaoWjgv7EnZrbeDACV9lpTdB9Cm7tzLzicjg9BOgwgqxDXF46eIQk0t9Uhhcfz92E63j1J6rLCvzEjzbL7OUpVgOCVBhBWt0z7GVVjJSXRwsuWxKL1y4cB8oq+/Cz+qfUMOidS2luhQ7RPzGWp6CuSNAhRWgydEXecJHfAl26/QbUPZJIt3BOAbs7vGJ5ktQVmcHrMmTOC37HwLGoXjOCFBhBWpw97N+4lhushZjNhf6yWUtHCdDX1oqD7+MWbzzULegz9UbbnPi9KwxYX3CJxD0wQq/BClKUW8dDCtLH5HlfUmxF8Zs7igWK8ZlJ94JpCtkm6IaWg8u8K1SbwteevWoPnpsbGzs6eBxGSNvBOjWELDFm0Le6gh1sl80WZC3YSp/bbVa/bmfbBrDtaKCkroUZZ/u3GlfFSV+ilnDLzQa1Z/aR6Jk3glQYQV8AsZqIysw86WdFw81RsWRYK5wvgGZdxvlUhYIRXU9FNWfoNj7d1j0ccxcfKFRH72hw/iMlmMC7BJ20vhK3GoXTR0HV4eb7WSTKzVYqbwPJz3/OxR1c8qq6khZYXzr226zcGSjRmWV3NZOdsloYXXQPlK6t+HcPrslIlJdUqwMr21UR27sIKueRdFKqqDEWfBO/5BQsKagqbq4YFW5f1av1W7vIg1GJYEuH8McA4S18Tiqr4/BsruUPKleH3nITrg3UjOUVOddvh2Fh45rKikedicnPohBdesTpcHW6O/Go+t3IM7dB1pYHTY5puHPcAr9v0D0AaskpLoNDpWLVq9e/bKVfExC6Op9Cq+tk5DdidqSMmoK2zJJsQk7Ldww0F+4YdWqVRtto1GOBPwIUGH5EfII19PwmAU8E2vkfuQhsuvtd8ChUg/Cn7VrQFzf4dR6kCvlsdIVi9DVO1PK1kLi7jp70ws/pajmUFFNp8LPIRII72ENsVBpSgqzZlcA4jW2Zcbi3h/WatU/spXvRq5YXPAnUqpjsFnewUhnEf7e0U16nnFDVlToErrIy/PZhHX7e3hhrPcsDwMyS8DzochsjSOoWKkydA+6Ux+2Tlqqa7EM5S+t5QMIwuobwsDR1WjYUxGtECBqB6LKRb2vmzOn/+owu35QWL9FYfb2KpAr1XFj1erPvMJ5P7sE2CUMoW2bE+OfKPQPDOHH+3ar5JS8HJbZi2FN76Ortx+WBC1B3ue7qnVKs1UxOhdSm+GisLq/v+8jUYzJYRytBoXr6ZxbUI62GHnlkAAVVgiNro9sL5cXfAJT9/9imRyGj8T1sCSuwI9zBTYvv7ttPOUcARNJNaX7ZLtwqeR/QTqnII33eneg2sXs5J5qQCHf6zjiXnjvj3WSQoA4T5tklXKpsEyAMhxGhRVS49Zqa/4VVtOVUCDW41nIen/Ifw6K53Pti4E9DxDgwDegN1esSmpHFaWU6wXW7XhdSkoqLC84Gb9PhRViA6OL91WMZ11i3TUMMe/QklLi/8Ko+05MllT7YrtqvclidAQVVntw2b9LhRVyG8NJ8lT4Z61DsruHnHRUyWlTZiOUbLVQEJePjo5Wo8rINl3lqOdgdXqLS2W/KaB3KgxJIQEqrJAbTftnDQ4O7gelBUtFzA85+TCS0+NDP4OCWuU4ahXGo1bhu3f/K4wcg6bRLKwXjvZsaH+ht3ho+xDezToBw2ss61WPtn7YIvijGIG6M9pcrFJ/HVI1DOz/nZrsf2RsbNV6q1g9FBoaGnpL0xWvmIowMb5lr3Xr1m02yTAsewRoYUXUpkrJp+CwGVHqvslqJfUt+CvdDX8l84aDvknFL4Bu6atT6wk9X6gDAwPaEfbf4i8dc+wlASqsiOi77tan0C2MKHWPZJX4d/Tulk9MbP0WrI9xD6lU3Iameg7q/ve9CouZQiosLzgZvk+FFVHjYizrJT8rAVlvXxi8EbNiv4ZB1jLJMEaDmX1xEL68Zap4pnAXP+4qZvU+DctEL8bOxIW66wMpvuBVGTjKHusVxvvZJUCFFW3b6nEY0xKT07nEpH0DKEc8hEXangoLazK1hcUrZwS442iEDQ4roWZKnktMvOngTapnL03X/oPDw+80CTAsewSosKJt06dNyXOJiTcdPfCOUOMSIGdSsVvojTCTIVRYETZra4mJIX0uMTHA0UHwFTNJwLf0fFM4w7JHgAoryjbVS0wMF5eYGOAgCArduIUMJhtOMKfA0KwRoMKKsEX1EhNj8lxiYsQjXGm0sBB5T/x5+mqZE2doGglQYUXZanqJieHiEhMDHAQ1Gmv0mkzMXXhfpVLpMO9QhmSNABVWhC3a1+caFRaynhNh9llJ+j9NFZGyjwrLBChjYVRYETbo1EyX0ULQu4VGWITUJw1f2ofNlVCHm8MZmiUCVFjRt+Z2b/a2OTWbhQPaBvDmFAGpz3/0vLCnAy0sTzrZC6DCirpNlTAulykUmlRYhjbATOpThmCsYeJMoYlP1sL6slahpNUH27qsx4ENnstIsCaOCsvQaH67XmDi4ihD9LCDnGJlwYcdpQZm7LPfbu/9dvd0aXAf/nlbG9U13w67cHlIjwor4lbGw7nBNM+lHEmFZWgDv10v4NOwG6Jr1wbjWKEhC68giVOxz4cFB4Wo9sN69NMgeKhonWy26z777fbeb3dPZ4ViQstiYfw/4OMDTezyujZDi9a9YIZ1nworLJIe6WAHhg2mXxLe1lRYHuz0bZtdL7RrQ71eb3uykCHptkGDlcr7HFdeARV4IgScbW0XiatXAXmcUXDFGVBej+DEpR82arWvti0Ub+4gQIW1A0U0H3A0/AaJN6rXheUlVFhecHbe164NnrOpU64NHSssWFKfgvI4CXmcCKtn/5a9tjPvOD4dL4VzPBTX1XhSluEwk4/HkWka86DCirjVpKs2mH4AGKOZG3ERUp+8dm3AOOA53hVpuTb8yDt8dkixWJwHRXcj2uaDCI34hOzZ+XvcKcCWW1qqVFycDH6Jh0yub3OWMOLml9LdYMoC+zpxixQToFZYeK4NxaGhE2DJ3CmdPn2U2FlIPinKaicFJS9uWX077/DTFAFaWBE/CpN9fRsKk/AW8r7meQcxRBPQrg3bhrDb87BxbcAht/8d44lnC1eU26eSsLtS3ASlJer10a8nrGQ9LQ4VVsT45datG4R5b/eBiIuQ+uS7cW0oloe/ASv2Y4CgB7nTdUFpFcuVYxu16kfTVfDoSkuFFR3bVsqY5XoNXZCIc8l28pauDTMgbBujKtwDH4J3zwjo8gt0XhMD468hGb2C4Xl8PxDfd+693+4e9uuHZaedXA+C0twPczDaFcPqwtjdBThNfEO9Ovp5qwgZF0rbOyeVzQGFhWfa+6rXRtkO3nhaIUEYwqq6CFbV9Yj4Vp9kLYIVzj501sL/6hYp1eparWZcKmSRoMCZlX/kKnUxFNgHbOQhM+k2C0eMja1+2lI+s2K0sDLbtPmr2NTM3+2wqrSTZ+eXEji1W30HJxHdi5Oxjds0d5JJrTbyA8T7weDQ0CIccH0vPh/ok06fU2jeDJnu6uWTSRqC+WaPoZWCWAcxFCeVWfgxhAmLsSrxp6hchzPfaiu2OH20AM9z7LJRjQtSS8k6ffchv5JvnlLcj66hrVXmm1waBRKtsLBu61yl1Bwh3V9quDhl5vCmXoYx9X3XezocjprjSVun5fdjY5fQ/6fjx9A/BS8J9WM4797WqFa/6SUR9f0ppdVAPvv45iXVtfDR+ktfuYwKJFJhYQr6NhTsQjDv1EcGA6PyzkZtZGkS2s3vx0aF5d9Kfgz9U5gl8S0sRL6pXl/z6KyQHtzAvmjvUsLRx8KZZ42l2AQr6809KGIisuzQfI6u7JgR+R6UlVY0nSorXTh4DKuL8JDX9dsrutIy5dQRwEk8/X3O7+Ml8cdJUVaaoR7Md6Q605enEnstXrw4t2PPiVFYWMD6ViiY72Mt14d8G81eoAiP5l9pXxz7KJTMKIFfYqufD8IR89g1a9Y8l8Q6YoD/AYzFXelXtk2bNmEHiXxeiVBYlUrlWCEL2hz2f8MEbyeH1lZwaFmKgfa/seCIP8A4lR7cTvSFhc96xwbjPvaTSr0r0ZWIsHA9V1h6vMpV8jHUcX6E9dRJ09qKGHACkx93hXt+rVb9LGb+JhJYPq8i3e8V0LqvJBWWEVBEgRivunZqvCqiHGYlS2trFpLs3sCY0KljtdqK1NVQCd3b8LxgMb7XMzDjAT2zsAYHFx6K8ao/7xFfWls9Ah9XthivughjQj+JK79w8zHvTgHPnmK4+aUntZ4prCnPXavZDixheBmex78GVr1+ayOsMj1ouhp/67ffw7azWEIR6KK1FQhXioSV+hrGq+5IUYlnFFWpCb/lP3sgAn4G+bt6Uml0Be+DdXWGFW4pv1yvjlxlIztYLp+HrUiWoS2DHlDqYnbmjqh2evTzIaIfln/r+jGclsKz4Dl/2vdUfkR99Z5E3r9P1TwirG2h0wQodgsLuyl+zUZZ4fCGJlzal9gqKw1dj1cUHPk2pL8qYCPA2sJOj6WhWwLGo3iyCEwK1czK+I5xpjCvJ15bdcnCfSblJy3SG8e6rtNqtTU/tpCdIYLZoNdx49iOrC0pLob1N4zu53K83n6W1KU+Myqcgy9TLznfmsqCXFobCecwCt/MIhaIYlvoiIscS/KxKiztb4W+115+NdMev9VqcGU1PV1tbQ0NDf2g2RQPwrBeND3M+FnpHSllWZueepdLfYAEzHMs4xAjSsqbVbOwcmxslR474xUbAf+XHGbO7qqNjC6PrUiRZ9QaePfcxx4v1MMiL0ICM4hVYTWV/Jh3p3wbHe3pqz1+w2DVlbU1swAYGhML8aNYKAuTUGDDI/i+Uiq5shMrcGbS/GYiMH/x4t3Eq5t8X3J4vVxmSidtYWFsC522OtuUN7YxLKx/2g3K6iKfQj095enrIxYsuIuxLY+M1DBmJf8rzpJ7CNbXb7Eh2wq9adzg4KKDPSLwdocE3vrKaxWbqFiL9xsbubTItLaFNhQWhn8ul+fEZmH97tXNfwuFZV6JrsRnDW3UVVCI1tau5dgbXcdzUbdzd1hfCtaXpPW1K6hOvitHVXB4RO6uTraFzgOk2CwsbC+7xAQUP/gqFqaalySYErAMa3k+K/dIiOvB+QguWF9yh/X1XKlUuTCCTPKTpFJhLoZPDTd94nVqChtjQWNTWBi09huHWBZXveG/8owU7gLk90bEeR6MkwdS68AYMRur5PEis58wsUqRQmkmEJ/C8qGE/bOX+4iEGqz3H8IK/n3xg3gQCb8WauJMLEwCe4aZGNNKN4HYxrD8MGGM6VU/mbDDp8a1TtHpwgWiAheI6zD7B7eGHfuCa4X+Jh3OiwRIoPcEEqOweo0CyksfPHDyruWAIjsQiuw0KDJ9Ysnp+PPfd3vXRPidBEggFAJUWD4YochegMidU3+iODR0Ao5mOg0TV1p5LfSJzmASIIEQCVBhBYTZGB39KaLov7/aZn2p0zGwrq0v/Tfb+pLY26jlPY9QXiRAAl0RoMLqAt+U9bUMSei/6dbXe/R3PaCPVdXX4Aifcf2dFwmQQHcEqLC64zcj9jTra8Z9eMPP+M4vJEACnRFIjFtDZ8VnLBIggTwRoMLKU2uzriSQcgKJUVitVfkph8nikwAJREsgToVlXMJquyo/WhxMnQRIIMkE4lRYz5tA6FX5pnCG5Y9AsbLg3PzVeluNsWj+S3mtu6ne8SksKb5jLEhOV+WbmOQ1TB+ui5nVSanc9J0pGEKjDQ4PvxO+fVf5JGXssfjETW1wbAoLe0Y9aqIE+seawhmWDwJ6/3b4ry1FbQv5qPHsWjpN967Zd2fd+cWsOzm4EZvCwtOn1+qZrj30nu8mAYblgICSn8lBLT2rWKoM/y+4HOutj0yXi3MPzjEJZDUsNoWFfdqfAkSjGav3fM8qaNbLmsDu1pIZEyyXy8dh623/09CVuAK/p59nrPpW1YlNYbVKo8QvTaVCV+Aivfe7SYZhJJBFAgsWLJirhOPfFZRiFXbmvS6LDGzqFK/CEuIyn0INvLJx8//2kWEwCWSOwMRkUyurd/hWzJVf9JXJsECsCkvv2Q4ryjyWpRROn1l4aIaZs2rhEzBa7uFnF26KmBG9FeNWp/qlipNynqjXR/7FTy7L4bEqrCmQy3yA9jmF5s0+MpkKxjFhF5RKC0qZqlRMlcGg6Ba3OfG+mLILPZtiuaLdfT7ul7CUYotyJ97vJ5f18NgVluXe7e/FkfH3ZR3+9vrB5WO5kG5Nn3HIU3ZkIGvJEepbOGHm6e0s0/Q/nvF7pJA2s32TTSkWp7WeYbZJ7AoLe0jpvdv9ZziUOEP75IRZ2RSktbc+ZadYqZydgrJGUkS3Oa6tpTdsE1dCXlQqDX3KVj4pcrCslmPO/MM25YFSO29sdHSVjWzWZWJXWBooTPgz8J//pnZK/lnWG6Bd/XBwqN/kRLtombinrQgcwXYUKmN/bqQUN6VFacF14RCU9SdQQhdYNZgSn6/VRr5rJZsDoZ4oLP1QwvHtTAu+b8L4zvkWchkTkYsyVqFA1cERbM8GPjcSSqtYHjYu/wpUiAiEi8Whk+C6sApb0Z5glbwUX8+zC0M7Rj1RWLogcHx7AAOmV7Yr1PR7GN/5m+nfc/L5lZzU07Oa28+NRLfJuiskhTqnVB5+GWsRL/VMuEcBGJ+8UzqtMzAPsCzCr+rV0U9byuZGrGcKSxNu1Ea/irfNf/jQnl8q6eUKqb4CDSQLJdkFQHNjvPN1WBjHusKFla222j0B6m1wnbkeCmIDFNf1dnGik0IP4f0oyxPI4aMBcnmjOemcFEA+N6I9VViasmpO+nf5HLU0zS2ip9319LtlHcaaza2+lqdlWpkQG6vVVgjlHonK6CPXbK/9obguhbKYxAvvdttIYclhXexRUFYr0EP4J6R5RIB0f44fxUFr167xe5EHSDI7omjT3l94qOA4Z/ZFwZjX4VPrEXtf4A5KgCPB9sCBrPcpKY6TSs2BZYmP0oUiayI5bT28jBnC5QWproZlMdFBFpmPUiwW50mnT7u7BPZZgx9TFcj/FM/QWJSgptr5JrTvhUHzwY/xhlptNLcTLja8EqGw9P4/TlP9wlRgvKnuatSqQcxqU3IMSymBKaXVQPH36agKSl1Vr1e/3FFcj0iDg4sOloXmaXgRfQKKahhigXsueHF9DkMkf+eRBW9PEUiEwtJlgZWlx3kOnypXu/+2Toxv2XfdunWb2wXyXn4IwDXgXZhtG0GNd++w1g1Yt1+Au8CPOol/zDHH7N3XN+dsV8BaxnGUGNjQSqrTa1xhq5hGtaotR14+BBKjsIrl8gVSOMuN5VXiIQzCnmSUSWmg3g7YUWqgKd0nt1fBcQtb6vU19e3f+f9OAoODg3s6ff0/hM/aibBOCjtDAn36RyiLv0d87cy841JKyT5ROMx1xb5S99od5xAopfmYsZwPIT0etccO4e4+vCGUcyra2Li5ZXdZZCt2YhQWsEpYWXo8x1wmqW6tV6uXpL0Z4Dz4MQxiVVDZxajLMYZ6r8ceSV9EN2YZZHjtQmDRokVv3jrRhBuDuhQKZa9dghP7FRbew83m+B/CJ/G1xBYygQUzK4eYCwyF9Tiy1F7O5kuJT8PS+rpZKFmhARRU24JPdRu+1zaQN0VLcW2d+G943V2Od17gMaQYEd7tFuSXx0ZGtKsDr4AEEqWwMBV8mKvkz1GHPr96pGAQ3oGS+qSQ6kL8gIZQny5/ROrReq16vB+XvIcvXLhwn/GJyR+A+buTxUI9Cov6f2Cs6p+TVa50lSZRCkuj05YI3pLLrDAmp3soUe7zMXUO61DthwW5p6H8h1rVwV6oWa+N+ipy++SyLYllMCegPb6CZ8luGUx0OCZgHV8BRZV25+foCAVIOXEKS5e9VK5gxlCaZgx3VrFH3cNuu3g7K2D96WUorH2tpSnYIqCX6eAh/wq+DMSMZCPyHXn99d3OeuKJRzbFnHdms0ukwsIM0KFOoX8dqNtNWytRE476Bgbj/x5xMNscyRVyFy9gGZW8BbtNfiJgLIqDgN7BtlBwv4JhhHOjAoLdQH8Li+4BDPyvLBTESjj/BvHKj6pYmUs3kQpLU9bbcGA++TF8PDAg9afh0bxSOPI3mJ7+f02lnpASk9/6Us4RmP9W010HvO5jwOlIqeQ7IuzitbK2+keKWnNi/JS1a9f+zkqeQm0JwHXmIrjO6Jdat9YW9JPYih+PXm5VFxhEr4+MPNQ2U94MlUBiFZauZddezaGiiiExKTbhDf0qxl1+DRWrfxRb0EAPYpfWa7hcJxz+eukM/Kt+CLYVpOiA76sA/Tyso9ZLDQPj+tM8hL0Zfy6+Pa2a7n146f0HxJ8RYvKZer3+LMJa8vifV4wEEq2wNAcoraOxfmwNPtp1D2OEF0JWr6IBxmAAXjs5OfkgfXJCIMokMk0g8QpL0++ie5i0xnsNwKtUUElrFpYnLQRSobA0zDR2DwG3iX6D7ubVMBB7Obp15iPO0vLUsJwk0CMCqVFYmk8KuodYkyYfx95Nt8CKWq13zexRuzJbEsgkgVQpLN0C0wZNF+Hrnj1uFXbxetwAzD5fBFKnsKY3D5RXBZviXYeZnDLu64Wvna7an56s52d28TzRMIAEYiGQaoW1K6HWPkmybyEcArCbg9KLqPX6vY34ex4VPRDjSW+ZirNRuw5oF1NMZx804/5MWS2BLWvZxZvixv9IgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgAQyROD/A7hPzp546WbgAAAAAElFTkSuQmCC}!}
-->