# 项目开发流程、结构及知识 --- 项目架构: demo-api:为后端与后端交互而提供的接口服务。【为服务层和通用处理层提供的接口。】 demo-dao:后端与数据库直接交互的地方。【数据持久层】 demo-manager:代码管理层。【通用处理层:处理三方平台和三方平台的接口】 demo-service:复杂业务层。 demo-web:为前端提供接口。【这里从某种角度,就是图中的开放接口】 start:启动和测试使用。 项目主提结构:【根据阿里巴巴项目目录结构所分析的图形化】 ![项目目录结构图形化](https://images.gitee.com/uploads/images/2022/0119/145654_69e1b56a_8844212.png) --- ## 用户角色设计 采用分层权限模型,来对公司各职务权限和人员进行管理。 如下所示: ![分层设计表](https://img-blog.csdnimg.cn/92f89e1506b04bbc9a30f234bc59b52b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAYWR2ZW50dXJlLkxp,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center) user 对应 用户 role 对应 角色 permission 对应 权限 通过两个关联表来实现分层权限。【分别为:user_role、role_permission】 对于权限,我们将其分为操作权限,和访问权限。分别对应为:menu、operation。 > 对于访问权限和操作权限的表跟权限表,我采用两个表分别进行关联起来。【menu_permission、operation_permission】 这样就可以更详细的描述公司人员之间的关系了。 --- ## 前后分离思路 > 这里的需要注意的是,token的作用是给系统系别你这账号的权限的。cookie则是自己设置系统是否开启cookie的功能的。如果开启,浏览器就会生成一个cookie给用户,让用户下次登录就不用再次输入账号密码之类的操作。 在做前后分离时,首先要考虑自己的所提供给前端,应该是按照什么格式去反馈。 即请求体和响应体的格式,不同开发人员所定义的请求结构是不同的。所以要找到适合自己习惯的。 下面是自己所觉得合理的请求、响应体: ```json {// 登录响应 "code": 200, "msg": "", "data": null, "token": null } {//请求体 "token": null, "data": { .... } } ``` 实现的流程1 : ![实现流程](https://img-blog.csdnimg.cn/20210625221859278.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2d1b3J1aV9qYXZh,size_16,color_FFFFFF,t_70) 实现流程2: ![实现流程](https://viewer.diagrams.net/?tags=%7B%7D&highlight=0000ff&edit=_blank&layers=1&nav=1&title=%E7%99%BB%E5%BD%95%E8%AE%A4%E8%AF%81%E6%A0%A1%E9%AA%8C%E6%B5%81%E7%A8%8B.drawio#R7Vtbc%2BMmFP41PDYjCV3Qo%2BRLd3a2s5mm000eFYvYamTjwTix99cXELorsVPLRt4mL4EDQug7h3PjGMDRcvc7jdaLP0iMU2AZ8Q7AMbAs04Y2%2Fyco%2B4yCLJQR5jSJ1aSScJf8xIpoKOo2ifGmNpERkrJkXSfOyGqFZ6xGiyglr%2FVpTyStv3UdzXGLcDeL0jb1RxKzRf4VXkn%2FgpP5In%2Bz6frZyDLKJ6sv2SyimLxWSHAC4IgSwrLWcjfCqQAvxyV7bvrGaLExilfsmAe%2Bfn95%2BPvLNkmnf8b43mV8wvNvUO2N7fMPxjH%2FftUllC3InKyidFJSQ0q2qxiLVQ3eK%2Bd8I2TNiSYn%2FoMZ2ytmRltGOGnBlqkaxbuE3VfaD2KpG0f1xju1suzsK51bTJMlZpgqWrZ3seE3IVGkDdnSGX4HByWlLKJzzN6ZZxWM4xKPCd8N3fPnKE4jlrzU9xEp0ZsX84pHb0nCd2gZ6pgU0q4OiekY9SWy%2FaunSh7zRmUbJUly%2FgNS4OqUAuPGH5AgWEcKgnOiINRY%2BFF%2BqU2%2BROlWvanFwArQZMvSZIVHhYYUkD0laToiKaFyOhzJP07fMEqecWXERcgMIR%2BZ0yhOOJ752IqscIU8TihfPSErOUSF8lOL5XrTEpRFtBY7XO7mwl7crDB7JfR5czNLyTYW%2ByLlG%2Fjbn%2BRfweIXTBnevc%2FkNlPUA9BunDLLyfqvpWL31ZRFRac3D2NvbLQPs7EBh2G4rmSTACLhVipIk7lAnIlDV1C%2FRY84vSWbRPHjkTBGlnxC2hiYcejEKQojtU5BuDb5Wc%2F6ERKvISNmW0ZMo0NIvHMJifMpJL0JyQbTF7nxHgTFaUpKLhUHtEkxr3dJ8Q9LygXMeo%2B22DvSFiOdtthroz5xQDABAW%2B4ACEQemDigSAEwbTFkDrcr4uE4bt1JFF55bLbBe1JUuvWhbYITqrqzeqQWvdcQmuav5rUoiOl1jS6OXUZsTXh%2Fxb3U2O4k3BHLdhn3HpTkqbcME0gQAbgVoPrC98HYShUSTgGvpMPmS0mHdAZdQ71oEFg7jUPR4Uc4SJdIp7lbNzfq%2BdlpxLOim4Zz8reHvQevOZphMNnwNaqe5AW%2FvyXrNM18dTTydMiy%2FnJ0z556mvlqR49%2Bovz9C37eiGeHpF0ui6%2F73jgoVajZ7SB5%2FGhPwJoLNw8FIDAlBQoKbZ0%2FEba%2FT3HGZy%2F105%2FB99vBXSBdJIFhlMQOLIxBgiCiS%2Fcab9tonQ7z9DVDmaHPigBRCJnkSUyBiaWqJF%2BQ9qB7EoEuSL5k4Vx4nwbpwN5BuhMpyPHfVnsOlKXAqCpyKMJyHjbHyR2FtSNXf4NjQQkQlLcpOIL7EFiB7vuVi6LndvGTqPHW3q5D5WRbo8X9OdAWSoVeNiB0nvp7V8Lb8popAxAHqpj549Gjuep1ssTeDXn7Zp4CrVGmHnF3ydPe%2BWp1uAVaq4QG7ZdhFrtIrwau6iFN6dmxeWjAaXRvjJhLSoxN5WVGwWdrlmP8227UZvbmO%2Fk39M9nzeyHfRa9Wl1XAGL%2B0ZPhv48hJBt3YF%2BM%2F%2BkP2Vite8bv%2F74ixMGiJ7dSDjZHeghpw2efTbw2hfgIkoNAoBGKt%2BETFkvY4jGIEF1oDEsUOEbOYAs5cRB9URqVJQlcXTdYYLq5jcTgwG1Wz0iJCAUImuC0OnIlQ4SXS%2B%2Fcx8Muh1FGwLLHLZwKtoC1AkIjbIOZpDoIhMOC11b6%2B96jIpHePTNbVFCc%2FGbW3hsnamtN67uumCQ50Pkd3PLOcjzYaO6wXQ67hAvez66LmNtEHIvJCwvY5uwcQBYHalWRXyz5H6ZxHF2uPAm%2BRk9yqUEqiqC4Os6IXDGYi1%2BnjbZ0RJL12vkVR18taBekfowDkbjUqMjMe90eNjwbOwZUFrQOE59NVJI5uXUl53%2FLHbYha92l4%2FKfSlP%2BP5ZxbwfyEPoAyQv%2B0IIAlS6rx9UYj2ci%2BZtvWOeL%2FTk3fKnwFmEX%2F6gGk7%2BBQ%3D%3D) 查 ## Spring boot 事务操作 ### 注意事项 1. 同一个类中方法调用,导致@Transactional失效 开发中避免不了会对同一个类里面的方法调用,比如有一个类Test,它的一个方法A,A再调用本类的方法B(不论方法B是用public还是private修饰),但方法A没有声明注解事务,而B方法有。则外部调用方法A之后,方法B的事务是不会起作用的。这也是经常犯错误的一个地方。 那为啥会出现这种情况?其实这还是由于使用Spring AOP代理造成的,因为只有当事务方法被当前类以外的代码调用时,才会由Spring生成的代理对象来管理。 ———————————————— 版权声明:本文为CSDN博主「丶炜钦」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_44521690/article/details/116797363 这里该怎么做? ## 数据库的设计测试案例及方案 --- ```mysql create database test; use test; # 用户 create table users( id int primary key auto_increment, # 自动递增主键 name varchar(244), password varchar(244), rolesid int, # 外键 关联角色的ID createdate timestamp, updatedate timestamp ) character set = UTF8MB4; # 角色 create table roles( id int not null default 0 , # 主键 默认0 name varchar(30), permissionid int not null auto_increment, # 非主键 约束唯一索引 自动递增 并 外键 关联 permission 的ID createdate timestamp, updatedate timestamp, primary key (`id`), unique key (`permissionid`) )character set = UTF8MB4; # 权限表 create table permission( id int primary key auto_increment, # 自动递增主键 rolesid int, name varchar(20), operationid int, # 外键 关联operation的ID createdate timestamp, updatedate timestamp )character set = UTF8MB4; # menu操作权限访问模块表 create table operation( id int primary key , # 主键 非自动递增 name varchar(20), url varchar(20), createdate timestamp, updatedate timestamp )character set = UTF8MB4; # 用户---角色的外键 alter table users add constraint ur foreign key (rolesid) references roles(id); # 角色---权限 & 权限---menu访问模块 的外键。 alter table permission add constraint pr foreign key (rolesid) references roles(id); alter table permission add constraint op foreign key (operationid) references operation(id); alter table permission drop foreign key op; alter table users drop foreign key ur; drop table users; drop table roles; drop table permission; # 用户 insert into users (name,password,rolesid,createdate,updatedate) VALUES ('123333','vip2333','1',now(),now()); insert into users (name,password,rolesid,createdate,updatedate) VALUES ('123343','vip2343','2',now(),now()); insert into users (name,password,rolesid,createdate,updatedate) VALUES ('123353','vip2353','3',now(),now()); # 角色 insert into roles (id, name, createdate, updatedate) VALUES ('1','admin1',now(),now()); insert into roles (id, name, createdate, updatedate) VALUES ('2','admin2',now(),now()); insert into roles (id, name, createdate, updatedate) VALUES ('3','admin3',now(),now()); insert into roles (id, name, createdate, updatedate) VALUES ('4','admin4',now(),now()); # 权限 insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','add','1',now(),now()); insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','delete','1',now(),now()); insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','select','1',now(),now()); insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','updata','1',now(),now()); insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','add','191',now(),now()); insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','delete','191',now(),now()); insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','select','191',now(),now()); insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','updata','191',now(),now()); insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','add','1101',now(),now()); insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','delete','1101',now(),now()); insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','select','1101',now(),now()); insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','updata','1101',now(),now()); insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','add','1111',now(),now()); insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','delete','1111',now(),now()); insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','select','1111',now(),now()); insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','updata','1111',now(),now()); # 菜单功能访问模块 # 设置menu 1 【】 insert into operation (id, name, url, createdate, updatedate) VALUES ('1','个人信息','/me',now(),now()); # insert into operation (id, name, url, createdate, updatedate) VALUES ('21','部门管理','/index/work',now(),now()); # insert into operation (id, name, url, createdate, updatedate) VALUES ('31','人员管理','/index/people',now(),now()); # insert into operation (id, name, url, createdate, updatedate) VALUES ('41','资产类别','/index/assettype',now(),now()); # insert into operation (id, name, url, createdate, updatedate) VALUES ('51','品牌','/index/brand',now(),now()); # insert into operation (id, name, url, createdate, updatedate) VALUES ('61','取得方式','/index/method',now(),now()); # insert into operation (id, name, url, createdate, updatedate) VALUES ('71','供应商','/index/vendor',now(),now()); # insert into operation (id, name, url, createdate, updatedate) VALUES ('81','存放地点','/index/address',now(),now()); # insert into operation (id, name, url, createdate, updatedate) VALUES ('91','设备用途','/index/driver',now(),now()); # insert into operation (id, name, url, createdate, updatedate) VALUES ('11','报废方式','/index/repair',now(),now()); insert into operation (id, name, url, createdate, updatedate) VALUES ('111','资产申购','/:user/by',now(),now()); insert into operation (id, name, url, createdate, updatedate) VALUES ('121','资产入库','/:user/input',now(),now()); insert into operation (id, name, url, createdate, updatedate) VALUES ('131','资产信息维护','/:user/edit',now(),now()); insert into operation (id, name, url, createdate, updatedate) VALUES ('141','资产借还','/:user/debit',now(),now()); insert into operation (id, name, url, createdate, updatedate) VALUES ('151','资产转移','/:user/Transfer',now(),now()); insert into operation (id, name, url, createdate, updatedate) VALUES ('161','资产维修','/:user/fix',now(),now()); insert into operation (id, name, url, createdate, updatedate) VALUES ('171','资产报废','/:user/repair',now(),now()); insert into operation (id, name, url, createdate, updatedate) VALUES ('181','资产盘点','/:user/Inventory',now(),now()); insert into operation (id, name, url, createdate, updatedate) VALUES ('191','资产查询统计','/:user/Query',now(),now()); insert into operation (id, name, url, createdate, updatedate) VALUES ('1101','资产申购审批','/:user/Approval/by',now(),now()); insert into operation (id, name, url, createdate, updatedate) VALUES ('1111','资产报废审批','/:user/Approval/repair',now(),now()); select * from users; select * from roles; select * from operation; select * from permission; # 通过角色去查询权限。 select distinct u.name,o.id,o.url from users as u left join roles as r on u.rolesid = r.id left join permission p on u.rolesid = p.rolesid right join operation o on p.operationid = o.id where u.name = 123353; # 结果:1 = 40 = admin1 ;2 = 80 = admin2 ;3 = 32 = admin3; # 过滤用户名,权限:四种权限的operation # 角色添加? # 用户授权? # 超级用户:拥有对整个系统的权限角色分配,功能分配有着绝对的操作。并且可对所存在的公司员工进行查询。 ``` 在设计数据库中的时候,对于公司类型的管理系统,我们可以通过分层权限结构来对其人员权限进行设计,这样才更贴近公司层级。 [thik]:data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBEbyBub3QgZWRpdCB0aGlzIGZpbGUgd2l0aCBlZGl0b3JzIG90aGVyIHRoYW4gZGlhZ3JhbXMubmV0IC0tPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZlcnNpb249IjEuMSIgd2lkdGg9IjkzMXB4IiBoZWlnaHQ9IjQ5MXB4IiB2aWV3Qm94PSItMC41IC0wLjUgOTMxIDQ5MSIgY29udGVudD0iJmx0O214ZmlsZSBob3N0PSZxdW90O2FwcC5kaWFncmFtcy5uZXQmcXVvdDsgbW9kaWZpZWQ9JnF1b3Q7MjAyMy0wNC0wOVQyMDoyMzo0OC41OThaJnF1b3Q7IGFnZW50PSZxdW90O01vemlsbGEvNS4wIChNYWNpbnRvc2g7IEludGVsIE1hYyBPUyBYIDEwXzE1XzcpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMTEuMC4wLjAgU2FmYXJpLzUzNy4zNiBFZGcvMTExLjAuMTY2MS42MiZxdW90OyBldGFnPSZxdW90OzVydEllX3FucWZiUzNGRkZQSWIzJnF1b3Q7IHZlcnNpb249JnF1b3Q7MjEuMS41JnF1b3Q7IHR5cGU9JnF1b3Q7ZGV2aWNlJnF1b3Q7Jmd0OyZsdDtkaWFncmFtIG5hbWU9JnF1b3Q756ysIDEg6aG1JnF1b3Q7IGlkPSZxdW90O19fUTROdXNGQy1Fb2dhTXZWMEQ4JnF1b3Q7Jmd0OzdWdGJjK01tRlA0MVBEWWpDVjNRbytSTGQzYTJzNW1tMDAwZUZZdllhbVRqd1RpeDk5Y1hFTG9yc1ZQTFJ0NG1MNEVEUXVnN2gzUGpHTURSY3ZjN2pkYUxQMGlNVTJBWjhRN0FNYkFzMDRZMi95Y28rNHlDTEpRUjVqU0oxYVNTY0pmOHhJcG9LT28yaWZHbU5wRVJrckprWFNmT3lHcUZaNnhHaXlnbHIvVnBUeVN0djNVZHpYR0xjRGVMMGpiMVJ4S3pSZjRWWGtuL2dwUDVJbit6NmZyWnlETEtKNnN2MlN5aW1MeFdTSEFDNElnU3dyTFdjamZDcVFBdnh5VjdidnJHYUxFeGlsZnNtQWUrZm45NStQdkxOa21uZjhiNDNtVjh3dk52VU8yTjdmTVB4akgvZnRVbGxDM0luS3lpZEZKU1EwcTJxeGlMVlEzZUsrZDhJMlROaVNZbi9vTVoyeXRtUmx0R09HbkJscWtheGJ1RTNWZmFEMktwRzBmMXhqdTFzdXpzSzUxYlRKTWxacGdxV3JaM3NlRTNJVkdrRGRuU0dYNEhCeVdsTEtKenpONlpaeFdNNHhLUENkOE4zZlBuS0U0amxyelU5eEVwMFpzWDg0cEhiMG5DZDJnWjZwZ1UwcTRPaWVrWTlTV3kvYXVuU2g3elJtVWJKVWx5L2dOUzRPcVVBdVBHSDVBZ1dFY0tnbk9pSU5SWStGRitxVTIrUk9sV3ZhbkZ3QXJRWk12U1pJVkhoWVlVa0QwbGFUb2lLYUZ5T2h6SlAwN2ZNRXFlY1dYRVJjZ01JUitaMHloT09KNzUySXFzY0lVOFRpaGZQU0VyT1VTRjhsT0w1WHJURXBSRnRCWTdYTzdtd2w3Y3JEQjdKZlI1Y3pOTHlUWVcreUxsRy9qYm4rUmZ3ZUlYVEJuZXZjL2tObFBVQTlCdW5ETEx5ZnF2cFdMMzFaUkZSYWMzRDJOdmJMUVBzN0VCaDJHNHJtU1RBQ0xoVmlwSWs3bEFuSWxEVjFDL1JZODR2U1diUlBIamtUQkdsbnhDMmhpWWNlakVLUW9qdFU1QnVEYjVXYy82RVJLdklTTm1XMFpNbzBOSXZITUppZk1wSkwwSnlRYlRGN254SGdURmFVcEtMaFVIdEVreHIzZEo4UTlMeWdYTWVvKzIyRHZTRmlPZHR0aHJvejV4UURBQkFXKzRBQ0VRZW1EaWdTQUV3YlRGa0RyY3I0dUU0YnQxSkZGNTViTGJCZTFKVXV2V2hiWUlUcXJxemVxUVd2ZGNRbXVhdjVyVW9pT2wxalM2T1hVWnNUWGgveGIzVTJPNGszQkhMZGhuM0hwVGtxYmNNRTBnUUFiZ1ZvUHJDOThIWVNoVVNUZ0d2cE1QbVMwbUhkQVpkUTcxb0VGZzdqVVBSNFVjNFNKZElwN2xiTnpmcStkbHB4TE9pbTRaejhyZUh2UWV2T1pwaE1ObndOYXFlNUFXL3Z5WHJOTTE4ZFRUeWRNaXkvbkowejU1Nm12bHFSNDkrb3Z6OUMzN2VpR2VIcEYwdWk2LzczamdvVmFqWjdTQjUvR2hQd0pvTE53OEZJREFsQlFvS2JaMC9FYmEvVDNIR1p5LzEwNS9COTl2QlhTQmRKSUZobE1RT0xJeEJnaUNpUy9jYWI5dG9uUTd6OURWRG1hSFBpZ0JSQ0pua1NVeUJpYVdxSkYrUTlxQjdFb0V1U0w1azRWeDRud2Jwd041QnVoTXB5UEhmVm5zT2xLWEFxQ3B5S01KeUhqYkh5UjJGdFNOWGY0TmpRUWtRbExjcE9JTDdFRmlCN3Z1Vmk2TG5kdkdUcVBIVzNxNUQ1V1JibzhYOU9kQVdTb1ZlTmlCMG52cDdWOExiOHBvcEF4QUhxcGo1NDlHanVlcDFzc1RlRFhuN1pwNENyVkdtSG5GM3lkUGUrV3AxdUFWYXE0UUc3WmRoRnJ0SXJ3YXU2aUZONmRteGVXakFhWFJ2akpoTFNveE41V1ZHd1dkcmxtUDgyMjdVWnZibU8vazM5TTluemV5SGZSYTlXbDFYQUdMKzBaUGh2NDhoSkJ0M1lGK00vK2tQMlZpdGU4YnYvNzRpeE1HaUo3ZFNEalpIZWdocHcyZWZUYncyaGZnSWtvTkFvQkdLdCtFVEZrdlk0akdJRUYxb0RFc1VPRWJPWUFzNWNSQjlVUnFWSlFsY1hUZFlZTHE1amNUZ3dHMVd6MGlKQ0FVSW11QzBPbklsUTRTWFMrL2N4OE11aDFGR3dMTEhMWndLdG9DMUFrSWpiSU9acERvSWhNT0MxMWI2Kzk2aklwSGVQVE5iVkZDYy9HYlczaHNuYW10TjY3dXVtQ1E1MFBrZDNQTE9janpZYU82d1hRNjdoQXZlejY2TG1OdEVISXZKQ3d2WTV1d2NRQllIYWxXUlh5ejVINlp4SEYydVBBbStSazl5cVVFcWlxQzRPczZJWERHWWkxK25qYlowUkpMMTJ2a1ZSMTh0YUJla2Zvd0RrYmpVcU1qTWU5MGVOandiT3daVUZyUU9FNTlOVkpJNXVYVWw1My9MSGJZaGE5Mmw0L0tmU2xQK1A1Wnhid2Z5RVBvQXlRdiswSUlBbFM2cng5VVlqMmNpK1p0dldPZUwvVGszZktud0ZtRVgvNmdHazcrQlE9PSZsdDsvZGlhZ3JhbSZndDsmbHQ7L214ZmlsZSZndDsiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQsIDIwLCAyOSk7Ij48ZGVmcy8+PGc+PHBhdGggZD0iTSAxMTAgNzAgTCAyNzMuNjMgNzAiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJzdHJva2UiLz48cGF0aCBkPSJNIDI3OC44OCA3MCBMIDI3MS44OCA3My41IEwgMjczLjYzIDcwIEwgMjcxLjg4IDY2LjUgWiIgZmlsbD0icmdiKDI0MCwgMjQwLCAyNDApIiBzdHJva2U9InJnYigyNDAsIDI0MCwgMjQwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PHBhdGggZD0iTSAzNjEuOSA3MCBMIDUwMy42MyA3MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9InN0cm9rZSIvPjxwYXRoIGQ9Ik0gNTA4Ljg4IDcwIEwgNTAxLjg4IDczLjUgTCA1MDMuNjMgNzAgTCA1MDEuODggNjYuNSBaIiBmaWxsPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48cGF0aCBkPSJNIDM1OC40NSA5NSBDIDM2NS4yIDk0LjE1IDM3MC4wMSA4Ny42OSAzNjkuMiA4MC41NyBDIDM2OC4zOSA3My40NSAzNjIuMjYgNjguMzggMzU1LjUyIDY5LjIzIEMgMzU1LjQ0IDU4LjYgMzQ4LjM4IDQ5LjQ2IDMzOC41MiA0Ny4yMyBDIDMyOC42NyA0NSAzMTguNjcgNTAuMjkgMzE0LjQ4IDU5Ljk2IEMgMzExLjM2IDU2LjIgMzA2LjQyIDU0Ljc5IDMwMS45NCA1Ni4zNiBDIDI5Ny40NiA1Ny45NCAyOTQuMzEgNjIuMiAyOTMuOTUgNjcuMTcgQyAyODYuNjcgNjYuODkgMjgwLjU0IDcyLjg5IDI4MC4yNyA4MC41NyBDIDI4MCA4OC4yNSAyODUuNjkgOTQuNzIgMjkyLjk4IDk1IFoiIGZpbGw9IiNjY2NjY2MiIHN0cm9rZT0iIzY4ODFiMyIgc3Ryb2tlLXdpZHRoPSIxLjk1IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48cmVjdCB4PSIxMCIgeT0iMzUiIHdpZHRoPSIzMCIgaGVpZ2h0PSI2MCIgcng9IjIiIHJ5PSIyIiBmaWxsPSIjY2NjY2NjIiBzdHJva2U9IiM2ODgxYjMiIHN0cm9rZS13aWR0aD0iMiIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxwYXRoIGQ9Ik0gMTAgNDUgTCA0MCA0NSBNIDEwIDY1IEwgNDAgNjUiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzY4ODFiMyIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48cmVjdCB4PSIzMCIgeT0iNDAiIHdpZHRoPSI4MCIgaGVpZ2h0PSI0NSIgZmlsbD0iI2NjY2NjYyIgc3Ryb2tlPSIjNjg4MWIzIiBzdHJva2Utd2lkdGg9IjIiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48cmVjdCB4PSI2MCIgeT0iODUiIHdpZHRoPSIyMCIgaGVpZ2h0PSIxMCIgZmlsbD0iI2NjY2NjYyIgc3Ryb2tlPSIjNjg4MWIzIiBzdHJva2Utd2lkdGg9IjIiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48cGF0aCBkPSJNIDQ1IDk0IEwgOTUgOTQgTCAxMDUgMTA1IEwgMzUgMTA1IFoiIGZpbGw9IiNjY2NjY2MiIHN0cm9rZT0iIzY4ODFiMyIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48cGF0aCBkPSJNIDU5IDEwMi41IEwgNzcgMTAyLjUgTSA0NiA5OS41IEwgODUgOTkuNSBNIDQ4IDk2LjUgTCA4NCA5Ni41IE0gODcgOTYuNSBMIDk0IDk2LjUgTSA4OSA5OS41IEwgOTYgOTkuNSBNIDkxIDEwMi41IEwgOTggMTAyLjUiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzY4ODFiMyIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48cmVjdCB4PSIzMyIgeT0iNDMiIHdpZHRoPSI3MyIgaGVpZ2h0PSIzOSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSJub25lIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PGVsbGlwc2UgY3g9IjE1IiBjeT0iNzAiIHJ4PSIyIiByeT0iMiIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSJub25lIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PHJlY3QgeD0iNTEwIiB5PSIxMDUiIHdpZHRoPSI5MCIgaGVpZ2h0PSIxNSIgcng9IjIiIHJ5PSIyIiBmaWxsPSIjY2NjY2NjIiBzdHJva2U9IiM2ODgxYjMiIHN0cm9rZS13aWR0aD0iMiIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxyZWN0IHg9IjUxMCIgeT0iODcuNSIgd2lkdGg9IjkwIiBoZWlnaHQ9IjE1IiByeD0iMiIgcnk9IjIiIGZpbGw9IiNjY2NjY2MiIHN0cm9rZT0iIzY4ODFiMyIgc3Ryb2tlLXdpZHRoPSIyIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PHJlY3QgeD0iNTEwIiB5PSI3MCIgd2lkdGg9IjkwIiBoZWlnaHQ9IjE1IiByeD0iMiIgcnk9IjIiIGZpbGw9IiNjY2NjY2MiIHN0cm9rZT0iIzY4ODFiMyIgc3Ryb2tlLXdpZHRoPSIyIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PHJlY3QgeD0iNTEwIiB5PSI1Mi41IiB3aWR0aD0iOTAiIGhlaWdodD0iMTUiIHJ4PSIyIiByeT0iMiIgZmlsbD0iI2NjY2NjYyIgc3Ryb2tlPSIjNjg4MWIzIiBzdHJva2Utd2lkdGg9IjIiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48cmVjdCB4PSI1MTAiIHk9IjM1IiB3aWR0aD0iOTAiIGhlaWdodD0iMTUiIHJ4PSIyIiByeT0iMiIgZmlsbD0iI2NjY2NjYyIgc3Ryb2tlPSIjNjg4MWIzIiBzdHJva2Utd2lkdGg9IjIiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48cGF0aCBkPSJNIDUxNCAzMyBMIDUzNSAyMCBMIDU3NSAyMCBMIDU5NiAzMyBaIiBmaWxsPSIjY2NjY2NjIiBzdHJva2U9IiM2ODgxYjMiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PGVsbGlwc2UgY3g9IjU5MiIgY3k9IjExMi41IiByeD0iNCIgcnk9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0ibm9uZSIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxlbGxpcHNlIGN4PSI1OTEuNjciIGN5PSI5NSIgcng9IjQiIHJ5PSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9Im5vbmUiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48ZWxsaXBzZSBjeD0iNTkyIiBjeT0iNzcuNSIgcng9IjQiIHJ5PSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9Im5vbmUiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48ZWxsaXBzZSBjeD0iNTkyIiBjeT0iNjAiIHJ4PSI0IiByeT0iNCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSJub25lIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PGVsbGlwc2UgY3g9IjU5MiIgY3k9IjQyLjUiIHJ4PSI0IiByeT0iNCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSJub25lIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PHBhdGggZD0iTSA1MTUgMTE4IEwgNTIwIDEwNyBMIDUyNSAxMDcgTCA1MjAgMTE4IFogTSA1MjUgMTE4IEwgNTMwIDEwNyBMIDUzNSAxMDcgTCA1MzAgMTE4IFogTSA1MzUgMTE4IEwgNTQwIDEwNyBMIDU0NSAxMDcgTCA1NDAgMTE4IFogTSA1NDUgMTE4IEwgNTUwIDEwNyBMIDU1NSAxMDcgTCA1NTAgMTE4IFogTSA1NTUgMTE4IEwgNTYwIDEwNyBMIDU2NSAxMDcgTCA1NjAgMTE4IFogTSA1NjUgMTE4IEwgNTcwIDEwNyBMIDU3NSAxMDcgTCA1NzAgMTE4IFogTSA1MTUgMTAwLjUgTCA1MjAgODkuNSBMIDUyNSA4OS41IEwgNTIwIDEwMC41IFogTSA1MjUgMTAwLjUgTCA1MzAgODkuNSBMIDUzNSA4OS41IEwgNTMwIDEwMC41IFogTSA1MzUgMTAwLjUgTCA1NDAgODkuNSBMIDU0NSA4OS41IEwgNTQwIDEwMC41IFogTSA1NDUgMTAwLjUgTCA1NTAgODkuNSBMIDU1NSA4OS41IEwgNTUwIDEwMC41IFogTSA1NTUgMTAwLjUgTCA1NjAgODkuNSBMIDU2NSA4OS41IEwgNTYwIDEwMC41IFogTSA1NjUgMTAwLjUgTCA1NzAgODkuNSBMIDU3NSA4OS41IEwgNTcwIDEwMC41IFogTSA1MTUgODMgTCA1MjAgNzIgTCA1MjUgNzIgTCA1MjAgODMgWiBNIDUyNSA4MyBMIDUzMCA3MiBMIDUzNSA3MiBMIDUzMCA4MyBaIE0gNTM1IDgzIEwgNTM5LjUgNzIgTCA1NDQuNSA3MiBMIDUzOS41IDgzIFogTSA1NDUgODMgTCA1NTAgNzIgTCA1NTUgNzIgTCA1NTAgODMgWiBNIDU1NSA4MyBMIDU2MCA3MiBMIDU2NSA3MiBMIDU2MCA4MyBaIE0gNTY1IDgzIEwgNTcwIDcyIEwgNTc1IDcyIEwgNTcwIDgzIFogTSA1MTUgNjUuNSBMIDUyMCA1NC41IEwgNTI1IDU0LjUgTCA1MjAgNjUuNSBaIE0gNTI1IDY1LjUgTCA1MzAgNTQuNSBMIDUzNSA1NC41IEwgNTMwIDY1LjUgWiBNIDUzNSA2NS41IEwgNTQwIDU0LjUgTCA1NDUgNTQuNSBMIDU0MCA2NS41IFogTSA1NDUgNjUuNSBMIDU1MCA1NC41IEwgNTU1IDU0LjUgTCA1NTAgNjUuNSBaIE0gNTU1IDY1LjUgTCA1NjAgNTQuNSBMIDU2NSA1NC41IEwgNTYwIDY1LjUgWiBNIDU2NSA2NS41IEwgNTcwIDU0LjUgTCA1NzUgNTQuNSBMIDU3MCA2NS41IFogTSA1MTUgNDggTCA1MjAgMzcgTCA1MjUgMzcgTCA1MjAgNDggWiBNIDUyNSA0OCBMIDUzMCAzNyBMIDUzNSAzNyBMIDUzMCA0OCBaIE0gNTM1IDQ4IEwgNTQwIDM3IEwgNTQ1IDM3IEwgNTQwIDQ4IFogTSA1NDUgNDggTCA1NTAgMzcgTCA1NTUgMzcgTCA1NTAgNDggWiBNIDU1NSA0OCBMIDU2MCAzNyBMIDU2NSAzNyBMIDU2MCA0OCBaIE0gNTY1IDQ4IEwgNTcwIDM3IEwgNTc1IDM3IEwgNTcwIDQ4IFoiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0ibm9uZSIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxwYXRoIGQ9Ik0gMTIwIDE3MCBMIDI1OC42MyAxNzAiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJzdHJva2UiLz48cGF0aCBkPSJNIDI2My44OCAxNzAgTCAyNTYuODggMTczLjUgTCAyNTguNjMgMTcwIEwgMjU2Ljg4IDE2Ni41IFoiIGZpbGw9InJnYigyNDAsIDI0MCwgMjQwKSIgc3Ryb2tlPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxyZWN0IHg9IjAiIHk9IjE0MCIgd2lkdGg9IjEyMCIgaGVpZ2h0PSI2MCIgZmlsbD0icmdiKDI0LCAyMCwgMjkpIiBzdHJva2U9InJnYigyNDAsIDI0MCwgMjQwKSIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjUgLTAuNSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9pbnRlci1ldmVudHM9Im5vbmUiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSIgc3R5bGU9Im92ZXJmbG93OiB2aXNpYmxlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiB1bnNhZmUgY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2FmZSBjZW50ZXI7IHdpZHRoOiAxMThweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmctdG9wOiAxNzBweDsgbWFyZ2luLWxlZnQ6IDFweDsiPjxkaXYgZGF0YS1kcmF3aW8tY29sb3JzPSJjb2xvcjogcmdiKDI0MCwgMjQwLCAyNDApOyAiIHN0eWxlPSJib3gtc2l6aW5nOiBib3JkZXItYm94OyBmb250LXNpemU6IDBweDsgdGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGNvbG9yOiByZ2IoMjQwLCAyNDAsIDI0MCk7IGxpbmUtaGVpZ2h0OiAxLjI7IHBvaW50ZXItZXZlbnRzOiBhbGw7IHdoaXRlLXNwYWNlOiBub3JtYWw7IG92ZXJmbG93LXdyYXA6IG5vcm1hbDsiPuWuouaIt+errzwvZGl2PjwvZGl2PjwvZGl2PjwvZm9yZWlnbk9iamVjdD48dGV4dCB4PSI2MCIgeT0iMTc0IiBmaWxsPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiIGZvbnQtc2l6ZT0iMTJweCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+5a6i5oi356uvPC90ZXh0Pjwvc3dpdGNoPjwvZz48cGF0aCBkPSJNIDM4NSAxNzAgTCA0ODguNjMgMTcwIiBmaWxsPSJub25lIiBzdHJva2U9InJnYigyNDAsIDI0MCwgMjQwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ic3Ryb2tlIi8+PHBhdGggZD0iTSA0OTMuODggMTcwIEwgNDg2Ljg4IDE3My41IEwgNDg4LjYzIDE3MCBMIDQ4Ni44OCAxNjYuNSBaIiBmaWxsPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48cGF0aCBkPSJNIDMyNSAyMDAgTCAzMjUgMjczLjYzIiBmaWxsPSJub25lIiBzdHJva2U9InJnYigyNDAsIDI0MCwgMjQwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ic3Ryb2tlIi8+PHBhdGggZD0iTSAzMjUgMjc4Ljg4IEwgMzIxLjUgMjcxLjg4IEwgMzI1IDI3My42MyBMIDMyOC41IDI3MS44OCBaIiBmaWxsPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48cmVjdCB4PSIyNjUiIHk9IjE0MCIgd2lkdGg9IjEyMCIgaGVpZ2h0PSI2MCIgZmlsbD0icmdiKDI0LCAyMCwgMjkpIiBzdHJva2U9InJnYigyNDAsIDI0MCwgMjQwKSIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjUgLTAuNSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9pbnRlci1ldmVudHM9Im5vbmUiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSIgc3R5bGU9Im92ZXJmbG93OiB2aXNpYmxlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiB1bnNhZmUgY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2FmZSBjZW50ZXI7IHdpZHRoOiAxMThweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmctdG9wOiAxNzBweDsgbWFyZ2luLWxlZnQ6IDI2NnB4OyI+PGRpdiBkYXRhLWRyYXdpby1jb2xvcnM9ImNvbG9yOiByZ2IoMjQwLCAyNDAsIDI0MCk7ICIgc3R5bGU9ImJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigyNDAsIDI0MCwgMjQwKTsgbGluZS1oZWlnaHQ6IDEuMjsgcG9pbnRlci1ldmVudHM6IGFsbDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgb3ZlcmZsb3ctd3JhcDogbm9ybWFsOyI+Y29udHJvbGxlcuOAkOeZu+W9leOAkTwvZGl2PjwvZGl2PjwvZGl2PjwvZm9yZWlnbk9iamVjdD48dGV4dCB4PSIzMjUiIHk9IjE3NCIgZmlsbD0icmdiKDI0MCwgMjQwLCAyNDApIiBmb250LWZhbWlseT0iSGVsdmV0aWNhIiBmb250LXNpemU9IjEycHgiIHRleHQtYW5jaG9yPSJtaWRkbGUiPmNvbnRyb2xsZXLjgJDnmbvlvZXjgJE8L3RleHQ+PC9zd2l0Y2g+PC9nPjxwYXRoIGQ9Ik0gNjE1IDE3MCBMIDcxMi41IDE3MCBMIDcxMi41IDMwIEwgODAzLjYzIDMwIiBmaWxsPSJub25lIiBzdHJva2U9InJnYigyNDAsIDI0MCwgMjQwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ic3Ryb2tlIi8+PHBhdGggZD0iTSA4MDguODggMzAgTCA4MDEuODggMzMuNSBMIDgwMy42MyAzMCBMIDgwMS44OCAyNi41IFoiIGZpbGw9InJnYigyNDAsIDI0MCwgMjQwKSIgc3Ryb2tlPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxwYXRoIGQ9Ik0gNjE1IDE3MCBMIDcxMi41IDE3MCBMIDcxMi41IDEwNSBMIDgwMy42MyAxMDUiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJzdHJva2UiLz48cGF0aCBkPSJNIDgwOC44OCAxMDUgTCA4MDEuODggMTA4LjUgTCA4MDMuNjMgMTA1IEwgODAxLjg4IDEwMS41IFoiIGZpbGw9InJnYigyNDAsIDI0MCwgMjQwKSIgc3Ryb2tlPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxwYXRoIGQ9Ik0gNjE1IDE3MCBMIDcxMi41IDE3MCBMIDcxMi41IDE4NSBMIDgwMy42MyAxODUiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJzdHJva2UiLz48cGF0aCBkPSJNIDgwOC44OCAxODUgTCA4MDEuODggMTg4LjUgTCA4MDMuNjMgMTg1IEwgODAxLjg4IDE4MS41IFoiIGZpbGw9InJnYigyNDAsIDI0MCwgMjQwKSIgc3Ryb2tlPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxwYXRoIGQ9Ik0gNjE1IDE3MCBMIDcxMi41IDE3MCBMIDcxMi41IDI2NSBMIDgwMy42MyAyNjUiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJzdHJva2UiLz48cGF0aCBkPSJNIDgwOC44OCAyNjUgTCA4MDEuODggMjY4LjUgTCA4MDMuNjMgMjY1IEwgODAxLjg4IDI2MS41IFoiIGZpbGw9InJnYigyNDAsIDI0MCwgMjQwKSIgc3Ryb2tlPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxwYXRoIGQ9Ik0gNTU1IDIwMCBMIDU1NSAyNzMuNjMiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJzdHJva2UiLz48cGF0aCBkPSJNIDU1NSAyNzguODggTCA1NTEuNSAyNzEuODggTCA1NTUgMjczLjYzIEwgNTU4LjUgMjcxLjg4IFoiIGZpbGw9InJnYigyNDAsIDI0MCwgMjQwKSIgc3Ryb2tlPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxyZWN0IHg9IjQ5NSIgeT0iMTQwIiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjYwIiBmaWxsPSJyZ2IoMjQsIDIwLCAyOSkiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuNSAtMC41KSI+PHN3aXRjaD48Zm9yZWlnbk9iamVjdCBwb2ludGVyLWV2ZW50cz0ibm9uZSIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgcmVxdWlyZWRGZWF0dXJlcz0iaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNFeHRlbnNpYmlsaXR5IiBzdHlsZT0ib3ZlcmZsb3c6IHZpc2libGU7IHRleHQtYWxpZ246IGxlZnQ7Ij48ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0iZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IHVuc2FmZSBjZW50ZXI7IGp1c3RpZnktY29udGVudDogdW5zYWZlIGNlbnRlcjsgd2lkdGg6IDExOHB4OyBoZWlnaHQ6IDFweDsgcGFkZGluZy10b3A6IDE3MHB4OyBtYXJnaW4tbGVmdDogNDk2cHg7Ij48ZGl2IGRhdGEtZHJhd2lvLWNvbG9ycz0iY29sb3I6IHJnYigyNDAsIDI0MCwgMjQwKTsgIiBzdHlsZT0iYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDI0MCwgMjQwLCAyNDApOyBsaW5lLWhlaWdodDogMS4yOyBwb2ludGVyLWV2ZW50czogYWxsOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBvdmVyZmxvdy13cmFwOiBub3JtYWw7Ij7mnI3liqHmk43kvZw8L2Rpdj48L2Rpdj48L2Rpdj48L2ZvcmVpZ25PYmplY3Q+PHRleHQgeD0iNTU1IiB5PSIxNzQiIGZpbGw9InJnYigyNDAsIDI0MCwgMjQwKSIgZm9udC1mYW1pbHk9IkhlbHZldGljYSIgZm9udC1zaXplPSIxMnB4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj7mnI3liqHmk43kvZw8L3RleHQ+PC9zd2l0Y2g+PC9nPjxyZWN0IHg9IjI2NSIgeT0iMjgwIiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjYwIiBmaWxsPSJyZ2IoMjQsIDIwLCAyOSkiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuNSAtMC41KSI+PHN3aXRjaD48Zm9yZWlnbk9iamVjdCBwb2ludGVyLWV2ZW50cz0ibm9uZSIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgcmVxdWlyZWRGZWF0dXJlcz0iaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNFeHRlbnNpYmlsaXR5IiBzdHlsZT0ib3ZlcmZsb3c6IHZpc2libGU7IHRleHQtYWxpZ246IGxlZnQ7Ij48ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0iZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IHVuc2FmZSBjZW50ZXI7IGp1c3RpZnktY29udGVudDogdW5zYWZlIGNlbnRlcjsgd2lkdGg6IDExOHB4OyBoZWlnaHQ6IDFweDsgcGFkZGluZy10b3A6IDMxMHB4OyBtYXJnaW4tbGVmdDogMjY2cHg7Ij48ZGl2IGRhdGEtZHJhd2lvLWNvbG9ycz0iY29sb3I6IHJnYigyNDAsIDI0MCwgMjQwKTsgIiBzdHlsZT0iYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDI0MCwgMjQwLCAyNDApOyBsaW5lLWhlaWdodDogMS4yOyBwb2ludGVyLWV2ZW50czogYWxsOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBvdmVyZmxvdy13cmFwOiBub3JtYWw7Ij5BT1Dmo4Dmn6XmnYPpmZA8L2Rpdj48L2Rpdj48L2Rpdj48L2ZvcmVpZ25PYmplY3Q+PHRleHQgeD0iMzI1IiB5PSIzMTQiIGZpbGw9InJnYigyNDAsIDI0MCwgMjQwKSIgZm9udC1mYW1pbHk9IkhlbHZldGljYSIgZm9udC1zaXplPSIxMnB4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5BT1Dmo4Dmn6XmnYPpmZA8L3RleHQ+PC9zd2l0Y2g+PC9nPjxyZWN0IHg9IjgxMCIgeT0iMCIgd2lkdGg9IjEyMCIgaGVpZ2h0PSI2MCIgZmlsbD0icmdiKDI0LCAyMCwgMjkpIiBzdHJva2U9InJnYigyNDAsIDI0MCwgMjQwKSIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjUgLTAuNSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9pbnRlci1ldmVudHM9Im5vbmUiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSIgc3R5bGU9Im92ZXJmbG93OiB2aXNpYmxlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiB1bnNhZmUgY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2FmZSBjZW50ZXI7IHdpZHRoOiAxMThweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmctdG9wOiAzMHB4OyBtYXJnaW4tbGVmdDogODExcHg7Ij48ZGl2IGRhdGEtZHJhd2lvLWNvbG9ycz0iY29sb3I6IHJnYigyNDAsIDI0MCwgMjQwKTsgIiBzdHlsZT0iYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDI0MCwgMjQwLCAyNDApOyBsaW5lLWhlaWdodDogMS4yOyBwb2ludGVyLWV2ZW50czogYWxsOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBvdmVyZmxvdy13cmFwOiBub3JtYWw7Ij7mn6Xor6Lmk43kvZw8L2Rpdj48L2Rpdj48L2Rpdj48L2ZvcmVpZ25PYmplY3Q+PHRleHQgeD0iODcwIiB5PSIzNCIgZmlsbD0icmdiKDI0MCwgMjQwLCAyNDApIiBmb250LWZhbWlseT0iSGVsdmV0aWNhIiBmb250LXNpemU9IjEycHgiIHRleHQtYW5jaG9yPSJtaWRkbGUiPuafpeivouaTjeS9nDwvdGV4dD48L3N3aXRjaD48L2c+PHJlY3QgeD0iODEwIiB5PSI3NSIgd2lkdGg9IjEyMCIgaGVpZ2h0PSI2MCIgZmlsbD0icmdiKDI0LCAyMCwgMjkpIiBzdHJva2U9InJnYigyNDAsIDI0MCwgMjQwKSIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjUgLTAuNSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9pbnRlci1ldmVudHM9Im5vbmUiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSIgc3R5bGU9Im92ZXJmbG93OiB2aXNpYmxlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiB1bnNhZmUgY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2FmZSBjZW50ZXI7IHdpZHRoOiAxMThweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmctdG9wOiAxMDVweDsgbWFyZ2luLWxlZnQ6IDgxMXB4OyI+PGRpdiBkYXRhLWRyYXdpby1jb2xvcnM9ImNvbG9yOiByZ2IoMjQwLCAyNDAsIDI0MCk7ICIgc3R5bGU9ImJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigyNDAsIDI0MCwgMjQwKTsgbGluZS1oZWlnaHQ6IDEuMjsgcG9pbnRlci1ldmVudHM6IGFsbDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgb3ZlcmZsb3ctd3JhcDogbm9ybWFsOyI+5re75Yqg5pON5L2cPC9kaXY+PC9kaXY+PC9kaXY+PC9mb3JlaWduT2JqZWN0Pjx0ZXh0IHg9Ijg3MCIgeT0iMTA5IiBmaWxsPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiIGZvbnQtc2l6ZT0iMTJweCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+5re75Yqg5pON5L2cPC90ZXh0Pjwvc3dpdGNoPjwvZz48cmVjdCB4PSI4MTAiIHk9IjE1NSIgd2lkdGg9IjEyMCIgaGVpZ2h0PSI2MCIgZmlsbD0icmdiKDI0LCAyMCwgMjkpIiBzdHJva2U9InJnYigyNDAsIDI0MCwgMjQwKSIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjUgLTAuNSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9pbnRlci1ldmVudHM9Im5vbmUiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSIgc3R5bGU9Im92ZXJmbG93OiB2aXNpYmxlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiB1bnNhZmUgY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2FmZSBjZW50ZXI7IHdpZHRoOiAxMThweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmctdG9wOiAxODVweDsgbWFyZ2luLWxlZnQ6IDgxMXB4OyI+PGRpdiBkYXRhLWRyYXdpby1jb2xvcnM9ImNvbG9yOiByZ2IoMjQwLCAyNDAsIDI0MCk7ICIgc3R5bGU9ImJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigyNDAsIDI0MCwgMjQwKTsgbGluZS1oZWlnaHQ6IDEuMjsgcG9pbnRlci1ldmVudHM6IGFsbDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgb3ZlcmZsb3ctd3JhcDogbm9ybWFsOyI+5L+u5pS55pON5L2cPC9kaXY+PC9kaXY+PC9kaXY+PC9mb3JlaWduT2JqZWN0Pjx0ZXh0IHg9Ijg3MCIgeT0iMTg5IiBmaWxsPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiIGZvbnQtc2l6ZT0iMTJweCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+5L+u5pS55pON5L2cPC90ZXh0Pjwvc3dpdGNoPjwvZz48cmVjdCB4PSI4MTAiIHk9IjIzNSIgd2lkdGg9IjEyMCIgaGVpZ2h0PSI2MCIgZmlsbD0icmdiKDI0LCAyMCwgMjkpIiBzdHJva2U9InJnYigyNDAsIDI0MCwgMjQwKSIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjUgLTAuNSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9pbnRlci1ldmVudHM9Im5vbmUiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSIgc3R5bGU9Im92ZXJmbG93OiB2aXNpYmxlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiB1bnNhZmUgY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2FmZSBjZW50ZXI7IHdpZHRoOiAxMThweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmctdG9wOiAyNjVweDsgbWFyZ2luLWxlZnQ6IDgxMXB4OyI+PGRpdiBkYXRhLWRyYXdpby1jb2xvcnM9ImNvbG9yOiByZ2IoMjQwLCAyNDAsIDI0MCk7ICIgc3R5bGU9ImJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigyNDAsIDI0MCwgMjQwKTsgbGluZS1oZWlnaHQ6IDEuMjsgcG9pbnRlci1ldmVudHM6IGFsbDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgb3ZlcmZsb3ctd3JhcDogbm9ybWFsOyI+5Yig6Zmk5pON5L2cPC9kaXY+PC9kaXY+PC9kaXY+PC9mb3JlaWduT2JqZWN0Pjx0ZXh0IHg9Ijg3MCIgeT0iMjY5IiBmaWxsPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiIGZvbnQtc2l6ZT0iMTJweCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+5Yig6Zmk5pON5L2cPC90ZXh0Pjwvc3dpdGNoPjwvZz48cGF0aCBkPSJNIDU1NSAzNDAgTCA1NTUgMzYwIEwgNDA3LjUgMzYwIEwgNDA3LjUgMzczLjYzIiBmaWxsPSJub25lIiBzdHJva2U9InJnYigyNDAsIDI0MCwgMjQwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ic3Ryb2tlIi8+PHBhdGggZD0iTSA0MDcuNSAzNzguODggTCA0MDQgMzcxLjg4IEwgNDA3LjUgMzczLjYzIEwgNDExIDM3MS44OCBaIiBmaWxsPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48cGF0aCBkPSJNIDU1NSAzNDAgTCA1NTUgMzYwIEwgNTEyLjUgMzYwIEwgNTEyLjUgMzczLjYzIiBmaWxsPSJub25lIiBzdHJva2U9InJnYigyNDAsIDI0MCwgMjQwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ic3Ryb2tlIi8+PHBhdGggZD0iTSA1MTIuNSAzNzguODggTCA1MDkgMzcxLjg4IEwgNTEyLjUgMzczLjYzIEwgNTE2IDM3MS44OCBaIiBmaWxsPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48cGF0aCBkPSJNIDU1NSAzNDAgTCA1NTUgMzYwIEwgNjA2LjUgMzYwIEwgNjA2LjUgMzczLjYzIiBmaWxsPSJub25lIiBzdHJva2U9InJnYigyNDAsIDI0MCwgMjQwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ic3Ryb2tlIi8+PHBhdGggZD0iTSA2MDYuNSAzNzguODggTCA2MDMgMzcxLjg4IEwgNjA2LjUgMzczLjYzIEwgNjEwIDM3MS44OCBaIiBmaWxsPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48cGF0aCBkPSJNIDU1NSAzNDAgTCA1NTUgMzYwIEwgNzAwLjUgMzYwIEwgNzAwLjUgMzczLjYzIiBmaWxsPSJub25lIiBzdHJva2U9InJnYigyNDAsIDI0MCwgMjQwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ic3Ryb2tlIi8+PHBhdGggZD0iTSA3MDAuNSAzNzguODggTCA2OTcgMzcxLjg4IEwgNzAwLjUgMzczLjYzIEwgNzA0IDM3MS44OCBaIiBmaWxsPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48cGF0aCBkPSJNIDU1NSAzNDAgTCA1NTUgMzYwIEwgNzk1LjUgMzYwIEwgNzk1LjUgMzczLjYzIiBmaWxsPSJub25lIiBzdHJva2U9InJnYigyNDAsIDI0MCwgMjQwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ic3Ryb2tlIi8+PHBhdGggZD0iTSA3OTUuNSAzNzguODggTCA3OTIgMzcxLjg4IEwgNzk1LjUgMzczLjYzIEwgNzk5IDM3MS44OCBaIiBmaWxsPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48cGF0aCBkPSJNIDU1NSAzNDAgTCA1NTUgMzYwIEwgNDYzIDM2MCBMIDQ2MyA0MzMuNjMiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJzdHJva2UiLz48cGF0aCBkPSJNIDQ2MyA0MzguODggTCA0NTkuNSA0MzEuODggTCA0NjMgNDMzLjYzIEwgNDY2LjUgNDMxLjg4IFoiIGZpbGw9InJnYigyNDAsIDI0MCwgMjQwKSIgc3Ryb2tlPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxyZWN0IHg9IjQ5NSIgeT0iMjgwIiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjYwIiBmaWxsPSJyZ2IoMjQsIDIwLCAyOSkiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuNSAtMC41KSI+PHN3aXRjaD48Zm9yZWlnbk9iamVjdCBwb2ludGVyLWV2ZW50cz0ibm9uZSIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgcmVxdWlyZWRGZWF0dXJlcz0iaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNFeHRlbnNpYmlsaXR5IiBzdHlsZT0ib3ZlcmZsb3c6IHZpc2libGU7IHRleHQtYWxpZ246IGxlZnQ7Ij48ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0iZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IHVuc2FmZSBjZW50ZXI7IGp1c3RpZnktY29udGVudDogdW5zYWZlIGNlbnRlcjsgd2lkdGg6IDExOHB4OyBoZWlnaHQ6IDFweDsgcGFkZGluZy10b3A6IDMxMHB4OyBtYXJnaW4tbGVmdDogNDk2cHg7Ij48ZGl2IGRhdGEtZHJhd2lvLWNvbG9ycz0iY29sb3I6IHJnYigyNDAsIDI0MCwgMjQwKTsgIiBzdHlsZT0iYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDI0MCwgMjQwLCAyNDApOyBsaW5lLWhlaWdodDogMS4yOyBwb2ludGVyLWV2ZW50czogYWxsOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBvdmVyZmxvdy13cmFwOiBub3JtYWw7Ij7lt6Xlhbc8L2Rpdj48L2Rpdj48L2Rpdj48L2ZvcmVpZ25PYmplY3Q+PHRleHQgeD0iNTU1IiB5PSIzMTQiIGZpbGw9InJnYigyNDAsIDI0MCwgMjQwKSIgZm9udC1mYW1pbHk9IkhlbHZldGljYSIgZm9udC1zaXplPSIxMnB4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj7lt6Xlhbc8L3RleHQ+PC9zd2l0Y2g+PC9nPjxyZWN0IHg9IjM2NSIgeT0iMzgwIiB3aWR0aD0iODUiIGhlaWdodD0iNDAiIGZpbGw9InJnYigyNCwgMjAsIDI5KSIgc3Ryb2tlPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC41IC0wLjUpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiIHN0eWxlPSJvdmVyZmxvdzogdmlzaWJsZTsgdGV4dC1hbGlnbjogbGVmdDsiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogdW5zYWZlIGNlbnRlcjsganVzdGlmeS1jb250ZW50OiB1bnNhZmUgY2VudGVyOyB3aWR0aDogODNweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmctdG9wOiA0MDBweDsgbWFyZ2luLWxlZnQ6IDM2NnB4OyI+PGRpdiBkYXRhLWRyYXdpby1jb2xvcnM9ImNvbG9yOiByZ2IoMjQwLCAyNDAsIDI0MCk7ICIgc3R5bGU9ImJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigyNDAsIDI0MCwgMjQwKTsgbGluZS1oZWlnaHQ6IDEuMjsgcG9pbnRlci1ldmVudHM6IGFsbDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgb3ZlcmZsb3ctd3JhcDogbm9ybWFsOyI+SldUIOW3peWFtzwvZGl2PjwvZGl2PjwvZGl2PjwvZm9yZWlnbk9iamVjdD48dGV4dCB4PSI0MDgiIHk9IjQwNCIgZmlsbD0icmdiKDI0MCwgMjQwLCAyNDApIiBmb250LWZhbWlseT0iSGVsdmV0aWNhIiBmb250LXNpemU9IjEycHgiIHRleHQtYW5jaG9yPSJtaWRkbGUiPkpXVCDlt6Xlhbc8L3RleHQ+PC9zd2l0Y2g+PC9nPjxyZWN0IHg9IjQ3MCIgeT0iMzgwIiB3aWR0aD0iODUiIGhlaWdodD0iNDAiIGZpbGw9InJnYigyNCwgMjAsIDI5KSIgc3Ryb2tlPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC41IC0wLjUpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiIHN0eWxlPSJvdmVyZmxvdzogdmlzaWJsZTsgdGV4dC1hbGlnbjogbGVmdDsiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogdW5zYWZlIGNlbnRlcjsganVzdGlmeS1jb250ZW50OiB1bnNhZmUgY2VudGVyOyB3aWR0aDogODNweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmctdG9wOiA0MDBweDsgbWFyZ2luLWxlZnQ6IDQ3MXB4OyI+PGRpdiBkYXRhLWRyYXdpby1jb2xvcnM9ImNvbG9yOiByZ2IoMjQwLCAyNDAsIDI0MCk7ICIgc3R5bGU9ImJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigyNDAsIDI0MCwgMjQwKTsgbGluZS1oZWlnaHQ6IDEuMjsgcG9pbnRlci1ldmVudHM6IGFsbDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgb3ZlcmZsb3ctd3JhcDogbm9ybWFsOyI+6aqM6K+B56CBIOW3peWFtzwvZGl2PjwvZGl2PjwvZGl2PjwvZm9yZWlnbk9iamVjdD48dGV4dCB4PSI1MTMiIHk9IjQwNCIgZmlsbD0icmdiKDI0MCwgMjQwLCAyNDApIiBmb250LWZhbWlseT0iSGVsdmV0aWNhIiBmb250LXNpemU9IjEycHgiIHRleHQtYW5jaG9yPSJtaWRkbGUiPumqjOivgeeggSDlt6Xlhbc8L3RleHQ+PC9zd2l0Y2g+PC9nPjxyZWN0IHg9IjU2NCIgeT0iMzgwIiB3aWR0aD0iODUiIGhlaWdodD0iNDAiIGZpbGw9InJnYigyNCwgMjAsIDI5KSIgc3Ryb2tlPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC41IC0wLjUpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiIHN0eWxlPSJvdmVyZmxvdzogdmlzaWJsZTsgdGV4dC1hbGlnbjogbGVmdDsiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogdW5zYWZlIGNlbnRlcjsganVzdGlmeS1jb250ZW50OiB1bnNhZmUgY2VudGVyOyB3aWR0aDogODNweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmctdG9wOiA0MDBweDsgbWFyZ2luLWxlZnQ6IDU2NXB4OyI+PGRpdiBkYXRhLWRyYXdpby1jb2xvcnM9ImNvbG9yOiByZ2IoMjQwLCAyNDAsIDI0MCk7ICIgc3R5bGU9ImJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigyNDAsIDI0MCwgMjQwKTsgbGluZS1oZWlnaHQ6IDEuMjsgcG9pbnRlci1ldmVudHM6IGFsbDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgb3ZlcmZsb3ctd3JhcDogbm9ybWFsOyI+5Yqg6Kej5a+GIOW3peWFtzwvZGl2PjwvZGl2PjwvZGl2PjwvZm9yZWlnbk9iamVjdD48dGV4dCB4PSI2MDciIHk9IjQwNCIgZmlsbD0icmdiKDI0MCwgMjQwLCAyNDApIiBmb250LWZhbWlseT0iSGVsdmV0aWNhIiBmb250LXNpemU9IjEycHgiIHRleHQtYW5jaG9yPSJtaWRkbGUiPuWKoOino+WvhiDlt6Xlhbc8L3RleHQ+PC9zd2l0Y2g+PC9nPjxyZWN0IHg9IjY1OCIgeT0iMzgwIiB3aWR0aD0iODUiIGhlaWdodD0iNDAiIGZpbGw9InJnYigyNCwgMjAsIDI5KSIgc3Ryb2tlPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC41IC0wLjUpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiIHN0eWxlPSJvdmVyZmxvdzogdmlzaWJsZTsgdGV4dC1hbGlnbjogbGVmdDsiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogdW5zYWZlIGNlbnRlcjsganVzdGlmeS1jb250ZW50OiB1bnNhZmUgY2VudGVyOyB3aWR0aDogODNweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmctdG9wOiA0MDBweDsgbWFyZ2luLWxlZnQ6IDY1OXB4OyI+PGRpdiBkYXRhLWRyYXdpby1jb2xvcnM9ImNvbG9yOiByZ2IoMjQwLCAyNDAsIDI0MCk7ICIgc3R5bGU9ImJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigyNDAsIDI0MCwgMjQwKTsgbGluZS1oZWlnaHQ6IDEuMjsgcG9pbnRlci1ldmVudHM6IGFsbDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgb3ZlcmZsb3ctd3JhcDogbm9ybWFsOyI+5YiG6aG15p+l6K+iIOW3peWFtzwvZGl2PjwvZGl2PjwvZGl2PjwvZm9yZWlnbk9iamVjdD48dGV4dCB4PSI3MDEiIHk9IjQwNCIgZmlsbD0icmdiKDI0MCwgMjQwLCAyNDApIiBmb250LWZhbWlseT0iSGVsdmV0aWNhIiBmb250LXNpemU9IjEycHgiIHRleHQtYW5jaG9yPSJtaWRkbGUiPuWIhumhteafpeivoiDlt6Xlhbc8L3RleHQ+PC9zd2l0Y2g+PC9nPjxyZWN0IHg9Ijc1MyIgeT0iMzgwIiB3aWR0aD0iODUiIGhlaWdodD0iNDAiIGZpbGw9InJnYigyNCwgMjAsIDI5KSIgc3Ryb2tlPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC41IC0wLjUpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiIHN0eWxlPSJvdmVyZmxvdzogdmlzaWJsZTsgdGV4dC1hbGlnbjogbGVmdDsiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogdW5zYWZlIGNlbnRlcjsganVzdGlmeS1jb250ZW50OiB1bnNhZmUgY2VudGVyOyB3aWR0aDogODNweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmctdG9wOiA0MDBweDsgbWFyZ2luLWxlZnQ6IDc1NHB4OyI+PGRpdiBkYXRhLWRyYXdpby1jb2xvcnM9ImNvbG9yOiByZ2IoMjQwLCAyNDAsIDI0MCk7ICIgc3R5bGU9ImJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigyNDAsIDI0MCwgMjQwKTsgbGluZS1oZWlnaHQ6IDEuMjsgcG9pbnRlci1ldmVudHM6IGFsbDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgb3ZlcmZsb3ctd3JhcDogbm9ybWFsOyI+5pel5b+X6K6w5b2VIOW3peWFtzwvZGl2PjwvZGl2PjwvZGl2PjwvZm9yZWlnbk9iamVjdD48dGV4dCB4PSI3OTYiIHk9IjQwNCIgZmlsbD0icmdiKDI0MCwgMjQwLCAyNDApIiBmb250LWZhbWlseT0iSGVsdmV0aWNhIiBmb250LXNpemU9IjEycHgiIHRleHQtYW5jaG9yPSJtaWRkbGUiPuaXpeW/l+iusOW9lSDlt6Xlhbc8L3RleHQ+PC9zd2l0Y2g+PC9nPjxwYXRoIGQ9Ik0gNDIwIDQ2MCBMIDM5MS4zNyA0NjAiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJzdHJva2UiLz48cGF0aCBkPSJNIDM4Ni4xMiA0NjAgTCAzOTMuMTIgNDU2LjUgTCAzOTEuMzcgNDYwIEwgMzkzLjEyIDQ2My41IFoiIGZpbGw9InJnYigyNDAsIDI0MCwgMjQwKSIgc3Ryb2tlPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxyZWN0IHg9IjQyMCIgeT0iNDQwIiB3aWR0aD0iODUiIGhlaWdodD0iNDAiIGZpbGw9InJnYigyNCwgMjAsIDI5KSIgc3Ryb2tlPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC41IC0wLjUpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiIHN0eWxlPSJvdmVyZmxvdzogdmlzaWJsZTsgdGV4dC1hbGlnbjogbGVmdDsiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogdW5zYWZlIGNlbnRlcjsganVzdGlmeS1jb250ZW50OiB1bnNhZmUgY2VudGVyOyB3aWR0aDogODNweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmctdG9wOiA0NjBweDsgbWFyZ2luLWxlZnQ6IDQyMXB4OyI+PGRpdiBkYXRhLWRyYXdpby1jb2xvcnM9ImNvbG9yOiByZ2IoMjQwLCAyNDAsIDI0MCk7ICIgc3R5bGU9ImJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigyNDAsIDI0MCwgMjQwKTsgbGluZS1oZWlnaHQ6IDEuMjsgcG9pbnRlci1ldmVudHM6IGFsbDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgb3ZlcmZsb3ctd3JhcDogbm9ybWFsOyI+6K6k6K+BIOW3peWFtzwvZGl2PjwvZGl2PjwvZGl2PjwvZm9yZWlnbk9iamVjdD48dGV4dCB4PSI0NjMiIHk9IjQ2NCIgZmlsbD0icmdiKDI0MCwgMjQwLCAyNDApIiBmb250LWZhbWlseT0iSGVsdmV0aWNhIiBmb250LXNpemU9IjEycHgiIHRleHQtYW5jaG9yPSJtaWRkbGUiPuiupOivgSDlt6Xlhbc8L3RleHQ+PC9zd2l0Y2g+PC9nPjxyZWN0IHg9IjY0MCIgeT0iMTM1IiB3aWR0aD0iNTAiIGhlaWdodD0iMzAiIGZpbGw9Im5vbmUiIHN0cm9rZT0ibm9uZSIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjUgLTAuNSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9pbnRlci1ldmVudHM9Im5vbmUiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSIgc3R5bGU9Im92ZXJmbG93OiB2aXNpYmxlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiB1bnNhZmUgY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2FmZSBjZW50ZXI7IHdpZHRoOiAxcHg7IGhlaWdodDogMXB4OyBwYWRkaW5nLXRvcDogMTUwcHg7IG1hcmdpbi1sZWZ0OiA2NjVweDsiPjxkaXYgZGF0YS1kcmF3aW8tY29sb3JzPSJjb2xvcjogcmdiKDI0MCwgMjQwLCAyNDApOyAiIHN0eWxlPSJib3gtc2l6aW5nOiBib3JkZXItYm94OyBmb250LXNpemU6IDBweDsgdGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGNvbG9yOiByZ2IoMjQwLCAyNDAsIDI0MCk7IGxpbmUtaGVpZ2h0OiAxLjI7IHBvaW50ZXItZXZlbnRzOiBhbGw7IHdoaXRlLXNwYWNlOiBub3dyYXA7Ij7kuovliqE8L2Rpdj48L2Rpdj48L2Rpdj48L2ZvcmVpZ25PYmplY3Q+PHRleHQgeD0iNjY1IiB5PSIxNTQiIGZpbGw9InJnYigyNDAsIDI0MCwgMjQwKSIgZm9udC1mYW1pbHk9IkhlbHZldGljYSIgZm9udC1zaXplPSIxMnB4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj7kuovliqE8L3RleHQ+PC9zd2l0Y2g+PC9nPjxwYXRoIGQ9Ik0gMzI1IDQzMCBMIDMyNSAzNDYuMzciIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJzdHJva2UiLz48cGF0aCBkPSJNIDMyNSAzNDEuMTIgTCAzMjguNSAzNDguMTIgTCAzMjUgMzQ2LjM3IEwgMzIxLjUgMzQ4LjEyIFoiIGZpbGw9InJnYigyNDAsIDI0MCwgMjQwKSIgc3Ryb2tlPSJyZ2IoMjQwLCAyNDAsIDI0MCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxyZWN0IHg9IjI2NSIgeT0iNDMwIiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjYwIiBmaWxsPSJyZ2IoMjQsIDIwLCAyOSkiIHN0cm9rZT0icmdiKDI0MCwgMjQwLCAyNDApIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuNSAtMC41KSI+PHN3aXRjaD48Zm9yZWlnbk9iamVjdCBwb2ludGVyLWV2ZW50cz0ibm9uZSIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgcmVxdWlyZWRGZWF0dXJlcz0iaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNFeHRlbnNpYmlsaXR5IiBzdHlsZT0ib3ZlcmZsb3c6IHZpc2libGU7IHRleHQtYWxpZ246IGxlZnQ7Ij48ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0iZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IHVuc2FmZSBjZW50ZXI7IGp1c3RpZnktY29udGVudDogdW5zYWZlIGNlbnRlcjsgd2lkdGg6IDExOHB4OyBoZWlnaHQ6IDFweDsgcGFkZGluZy10b3A6IDQ2MHB4OyBtYXJnaW4tbGVmdDogMjY2cHg7Ij48ZGl2IGRhdGEtZHJhd2lvLWNvbG9ycz0iY29sb3I6IHJnYigyNDAsIDI0MCwgMjQwKTsgIiBzdHlsZT0iYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDI0MCwgMjQwLCAyNDApOyBsaW5lLWhlaWdodDogMS4yOyBwb2ludGVyLWV2ZW50czogYWxsOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBvdmVyZmxvdy13cmFwOiBub3JtYWw7Ij7oh6rlrprkuYnms6jop6M8L2Rpdj48L2Rpdj48L2Rpdj48L2ZvcmVpZ25PYmplY3Q+PHRleHQgeD0iMzI1IiB5PSI0NjQiIGZpbGw9InJnYigyNDAsIDI0MCwgMjQwKSIgZm9udC1mYW1pbHk9IkhlbHZldGljYSIgZm9udC1zaXplPSIxMnB4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj7oh6rlrprkuYnms6jop6M8L3RleHQ+PC9zd2l0Y2g+PC9nPjwvZz48c3dpdGNoPjxnIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSIvPjxhIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTUpIiB4bGluazpocmVmPSJodHRwczovL3d3dy5kaWFncmFtcy5uZXQvZG9jL2ZhcS9zdmctZXhwb3J0LXRleHQtcHJvYmxlbXMiIHRhcmdldD0iX2JsYW5rIj48dGV4dCB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEwcHgiIHg9IjUwJSIgeT0iMTAwJSI+VGV4dCBpcyBub3QgU1ZHIC0gY2Fubm90IGRpc3BsYXk8L3RleHQ+PC9hPjwvc3dpdGNoPjwvc3ZnPg==