外观
农业机制
农业是长期稳定的食物与材料来源。通过耕地、施肥、灌溉和作物管理,可以把狩猎采集升级为可持续生产。食物腐败与进食机制见食物与腐败。
耕地基础
游戏中有四种可种植植物的方块:
| 土壤方块 | 可种植的植物 | 备注 |
|---|---|---|
| 泥土 | 全部植物 | 需耙子耕作,基础土壤,直接可种,使用耙子交互后变为耕地 |
| 草地 | 全部植物 | 需耙子耕作,与泥土相同,使用耙子交互后变为泥土 |
| 沙子 | 除树苗和南瓜外 | 不支持树木和南瓜 |
| 耕地 | 除树苗外 | 可施肥和湿润 |
耕地详解
耕地由耙子对泥土或草地方块使用获得。耕地有特殊的数据存储结构:
耕地有三种状态:
- 普通耕地:干燥无肥,作物生长最慢
- 湿润耕地:靠近水源,显示为深色
- 施肥耕地:撒上硝石,在硝石位置3x3区域的耕地增加3点肥力值(封顶3点),作物生长加速,百分百成熟
水源滋润范围
| 方向 | 最大滋润距离 | 说明 |
|---|---|---|
| 水平(东南西北) | 3 格 | 水源在耕地同一高度,最远 3 格内可滋润 |
| 垂直(上下) | 1 格 | 水源在耕地上方或下方 1 格可滋润 |
| 斜对角 | 曼哈顿距离 ≤ 3 | 如东 2 格+南 1 格可滋润,但东 2 格+南 2 格不可 |
一桶水能滋润多大范围? 以水方块为中心,同高度的耕地在曼哈顿距离 3 格内都能被滋润。实际效果是一桶水可以滋润周围 7×7 菱形区域(每方向各 3 格)内的耕地,共 24 格耕地。
滋润的传递机制:搜索不仅能直接找到水,还能通过"已湿润的耕地"或"泥土"传递。也就是说,如果水源和耕地之间隔着已湿润的耕地或泥土方块,水源依然可以滋润到远处的耕地。泥土方块(非耕地)也能传递滋润信号,但只有耕地会被标记为湿润。
耕地破坏
辛苦耕好的地,被踩一脚就变回泥土——这是生存战争农业中最常见的"意外"。理解踩坏机制,才能有效保护你的农场。
耕地被踩坏后会退化回泥土(失去耕地状态、湿润和氮肥数据),但上面种植的作物不会消失。耕地退化有两种触发方式:生物踩踏和方块覆盖。
生物踩踏
当生物或玩家碰撞到耕地时,游戏会检查是否踩坏耕地。触发踩坏需要同时满足以下条件:
前提条件(必须全部满足):
- 生物质量 > 20
- 生物没有蹲伏(意思是玩家蹲下走不会踩坏耕地)
触发方式(满足任一即踩坏):
| 触发方式 | 条件 | 踩坏概率 | 说明 |
|---|---|---|---|
| 跳跃落地 | 垂直速度 < -3 | 100% | 从高处跳到耕地上,必定踩坏 |
| 跑动踩踏 | 垂直速度 < 0 且水平速度² > 1 | 概率性 | 在耕地上跑动时有概率踩坏,概率与游戏帧时间有关 |
- 蹲伏保护:玩家蹲下(蹲伏状态)时在耕地上移动不会踩坏耕地。这是保护农场最简单的方法——在农田里养成蹲着走的习惯。
- 关键结论:几乎所有陆地动物都会踩坏耕地,只有鸟类和极小型的生物不会。农场需要用栅栏围起来,防止牛、马、狼等动物闯入践踏。
方块覆盖
当耕地上方被放置一个实心可碰撞方块时,耕地会立刻退化为泥土。判定规则:
- 如果上方方块是面透明的(如玻璃窗、栅栏、台阶等)→ 不会踩坏耕地
- 如果上方方块是面不透明的且可碰撞(如石头、木板、泥土等)→ 会踩坏耕地
这意味着你可以在耕地上方放置玻璃窗来保护作物(例如做温室),但不能直接在耕地上方放石头或木板。
退化处理时机
踩坏请求不会立刻执行,而是加入队列,每 2.5 游戏时间单位(约 2.5 现实秒)批量处理一次。这意味着从踩踏到实际退化有极短的延迟,但玩家无法利用这个延迟来挽救耕地。
轮询与生长周期
作物不是"每秒都在长",而是每隔一段时间被游戏"检查"一次。理解轮询和生长周期的概念,才能算出作物到底需要多久才能成熟。
什么是轮询
游戏中的方块扫描器会周期性地扫描世界里的所有方块。每完成一轮完整扫描,就叫做一次轮询。扫描器的扫描周期为 1 分钟(现实时间)。
时间换算:1 个游戏天 = 1200 游戏时间单位 = 20 现实分钟。因此:
- 1 次轮询 = 60 游戏时间单位 = 1 现实分钟 = 0.05 个游戏天 = 1.2 个游戏内小时
每次轮询时,扫描器会调用各种方块行为的 轮询 方法。对于耕地,轮询 会检查是否需要更新湿润状态;对于植物,轮询 会触发生长检查。
什么是生长周期
生长周期是作物的一个参数,表示每隔多少次轮询才尝试生长一次。判定方式为:
通俗地讲,每进行 生长周期 次轮询后,作物会尝试生长。其中 轮询计数器 每完成一轮扫描 +1。例如黑麦的基础生长周期为 4,意味着每 4 次轮询才尝试生长一次。
各作物的生长周期换算
| 作物 | 基础生长周期 | 每次生长间隔 | 换算为游戏天 | 换算为现实时间 |
|---|---|---|---|---|
| 黑麦 | 4 次轮询 | 4 × 60 = 240 游戏时间单位 | 0.2 天(4.8 游戏内小时) | 4 现实分钟 |
| 棉花 | 8 次轮询 | 8 × 60 = 480 游戏时间单位 | 0.4 天(9.6 游戏内小时) | 8 现实分钟 |
| 南瓜 | 4 次轮询 | 4 × 60 = 240 游戏时间单位 | 0.2 天(4.8 游戏内小时) | 4 现实分钟 |
注意:上表是"基础生长周期"(干燥无肥的普通耕地)。湿润和施肥可以缩短生长周期(黑麦/棉花最多减半,南瓜最多减到 1)。另外,这里列出的是每次生长尝试的间隔时间,不是从种下到成熟的总时间。黑麦从种下到成熟需要经历 7 次生长(阶段 0→7),所以总时间还要乘以 7。
完整成熟时间估算
以最佳条件(湿润+施肥)为例:
| 作物 | 实际生长周期 | 生长次数 | 总成熟时间(现实) | 总成熟时间(游戏天) |
|---|---|---|---|---|
| 黑麦 | 2 次轮询 = 2 分钟 | 7 次 | 约 14 现实分钟 | 0.7 天 |
| 棉花 | 4 次轮询 = 4 分钟 | 2 次 | 约 8 现实分钟 | 0.4 天 |
| 南瓜 | 1 次轮询 = 1 分钟 | 7 次 | 约 7 现实分钟 | 0.35 天 |
以上为理论最快时间,实际游戏中还受光照(夜晚停止生长)、温度(低温增加周期)等因素影响。
作物生长机制
黑麦
黑麦是最基础的粮食作物,共 8 个生长阶段。必须在耕地上种植,否则立刻变野生。野生变化在第 3 阶段判定一次。
| 参数 | 值 | 说明 |
|---|---|---|
| 生长阶段 | 0~7(共8阶段) | 第7阶段为成熟可收获 |
| 光照要求 | 上方光照 ≥ 9 | 光照不足则停止生长 |
| 基础生长周期 | 4 | 每4次轮询尝试生长一次 |
| 基础野生概率 | 80% | 仅在第3阶段时判定 |
| 低温惩罚 | 周期 +4 | 温度 ≤ 4 时触发 |
| 成熟消耗肥力值 | 1点 | 成熟时从耕地扣除 |
不同条件下的生长表现:
| 土壤条件 | 生长周期 | 野生概率 | 说明 |
|---|---|---|---|
| 不在耕地上(泥土/沙子) | — | 100% | 跳过生长直接变野生 |
| 普通耕地(干燥无肥) | 4 | 80% | 基础值 |
| 湿润耕地 | 3 | 40% | 湿润:周期-1,野生概率-40% |
| 施肥耕地 | 3 | 40% | 肥力值>0:周期-1,野生概率-40% |
| 湿润+施肥耕地 | 2 | 0% | 两项加成叠加,最佳状态 |
| 低温惩罚 | 周期+4 | — | 温度 ≤ 4 时触发 |
黑麦不在耕地上会百分百变野生。最佳条件下生长周期仅 2,野生概率降为 0%。施肥和湿润对野生概率的减免各高达 40%,效果显著。
黑麦掉落
黑麦分野生和种植两种,掉落完全不同:
种植的黑麦(人工播种):
| 生长阶段 | 掉落物 | 数量 | 说明 |
|---|---|---|---|
| 0-4 | 无 | 0 | 苗期破坏什么都不掉 |
| 5 | 野生黑麦种子 | 1 个 | 中期只掉 1 个野生种子 |
| 6 | 野生黑麦种子 | 1~2 个 | 接近成熟,掉 1-2 个野生种子 |
| 7(成熟) | 黑麦种子 | 1~3 个 | 完全成熟掉 1-3 个黑麦种子 |
| 7(成熟) | 经验球 | 50% 概率 1 个 | 成熟时额外有一半概率掉经验球 |
阶段 5 和 6 掉的是野生黑麦种子,只有完全成熟(阶段7)才掉黑麦种子。黑麦种子比野生种子产量更高。
野生黑麦(野外自然生长):
| 生长阶段 | 掉落物 | 数量 | 概率 |
|---|---|---|---|
| 0-2 | 无 | 0 | - |
| 3-7 | 野生黑麦种子 | 1 个 | 33% |
野生黑麦产量很低——大小超过 2 格后也只有三分之一的概率掉 1 个种子,而且没有经验球。
棉花
棉花是纺织原料,只有 3 个生长阶段,但基础生长周期更长。必须在耕地上种植,否则立刻变野生。野生变化在第 1 阶段判定一次。
| 参数 | 值 | 说明 |
|---|---|---|
| 生长阶段 | 0~2(共3阶段) | 第2阶段为成熟可收获 |
| 光照要求 | 上方光照 ≥ 9 | 光照不足则停止生长 |
| 基础生长周期 | 8 | 每8次轮询尝试生长一次 |
| 基础野生概率 | 80% | 仅在第1阶段时判定 |
| 低温惩罚 | 周期 +8 | 温度 ≤ 4 时触发 |
| 成熟消耗肥力值 | 1点 | 成熟时从耕地扣除 |
不同条件下的生长表现:
| 土壤条件 | 生长周期 | 野生概率 | 说明 |
|---|---|---|---|
| 不在耕地上(泥土/沙子) | — | 100% | 跳过生长直接变野生 |
| 普通耕地(干燥无肥) | 8 | 80% | 基础值 |
| 湿润耕地 | 6 | 40% | 湿润:周期-2,野生概率-40% |
| 施肥耕地 | 6 | 40% | 施肥:周期-2,野生概率-40% |
| 湿润+施肥耕地 | 4 | 0% | 两项加成叠加,最佳状态 |
棉花与黑麦机制相同,但施肥和湿润各减 2 周期(黑麦仅减1),所以最佳条件下周期从8降到4。低温惩罚也翻倍(+8 vs 黑麦的+4),棉花对寒冷更敏感。
棉花掉落
只有完全成熟(阶段 2)才掉落,0 和 1 阶段破坏什么都不掉。
种植的棉花:
| 掉落物 | 数量 | 说明 |
|---|---|---|
| 棉花种子 | 1~2 个 | 必掉 |
| 棉花团 | 1~2 个 | 必掉,做布料和床的原料 |
| 经验球 | 50% 概率 1 个 | 成熟时额外一半概率掉 |
野生棉花:
| 掉落物 | 数量 | 说明 |
|---|---|---|
| 棉花种子 | 1~2 个 | 只掉种子,不掉棉花团 |
野生棉花只掉种子,不掉棉花团和经验球。要获得棉花团必须人工种植。
南瓜
南瓜是唯一有死亡概率的作物——不是变野生,而是直接枯死。共 8 个生长阶段,死亡概率每次生长都判定(不限于特定阶段),累积风险更高。不在耕地上也能生长(不会立刻退化),但死亡概率更高。
| 参数 | 值 | 说明 |
|---|---|---|
| 生长阶段 | 0~7(共8阶段) | 第7阶段为成熟可收获 |
| 光照要求 | 上方光照 ≥ 9 | 光照不足则停止生长 |
| 基础生长周期 | 4 | 每4次轮询尝试生长一次 |
| 基础死亡概率 | 15% | 每次生长都判定(共7次,累积风险高) |
| 低温惩罚 | 周期 +5 | 温度 ≤ 8 时触发(阈值比黑麦/棉花的4更高) |
| 成熟消耗肥力值 | 3点 | 成熟时从耕地扣除肥力值(黑麦/棉花仅1点) |
各条件的独立效果:
| 条件 | 生长加速效果 | 死亡概率减免效果 |
|---|---|---|
| 在耕地上 | 周期 -1 | -5% |
| 湿润 | 周期 -1 | -5% |
| 施肥 | 周期 -1 | -5% |
南瓜与黑麦/棉花的关键区别:黑麦/棉花只有"湿润"和"施肥"两种加成,而南瓜多了一项"在耕地上"的加成(黑麦/棉花在耕地上是前提条件,不提供额外效果)。三项条件各提供两种效果:加速生长 + 降低死亡概率。
不同条件下的生长表现:
| 土壤条件 | 生长周期 | 死亡概率 | 效果来源 |
|---|---|---|---|
| 非耕地(泥土/沙子上) | 4 | 15% | 无任何加成,但仍能生长 |
| 普通耕地(干燥无肥) | 3 | 10% | 仅耕地加速+减免 |
| 湿润耕地 | 2 | 5% | 耕地+湿润,两项叠加 |
| 施肥耕地(干燥) | 2 | 5% | 耕地+施肥,两项叠加 |
| 湿润+施肥耕地 | 1 | 0% | 耕地+湿润+施肥,三项全满 |
南瓜与黑麦/棉花的最大区别:不在耕地上也能生长,但死亡概率更高。每项加成仅减免 5% 死亡概率(黑麦/棉花的野生概率减免高达40%),但三项叠加后可降至 0%。南瓜成熟消耗 3 点肥力值,对土壤肥力消耗极大,需频繁补肥。
节约肥力值
南瓜成熟消耗 3 点肥力值,在一次施肥后可以先种植两次棉花或黑麦,此时肥力值为 1,再种植一次南瓜时只会消耗 1 点肥力值。
南瓜掉落
南瓜任何阶段(1-7)破坏都掉南瓜本身,但阶段 0(刚种下的种子形态)什么都不掉。
| 生长阶段 | 掉落物 | 数量 | 说明 |
|---|---|---|---|
| 0 | 无 | 0 | 刚种下的种子形态,破坏无掉落 |
| 1-6 | 南瓜方块 | 1 个 | 掉对应大小的南瓜 |
| 7(成熟) | 南瓜方块 | 1 个 | 掉完整的大南瓜 |
| 7(成熟) | 经验球 | 50% 概率 1 个 | 成熟时额外一半概率掉 |
南瓜不掉种子——南瓜直接掉南瓜方块。要得到南瓜种子需要从其他途径获取(比如宝藏、创造模式等)。 南瓜掉落后是"已收获"状态,可以直接捡起来当食物或做材料。
三种作物关键差异总结
| 对比项 | 黑麦 / 棉花 | 南瓜 |
|---|---|---|
| 不在耕地上 | 变野生(100%) | 能正常生长(死亡概率15%) |
| 退化类型 | 变野生 | 枯死(停止生长) |
| 退化判定时机 | 仅特定阶段判定一次 | 每次生长都判定 |
| 每项加成的退化减免 | 40% | 5% |
| 成熟消耗肥力值 | 1点 | 3点 |
| 低温惩罚阈值 | 温度 ≤ 4 | 温度 ≤ 8(更容易受冻) |
野生状态与枯死状态
野生状态(黑麦/棉花):植物变为野生品种后仍在继续生长。野生状态不可逆转。
枯死状态(南瓜):南瓜枯死后停止生长,不会产出南瓜。枯死的南瓜会像其他食物一样腐败。枯死状态不可逆转。
化肥与堆肥
硝石:从硝石矿(砂岩中生成)开采获得硝石块。硝石粉撒在耕地上可增加3点肥力值(封顶3点),加速作物生长并降低退化概率。
堆肥:腐烂食物最终转化为堆肥,可直接替代耕地使用,自带肥力,无需额外施肥。这是利用腐败食物的主要方式——将腐烂食物留在地上,最终变成堆肥后用于种植。
写给开发者
资料暂存
本小节内容暂时存放于此,后续会移动至“MOD开发”章节。
开发概览
土壤数据结构
SoilBlock 的 data 字段使用按位存储:
| Bit | 含义 | 方法 |
|---|---|---|
| bit 0 | 湿润状态(Hydration) | GetHydration / SetHydration |
| bit 1-2 | 肥力等级(rogen, 0-3) | GetNitrogen / SetNitrogen |
肥力等级值为 0-3,由 Math.Clamp(nitrogen, 0, 3) 限制。
Clamp(x, min, max):限制函数。若 x 小于 min 则返回 min,若 x 大于 max 则返回 max,否则返回 x。这里把肥力限制在 0~3 的合法范围内。
轮询机制(SubsystemBlocksScanner.cs)
方块扫描器以固定周期扫描世界中的所有方块,每完成一轮扫描 pollPass 计数器 +1:
csharp
public float ScanPeriod = 60f; // 扫描周期:60 游戏时间单位(= 1 现实分钟)
public int m_pollPass; // 轮询计数器,每完成一轮完整扫描 +1
public virtual void Update(float dt) {
// m_pollShiftsCount 按时间累积,控制扫描进度
m_pollShiftsCount += terrain.AllocatedChunks.Length * 16 * 16 * dt / ScanPeriod;
// ... 逐块扫描,对每个可轮询方块调用 OnPoll ...
// 当所有区块扫描完一轮后:
if (hasLooped) {
m_pollPass++; // 轮询计数器 +1
}
}水源滋润判定(SubsystemSoilBlockBehavior.cs)
耕地在每次轮询时检查是否应该变湿润。核心方法 DetermineHydration 使用递归"步数预算"搜索水源:
csharp
// OnPoll:每次轮询时检查耕地是否需要更新湿润状态
public override void OnPoll(int value, int x, int y, int z, int pollPass) {
bool hydration = SoilBlock.GetHydration(Terrain.ExtractData(value));
if (DetermineHydration(x, y, z, 3)) { // 初始步数预算 = 3
if (!hydration) {
m_toHydrate[new Point3(x, y, z)] = true; // 需要湿润
}
}
else if (hydration) {
m_toHydrate[new Point3(x, y, z)] = false; // 需要干燥
}
}
// DetermineHydration:递归搜索水源,steps 为剩余步数预算
public bool DetermineHydration(int x, int y, int z, int steps) {
if (steps > 0 && y > 0 && y < 254) {
// 水平方向:4 个邻居,各消耗 1 步
if (DetermineHydrationHelper(x - 1, y, z, steps - 1)) return true;
if (DetermineHydrationHelper(x + 1, y, z, steps - 1)) return true;
if (DetermineHydrationHelper(x, y, z - 1, steps - 1)) return true;
if (DetermineHydrationHelper(x, y, z + 1, steps - 1)) return true;
// 垂直方向:上下各消耗 2 步(仅 steps >= 2 时检查)
if (steps >= 2) {
if (DetermineHydrationHelper(x, y - 1, z, steps - 2)) return true;
if (DetermineHydrationHelper(x, y + 1, z, steps - 2)) return true;
}
}
return false;
}
// DetermineHydrationHelper:检查当前位置的方块类型
public bool DetermineHydrationHelper(int x, int y, int z, int steps) {
int cellValueFast = SubsystemTerrain.Terrain.GetCellValueFast(x, y, z);
int num = Terrain.ExtractContents(cellValueFast);
int data = Terrain.ExtractData(cellValueFast);
switch (num) {
case 18: return true; // 水方块(WaterBlock)→ 直接找到水源
case 168: // 耕地(SoilBlock)
if (SoilBlock.GetHydration(data)) {
return DetermineHydration(x, y, z, steps); // 已湿润的耕地可传递滋润
}
break;
}
if (num == 2) {
return DetermineHydration(x, y, z, steps); // 泥土(DirtBlock)可传递滋润
}
return false;
}方块编号对照:WaterBlock.Index = 18,DirtBlock.Index = 2,SoilBlock(耕地)= 168。
步数预算消耗规则:
| 移动方向 | 消耗步数 | 初始预算 3 时的最大距离 |
|---|---|---|
| 水平(东南西北) | 1 | 3 格 |
| 垂直(上下) | 2 | 1 格 |
传递规则:水方块(18)直接返回 true;已湿润的耕地(168)和泥土(2)会递归调用 DetermineHydration 继续搜索,步数预算不变。这意味着滋润信号可以穿过已湿润的耕地或泥土向外传递,直到步数耗尽。
湿润更新时机:OnPoll 只是将变更请求加入 m_toHydrate 队列,实际更新在 Update 方法中每 10 游戏时间单位批量执行一次。
植物生长系统架构
核心文件:Survivalcraft/Subsystem/BlockBehavior/SubsystemPlantBlockBehavior.cs
处理的方块索引(HandledBlocks):
19=TallGrassBlock, 20=FlowerBlock, 24, 25, 28=FlowerBlock变体,
99=?, 131=BasePumpkinBlock, 132=JackOLanternBlock,
174=RyeBlock, 204=CottonBlock, 244=?生长触发条件:仅在 EnvironmentBehaviorMode.Living 模式下触发(OnPoll 方法)。
生长方法源码要点
三种作物的生长方法中,变量对应关系:
| 变量 | 黑麦 | 棉花 | 南瓜 | 含义 |
|---|---|---|---|---|
num2/num4 | 4 | 8 | 4 | 基础生长周期 |
num3/num5 | 0.8 | 0.8 | 0.15 | 退化概率(野生/死亡) |
| 退化触发 | size == 3 | size == 1 | 每次生长 | 判定时机不同 |
| 退化方法 | SetIsWild | SetIsWild | SetIsDead | 不同的状态设置 |
黑麦/棉花的生长条件分支:
csharp
// 不在耕地上 → 立刻变野生
if (Terrain.ExtractContents(cellValueFast) != 168) {
// 直接设为野生状态
int value5 = Terrain.ReplaceData(value, RyeBlock.SetIsWild(data, true));
m_subsystemCellChangeQueue.QueueCellChange(x, y, z, value5);
return;
}csharp
// 在耕地上 → 计算生长周期和野生概率
int num2 = 4; // 基础生长周期
float num3 = 0.8f; // 基础野生概率
if (nitrogen > 0) { num2--; num3 -= 0.4f; } // 施肥:周期-1,野生-0.4
if (hydration) { num2--; num3 -= 0.4f; } // 湿润:周期-1,野生-0.4
if (num <= 4) { num2 += 4; } // 低温惩罚
// 生长判定:pollPass % max(周期,1) == 0,或野生概率 >= 1(必定生长)
if (pollPass % MathUtils.Max(num2, 1) == 0 || !(num3 < 1f)) {
int data4 = RyeBlock.SetSize(data, MathUtils.Min(size + 1, 7));
// 野生概率判定(仅在特定阶段)
if (m_random.Float(0f, 1f) < num3 && size == 3) {
data4 = RyeBlock.SetIsWild(data4, true);
}
// 成熟时消耗肥力
if (size + 1 == 7) {
SoilBlock.SetNitrogen(data3, MathUtils.Max(nitrogen - 1, 0));
}
}南瓜的生长条件分支(关键差异):
csharp
// 南瓜不在耕地上也能生长(不会立刻退化)
int num4 = 4; // 基础生长周期
float num5 = 0.15f; // 基础死亡概率
if (num == 168) { num4--; num5 -= 0.05f; } // 耕地:周期-1,死亡-0.05
if (num2 > 0) { num4--; num5 -= 0.05f; } // 肥力:周期-1,死亡-0.05
if (flag) { num4--; num5 -= 0.05f; } // 湿润:周期-1,死亡-0.05
if (num3 <= 8) { num4 += 5; } // 低温惩罚(阈值8,比黑麦/棉花的4更高)
// 死亡概率每次生长都判定(不限于特定阶段)
if (m_random.Float(0f, 1f) < num5) {
data3 = BasePumpkinBlock.SetIsDead(data3, true); // 直接枯死
}
// 成熟时消耗3点肥力(黑麦/棉花仅1点)
if (num == 168 && size + 1 == 7) {
SoilBlock.SetNitrogen(data2, MathUtils.Max(num2 - 3, 0));
}模组扩展建议
- 添加新植物:创建新的
ModPlantBlockBehavior继承类,负责自己模组植物的生长 - 添加新土壤类型:只需调整该土壤方块的
IsSuitableForPlants属性
作物生长流程
种子种在合适土壤上 → OnPoll触发Grow → 检查光照≥9 →
检查土壤条件 → 计算生长周期和退化概率 →
pollPass % 周期 == 0 → 生长+1阶段 →
退化概率判定(野生/死亡) → 成熟时消耗肥力值 → 可收获IyDlhpzkuJrmnLrliLYKCuWGnOS4muaYr+mVv+acn+eos+WumueahOmjn+eJqeS4juadkOaWmeadpea6kOOAgumAmui/h+iAleWcsOOAgeaWveiCpeOAgeeBjOa6ieWSjOS9nOeJqeeuoeeQhu+8jOWPr+S7peaKiueLqeeMjumHh+mbhuWNh+e6p+S4uuWPr+aMgee7reeUn+S6p+OAgumjn+eJqeiFkOi0peS4jui/m+mjn+acuuWItuingVvpo5/niankuI7ohZDotKVdKC90aGVvcnkvZm9vZCnjgIIKCiMjIOiAleWcsOWfuuehgAoK5ri45oiP5Lit5pyJ5Zub56eN5Y+v56eN5qSN5qSN54mp55qE5pa55Z2X77yaCgp8IOWcn+WjpOaWueWdlyB8IOWPr+enjeakjeeahOakjeeJqSB8IOWkh+azqCB8CnwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS18LS0tLS0tfAp8ICoq5rOl5ZyfKiogfCDlhajpg6jmpI3niakgfCDpnIDogJnlrZDogJXkvZzvvIzln7rnoYDlnJ/lo6TvvIznm7TmjqXlj6/np43vvIzkvb/nlKjogJnlrZDkuqTkupLlkI7lj5jkuLrogJXlnLAgfAp8ICoq6I2J5ZywKiogfCDlhajpg6jmpI3niakgfCDpnIDogJnlrZDogJXkvZzvvIzkuI7ms6XlnJ/nm7jlkIzvvIzkvb/nlKjogJnlrZDkuqTkupLlkI7lj5jkuLrms6XlnJ8gfAp8ICoq5rKZ5a2QKiogfCDpmaTmoJHoi5flkozljZfnk5zlpJYgfCDkuI3mlK/mjIHmoJHmnKjlkozljZfnk5wgfAp8ICoq6ICV5ZywKiogfCDpmaTmoJHoi5flpJYgfCDlj6/mlr3ogqXlkozmub/mtqYgfAoKIyMjIOiAleWcsOivpuinowoK6ICV5Zyw55SxKirogJnlrZAqKuWvueazpeWcn+aIluiNieWcsOaWueWdl+S9v+eUqOiOt+W+l+OAguiAleWcsOacieeJueauiueahOaVsOaNruWtmOWCqOe7k+aehO+8mgoK6ICV5Zyw5pyJ5LiJ56eN54q25oCB77yaCi0gKirmma7pgJrogJXlnLAqKu+8muW5sueHpeaXoOiCpe+8jOS9nOeJqeeUn+mVv+acgOaFogotICoq5rm/5ram6ICV5ZywKirvvJrpnaDov5HmsLTmupDvvIzmmL7npLrkuLrmt7HoibIKLSAqKuaWveiCpeiAleWcsCoq77ya5pKS5LiK56Gd55+z77yM5Zyo56Gd55+z5L2N572uM3gz5Yy65Z+f55qE6ICV5Zyw5aKe5YqgM+eCueiCpeWKm+WAvO+8iOWwgemhtjPngrnvvInvvIzkvZzniannlJ/plb/liqDpgJ/vvIznmb7liIbnmb7miJDnhp8KCiMjIyDmsLTmupDmu4vmtqbojIPlm7QKCnwg5pa55ZCRIHwg5pyA5aSn5ruL5ram6Led56a7IHwg6K+05piOIHwKfC0tLS0tLXwtLS0tLS0tLS0tLS18LS0tLS0tfAp8IOawtOW5s++8iOS4nOWNl+ilv+WMl++8iSB8ICoqMyDmoLwqKiB8IOawtOa6kOWcqOiAleWcsOWQjOS4gOmrmOW6pu+8jOacgOi/nCAzIOagvOWGheWPr+a7i+a2piB8Cnwg5Z6C55u077yI5LiK5LiL77yJIHwgKioxIOagvCoqIHwg5rC05rqQ5Zyo6ICV5Zyw5LiK5pa55oiW5LiL5pa5IDEg5qC85Y+v5ruL5ramIHwKfCDmlpzlr7nop5IgfCAqKuabvOWTiOmhv+i3neemuyDiiaQgMyoqIHwg5aaC5LicIDIg5qC8K+WNlyAxIOagvOWPr+a7i+a2pu+8jOS9huS4nCAyIOagvCvljZcgMiDmoLzkuI3lj68gfAoKPiAqKuS4gOahtuawtOiDvea7i+a2puWkmuWkp+iMg+WbtO+8nyoqIOS7peawtOaWueWdl+S4uuS4reW/g++8jOWQjOmrmOW6pueahOiAleWcsOWcqOabvOWTiOmhv+i3neemuyAzIOagvOWGhemDveiDveiiq+a7i+a2puOAguWunumZheaViOaenOaYr+S4gOahtuawtOWPr+S7pea7i+a2puWRqOWbtCAqKjfDlzcg6I+x5b2i5Yy65Z+fKirvvIjmr4/mlrnlkJHlkIQgMyDmoLzvvInlhoXnmoTogJXlnLDvvIzlhbEgMjQg5qC86ICV5Zyw44CCCgo8ZmlndXJlIGNsYXNzPSJhcmNoaXZlLWZpZ3VyZSI+Cjxzdmcgdmlld0JveD0iMCAwIDQwMCAyODAiIHdpZHRoPSIxMDAlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI0MDAiIGhlaWdodD0iMjgwIiBmaWxsPSIjZmFmYWZhIiByeD0iOCIvPgogIDxnIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj4KICAgIDx0ZXh0IHg9IjIwMCIgeT0iMjIiIGZvbnQtc2l6ZT0iMTMiIGZvbnQtd2VpZ2h0PSJib2xkIiBmaWxsPSIjNWQ0MDM3Ij7kuIDmobbmsLTnmoTmu4vmtqbojIPlm7TvvIjkv6/op4blm77vvIk8L3RleHQ+CiAgICA8ZyBzdHJva2U9IiM5OTkiIHN0cm9rZS13aWR0aD0iMC41Ij4KICAgICAgPGxpbmUgeDE9IjEwOCIgeTE9IjQwIiB4Mj0iMTA4IiB5Mj0iMjM2Ii8+PGxpbmUgeDE9IjEzNiIgeTE9IjQwIiB4Mj0iMTM2IiB5Mj0iMjM2Ii8+PGxpbmUgeDE9IjE2NCIgeTE9IjQwIiB4Mj0iMTY0IiB5Mj0iMjM2Ii8+PGxpbmUgeDE9IjE5MiIgeTE9IjQwIiB4Mj0iMTkyIiB5Mj0iMjM2Ii8+PGxpbmUgeDE9IjIyMCIgeTE9IjQwIiB4Mj0iMjIwIiB5Mj0iMjM2Ii8+PGxpbmUgeDE9IjI0OCIgeTE9IjQwIiB4Mj0iMjQ4IiB5Mj0iMjM2Ii8+PGxpbmUgeDE9IjI3NiIgeTE9IjQwIiB4Mj0iMjc2IiB5Mj0iMjM2Ii8+PGxpbmUgeDE9IjMwNCIgeTE9IjQwIiB4Mj0iMzA0IiB5Mj0iMjM2Ii8+CiAgICAgIDxsaW5lIHgxPSIxMDgiIHkxPSI0MCIgeDI9IjMwNCIgeTI9IjQwIi8+PGxpbmUgeDE9IjEwOCIgeTE9IjY4IiB4Mj0iMzA0IiB5Mj0iNjgiLz48bGluZSB4MT0iMTA4IiB5MT0iOTYiIHgyPSIzMDQiIHkyPSI5NiIvPjxsaW5lIHgxPSIxMDgiIHkxPSIxMjQiIHgyPSIzMDQiIHkyPSIxMjQiLz48bGluZSB4MT0iMTA4IiB5MT0iMTUyIiB4Mj0iMzA0IiB5Mj0iMTUyIi8+PGxpbmUgeDE9IjEwOCIgeTE9IjE4MCIgeDI9IjMwNCIgeTI9IjE4MCIvPjxsaW5lIHgxPSIxMDgiIHkxPSIyMDgiIHgyPSIzMDQiIHkyPSIyMDgiLz48bGluZSB4MT0iMTA4IiB5MT0iMjM2IiB4Mj0iMzA0IiB5Mj0iMjM2Ii8+CiAgICA8L2c+CiAgICA8cmVjdCB4PSIxOTIiIHk9IjEyNCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjNDJhNWY1IiBzdHJva2U9IiMxNTY1YzAiIHN0cm9rZS13aWR0aD0iMS41Ii8+CiAgICA8dGV4dCB4PSIyMDYiIHk9IjE0MyIgZm9udC1zaXplPSIxMyIgZm9udC13ZWlnaHQ9ImJvbGQiIGZpbGw9IiNmZmYiPuawtDwvdGV4dD4KICAgIDxyZWN0IHg9IjE2NCIgeT0iMTI0IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9IiNhNWQ2YTciIHN0cm9rZT0iIzY2YmI2YSIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8cmVjdCB4PSIyMjAiIHk9IjEyNCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjYTVkNmE3IiBzdHJva2U9IiM2NmJiNmEiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPHJlY3QgeD0iMTkyIiB5PSI5NiIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjYTVkNmE3IiBzdHJva2U9IiM2NmJiNmEiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPHJlY3QgeD0iMTkyIiB5PSIxNTIiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iI2E1ZDZhNyIgc3Ryb2tlPSIjNjZiYjZhIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgIDxyZWN0IHg9IjEzNiIgeT0iMTI0IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9IiNhNWQ2YTciIHN0cm9rZT0iIzY2YmI2YSIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8cmVjdCB4PSIyNDgiIHk9IjEyNCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjYTVkNmE3IiBzdHJva2U9IiM2NmJiNmEiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPHJlY3QgeD0iMTkyIiB5PSI2OCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjYTVkNmE3IiBzdHJva2U9IiM2NmJiNmEiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPHJlY3QgeD0iMTkyIiB5PSIxODAiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iI2E1ZDZhNyIgc3Ryb2tlPSIjNjZiYjZhIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgIDxyZWN0IHg9IjE2NCIgeT0iOTYiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iI2E1ZDZhNyIgc3Ryb2tlPSIjNjZiYjZhIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgIDxyZWN0IHg9IjE2NCIgeT0iMTUyIiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9IiNhNWQ2YTciIHN0cm9rZT0iIzY2YmI2YSIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8cmVjdCB4PSIyMjAiIHk9Ijk2IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9IiNhNWQ2YTciIHN0cm9rZT0iIzY2YmI2YSIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8cmVjdCB4PSIyMjAiIHk9IjE1MiIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjYTVkNmE3IiBzdHJva2U9IiM2NmJiNmEiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPHJlY3QgeD0iMTA4IiB5PSIxMjQiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iI2E1ZDZhNyIgc3Ryb2tlPSIjNjZiYjZhIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgIDxyZWN0IHg9IjI3NiIgeT0iMTI0IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9IiNhNWQ2YTciIHN0cm9rZT0iIzY2YmI2YSIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8cmVjdCB4PSIxOTIiIHk9IjQwIiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9IiNhNWQ2YTciIHN0cm9rZT0iIzY2YmI2YSIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8cmVjdCB4PSIxOTIiIHk9IjIwOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjYTVkNmE3IiBzdHJva2U9IiM2NmJiNmEiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPHJlY3QgeD0iMTM2IiB5PSI5NiIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjYTVkNmE3IiBzdHJva2U9IiM2NmJiNmEiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPHJlY3QgeD0iMTM2IiB5PSIxNTIiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iI2E1ZDZhNyIgc3Ryb2tlPSIjNjZiYjZhIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgIDxyZWN0IHg9IjI0OCIgeT0iOTYiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iI2E1ZDZhNyIgc3Ryb2tlPSIjNjZiYjZhIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgIDxyZWN0IHg9IjI0OCIgeT0iMTUyIiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9IiNhNWQ2YTciIHN0cm9rZT0iIzY2YmI2YSIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8cmVjdCB4PSIxNjQiIHk9IjY4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9IiNhNWQ2YTciIHN0cm9rZT0iIzY2YmI2YSIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8cmVjdCB4PSIxNjQiIHk9IjE4MCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjYTVkNmE3IiBzdHJva2U9IiM2NmJiNmEiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPHJlY3QgeD0iMjIwIiB5PSI2OCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjYTVkNmE3IiBzdHJva2U9IiM2NmJiNmEiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPHJlY3QgeD0iMjIwIiB5PSIxODAiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iI2E1ZDZhNyIgc3Ryb2tlPSIjNjZiYjZhIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgIDxyZWN0IHg9IjEwOCIgeT0iNDAiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iI2VlZWVlZSIgc3Ryb2tlPSIjYmJiIiBzdHJva2Utd2lkdGg9IjAuOCIvPgogICAgPHRleHQgeD0iMTIyIiB5PSI1OSIgZm9udC1zaXplPSIxNCIgZmlsbD0iIzk5OSI+4pyVPC90ZXh0PgogICAgPHJlY3QgeD0iMTM2IiB5PSI0MCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjZWVlZWVlIiBzdHJva2U9IiNiYmIiIHN0cm9rZS13aWR0aD0iMC44Ii8+CiAgICA8dGV4dCB4PSIxNTAiIHk9IjU5IiBmb250LXNpemU9IjE0IiBmaWxsPSIjOTk5Ij7inJU8L3RleHQ+CiAgICA8cmVjdCB4PSIxNjQiIHk9IjQwIiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9IiNlZWVlZWUiIHN0cm9rZT0iI2JiYiIgc3Ryb2tlLXdpZHRoPSIwLjgiLz4KICAgIDx0ZXh0IHg9IjE3OCIgeT0iNTkiIGZvbnQtc2l6ZT0iMTQiIGZpbGw9IiM5OTkiPuKclTwvdGV4dD4KICAgIDxyZWN0IHg9IjIyMCIgeT0iNDAiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iI2VlZWVlZSIgc3Ryb2tlPSIjYmJiIiBzdHJva2Utd2lkdGg9IjAuOCIvPgogICAgPHRleHQgeD0iMjM0IiB5PSI1OSIgZm9udC1zaXplPSIxNCIgZmlsbD0iIzk5OSI+4pyVPC90ZXh0PgogICAgPHJlY3QgeD0iMjQ4IiB5PSI0MCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjZWVlZWVlIiBzdHJva2U9IiNiYmIiIHN0cm9rZS13aWR0aD0iMC44Ii8+CiAgICA8dGV4dCB4PSIyNjIiIHk9IjU5IiBmb250LXNpemU9IjE0IiBmaWxsPSIjOTk5Ij7inJU8L3RleHQ+CiAgICA8cmVjdCB4PSIyNzYiIHk9IjQwIiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9IiNlZWVlZWUiIHN0cm9rZT0iI2JiYiIgc3Ryb2tlLXdpZHRoPSIwLjgiLz4KICAgIDx0ZXh0IHg9IjI5MCIgeT0iNTkiIGZvbnQtc2l6ZT0iMTQiIGZpbGw9IiM5OTkiPuKclTwvdGV4dD4KICAgIDxyZWN0IHg9IjEwOCIgeT0iNjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iI2VlZWVlZSIgc3Ryb2tlPSIjYmJiIiBzdHJva2Utd2lkdGg9IjAuOCIvPgogICAgPHRleHQgeD0iMTIyIiB5PSI4NyIgZm9udC1zaXplPSIxNCIgZmlsbD0iIzk5OSI+4pyVPC90ZXh0PgogICAgPHJlY3QgeD0iMTM2IiB5PSI2OCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjZWVlZWVlIiBzdHJva2U9IiNiYmIiIHN0cm9rZS13aWR0aD0iMC44Ii8+CiAgICA8dGV4dCB4PSIxNTAiIHk9Ijg3IiBmb250LXNpemU9IjE0IiBmaWxsPSIjOTk5Ij7inJU8L3RleHQ+CiAgICA8cmVjdCB4PSIyNDgiIHk9IjY4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9IiNlZWVlZWUiIHN0cm9rZT0iI2JiYiIgc3Ryb2tlLXdpZHRoPSIwLjgiLz4KICAgIDx0ZXh0IHg9IjI2MiIgeT0iODciIGZvbnQtc2l6ZT0iMTQiIGZpbGw9IiM5OTkiPuKclTwvdGV4dD4KICAgIDxyZWN0IHg9IjI3NiIgeT0iNjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iI2VlZWVlZSIgc3Ryb2tlPSIjYmJiIiBzdHJva2Utd2lkdGg9IjAuOCIvPgogICAgPHRleHQgeD0iMjkwIiB5PSI4NyIgZm9udC1zaXplPSIxNCIgZmlsbD0iIzk5OSI+4pyVPC90ZXh0PgogICAgPHJlY3QgeD0iMTA4IiB5PSI5NiIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjZWVlZWVlIiBzdHJva2U9IiNiYmIiIHN0cm9rZS13aWR0aD0iMC44Ii8+CiAgICA8dGV4dCB4PSIxMjIiIHk9IjExNSIgZm9udC1zaXplPSIxNCIgZmlsbD0iIzk5OSI+4pyVPC90ZXh0PgogICAgPHJlY3QgeD0iMjc2IiB5PSI5NiIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjZWVlZWVlIiBzdHJva2U9IiNiYmIiIHN0cm9rZS13aWR0aD0iMC44Ii8+CiAgICA8dGV4dCB4PSIyOTAiIHk9IjExNSIgZm9udC1zaXplPSIxNCIgZmlsbD0iIzk5OSI+4pyVPC90ZXh0PgogICAgPHJlY3QgeD0iMTA4IiB5PSIxNTIiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iI2VlZWVlZSIgc3Ryb2tlPSIjYmJiIiBzdHJva2Utd2lkdGg9IjAuOCIvPgogICAgPHRleHQgeD0iMTIyIiB5PSIxNzEiIGZvbnQtc2l6ZT0iMTQiIGZpbGw9IiM5OTkiPuKclTwvdGV4dD4KICAgIDxyZWN0IHg9IjI3NiIgeT0iMTUyIiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9IiNlZWVlZWUiIHN0cm9rZT0iI2JiYiIgc3Ryb2tlLXdpZHRoPSIwLjgiLz4KICAgIDx0ZXh0IHg9IjI5MCIgeT0iMTcxIiBmb250LXNpemU9IjE0IiBmaWxsPSIjOTk5Ij7inJU8L3RleHQ+CiAgICA8cmVjdCB4PSIxMDgiIHk9IjE4MCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjZWVlZWVlIiBzdHJva2U9IiNiYmIiIHN0cm9rZS13aWR0aD0iMC44Ii8+CiAgICA8dGV4dCB4PSIxMjIiIHk9IjE5OSIgZm9udC1zaXplPSIxNCIgZmlsbD0iIzk5OSI+4pyVPC90ZXh0PgogICAgPHJlY3QgeD0iMTM2IiB5PSIxODAiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iI2VlZWVlZSIgc3Ryb2tlPSIjYmJiIiBzdHJva2Utd2lkdGg9IjAuOCIvPgogICAgPHRleHQgeD0iMTUwIiB5PSIxOTkiIGZvbnQtc2l6ZT0iMTQiIGZpbGw9IiM5OTkiPuKclTwvdGV4dD4KICAgIDxyZWN0IHg9IjI0OCIgeT0iMTgwIiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9IiNlZWVlZWUiIHN0cm9rZT0iI2JiYiIgc3Ryb2tlLXdpZHRoPSIwLjgiLz4KICAgIDx0ZXh0IHg9IjI2MiIgeT0iMTk5IiBmb250LXNpemU9IjE0IiBmaWxsPSIjOTk5Ij7inJU8L3RleHQ+CiAgICA8cmVjdCB4PSIyNzYiIHk9IjE4MCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjZWVlZWVlIiBzdHJva2U9IiNiYmIiIHN0cm9rZS13aWR0aD0iMC44Ii8+CiAgICA8dGV4dCB4PSIyOTAiIHk9IjE5OSIgZm9udC1zaXplPSIxNCIgZmlsbD0iIzk5OSI+4pyVPC90ZXh0PgogICAgPHJlY3QgeD0iMTA4IiB5PSIyMDgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iI2VlZWVlZSIgc3Ryb2tlPSIjYmJiIiBzdHJva2Utd2lkdGg9IjAuOCIvPgogICAgPHRleHQgeD0iMTIyIiB5PSIyMjciIGZvbnQtc2l6ZT0iMTQiIGZpbGw9IiM5OTkiPuKclTwvdGV4dD4KICAgIDxyZWN0IHg9IjEzNiIgeT0iMjA4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9IiNlZWVlZWUiIHN0cm9rZT0iI2JiYiIgc3Ryb2tlLXdpZHRoPSIwLjgiLz4KICAgIDx0ZXh0IHg9IjE1MCIgeT0iMjI3IiBmb250LXNpemU9IjE0IiBmaWxsPSIjOTk5Ij7inJU8L3RleHQ+CiAgICA8cmVjdCB4PSIxNjQiIHk9IjIwOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjZWVlZWVlIiBzdHJva2U9IiNiYmIiIHN0cm9rZS13aWR0aD0iMC44Ii8+CiAgICA8dGV4dCB4PSIxNzgiIHk9IjIyNyIgZm9udC1zaXplPSIxNCIgZmlsbD0iIzk5OSI+4pyVPC90ZXh0PgogICAgPHJlY3QgeD0iMjIwIiB5PSIyMDgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iI2VlZWVlZSIgc3Ryb2tlPSIjYmJiIiBzdHJva2Utd2lkdGg9IjAuOCIvPgogICAgPHRleHQgeD0iMjM0IiB5PSIyMjciIGZvbnQtc2l6ZT0iMTQiIGZpbGw9IiM5OTkiPuKclTwvdGV4dD4KICAgIDxyZWN0IHg9IjI0OCIgeT0iMjA4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9IiNlZWVlZWUiIHN0cm9rZT0iI2JiYiIgc3Ryb2tlLXdpZHRoPSIwLjgiLz4KICAgIDx0ZXh0IHg9IjI2MiIgeT0iMjI3IiBmb250LXNpemU9IjE0IiBmaWxsPSIjOTk5Ij7inJU8L3RleHQ+CiAgICA8cmVjdCB4PSIyNzYiIHk9IjIwOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSIjZWVlZWVlIiBzdHJva2U9IiNiYmIiIHN0cm9rZS13aWR0aD0iMC44Ii8+CiAgICA8dGV4dCB4PSIyOTAiIHk9IjIyNyIgZm9udC1zaXplPSIxNCIgZmlsbD0iIzk5OSI+4pyVPC90ZXh0PgogICAgPHJlY3QgeD0iMzIwIiB5PSI1MCIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSIjNDJhNWY1IiBzdHJva2U9IiMxNTY1YzAiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPHRleHQgeD0iMzQwIiB5PSI2MSIgZm9udC1zaXplPSI5IiBmaWxsPSIjMzMzIiB0ZXh0LWFuY2hvcj0ic3RhcnQiPuawtOaWueWdlzwvdGV4dD4KICAgIDxyZWN0IHg9IjMyMCIgeT0iNzAiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0iI2E1ZDZhNyIgc3Ryb2tlPSIjNjZiYjZhIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgIDx0ZXh0IHg9IjM0MCIgeT0iODEiIGZvbnQtc2l6ZT0iOSIgZmlsbD0iIzMzMyIgdGV4dC1hbmNob3I9InN0YXJ0Ij7ooqvmu4vmtqbvvIgyNOWdl++8iTwvdGV4dD4KICAgIDxyZWN0IHg9IjMyMCIgeT0iOTAiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0iI2VlZWVlZSIgc3Ryb2tlPSIjYmJiIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgIDx0ZXh0IHg9IjM0MCIgeT0iMTAxIiBmb250LXNpemU9IjkiIGZpbGw9IiMzMzMiIHRleHQtYW5jaG9yPSJzdGFydCI+6LaF5Ye66IyD5Zu0PC90ZXh0PgogICAgPHRleHQgeD0iMjAwIiB5PSIyNTgiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM1ZDQwMzciIGZvbnQtd2VpZ2h0PSJib2xkIj7oj7HlvaLljLrln58gPSDmm7zlk4jpob/ot53nprsg4omkIDM8L3RleHQ+CiAgPC9nPgo8L3N2Zz4KPGZpZ2NhcHRpb24+5LiA5qG25rC05Y+v5ruL5ram5ZGo5Zu0IDI0IOagvOiAleWcsO+8iDfDlzcg6I+x5b2i5Yy65Z+f5YaF77yJPC9maWdjYXB0aW9uPgo8L2ZpZ3VyZT4KCioq5ruL5ram55qE5Lyg6YCS5py65Yi2KirvvJrmkJzntKLkuI3ku4Xog73nm7TmjqXmib7liLDmsLTvvIzov5jog73pgJrov4ci5bey5rm/5ram55qE6ICV5ZywIuaIliLms6XlnJ8i5Lyg6YCS44CC5Lmf5bCx5piv6K+077yM5aaC5p6c5rC05rqQ5ZKM6ICV5Zyw5LmL6Ze06ZqU552A5bey5rm/5ram55qE6ICV5Zyw5oiW5rOl5Zyf5pa55Z2X77yM5rC05rqQ5L6d54S25Y+v5Lul5ruL5ram5Yiw6L+c5aSE55qE6ICV5Zyw44CC5rOl5Zyf5pa55Z2X77yI6Z2e6ICV5Zyw77yJ5Lmf6IO95Lyg6YCS5ruL5ram5L+h5Y+377yM5L2G5Y+q5pyJ6ICV5Zyw5Lya6KKr5qCH6K6w5Li65rm/5ram44CCCgojIyDogJXlnLDnoLTlnY8KCj4g6L6b6Ium6ICV5aW955qE5Zyw77yM6KKr6Lip5LiA6ISa5bCx5Y+Y5Zue5rOl5Zyf4oCU4oCU6L+Z5piv55Sf5a2Y5oiY5LqJ5Yac5Lia5Lit5pyA5bi46KeB55qEIuaEj+WkliLjgILnkIbop6PouKnlnY/mnLrliLbvvIzmiY3og73mnInmlYjkv53miqTkvaDnmoTlhpzlnLrjgIIKCuiAleWcsOiiq+i4qeWdj+WQjuS8mioq6YCA5YyW5Zue5rOl5ZyfKirvvIjlpLHljrvogJXlnLDnirbmgIHjgIHmub/mtqblkozmsK7ogqXmlbDmja7vvInvvIzkvYbkuIrpnaLnp43mpI3nmoTkvZzniankuI3kvJrmtojlpLHjgILogJXlnLDpgIDljJbmnInkuKTnp43op6blj5HmlrnlvI/vvJoqKueUn+eJqei4qei4jyoq5ZKMKirmlrnlnZfopobnm5YqKuOAggoKIyMjIOeUn+eJqei4qei4jwoK5b2T55Sf54mp5oiW546p5a6256Kw5pKe5Yiw6ICV5Zyw5pe277yM5ri45oiP5Lya5qOA5p+l5piv5ZCm6Lip5Z2P6ICV5Zyw44CC6Kem5Y+R6Lip5Z2P6ZyA6KaB5ZCM5pe25ruh6Laz5Lul5LiL5p2h5Lu277yaCgoqKuWJjeaPkOadoeS7tioq77yI5b+F6aG75YWo6YOo5ruh6Laz77yJ77yaCi0g55Sf54mp6LSo6YePICoqPiAyMCoqCi0g55Sf54mpKirmsqHmnInoubLkvI8qKu+8iOaEj+aAneaYr+eOqeWutui5suS4i+i1sOS4jeS8mui4qeWdj+iAleWcsO+8iQoKKirop6blj5HmlrnlvI8qKu+8iOa7oei2s+S7u+S4gOWNs+i4qeWdj++8ie+8mgoKfCDop6blj5HmlrnlvI8gfCDmnaHku7YgfCDouKnlnY/mpoLnjocgfCDor7TmmI4gfAp8LS0tLS0tLS0tfC0tLS0tLXwtLS0tLS0tLS18LS0tLS0tfAp8IOi3s+i3g+iQveWcsCB8IOWeguebtOmAn+W6piA8IC0zIHwgKioxMDAlKiogfCDku47pq5jlpITot7PliLDogJXlnLDkuIrvvIzlv4XlrprouKnlnY8gfAp8IOi3keWKqOi4qei4jyB8IOWeguebtOmAn+W6piA8IDAg5LiU5rC05bmz6YCf5bqmwrIgPiAxIHwg5qaC546H5oCnIHwg5Zyo6ICV5Zyw5LiK6LeR5Yqo5pe25pyJ5qaC546H6Lip5Z2P77yM5qaC546H5LiO5ri45oiP5bin5pe26Ze05pyJ5YWzIHwKCj4gLSAqKui5suS8j+S/neaKpCoq77ya546p5a626Lmy5LiL77yI6Lmy5LyP54q25oCB77yJ5pe25Zyo6ICV5Zyw5LiK56e75Yqo5LiN5Lya6Lip5Z2P6ICV5Zyw44CC6L+Z5piv5L+d5oqk5Yac5Zy65pyA566A5Y2V55qE5pa55rOV4oCU4oCU5Zyo5Yac55Sw6YeM5YW75oiQ6Lmy552A6LWw55qE5Lmg5oOv44CCCj4gLSAqKuWFs+mUrue7k+iuuioq77ya5Yeg5LmO5omA5pyJ6ZmG5Zyw5Yqo54mp6YO95Lya6Lip5Z2P6ICV5Zyw77yM5Y+q5pyJ6bif57G75ZKM5p6B5bCP5Z6L55qE55Sf54mp5LiN5Lya44CC5Yac5Zy66ZyA6KaB55So5qCF5qCP5Zu06LW35p2l77yM6Ziy5q2i54mb44CB6ams44CB54u8562J5Yqo54mp6Zev5YWl6Le16LiP44CCCgojIyMg5pa55Z2X6KaG55uWCgrlvZPogJXlnLDkuIrmlrnooqvmlL7nva7kuIDkuKoqKuWunuW/g+WPr+eisOaSnuaWueWdlyoq5pe277yM6ICV5Zyw5Lya56uL5Yi76YCA5YyW5Li65rOl5Zyf44CC5Yik5a6a6KeE5YiZ77yaCgotIOWmguaenOS4iuaWueaWueWdl+aYryoq6Z2i6YCP5piO55qEKirvvIjlpoLnjrvnkoPnqpfjgIHmoIXmoI/jgIHlj7DpmLbnrYnvvInihpIgKirkuI3kvJoqKui4qeWdj+iAleWcsAotIOWmguaenOS4iuaWueaWueWdl+aYryoq6Z2i5LiN6YCP5piO55qEKirkuJQqKuWPr+eisOaSnioq77yI5aaC55+z5aS044CB5pyo5p2/44CB5rOl5Zyf562J77yJ4oaSICoq5LyaKirouKnlnY/ogJXlnLAKCj4g6L+Z5oSP5ZGz552A5L2g5Y+v5Lul5Zyo6ICV5Zyw5LiK5pa55pS+572u546755KD56qX5p2l5L+d5oqk5L2c54mp77yI5L6L5aaC5YGa5rip5a6k77yJ77yM5L2G5LiN6IO955u05o6l5Zyo6ICV5Zyw5LiK5pa55pS+55+z5aS05oiW5pyo5p2/44CCCgojIyMg6YCA5YyW5aSE55CG5pe25py6CgrouKnlnY/or7fmsYLkuI3kvJrnq4vliLvmiafooYzvvIzogIzmmK/liqDlhaXpmJ/liJfvvIzmr48gKioyLjUg5ri45oiP5pe26Ze05Y2V5L2NKirvvIjnuqYgMi41IOeOsOWunuenku+8ieaJuemHj+WkhOeQhuS4gOasoeOAgui/meaEj+WRs+edgOS7jui4qei4j+WIsOWunumZhemAgOWMluacieaegeefreeahOW7tui/n++8jOS9hueOqeWutuaXoOazleWIqeeUqOi/meS4quW7tui/n+adpeaMveaVkeiAleWcsOOAggoKCiMjIOi9ruivouS4jueUn+mVv+WRqOacnwoKPiDkvZzniankuI3mmK8i5q+P56eS6YO95Zyo6ZW/Iu+8jOiAjOaYr+avj+malOS4gOauteaXtumXtOiiq+a4uOaIjyLmo4Dmn6Ui5LiA5qyh44CC55CG6Kej6L2u6K+i5ZKM55Sf6ZW/5ZGo5pyf55qE5qaC5b+177yM5omN6IO9566X5Ye65L2c54mp5Yiw5bqV6ZyA6KaB5aSa5LmF5omN6IO95oiQ54af44CCCgojIyMjIOS7gOS5iOaYr+i9ruivogoK5ri45oiP5Lit55qE5pa55Z2X5omr5o+P5Zmo5LyaKirlkajmnJ/mgKflnLAqKuaJq+aPj+S4lueVjOmHjOeahCoq5omA5pyJ5pa55Z2XKirjgILmr4/lrozmiJDkuIDova7lrozmlbTmiavmj4/vvIzlsLHlj6vlgZoqKuS4gOasoei9ruivoioq44CC5omr5o+P5Zmo55qE5omr5o+P5ZGo5pyf5Li6ICoqMSDliIbpkp/vvIjnjrDlrp7ml7bpl7TvvIkqKuOAggoKPiAqKuaXtumXtOaNoueulyoq77yaMSDkuKrmuLjmiI/lpKkgPSAxMjAwIOa4uOaIj+aXtumXtOWNleS9jSA9IDIwIOeOsOWunuWIhumSn+OAguWboOatpO+8mgo+IC0gMSDmrKHova7or6IgPSA2MCDmuLjmiI/ml7bpl7TljZXkvY0gPSAqKjEg546w5a6e5YiG6ZKfKiogPSAwLjA1IOS4qua4uOaIj+WkqSA9IDEuMiDkuKrmuLjmiI/lhoXlsI/ml7YKCuavj+asoei9ruivouaXtu+8jOaJq+aPj+WZqOS8muiwg+eUqOWQhOenjeaWueWdl+ihjOS4uueahCBg6L2u6K+iYCDmlrnms5XjgILlr7nkuo7ogJXlnLDvvIxg6L2u6K+iYCDkvJrmo4Dmn6XmmK/lkKbpnIDopoHmm7TmlrDmub/mtqbnirbmgIHvvJvlr7nkuo7mpI3nianvvIxg6L2u6K+iYCDkvJrop6blj5HnlJ/plb/mo4Dmn6XjgIIKCiMjIyMg5LuA5LmI5piv55Sf6ZW/5ZGo5pyfCgrnlJ/plb/lkajmnJ/mmK/kvZzniannmoTkuIDkuKrlj4LmlbDvvIzooajnpLoqKuavj+malOWkmuWwkeasoei9ruivouaJjeWwneivleeUn+mVv+S4gOasoSoq44CC5Yik5a6a5pa55byP5Li677yaCgokJApcdGV4dHvmmK/lkKbnlJ/plb99ID0gXGxlZnQoIFx0ZXh0e+i9ruivouiuoeaVsOWZqH0gXHRleHR7IFwlIH0gXHRleHR755Sf6ZW/5ZGo5pyffSA9PSAwIFxyaWdodCkKJCQKCumAmuS/l+WcsOiusu+8jOavj+i/m+ihjCBg55Sf6ZW/5ZGo5pyfYCDmrKHova7or6LlkI7vvIzkvZzniankvJrlsJ3or5XnlJ/plb/jgILlhbbkuK0gYOi9ruivouiuoeaVsOWZqGAg5q+P5a6M5oiQ5LiA6L2u5omr5o+PICsx44CC5L6L5aaC6buR6bqm55qE5Z+656GA55Sf6ZW/5ZGo5pyf5Li6IDTvvIzmhI/lkbPnnYDmr48gNCDmrKHova7or6LmiY3lsJ3or5XnlJ/plb/kuIDmrKHjgIIKCiMjIyMg5ZCE5L2c54mp55qE55Sf6ZW/5ZGo5pyf5o2i566XCgp8IOS9nOeJqSB8IOWfuuehgOeUn+mVv+WRqOacnyB8IOavj+asoeeUn+mVv+mXtOmalCB8IOaNoueul+S4uua4uOaIj+WkqSB8IOaNoueul+S4uueOsOWunuaXtumXtCB8CnwtLS0tLS18LS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLXwKfCDpu5HpuqYgfCA0IOasoei9ruivoiB8IDQgw5cgNjAgPSAyNDAg5ri45oiP5pe26Ze05Y2V5L2NIHwgMC4yIOWkqe+8iDQuOCDmuLjmiI/lhoXlsI/ml7bvvIkgfCA0IOeOsOWunuWIhumSnyB8Cnwg5qOJ6IqxIHwgOCDmrKHova7or6IgfCA4IMOXIDYwID0gNDgwIOa4uOaIj+aXtumXtOWNleS9jSB8IDAuNCDlpKnvvIg5LjYg5ri45oiP5YaF5bCP5pe277yJIHwgOCDnjrDlrp7liIbpkp8gfAp8IOWNl+eTnCB8IDQg5qyh6L2u6K+iIHwgNCDDlyA2MCA9IDI0MCDmuLjmiI/ml7bpl7TljZXkvY0gfCAwLjIg5aSp77yINC44IOa4uOaIj+WGheWwj+aXtu+8iSB8IDQg546w5a6e5YiG6ZKfIHwKCj4gKirms6jmhI8qKu+8muS4iuihqOaYryLln7rnoYDnlJ/plb/lkajmnJ8i77yI5bmy54el5peg6IKl55qE5pmu6YCa6ICV5Zyw77yJ44CC5rm/5ram5ZKM5pa96IKl5Y+v5Lul57yp55+t55Sf6ZW/5ZGo5pyf77yI6buR6bqmL+ajieiKseacgOWkmuWHj+WNiu+8jOWNl+eTnOacgOWkmuWHj+WIsCAx77yJ44CC5Y+m5aSW77yM6L+Z6YeM5YiX5Ye655qE5pivKirmr4/mrKHnlJ/plb/lsJ3or5XnmoTpl7TpmpTml7bpl7QqKu+8jOS4jeaYr+S7juenjeS4i+WIsOaIkOeGn+eahOaAu+aXtumXtOOAgum7kem6puS7juenjeS4i+WIsOaIkOeGn+mcgOimgee7j+WOhiA3IOasoeeUn+mVv++8iOmYtuautSAw4oaSN++8ie+8jOaJgOS7peaAu+aXtumXtOi/mOimgeS5mOS7pSA344CCCgojIyMjIOWujOaVtOaIkOeGn+aXtumXtOS8sOeulwoK5Lul5pyA5L2z5p2h5Lu277yI5rm/5ramK+aWveiCpe+8ieS4uuS+i++8mgoKfCDkvZzniakgfCDlrp7pmYXnlJ/plb/lkajmnJ8gfCDnlJ/plb/mrKHmlbAgfCDmgLvmiJDnhp/ml7bpl7TvvIjnjrDlrp7vvIkgfCDmgLvmiJDnhp/ml7bpl7TvvIjmuLjmiI/lpKnvvIkgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLXwKfCDpu5HpuqYgfCAyIOasoei9ruivoiA9IDIg5YiG6ZKfIHwgNyDmrKEgfCDnuqYgMTQg546w5a6e5YiG6ZKfIHwgMC43IOWkqSB8Cnwg5qOJ6IqxIHwgNCDmrKHova7or6IgPSA0IOWIhumSnyB8IDIg5qyhIHwg57qmIDgg546w5a6e5YiG6ZKfIHwgMC40IOWkqSB8Cnwg5Y2X55OcIHwgMSDmrKHova7or6IgPSAxIOWIhumSnyB8IDcg5qyhIHwg57qmIDcg546w5a6e5YiG6ZKfIHwgMC4zNSDlpKkgfAoKPiDku6XkuIrkuLrnkIborrrmnIDlv6vml7bpl7TvvIzlrp7pmYXmuLjmiI/kuK3ov5jlj5flhYnnhafvvIjlpJzmmZrlgZzmraLnlJ/plb/vvInjgIHmuKnluqbvvIjkvY7muKnlop7liqDlkajmnJ/vvInnrYnlm6DntKDlvbHlk43jgIIKCiMjIOS9nOeJqeeUn+mVv+acuuWItgoKIyMjIOm7kem6pgoKPiDpu5HpuqbmmK/mnIDln7rnoYDnmoTnsq7po5/kvZznianvvIzlhbEgOCDkuKrnlJ/plb/pmLbmrrXjgILlv4XpobvlnKjogJXlnLDkuIrnp43mpI3vvIzlkKbliJnnq4vliLvlj5jph47nlJ/jgILph47nlJ/lj5jljJblnKgqKuesrCAzIOmYtuautSoq5Yik5a6a5LiA5qyh44CCCgo8ZmlndXJlIGNsYXNzPSJhcmNoaXZlLWZpZ3VyZSI+Cjxzdmcgdmlld0JveD0iMCAwIDQwMCAyODAiIHdpZHRoPSIxMDAlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI0MDAiIGhlaWdodD0iMjgwIiBmaWxsPSIjZmFmYWZhIiByeD0iOCIvPgogIDxnIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj4KICAgIDwhLS0g5qCH6aKYIC0tPgogICAgPHRleHQgeD0iMjAwIiB5PSIyNSIgZm9udC1zaXplPSIxNCIgZm9udC13ZWlnaHQ9ImJvbGQiIGZpbGw9IiM1ZDQwMzciPum7kem6pueUn+mVv+eahOWFs+mUruimgee0oDwvdGV4dD4KICAgIDwhLS0g5bem5L6n77ya5b+F6KaB5p2h5Lu2IC0tPgogICAgPHJlY3QgeD0iMjAiIHk9IjQ1IiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjIxMCIgcng9IjgiIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzVkNDAzNyIgc3Ryb2tlLXdpZHRoPSIxLjUiLz4KICAgIDx0ZXh0IHg9IjEwNSIgeT0iNjUiIGZvbnQtc2l6ZT0iMTIiIGZvbnQtd2VpZ2h0PSJib2xkIiBmaWxsPSIjNWQ0MDM3Ij7lv4XopoHmnaHku7Y8L3RleHQ+CiAgICA8bGluZSB4MT0iNDAiIHkxPSI3NSIgeDI9IjE3MCIgeTI9Ijc1IiBzdHJva2U9IiM4ZDZlNjMiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWRhc2hhcnJheT0iMywyIi8+CiAgICA8IS0tIOadoeS7tjEgLS0+CiAgICA8dGV4dCB4PSIxMDUiIHk9IjEwMCIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzMzMyI+4piA77iPIOWFieeFp+WFhei2szwvdGV4dD4KICAgIDx0ZXh0IHg9IjEwNSIgeT0iMTE1IiBmb250LXNpemU9IjEwIiBmaWxsPSIjNzc3Ij7kuIrmlrnlhYnnhafpnIAg4omlIDk8L3RleHQ+CiAgICA8IS0tIOadoeS7tjIgLS0+CiAgICA8dGV4dCB4PSIxMDUiIHk9IjE0NSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzMzMyI+8J+MviDlv4XpobvlnKjogJXlnLDkuIo8L3RleHQ+CiAgICA8dGV4dCB4PSIxMDUiIHk9IjE2MCIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzc3NyI+5ZCm5YiZ5Lya5Y+Y6YeO55SfPC90ZXh0PgogICAgPCEtLSDmnaHku7YzIC0tPgogICAgPHRleHQgeD0iMTA1IiB5PSIxOTAiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiMzMzMiPvCfjLEg5bCa5pyq5oiQ54afPC90ZXh0PgogICAgPHRleHQgeD0iMTA1IiB5PSIyMDUiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM3NzciPuWFsSA4IOS4queUn+mVv+mYtuautTwvdGV4dD4KICAgIDwhLS0g5p2h5Lu2NCAtLT4KICAgIDx0ZXh0IHg9IjEwNSIgeT0iMjM1IiBmb250LXNpemU9IjExIiBmaWxsPSIjMzMzIj7impfvuI8g5oiQ54af5raI6ICX6IKl5Yqb5YC8PC90ZXh0PgogICAgPHRleHQgeD0iMTA1IiB5PSIyNTAiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM3NzciPua2iOiAlyAxIOeCueiCpeWKm+WAvDwvdGV4dD4KICAgIDwhLS0g5Y+z5L6n77ya5b2x5ZON5Zug57SgIC0tPgogICAgPHJlY3QgeD0iMjEwIiB5PSI0NSIgd2lkdGg9IjE3MCIgaGVpZ2h0PSIyMTAiIHJ4PSI4IiBmaWxsPSIjZmZmIiBzdHJva2U9IiM1ZDQwMzciIHN0cm9rZS13aWR0aD0iMS41Ii8+CiAgICA8dGV4dCB4PSIyOTUiIHk9IjY1IiBmb250LXNpemU9IjEyIiBmb250LXdlaWdodD0iYm9sZCIgZmlsbD0iIzVkNDAzNyI+5Yqg6YCf5Zug57SgPC90ZXh0PgogICAgPGxpbmUgeDE9IjIzMCIgeTE9Ijc1IiB4Mj0iMzYwIiB5Mj0iNzUiIHN0cm9rZT0iIzhkNmU2MyIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtZGFzaGFycmF5PSIzLDIiLz4KICAgIDwhLS0g5Zug57SgMSAtLT4KICAgIDxyZWN0IHg9IjIyNSIgeT0iODUiIHdpZHRoPSIxNDAiIGhlaWdodD0iMzUiIHJ4PSI0IiBmaWxsPSIjZThmNWU5IiBzdHJva2U9IiM4MWM3ODQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPHRleHQgeD0iMjk1IiB5PSIxMDAiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiMyZTdkMzIiPvCfkqcg5rm/5ramPC90ZXh0PgogICAgPHRleHQgeD0iMjk1IiB5PSIxMTMiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiMzODhlM2MiPueUn+mVv+WRqOacnyAtMSAmIOmHjueUn+amgueOhy00MCU8L3RleHQ+CiAgICA8IS0tIOWboOe0oDIgLS0+CiAgICA8cmVjdCB4PSIyMjUiIHk9IjEzMCIgd2lkdGg9IjE0MCIgaGVpZ2h0PSIzNSIgcng9IjQiIGZpbGw9IiNmZmYzZTAiIHN0cm9rZT0iI2ZmYjMwMCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8dGV4dCB4PSIyOTUiIHk9IjE0NSIgZm9udC1zaXplPSIxMSIgZmlsbD0iI2U2NTEwMCI+8J+nqiDmnInmlr3ogqU8L3RleHQ+CiAgICA8dGV4dCB4PSIyOTUiIHk9IjE1OCIgZm9udC1zaXplPSIxMCIgZmlsbD0iI2Y1N2MwMCI+55Sf6ZW/5ZGo5pyfIC0xICYg6YeO55Sf5qaC546HLTQwJTwvdGV4dD4KICAgIDwhLS0g5Zug57SgMyAtLT4KICAgIDxyZWN0IHg9IjIyNSIgeT0iMTc1IiB3aWR0aD0iMTQwIiBoZWlnaHQ9IjM1IiByeD0iNCIgZmlsbD0iI2ZmZWJlZSIgc3Ryb2tlPSIjZWY5YTlhIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgIDx0ZXh0IHg9IjI5NSIgeT0iMTkwIiBmb250LXNpemU9IjExIiBmaWxsPSIjYzYyODI4Ij7inYTvuI8g5L2O5rip5oOp572aPC90ZXh0PgogICAgPHRleHQgeD0iMjk1IiB5PSIyMDMiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiNkMzJmMmYiPua4qeW6puKJpDTml7Yg5ZGo5pyfICs0PC90ZXh0PgogICAgPCEtLSDmgLvnu5MgLS0+CiAgICA8dGV4dCB4PSIyOTUiIHk9IjIzNSIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzVkNDAzNyIgZm9udC13ZWlnaHQ9ImJvbGQiPuacgOS9s+eKtuaAge+8mua5v+a2pivmlr3ogqU8L3RleHQ+CiAgICA8dGV4dCB4PSIyOTUiIHk9IjI1MiIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzc3NyI+55Sf6ZW/5ZGo5pyf5pyA55+t5Li6IDI8L3RleHQ+CiAgPC9nPgo8L3N2Zz4KPGZpZ2NhcHRpb24+6buR6bqm55Sf6ZW/6KaB57Sg77ya5ruh6Laz5b+F6KaB5p2h5Lu25ZCO77yM5Y+v6YCa6L+H5rm/5ram5ZKM5pa96IKl5Yqg6YCf55Sf6ZW/PC9maWdjYXB0aW9uPgo8L2ZpZ3VyZT4KCgoKfCDlj4LmlbAgfCDlgLwgfCDor7TmmI4gfAp8LS0tLS0tfC0tLS0tfC0tLS0tLXwKfCDnlJ/plb/pmLbmrrUgfCAwfjfvvIjlhbE46Zi25q6177yJIHwg56ysN+mYtuauteS4uuaIkOeGn+WPr+aUtuiOtyB8Cnwg5YWJ54Wn6KaB5rGCIHwg5LiK5pa55YWJ54WnIOKJpSA5IHwg5YWJ54Wn5LiN6Laz5YiZ5YGc5q2i55Sf6ZW/IHwKfCDln7rnoYDnlJ/plb/lkajmnJ8gfCA0IHwg5q+PNOasoei9ruivouWwneivleeUn+mVv+S4gOasoSB8Cnwg5Z+656GA6YeO55Sf5qaC546HIHwgODAlIHwg5LuF5Zyo56ysM+mYtuauteaXtuWIpOWumiB8Cnwg5L2O5rip5oOp572aIHwg5ZGo5pyfICs0IHwg5rip5bqmIOKJpCA0IOaXtuinpuWPkSB8Cnwg5oiQ54af5raI6ICX6IKl5Yqb5YC8IHwgMeeCuSB8IOaIkOeGn+aXtuS7juiAleWcsOaJo+mZpCB8CgoqKuS4jeWQjOadoeS7tuS4i+eahOeUn+mVv+ihqOeOsCoq77yaCgp8IOWcn+WjpOadoeS7tiB8IOeUn+mVv+WRqOacnyB8IOmHjueUn+amgueOhyB8IOivtOaYjiB8CnwtLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS18Cnwg5LiN5Zyo6ICV5Zyw5LiK77yI5rOl5ZyfL+aymeWtkO+8iSB8IOKAlCB8IDEwMCUgfCDot7Pov4fnlJ/plb/nm7TmjqXlj5jph47nlJ8gfAp8IOaZrumAmuiAleWcsO+8iOW5sueHpeaXoOiCpe+8iSB8IDQgfCA4MCUgfCDln7rnoYDlgLwgfAp8IOa5v+a2puiAleWcsCB8IDMgfCA0MCUgfCDmub/mtqbvvJrlkajmnJ8tMe+8jOmHjueUn+amgueOhy00MCUgfAp8IOaWveiCpeiAleWcsCB8IDMgfCA0MCUgfCDogqXlipvlgLw+MO+8muWRqOacny0x77yM6YeO55Sf5qaC546HLTQwJSB8Cnwg5rm/5ramK+aWveiCpeiAleWcsCB8ICoqMioqIHwgKiowJSoqIHwg5Lik6aG55Yqg5oiQ5Y+g5Yqg77yM5pyA5L2z54q25oCBIHwKfCDkvY7muKnmg6nnvZogfCDlkajmnJ8rNCB8IOKAlCB8IOa4qeW6piDiiaQgNCDml7bop6blj5EgfAoKPiDpu5HpuqbkuI3lnKjogJXlnLDkuIrkvJoqKueZvuWIhueZvuWPmOmHjueUnyoq44CC5pyA5L2z5p2h5Lu25LiL55Sf6ZW/5ZGo5pyf5LuFIDLvvIzph47nlJ/mpoLnjofpmY3kuLogMCXjgILmlr3ogqXlkozmub/mtqblr7nph47nlJ/mpoLnjofnmoTlh4/lhY3lkITpq5jovr4gNDAl77yM5pWI5p6c5pi+6JGX44CCCgojIyMjIOm7kem6puaOieiQvQoK6buR6bqm5YiG6YeO55Sf5ZKM56eN5qSN5Lik56eN77yM5o6J6JC95a6M5YWo5LiN5ZCM77yaCgoqKuenjeakjeeahOm7kem6pu+8iOS6uuW3peaSreenje+8iSoq77yaCgp8IOeUn+mVv+mYtuautSB8IOaOieiQveeJqSB8IOaVsOmHjyB8IOivtOaYjiB8CnwtLS0tLS0tLS18LS0tLS0tLS18LS0tLS0tfC0tLS0tLXwKfCAwLTQgfCDml6AgfCAwIHwg6IuX5pyf56C05Z2P5LuA5LmI6YO95LiN5o6JIHwKfCA1IHwg6YeO55Sf6buR6bqm56eN5a2QIHwgMSDkuKogfCDkuK3mnJ/lj6rmjokgMSDkuKrph47nlJ/np43lrZAgfAp8IDYgfCDph47nlJ/pu5Hpuqbnp43lrZAgfCAxfjIg5LiqIHwg5o6l6L+R5oiQ54af77yM5o6JIDEtMiDkuKrph47nlJ/np43lrZAgfAp8IDfvvIjmiJDnhp/vvIkgfCDpu5Hpuqbnp43lrZAgfCAxfjMg5LiqIHwg5a6M5YWo5oiQ54af5o6JIDEtMyDkuKrpu5Hpuqbnp43lrZAgfAp8IDfvvIjmiJDnhp/vvIkgfCDnu4/pqoznkIMgfCA1MCUg5qaC546HIDEg5LiqIHwg5oiQ54af5pe26aKd5aSW5pyJ5LiA5Y2K5qaC546H5o6J57uP6aqM55CDIHwKCj4g6Zi25q61IDUg5ZKMIDYg5o6J55qE5pivKirph47nlJ/pu5Hpuqbnp43lrZAqKu+8jOWPquacieWujOWFqOaIkOeGn++8iOmYtuautTfvvInmiY3mjokqKum7kem6puenjeWtkCoq44CC6buR6bqm56eN5a2Q5q+U6YeO55Sf56eN5a2Q5Lqn6YeP5pu06auY44CCCgoqKumHjueUn+m7kem6pu+8iOmHjuWkluiHqueEtueUn+mVv++8iSoq77yaCgp8IOeUn+mVv+mYtuautSB8IOaOieiQveeJqSB8IOaVsOmHjyB8IOamgueOhyB8CnwtLS0tLS0tLS18LS0tLS0tLS18LS0tLS0tfC0tLS0tLXwKfCAwLTIgfCDml6AgfCAwIHwgLSB8CnwgMy03IHwg6YeO55Sf6buR6bqm56eN5a2QIHwgMSDkuKogfCAzMyUgfAoKPiDph47nlJ/pu5Hpuqbkuqfph4/lvojkvY7igJTigJTlpKflsI/otoXov4cgMiDmoLzlkI7kuZ/lj6rmnInkuInliIbkuYvkuIDnmoTmpoLnjofmjokgMSDkuKrnp43lrZDvvIzogIzkuJTmsqHmnInnu4/pqoznkIPjgIIKCiMjIyDmo4noirEKCjxmaWd1cmUgY2xhc3M9ImFyY2hpdmUtZmlndXJlIj4KPHN2ZyB2aWV3Qm94PSIwIDAgNDAwIDI4MCIgd2lkdGg9IjEwMCUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjQwMCIgaGVpZ2h0PSIyODAiIGZpbGw9IiNmYWZhZmEiIHJ4PSI4Ii8+CiAgPGcgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHRleHQtYW5jaG9yPSJtaWRkbGUiPgogICAgPCEtLSDmoIfpopggLS0+CiAgICA8dGV4dCB4PSIyMDAiIHk9IjI1IiBmb250LXNpemU9IjE0IiBmb250LXdlaWdodD0iYm9sZCIgZmlsbD0iIzVkNDAzNyI+5qOJ6Iqx55Sf6ZW/55qE5YWz6ZSu6KaB57SgPC90ZXh0PgogICAgPCEtLSDlt6bkvqfvvJrlv4XopoHmnaHku7YgLS0+CiAgICA8cmVjdCB4PSIyMCIgeT0iNDUiIHdpZHRoPSIxNzAiIGhlaWdodD0iMjEwIiByeD0iOCIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjNWQ0MDM3IiBzdHJva2Utd2lkdGg9IjEuNSIvPgogICAgPHRleHQgeD0iMTA1IiB5PSI2NSIgZm9udC1zaXplPSIxMiIgZm9udC13ZWlnaHQ9ImJvbGQiIGZpbGw9IiM1ZDQwMzciPuW/heimgeadoeS7tjwvdGV4dD4KICAgIDxsaW5lIHgxPSI0MCIgeTE9Ijc1IiB4Mj0iMTcwIiB5Mj0iNzUiIHN0cm9rZT0iIzhkNmU2MyIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtZGFzaGFycmF5PSIzLDIiLz4KICAgIDwhLS0g5p2h5Lu2MSAtLT4KICAgIDx0ZXh0IHg9IjEwNSIgeT0iMTAwIiBmb250LXNpemU9IjExIiBmaWxsPSIjMzMzIj7imIDvuI8g5YWJ54Wn5YWF6LazPC90ZXh0PgogICAgPHRleHQgeD0iMTA1IiB5PSIxMTUiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM3NzciPuS4iuaWueWFieeFp+mcgCDiiaUgOTwvdGV4dD4KICAgIDwhLS0g5p2h5Lu2MiAtLT4KICAgIDx0ZXh0IHg9IjEwNSIgeT0iMTQ1IiBmb250LXNpemU9IjExIiBmaWxsPSIjMzMzIj7wn4y+IOW/hemhu+WcqOiAleWcsOS4ijwvdGV4dD4KICAgIDx0ZXh0IHg9IjEwNSIgeT0iMTYwIiBmb250LXNpemU9IjEwIiBmaWxsPSIjNzc3Ij7lkKbliJnkvJrlj5jph47nlJ88L3RleHQ+CiAgICA8IS0tIOadoeS7tjMgLS0+CiAgICA8dGV4dCB4PSIxMDUiIHk9IjE5MCIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzMzMyI+8J+MsSDlsJrmnKrmiJDnhp88L3RleHQ+CiAgICA8dGV4dCB4PSIxMDUiIHk9IjIwNSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzc3NyI+5LuFIDMg5Liq55Sf6ZW/6Zi25q61PC90ZXh0PgogICAgPCEtLSDmnaHku7Y0IC0tPgogICAgPHRleHQgeD0iMTA1IiB5PSIyMzUiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiMzMzMiPuKal++4jyDmiJDnhp/mtojogJfogqXlipvlgLw8L3RleHQ+CiAgICA8dGV4dCB4PSIxMDUiIHk9IjI1MCIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzc3NyI+5raI6ICXIDEg54K56IKl5Yqb5YC8PC90ZXh0PgogICAgPCEtLSDlj7PkvqfvvJrlvbHlk43lm6DntKAgLS0+CiAgICA8cmVjdCB4PSIyMTAiIHk9IjQ1IiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjIxMCIgcng9IjgiIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzVkNDAzNyIgc3Ryb2tlLXdpZHRoPSIxLjUiLz4KICAgIDx0ZXh0IHg9IjI5NSIgeT0iNjUiIGZvbnQtc2l6ZT0iMTIiIGZvbnQtd2VpZ2h0PSJib2xkIiBmaWxsPSIjNWQ0MDM3Ij7liqDpgJ/lm6DntKA8L3RleHQ+CiAgICA8bGluZSB4MT0iMjMwIiB5MT0iNzUiIHgyPSIzNjAiIHkyPSI3NSIgc3Ryb2tlPSIjOGQ2ZTYzIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1kYXNoYXJyYXk9IjMsMiIvPgogICAgPCEtLSDlm6DntKAxIC0tPgogICAgPHJlY3QgeD0iMjI1IiB5PSI4NSIgd2lkdGg9IjE0MCIgaGVpZ2h0PSIzNSIgcng9IjQiIGZpbGw9IiNlOGY1ZTkiIHN0cm9rZT0iIzgxYzc4NCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8dGV4dCB4PSIyOTUiIHk9IjEwMCIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzJlN2QzMiI+8J+SpyDmub/mtqY8L3RleHQ+CiAgICA8dGV4dCB4PSIyOTUiIHk9IjExMyIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzM4OGUzYyI+55Sf6ZW/5ZGo5pyfIC0yICYg6YeO55Sf5qaC546HLTQwJTwvdGV4dD4KICAgIDwhLS0g5Zug57SgMiAtLT4KICAgIDxyZWN0IHg9IjIyNSIgeT0iMTMwIiB3aWR0aD0iMTQwIiBoZWlnaHQ9IjM1IiByeD0iNCIgZmlsbD0iI2ZmZjNlMCIgc3Ryb2tlPSIjZmZiMzAwIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgIDx0ZXh0IHg9IjI5NSIgeT0iMTQ1IiBmb250LXNpemU9IjExIiBmaWxsPSIjZTY1MTAwIj7wn6eqIOacieaWveiCpTwvdGV4dD4KICAgIDx0ZXh0IHg9IjI5NSIgeT0iMTU4IiBmb250LXNpemU9IjEwIiBmaWxsPSIjZjU3YzAwIj7nlJ/plb/lkajmnJ8gLTIgJiDph47nlJ/mpoLnjoctNDAlPC90ZXh0PgogICAgPCEtLSDlm6DntKAzIC0tPgogICAgPHJlY3QgeD0iMjI1IiB5PSIxNzUiIHdpZHRoPSIxNDAiIGhlaWdodD0iMzUiIHJ4PSI0IiBmaWxsPSIjZmZlYmVlIiBzdHJva2U9IiNlZjlhOWEiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPHRleHQgeD0iMjk1IiB5PSIxOTAiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiNjNjI4MjgiPuKdhO+4jyDkvY7muKnmg6nnvZo8L3RleHQ+CiAgICA8dGV4dCB4PSIyOTUiIHk9IjIwMyIgZm9udC1zaXplPSIxMCIgZmlsbD0iI2QzMmYyZiI+5rip5bqm4omkNOaXtiDlkajmnJ8gKzg8L3RleHQ+CiAgICA8IS0tIOaAu+e7kyAtLT4KICAgIDx0ZXh0IHg9IjI5NSIgeT0iMjM1IiBmb250LXNpemU9IjExIiBmaWxsPSIjNWQ0MDM3IiBmb250LXdlaWdodD0iYm9sZCI+5pyA5L2z54q25oCB77ya5rm/5ramK+aWveiCpTwvdGV4dD4KICAgIDx0ZXh0IHg9IjI5NSIgeT0iMjUyIiBmb250LXNpemU9IjEwIiBmaWxsPSIjNzc3Ij7nlJ/plb/lkajmnJ/mnIDnn60gKDQpPC90ZXh0PgogIDwvZz4KPC9zdmc+CjxmaWdjYXB0aW9uPuajieiKseeUn+mVv+imgee0oO+8muacuuWItuS4jum7kem6puebuOWQjO+8jOS9huWKoOmAn+W5heW6puWSjOS9jua4qeaDqee9muabtOWkpzwvZmlnY2FwdGlvbj4KPC9maWd1cmU+Cgo+IOajieiKseaYr+e6uue7h+WOn+aWme+8jOWPquaciSAzIOS4queUn+mVv+mYtuaute+8jOS9huWfuuehgOeUn+mVv+WRqOacn+abtOmVv+OAguW/hemhu+WcqOiAleWcsOS4iuenjeakje+8jOWQpuWImeeri+WIu+WPmOmHjueUn+OAgumHjueUn+WPmOWMluWcqCoq56ysIDEg6Zi25q61KirliKTlrprkuIDmrKHjgIIKCnwg5Y+C5pWwIHwg5YC8IHwg6K+05piOIHwKfC0tLS0tLXwtLS0tLXwtLS0tLS18Cnwg55Sf6ZW/6Zi25q61IHwgMH4y77yI5YWxM+mYtuaute+8iSB8IOesrDLpmLbmrrXkuLrmiJDnhp/lj6/mlLbojrcgfAp8IOWFieeFp+imgeaxgiB8IOS4iuaWueWFieeFpyDiiaUgOSB8IOWFieeFp+S4jei2s+WImeWBnOatoueUn+mVvyB8Cnwg5Z+656GA55Sf6ZW/5ZGo5pyfIHwgOCB8IOavjzjmrKHova7or6LlsJ3or5XnlJ/plb/kuIDmrKEgfAp8IOWfuuehgOmHjueUn+amgueOhyB8IDgwJSB8IOS7heWcqOesrDHpmLbmrrXml7bliKTlrpogfAp8IOS9jua4qeaDqee9miB8IOWRqOacnyArOCB8IOa4qeW6piDiiaQgNCDml7bop6blj5EgfAp8IOaIkOeGn+a2iOiAl+iCpeWKm+WAvCB8IDHngrkgfCDmiJDnhp/ml7bku47ogJXlnLDmiaPpmaQgfAoKKirkuI3lkIzmnaHku7bkuIvnmoTnlJ/plb/ooajnjrAqKu+8mgoKfCDlnJ/lo6TmnaHku7YgfCDnlJ/plb/lkajmnJ8gfCDph47nlJ/mpoLnjocgfCDor7TmmI4gfAp8LS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tfAp8IOS4jeWcqOiAleWcsOS4iu+8iOazpeWcny/mspnlrZDvvIkgfCDigJQgfCAxMDAlIHwg6Lez6L+H55Sf6ZW/55u05o6l5Y+Y6YeO55SfIHwKfCDmma7pgJrogJXlnLDvvIjlubLnh6Xml6DogqXvvIkgfCA4IHwgODAlIHwg5Z+656GA5YC8IHwKfCDmub/mtqbogJXlnLAgfCA2IHwgNDAlIHwg5rm/5ram77ya5ZGo5pyfLTLvvIzph47nlJ/mpoLnjoctNDAlIHwKfCDmlr3ogqXogJXlnLAgfCA2IHwgNDAlIHwg5pa96IKl77ya5ZGo5pyfLTLvvIzph47nlJ/mpoLnjoctNDAlIHwKfCDmub/mtqYr5pa96IKl6ICV5ZywIHwgKio0KiogfCAqKjAlKiogfCDkuKTpobnliqDmiJDlj6DliqDvvIzmnIDkvbPnirbmgIEgfAoKPiDmo4noirHkuI7pu5HpuqbmnLrliLbnm7jlkIzvvIzkvYbmlr3ogqXlkozmub/mtqblkITlh48gKioyKiog5ZGo5pyf77yI6buR6bqm5LuF5YePMe+8ie+8jOaJgOS7peacgOS9s+adoeS7tuS4i+WRqOacn+S7jjjpmY3liLA044CC5L2O5rip5oOp572a5Lmf57+75YCN77yIKzggdnMg6buR6bqm55qEKzTvvInvvIzmo4noirHlr7nlr5Llhrfmm7TmlY/mhJ/jgIIKCiMjIyMg5qOJ6Iqx5o6J6JC9Cgrlj6rmnInlrozlhajmiJDnhp/vvIjpmLbmrrUgMu+8ieaJjeaOieiQve+8jDAg5ZKMIDEg6Zi25q6156C05Z2P5LuA5LmI6YO95LiN5o6J44CCCgoqKuenjeakjeeahOajieiKsSoq77yaCgp8IOaOieiQveeJqSB8IOaVsOmHjyB8IOivtOaYjiB8CnwtLS0tLS0tLXwtLS0tLS18LS0tLS0tfAp8IOajieiKseenjeWtkCB8IDF+MiDkuKogfCDlv4XmjokgfAp8IOajieiKseWboiB8IDF+MiDkuKogfCDlv4XmjonvvIzlgZrluIPmlpnlkozluornmoTljp/mlpkgfAp8IOe7j+mqjOeQgyB8IDUwJSDmpoLnjocgMSDkuKogfCDmiJDnhp/ml7bpop3lpJbkuIDljYrmpoLnjofmjokgfAoKKirph47nlJ/mo4noirEqKu+8mgoKfCDmjonokL3niakgfCDmlbDph48gfCDor7TmmI4gfAp8LS0tLS0tLS18LS0tLS0tfC0tLS0tLXwKfCDmo4noirHnp43lrZAgfCAxfjIg5LiqIHwg5Y+q5o6J56eN5a2Q77yM5LiN5o6J5qOJ6Iqx5ZuiIHwKCj4g6YeO55Sf5qOJ6Iqx5Y+q5o6J56eN5a2Q77yM5LiN5o6J5qOJ6Iqx5Zui5ZKM57uP6aqM55CD44CC6KaB6I635b6X5qOJ6Iqx5Zui5b+F6aG75Lq65bel56eN5qSN44CCCgojIyMg5Y2X55OcCgo+IOWNl+eTnOaYr+WUr+S4gOaciSoq5q275Lqh5qaC546HKirnmoTkvZznianigJTigJTkuI3mmK/lj5jph47nlJ/vvIzogIzmmK/nm7TmjqXmnq/mrbvjgILlhbEgOCDkuKrnlJ/plb/pmLbmrrXvvIzmrbvkuqHmpoLnjocqKuavj+asoeeUn+mVv+mDveWIpOWumioq77yI5LiN6ZmQ5LqO54m55a6a6Zi25q6177yJ77yM57Sv56ev6aOO6Zmp5pu06auY44CC5LiN5Zyo6ICV5Zyw5LiK5Lmf6IO955Sf6ZW/77yI5LiN5Lya56uL5Yi76YCA5YyW77yJ77yM5L2G5q275Lqh5qaC546H5pu06auY44CCCgo8ZmlndXJlIGNsYXNzPSJhcmNoaXZlLWZpZ3VyZSI+Cjxzdmcgdmlld0JveD0iMCAwIDQwMCAyODAiIHdpZHRoPSIxMDAlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI0MDAiIGhlaWdodD0iMjgwIiBmaWxsPSIjZmFmYWZhIiByeD0iOCIvPgogIDxnIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj4KICAgIDx0ZXh0IHg9IjIwMCIgeT0iMjUiIGZvbnQtc2l6ZT0iMTQiIGZvbnQtd2VpZ2h0PSJib2xkIiBmaWxsPSIjNWQ0MDM3Ij7ljZfnk5znlJ/plb/nmoTlhbPplK7opoHntKA8L3RleHQ+CiAgICA8cmVjdCB4PSIyMCIgeT0iNDUiIHdpZHRoPSIxNzAiIGhlaWdodD0iMjEwIiByeD0iOCIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjNWQ0MDM3IiBzdHJva2Utd2lkdGg9IjEuNSIvPgogICAgPHRleHQgeD0iMTA1IiB5PSI2NSIgZm9udC1zaXplPSIxMiIgZm9udC13ZWlnaHQ9ImJvbGQiIGZpbGw9IiM1ZDQwMzciPuW/heimgeadoeS7tjwvdGV4dD4KICAgIDxsaW5lIHgxPSI0MCIgeTE9Ijc1IiB4Mj0iMTcwIiB5Mj0iNzUiIHN0cm9rZT0iIzhkNmU2MyIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtZGFzaGFycmF5PSIzLDIiLz4KICAgIDx0ZXh0IHg9IjEwNSIgeT0iMTAwIiBmb250LXNpemU9IjExIiBmaWxsPSIjMzMzIj7imIDvuI8g5YWJ54Wn5YWF6LazPC90ZXh0PgogICAgPHRleHQgeD0iMTA1IiB5PSIxMTUiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM3NzciPuS4iuaWueWFieeFp+mcgCDiiaUgOTwvdGV4dD4KICAgIDx0ZXh0IHg9IjEwNSIgeT0iMTQ1IiBmb250LXNpemU9IjExIiBmaWxsPSIjMzMzIj7wn4yxIOWwmuacquaIkOeGnzwvdGV4dD4KICAgIDx0ZXh0IHg9IjEwNSIgeT0iMTYwIiBmb250LXNpemU9IjEwIiBmaWxsPSIjNzc3Ij7lhbEgOCDkuKrnlJ/plb/pmLbmrrU8L3RleHQ+CiAgICA8dGV4dCB4PSIxMDUiIHk9IjE5MCIgZm9udC1zaXplPSIxMSIgZmlsbD0iIzMzMyI+4pqX77iPIOaIkOeGn+a2iOiAl+iCpeWKm+WAvDwvdGV4dD4KICAgIDx0ZXh0IHg9IjEwNSIgeT0iMjA1IiBmb250LXNpemU9IjEwIiBmaWxsPSIjNzc3Ij7mtojogJcgMyDngrnogqXlipvlgLw8L3RleHQ+CiAgICA8dGV4dCB4PSIxMDUiIHk9IjIzNSIgZm9udC1zaXplPSIxMCIgZmlsbD0iI2M2MjgyOCIgZm9udC13ZWlnaHQ9ImJvbGQiPuKaoO+4jyDmnInmrbvkuqHmpoLnjofvvIjpnZ7ph47nlJ/vvIk8L3RleHQ+CiAgICA8cmVjdCB4PSIyMTAiIHk9IjQ1IiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjIxMCIgcng9IjgiIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzVkNDAzNyIgc3Ryb2tlLXdpZHRoPSIxLjUiLz4KICAgIDx0ZXh0IHg9IjI5NSIgeT0iNjUiIGZvbnQtc2l6ZT0iMTIiIGZvbnQtd2VpZ2h0PSJib2xkIiBmaWxsPSIjNWQ0MDM3Ij7liqDpgJ/lm6DntKA8L3RleHQ+CiAgICA8bGluZSB4MT0iMjMwIiB5MT0iNzUiIHgyPSIzNjAiIHkyPSI3NSIgc3Ryb2tlPSIjOGQ2ZTYzIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1kYXNoYXJyYXk9IjMsMiIvPgogICAgPHJlY3QgeD0iMjIwIiB5PSI4MiIgd2lkdGg9IjcyIiBoZWlnaHQ9IjY4IiByeD0iNCIgZmlsbD0iI2U4ZjVlOSIgc3Ryb2tlPSIjODFjNzg0IiBzdHJva2Utd2lkdGg9IjEiLz4KICAgIDx0ZXh0IHg9IjI1NiIgeT0iMTAzIiBmb250LXNpemU9IjEwIiBmaWxsPSIjMmU3ZDMyIj7wn4y+IOWcqOiAleWcsOS4ijwvdGV4dD4KICAgIDx0ZXh0IHg9IjI1NiIgeT0iMTIyIiBmb250LXNpemU9IjkiIGZpbGw9IiMzODhlM2MiPuWRqOacnyAtMTwvdGV4dD4KICAgIDx0ZXh0IHg9IjI1NiIgeT0iMTM4IiBmb250LXNpemU9IjkiIGZpbGw9IiMzODhlM2MiPiDmrbvkuqEgLTUlPC90ZXh0PgogICAgPHJlY3QgeD0iMjk4IiB5PSI4MiIgd2lkdGg9IjcyIiBoZWlnaHQ9IjY4IiByeD0iNCIgZmlsbD0iI2UzZjJmZCIgc3Ryb2tlPSIjNjRiNWY2IiBzdHJva2Utd2lkdGg9IjEiLz4KICAgIDx0ZXh0IHg9IjMzNCIgeT0iMTAzIiBmb250LXNpemU9IjEwIiBmaWxsPSIjMTU2NWMwIj7wn5KnIOa5v+a2pjwvdGV4dD4KICAgIDx0ZXh0IHg9IjMzNCIgeT0iMTIyIiBmb250LXNpemU9IjkiIGZpbGw9IiMxOTc2ZDIiPuWRqOacnyAtMTwvdGV4dD4KICAgIDx0ZXh0IHg9IjMzNCIgeT0iMTM4IiBmb250LXNpemU9IjkiIGZpbGw9IiMxOTc2ZDIiPiDmrbvkuqEgLTUlPC90ZXh0PgogICAgPHJlY3QgeD0iMjIwIiB5PSIxNTYiIHdpZHRoPSI3MiIgaGVpZ2h0PSI2OCIgcng9IjQiIGZpbGw9IiNmZmYzZTAiIHN0cm9rZT0iI2ZmYjMwMCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8dGV4dCB4PSIyNTYiIHk9IjE3NyIgZm9udC1zaXplPSIxMCIgZmlsbD0iI2U2NTEwMCI+8J+nqiDmnInmlr3ogqU8L3RleHQ+CiAgICA8dGV4dCB4PSIyNTYiIHk9IjE5NiIgZm9udC1zaXplPSI5IiBmaWxsPSIjZjU3YzAwIj7lkajmnJ8gLTE8L3RleHQ+CiAgICA8dGV4dCB4PSIyNTYiIHk9IjIxMiIgZm9udC1zaXplPSI5IiBmaWxsPSIjZjU3YzAwIj4g5q275LqhIC01JTwvdGV4dD4KICAgIDxyZWN0IHg9IjI5OCIgeT0iMTU2IiB3aWR0aD0iNzIiIGhlaWdodD0iNjgiIHJ4PSI0IiBmaWxsPSIjZmZlYmVlIiBzdHJva2U9IiNlZjlhOWEiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPHRleHQgeD0iMzM0IiB5PSIxNzciIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiNjNjI4MjgiPuKdhO+4jyDkvY7muKk8L3RleHQ+CiAgICA8dGV4dCB4PSIzMzQiIHk9IjE5NiIgZm9udC1zaXplPSI5IiBmaWxsPSIjZDMyZjJmIj7iiaQ4IOWRqOacnzwvdGV4dD4KICAgIDx0ZXh0IHg9IjMzNCIgeT0iMjEyIiBmb250LXNpemU9IjkiIGZpbGw9IiNkMzJmMmYiPis1PC90ZXh0PgogICAgPHRleHQgeD0iMjk1IiB5PSIyNDIiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9IiM1ZDQwMzciIGZvbnQtd2VpZ2h0PSJib2xkIj7mnIDkvbPvvJrogJXlnLAr5rm/5ramK+aWveiCpTwvdGV4dD4KICA8L2c+Cjwvc3ZnPgo8ZmlnY2FwdGlvbj7ljZfnk5znlJ/plb/opoHntKDvvJrkuInpobnliqDmiJDlkITmj5Dkvpsi5Yqg6YCfK+mZjeS9juatu+S6oSLlj4zph43mlYjmnpw8L2ZpZ2NhcHRpb24+CjwvZmlndXJlPgoKfCDlj4LmlbAgfCDlgLwgfCDor7TmmI4gfAp8LS0tLS0tfC0tLS0tfC0tLS0tLXwKfCDnlJ/plb/pmLbmrrUgfCAwfjfvvIjlhbE46Zi25q6177yJIHwg56ysN+mYtuauteS4uuaIkOeGn+WPr+aUtuiOtyB8Cnwg5YWJ54Wn6KaB5rGCIHwg5LiK5pa55YWJ54WnIOKJpSA5IHwg5YWJ54Wn5LiN6Laz5YiZ5YGc5q2i55Sf6ZW/IHwKfCDln7rnoYDnlJ/plb/lkajmnJ8gfCA0IHwg5q+PNOasoei9ruivouWwneivleeUn+mVv+S4gOasoSB8Cnwg5Z+656GA5q275Lqh5qaC546HIHwgMTUlIHwg5q+P5qyh55Sf6ZW/6YO95Yik5a6a77yI5YWxN+asoe+8jOe0r+enr+mjjumZqemrmO+8iSB8Cnwg5L2O5rip5oOp572aIHwg5ZGo5pyfICs1IHwg5rip5bqmIOKJpCA4IOaXtuinpuWPke+8iOmYiOWAvOavlOm7kem6pi/mo4noirHnmoQ05pu06auY77yJIHwKfCDmiJDnhp/mtojogJfogqXlipvlgLwgfCAz54K5IHwg5oiQ54af5pe25LuO6ICV5Zyw5omj6Zmk6IKl5Yqb5YC877yI6buR6bqmL+ajieiKseS7hTHngrnvvIkgfAoKKirlkITmnaHku7bnmoTni6znq4vmlYjmnpwqKu+8mgoKfCDmnaHku7YgfCDnlJ/plb/liqDpgJ/mlYjmnpwgfCDmrbvkuqHmpoLnjoflh4/lhY3mlYjmnpwgfAp8LS0tLS0tfC0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tfAp8IOWcqOiAleWcsOS4iiB8IOWRqOacnyAtMSB8IC01JSB8Cnwg5rm/5ramIHwg5ZGo5pyfIC0xIHwgLTUlIHwKfCDmlr3ogqUgfCDlkajmnJ8gLTEgfCAtNSUgfAoKPiDljZfnk5zkuI7pu5HpuqYv5qOJ6Iqx55qE5YWz6ZSu5Yy65Yir77ya6buR6bqmL+ajieiKseWPquaciSLmub/mtqYi5ZKMIuaWveiCpSLkuKTnp43liqDmiJDvvIzogIzljZfnk5zlpJrkuobkuIDpobki5Zyo6ICV5Zyw5LiKIueahOWKoOaIkO+8iOm7kem6pi/mo4noirHlnKjogJXlnLDkuIrmmK/liY3mj5DmnaHku7bvvIzkuI3mj5Dkvpvpop3lpJbmlYjmnpzvvInjgILkuInpobnmnaHku7YqKuWQhOaPkOS+m+S4pOenjeaViOaenCoq77ya5Yqg6YCf55Sf6ZW/ICsg6ZmN5L2O5q275Lqh5qaC546H44CCCgoqKuS4jeWQjOadoeS7tuS4i+eahOeUn+mVv+ihqOeOsCoq77yaCgp8IOWcn+WjpOadoeS7tiB8IOeUn+mVv+WRqOacnyB8IOatu+S6oeamgueOhyB8IOaViOaenOadpea6kCB8CnwtLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS18Cnwg6Z2e6ICV5Zyw77yI5rOl5ZyfL+aymeWtkOS4iu+8iSB8IDQgfCAxNSUgfCDml6Dku7vkvZXliqDmiJDvvIzkvYbku43og73nlJ/plb8gfAp8IOaZrumAmuiAleWcsO+8iOW5sueHpeaXoOiCpe+8iSB8IDMgfCAxMCUgfCDku4XogJXlnLDliqDpgJ8r5YeP5YWNIHwKfCDmub/mtqbogJXlnLAgfCAyIHwgNSUgfCDogJXlnLAr5rm/5ram77yM5Lik6aG55Y+g5YqgIHwKfCDmlr3ogqXogJXlnLDvvIjlubLnh6XvvIkgfCAyIHwgNSUgfCDogJXlnLAr5pa96IKl77yM5Lik6aG55Y+g5YqgIHwKfCDmub/mtqYr5pa96IKl6ICV5ZywIHwgKioxKiogfCAqKjAlKiogfCDogJXlnLAr5rm/5ramK+aWveiCpe+8jOS4iemhueWFqOa7oSB8Cgo+IOWNl+eTnOS4jum7kem6pi/mo4noirHnmoTmnIDlpKfljLrliKvvvJrkuI3lnKjogJXlnLDkuIrkuZ/og73nlJ/plb/vvIzkvYbmrbvkuqHmpoLnjofmm7Tpq5jjgILmr4/pobnliqDmiJDku4Xlh4/lhY0gNSUg5q275Lqh5qaC546H77yI6buR6bqmL+ajieiKseeahOmHjueUn+amgueOh+WHj+WFjemrmOi+vjQwJe+8ie+8jOS9huS4iemhueWPoOWKoOWQjuWPr+mZjeiHsyAwJeOAguWNl+eTnOaIkOeGn+a2iOiAlyAqKjMg54K56IKl5Yqb5YC8KirvvIzlr7nlnJ/lo6TogqXlipvmtojogJfmnoHlpKfvvIzpnIDpopHnuYHooaXogqXjgIIKCjo6OiB0aXAg6IqC57qm6IKl5Yqb5YC8CuWNl+eTnOaIkOeGn+a2iOiAlyAqKjMg54K56IKl5Yqb5YC8KirvvIzlnKjkuIDmrKHmlr3ogqXlkI7lj6/ku6XlhYjnp43mpI3kuKTmrKHmo4noirHmiJbpu5HpuqbvvIzmraTml7bogqXlipvlgLzkuLogMe+8jOWGjeenjeakjeS4gOasoeWNl+eTnOaXtuWPquS8mua2iOiAlyAxIOeCueiCpeWKm+WAvOOAggo6OjoKCiMjIyMg5Y2X55Oc5o6J6JC9CgrljZfnk5zku7vkvZXpmLbmrrXvvIgxLTfvvInnoLTlnY/pg73mjonljZfnk5zmnKzouqvvvIzkvYbpmLbmrrUgMO+8iOWImuenjeS4i+eahOenjeWtkOW9ouaAge+8ieS7gOS5iOmDveS4jeaOieOAggoKfCDnlJ/plb/pmLbmrrUgfCDmjonokL3niakgfCDmlbDph48gfCDor7TmmI4gfAp8LS0tLS0tLS0tfC0tLS0tLS0tfC0tLS0tLXwtLS0tLS18CnwgMCB8IOaXoCB8IDAgfCDliJrnp43kuIvnmoTnp43lrZDlvaLmgIHvvIznoLTlnY/ml6DmjonokL0gfAp8IDEtNiB8IOWNl+eTnOaWueWdlyB8IDEg5LiqIHwg5o6J5a+55bqU5aSn5bCP55qE5Y2X55OcIHwKfCA377yI5oiQ54af77yJIHwg5Y2X55Oc5pa55Z2XIHwgMSDkuKogfCDmjonlrozmlbTnmoTlpKfljZfnk5wgfAp8IDfvvIjmiJDnhp/vvIkgfCDnu4/pqoznkIMgfCA1MCUg5qaC546HIDEg5LiqIHwg5oiQ54af5pe26aKd5aSW5LiA5Y2K5qaC546H5o6JIHwKCj4g5Y2X55Oc5LiN5o6J56eN5a2Q4oCU4oCU5Y2X55Oc55u05o6l5o6J5Y2X55Oc5pa55Z2X44CC6KaB5b6X5Yiw5Y2X55Oc56eN5a2Q6ZyA6KaB5LuO5YW25LuW6YCU5b6E6I635Y+W77yI5q+U5aaC5a6d6JeP44CB5Yib6YCg5qih5byP562J77yJ44CCCj4g5Y2X55Oc5o6J6JC95ZCO5pivIuW3suaUtuiOtyLnirbmgIHvvIzlj6/ku6Xnm7TmjqXmjaHotbfmnaXlvZPpo5/nianmiJblgZrmnZDmlpnjgIIKCiMjIyDkuInnp43kvZznianlhbPplK7lt67lvILmgLvnu5MKCnwg5a+55q+U6aG5IHwg6buR6bqmIC8g5qOJ6IqxIHwg5Y2X55OcIHwKfC0tLS0tLS0tfC0tLS0tLS0tLS0tLXwtLS0tLS18Cnwg5LiN5Zyo6ICV5Zyw5LiKIHwg5Y+Y6YeO55Sf77yIMTAwJe+8iSB8IOiDveato+W4uOeUn+mVv++8iOatu+S6oeamgueOhzE1Je+8iSB8Cnwg6YCA5YyW57G75Z6LIHwg5Y+Y6YeO55SfIHwg5p6v5q2777yI5YGc5q2i55Sf6ZW/77yJIHwKfCDpgIDljJbliKTlrprml7bmnLogfCDku4XnibnlrprpmLbmrrXliKTlrprkuIDmrKEgfCDmr4/mrKHnlJ/plb/pg73liKTlrpogfAp8IOavj+mhueWKoOaIkOeahOmAgOWMluWHj+WFjSB8IDQwJSB8IDUlIHwKfCDmiJDnhp/mtojogJfogqXlipvlgLwgfCAx54K5IHwgM+eCuSB8Cnwg5L2O5rip5oOp572a6ZiI5YC8IHwg5rip5bqmIOKJpCA0IHwg5rip5bqmIOKJpCA477yI5pu05a655piT5Y+X5Ya777yJIHwKCjxmaWd1cmUgY2xhc3M9ImFyY2hpdmUtZmlndXJlIj4KPHN2ZyB2aWV3Qm94PSIwIDAgNjAwIDM2MCIgd2lkdGg9IjEwMCUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjYwMCIgaGVpZ2h0PSIzNjAiIGZpbGw9IiNmYWZhZmEiIHJ4PSI4Ii8+CiAgPGcgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHRleHQtYW5jaG9yPSJtaWRkbGUiPgogICAgPHRleHQgeD0iMzAwIiB5PSIyNSIgZm9udC1zaXplPSIxNCIgZm9udC13ZWlnaHQ9ImJvbGQiIGZpbGw9IiM1ZDQwMzciPuS4ieenjeS9nOeJqeWvueavlOaAu+e7kzwvdGV4dD4KICAgIDxyZWN0IHg9IjIwIiB5PSI0MCIgd2lkdGg9IjU2MCIgaGVpZ2h0PSIzMiIgZmlsbD0iIzVkNDAzNyIgcng9IjQiLz4KICAgIDx0ZXh0IHg9IjkwIiB5PSI2MSIgZm9udC1zaXplPSIxMSIgZm9udC13ZWlnaHQ9ImJvbGQiIGZpbGw9IiNmZmYiPuWvueavlOmhuTwvdGV4dD4KICAgIDx0ZXh0IHg9IjIzMCIgeT0iNjEiIGZvbnQtc2l6ZT0iMTEiIGZvbnQtd2VpZ2h0PSJib2xkIiBmaWxsPSIjZmZmIj7wn4y+IOm7kem6pjwvdGV4dD4KICAgIDx0ZXh0IHg9IjM3MCIgeT0iNjEiIGZvbnQtc2l6ZT0iMTEiIGZvbnQtd2VpZ2h0PSJib2xkIiBmaWxsPSIjZmZmIj7wn4y/IOajieiKsTwvdGV4dD4KICAgIDx0ZXh0IHg9IjUxMCIgeT0iNjEiIGZvbnQtc2l6ZT0iMTEiIGZvbnQtd2VpZ2h0PSJib2xkIiBmaWxsPSIjZmZmIj7wn46DIOWNl+eTnDwvdGV4dD4KICAgIDxyZWN0IHg9IjIwIiB5PSI3NiIgd2lkdGg9IjU2MCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2ZmZjNlMCIvPgogICAgPHRleHQgeD0iOTAiIHk9IjkzIiBmb250LXNpemU9IjEwIiBmaWxsPSIjNWQ0MDM3IiBmb250LXdlaWdodD0iYm9sZCI+5a6a5L2NPC90ZXh0PgogICAgPHRleHQgeD0iMjMwIiB5PSI5MyIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzMzMyI+5Z+656GA57Ku6aOfPC90ZXh0PgogICAgPHRleHQgeD0iMzcwIiB5PSI5MyIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzMzMyI+57q657uH5Y6f5paZPC90ZXh0PgogICAgPHRleHQgeD0iNTEwIiB5PSI5MyIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzMzMyI+5Z+656GA57Ku6aOfPC90ZXh0PgogICAgPHJlY3QgeD0iMjAiIHk9IjEwMiIgd2lkdGg9IjU2MCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2ZmZiIvPgogICAgPHRleHQgeD0iOTAiIHk9IjExOSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzVkNDAzNyIgZm9udC13ZWlnaHQ9ImJvbGQiPueUn+mVv+mYtuautTwvdGV4dD4KICAgIDx0ZXh0IHg9IjIzMCIgeT0iMTE5IiBmb250LXNpemU9IjEwIiBmaWxsPSIjMzMzIj44IOmYtuautTwvdGV4dD4KICAgIDx0ZXh0IHg9IjM3MCIgeT0iMTE5IiBmb250LXNpemU9IjEwIiBmaWxsPSIjMzMzIj4zIOmYtuautTwvdGV4dD4KICAgIDx0ZXh0IHg9IjUxMCIgeT0iMTE5IiBmb250LXNpemU9IjEwIiBmaWxsPSIjMzMzIj44IOmYtuautTwvdGV4dD4KICAgIDxyZWN0IHg9IjIwIiB5PSIxMjgiIHdpZHRoPSI1NjAiIGhlaWdodD0iMjQiIGZpbGw9IiNmZmYzZTAiLz4KICAgIDx0ZXh0IHg9IjkwIiB5PSIxNDUiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiM1ZDQwMzciIGZvbnQtd2VpZ2h0PSJib2xkIj7ln7rnoYDlkajmnJ88L3RleHQ+CiAgICA8dGV4dCB4PSIyMzAiIHk9IjE0NSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzMzMyI+NDwvdGV4dD4KICAgIDx0ZXh0IHg9IjM3MCIgeT0iMTQ1IiBmb250LXNpemU9IjEwIiBmaWxsPSIjMzMzIj44PC90ZXh0PgogICAgPHRleHQgeD0iNTEwIiB5PSIxNDUiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiMzMzMiPjQ8L3RleHQ+CiAgICA8cmVjdCB4PSIyMCIgeT0iMTU0IiB3aWR0aD0iNTYwIiBoZWlnaHQ9IjI0IiBmaWxsPSIjZmZmIi8+CiAgICA8dGV4dCB4PSI5MCIgeT0iMTcxIiBmb250LXNpemU9IjEwIiBmaWxsPSIjNWQ0MDM3IiBmb250LXdlaWdodD0iYm9sZCI+5pyA5L2z5ZGo5pyfPC90ZXh0PgogICAgPHRleHQgeD0iMjMwIiB5PSIxNzEiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiMyZTdkMzIiIGZvbnQtd2VpZ2h0PSJib2xkIj4yPC90ZXh0PgogICAgPHRleHQgeD0iMzcwIiB5PSIxNzEiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiMyZTdkMzIiIGZvbnQtd2VpZ2h0PSJib2xkIj40PC90ZXh0PgogICAgPHRleHQgeD0iNTEwIiB5PSIxNzEiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiMyZTdkMzIiIGZvbnQtd2VpZ2h0PSJib2xkIj4xPC90ZXh0PgogICAgPHJlY3QgeD0iMjAiIHk9IjE4MCIgd2lkdGg9IjU2MCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2ZmZjNlMCIvPgogICAgPHRleHQgeD0iOTAiIHk9IjE5NyIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzVkNDAzNyIgZm9udC13ZWlnaHQ9ImJvbGQiPumAgOWMluexu+WeizwvdGV4dD4KICAgIDx0ZXh0IHg9IjIzMCIgeT0iMTk3IiBmb250LXNpemU9IjEwIiBmaWxsPSIjMmU3ZDMyIj7lj5jph47nlJ88L3RleHQ+CiAgICA8dGV4dCB4PSIzNzAiIHk9IjE5NyIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzJlN2QzMiI+5Y+Y6YeO55SfPC90ZXh0PgogICAgPHRleHQgeD0iNTEwIiB5PSIxOTciIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiNjNjI4MjgiIGZvbnQtd2VpZ2h0PSJib2xkIj7mnq/mrbs8L3RleHQ+CiAgICA8cmVjdCB4PSIyMCIgeT0iMjA2IiB3aWR0aD0iNTYwIiBoZWlnaHQ9IjI0IiBmaWxsPSIjZmZmIi8+CiAgICA8dGV4dCB4PSI5MCIgeT0iMjIzIiBmb250LXNpemU9IjEwIiBmaWxsPSIjNWQ0MDM3IiBmb250LXdlaWdodD0iYm9sZCI+6YCA5YyW5YeP5YWNPC90ZXh0PgogICAgPHRleHQgeD0iMjMwIiB5PSIyMjMiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiMzMzMiPjQwJS/pobk8L3RleHQ+CiAgICA8dGV4dCB4PSIzNzAiIHk9IjIyMyIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzMzMyI+NDAlL+mhuTwvdGV4dD4KICAgIDx0ZXh0IHg9IjUxMCIgeT0iMjIzIiBmb250LXNpemU9IjEwIiBmaWxsPSIjYzYyODI4Ij41JS/pobk8L3RleHQ+CiAgICA8cmVjdCB4PSIyMCIgeT0iMjMyIiB3aWR0aD0iNTYwIiBoZWlnaHQ9IjI0IiBmaWxsPSIjZmZmM2UwIi8+CiAgICA8dGV4dCB4PSI5MCIgeT0iMjQ5IiBmb250LXNpemU9IjEwIiBmaWxsPSIjNWQ0MDM3IiBmb250LXdlaWdodD0iYm9sZCI+5Yik5a6a5pe25py6PC90ZXh0PgogICAgPHRleHQgeD0iMjMwIiB5PSIyNDkiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiMzMzMiPueJueWumumYtuauteS4gOasoTwvdGV4dD4KICAgIDx0ZXh0IHg9IjM3MCIgeT0iMjQ5IiBmb250LXNpemU9IjEwIiBmaWxsPSIjMzMzIj7nibnlrprpmLbmrrXkuIDmrKE8L3RleHQ+CiAgICA8dGV4dCB4PSI1MTAiIHk9IjI0OSIgZm9udC1zaXplPSIxMCIgZmlsbD0iI2M2MjgyOCI+5q+P5qyh55Sf6ZW/6YO95Yik5a6aPC90ZXh0PgogICAgPHJlY3QgeD0iMjAiIHk9IjI1OCIgd2lkdGg9IjU2MCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2ZmZiIvPgogICAgPHRleHQgeD0iOTAiIHk9IjI3NSIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzVkNDAzNyIgZm9udC13ZWlnaHQ9ImJvbGQiPuaIkOeGn+iAl+iCpTwvdGV4dD4KICAgIDx0ZXh0IHg9IjIzMCIgeT0iMjc1IiBmb250LXNpemU9IjEwIiBmaWxsPSIjMzMzIj4xPC90ZXh0PgogICAgPHRleHQgeD0iMzcwIiB5PSIyNzUiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiMzMzMiPjE8L3RleHQ+CiAgICA8dGV4dCB4PSI1MTAiIHk9IjI3NSIgZm9udC1zaXplPSIxMCIgZmlsbD0iI2M2MjgyOCIgZm9udC13ZWlnaHQ9ImJvbGQiPjM8L3RleHQ+CiAgICA8cmVjdCB4PSIyMCIgeT0iMjg0IiB3aWR0aD0iNTYwIiBoZWlnaHQ9IjI0IiBmaWxsPSIjZmZmM2UwIi8+CiAgICA8dGV4dCB4PSI5MCIgeT0iMzAxIiBmb250LXNpemU9IjEwIiBmaWxsPSIjNWQ0MDM3IiBmb250LXdlaWdodD0iYm9sZCI+5L2O5rip5oOp572aPC90ZXh0PgogICAgPHRleHQgeD0iMjMwIiB5PSIzMDEiIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiNjNjI4MjgiPuKJpDQg5ZGo5pyfKzQ8L3RleHQ+CiAgICA8dGV4dCB4PSIzNzAiIHk9IjMwMSIgZm9udC1zaXplPSIxMCIgZmlsbD0iI2M2MjgyOCI+4omkNCDlkajmnJ8rODwvdGV4dD4KICAgIDx0ZXh0IHg9IjUxMCIgeT0iMzAxIiBmb250LXNpemU9IjEwIiBmaWxsPSIjYzYyODI4Ij7iiaQ4IOWRqOacnys1PC90ZXh0PgogICAgPHJlY3QgeD0iMjAiIHk9IjMxMCIgd2lkdGg9IjU2MCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2ZmZiIvPgogICAgPHRleHQgeD0iOTAiIHk9IjMyNyIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzVkNDAzNyIgZm9udC13ZWlnaHQ9ImJvbGQiPuS4jeWcqOiAleWcsDwvdGV4dD4KICAgIDx0ZXh0IHg9IjIzMCIgeT0iMzI3IiBmb250LXNpemU9IjEwIiBmaWxsPSIjYzYyODI4Ij7lj5jph47nlJ88L3RleHQ+CiAgICA8dGV4dCB4PSIzNzAiIHk9IjMyNyIgZm9udC1zaXplPSIxMCIgZmlsbD0iI2M2MjgyOCI+5Y+Y6YeO55SfPC90ZXh0PgogICAgPHRleHQgeD0iNTEwIiB5PSIzMjciIGZvbnQtc2l6ZT0iMTAiIGZpbGw9IiMyZTdkMzIiPuiDveeUn+mVvzwvdGV4dD4KICAgIDxyZWN0IHg9IjIwIiB5PSIzMzQiIHdpZHRoPSI1NjAiIGhlaWdodD0iMjAiIGZpbGw9IiNmYWZhZmEiIHJ4PSI0Ii8+CiAgICA8dGV4dCB4PSIzMDAiIHk9IjM0OCIgZm9udC1zaXplPSI5IiBmaWxsPSIjNzc3Ij7pu5HpuqbnqLMgwrcg5qOJ6Iqx5oWiIMK3IOWNl+eTnOmZqeiAjOW/qzwvdGV4dD4KICA8L2c+Cjwvc3ZnPgo8ZmlnY2FwdGlvbj7kuInnp43kvZznianlr7nmr5TvvJrpu5HpuqYv5qOJ6Iqx5Y+Y6YeO55Sf77yM5Y2X55Oc5p6v5q2777yb5Y2X55Oc5pyA6ISG5byx5L2G5pyA5L2z5ZGo5pyf5pyA55+tPC9maWdjYXB0aW9uPgo8L2ZpZ3VyZT4KCgoKIyMg6YeO55Sf54q25oCB5LiO5p6v5q2754q25oCBCgoqKumHjueUn+eKtuaAgSoq77yI6buR6bqmL+ajieiKse+8ie+8muakjeeJqeWPmOS4uumHjueUn+WTgeenjeWQjuS7jeWcqOe7p+e7reeUn+mVv+OAgumHjueUn+eKtuaAgeS4jeWPr+mAhui9rOOAggoKKirmnq/mrbvnirbmgIEqKu+8iOWNl+eTnO+8ie+8muWNl+eTnOaer+atu+WQjuWBnOatoueUn+mVv++8jOS4jeS8muS6p+WHuuWNl+eTnOOAguaer+atu+eahOWNl+eTnOS8muWDj+WFtuS7lumjn+eJqeS4gOagt+iFkOi0peOAguaer+atu+eKtuaAgeS4jeWPr+mAhui9rOOAggoKIyMg5YyW6IKl5LiO5aCG6IKlCgoqKuehneefsyoq77ya5LuO56Gd55+z55+/77yI56CC5bKp5Lit55Sf5oiQ77yJ5byA6YeH6I635b6X56Gd55+z5Z2X44CC56Gd55+z57KJ5pKS5Zyo6ICV5Zyw5LiK5Y+v5aKe5YqgM+eCueiCpeWKm+WAvO+8iOWwgemhtjPngrnvvInvvIzliqDpgJ/kvZzniannlJ/plb/lubbpmY3kvY7pgIDljJbmpoLnjofjgIIKCioq5aCG6IKlKirvvJrohZDng4Lpo5/nianmnIDnu4jovazljJbkuLrloIbogqXvvIzlj6/nm7TmjqXmm7/ku6PogJXlnLDkvb/nlKjvvIzoh6rluKbogqXlipvvvIzml6DpnIDpop3lpJbmlr3ogqXjgILov5nmmK/liKnnlKjohZDotKXpo5/niannmoTkuLvopoHmlrnlvI/igJTigJTlsIbohZDng4Lpo5/niannlZnlnKjlnLDkuIrvvIzmnIDnu4jlj5jmiJDloIbogqXlkI7nlKjkuo7np43mpI3jgIIKCiMjIOWGmee7meW8gOWPkeiAhQoKOjo6IGluZm8g6LWE5paZ5pqC5a2YCuacrOWwj+iKguWGheWuueaaguaXtuWtmOaUvuS6juatpO+8jOWQjue7reS8muenu+WKqOiHs+KAnE1PROW8gOWPkeKAneeroOiKguOAggo6OjoKCjxkZXRhaWxzPgo8c3VtbWFyeT7lvIDlj5HmpoLop4g8L3N1bW1hcnk+CgojIyMg5Zyf5aOk5pWw5o2u57uT5p6ECgpgU29pbEJsb2NrYCDnmoQgZGF0YSDlrZfmrrXkvb/nlKjmjInkvY3lrZjlgqjvvJoKCnwgQml0IHwg5ZCr5LmJIHwg5pa55rOVIHwKfC0tLS0tfC0tLS0tLXwtLS0tLS18CnwgYml0IDAgfCDmub/mtqbnirbmgIHvvIhIeWRyYXRpb27vvIkgfCBgR2V0SHlkcmF0aW9uYCAvIGBTZXRIeWRyYXRpb25gIHwKfCBiaXQgMS0yIHwg6IKl5Yqb562J57qn77yIcm9nZW4sIDAtM++8iSB8IGBHZXROaXRyb2dlbmAgLyBgU2V0Tml0cm9nZW5gIHwKCuiCpeWKm+etiee6p+WAvOS4uiAwLTPvvIznlLEgYE1hdGguQ2xhbXAobml0cm9nZW4sIDAsIDMpYCDpmZDliLbjgIIKCj4gKipDbGFtcCh4LCBtaW4sIG1heCkqKu+8mumZkOWItuWHveaVsOOAguiLpSB4IOWwj+S6jiBtaW4g5YiZ6L+U5ZueIG1pbu+8jOiLpSB4IOWkp+S6jiBtYXgg5YiZ6L+U5ZueIG1heO+8jOWQpuWImei/lOWbniB444CC6L+Z6YeM5oqK6IKl5Yqb6ZmQ5Yi25ZyoIDB+MyDnmoTlkIjms5XojIPlm7TlhoXjgIIKCiMjIyDova7or6LmnLrliLbvvIhgU3Vic3lzdGVtQmxvY2tzU2Nhbm5lci5jc2DvvIkKCuaWueWdl+aJq+aPj+WZqOS7peWbuuWumuWRqOacn+aJq+aPj+S4lueVjOS4reeahOaJgOacieaWueWdl++8jOavj+WujOaIkOS4gOi9ruaJq+aPjyBgcG9sbFBhc3NgIOiuoeaVsOWZqCArMe+8mgoKYGBgY3NoYXJwCnB1YmxpYyBmbG9hdCBTY2FuUGVyaW9kID0gNjBmOyAgLy8g5omr5o+P5ZGo5pyf77yaNjAg5ri45oiP5pe26Ze05Y2V5L2N77yIPSAxIOeOsOWunuWIhumSn++8iQoKcHVibGljIGludCBtX3BvbGxQYXNzOyAgLy8g6L2u6K+i6K6h5pWw5Zmo77yM5q+P5a6M5oiQ5LiA6L2u5a6M5pW05omr5o+PICsxCgpwdWJsaWMgdmlydHVhbCB2b2lkIFVwZGF0ZShmbG9hdCBkdCkgewogICAgLy8gbV9wb2xsU2hpZnRzQ291bnQg5oyJ5pe26Ze057Sv56ev77yM5o6n5Yi25omr5o+P6L+b5bqmCiAgICBtX3BvbGxTaGlmdHNDb3VudCArPSB0ZXJyYWluLkFsbG9jYXRlZENodW5rcy5MZW5ndGggKiAxNiAqIDE2ICogZHQgLyBTY2FuUGVyaW9kOwogICAgLy8gLi4uIOmAkOWdl+aJq+aPj++8jOWvueavj+S4quWPr+i9ruivouaWueWdl+iwg+eUqCBPblBvbGwgLi4uCiAgICAvLyDlvZPmiYDmnInljLrlnZfmiavmj4/lrozkuIDova7lkI7vvJoKICAgIGlmIChoYXNMb29wZWQpIHsKICAgICAgICBtX3BvbGxQYXNzKys7ICAvLyDova7or6LorqHmlbDlmaggKzEKICAgIH0KfQpgYGAKCiMjIyDmsLTmupDmu4vmtqbliKTlrprvvIhgU3Vic3lzdGVtU29pbEJsb2NrQmVoYXZpb3IuY3Ng77yJCgrogJXlnLDlnKjmr4/mrKHova7or6Lml7bmo4Dmn6XmmK/lkKblupTor6Xlj5jmub/mtqbjgILmoLjlv4Pmlrnms5UgYERldGVybWluZUh5ZHJhdGlvbmAg5L2/55So6YCS5b2SIuatpeaVsOmihOeulyLmkJzntKLmsLTmupDvvJoKCmBgYGNzaGFycAovLyBPblBvbGzvvJrmr4/mrKHova7or6Lml7bmo4Dmn6XogJXlnLDmmK/lkKbpnIDopoHmm7TmlrDmub/mtqbnirbmgIEKcHVibGljIG92ZXJyaWRlIHZvaWQgT25Qb2xsKGludCB2YWx1ZSwgaW50IHgsIGludCB5LCBpbnQgeiwgaW50IHBvbGxQYXNzKSB7CiAgICBib29sIGh5ZHJhdGlvbiA9IFNvaWxCbG9jay5HZXRIeWRyYXRpb24oVGVycmFpbi5FeHRyYWN0RGF0YSh2YWx1ZSkpOwogICAgaWYgKERldGVybWluZUh5ZHJhdGlvbih4LCB5LCB6LCAzKSkgeyAgICAgIC8vIOWIneWni+atpeaVsOmihOeulyA9IDMKICAgICAgICBpZiAoIWh5ZHJhdGlvbikgewogICAgICAgICAgICBtX3RvSHlkcmF0ZVtuZXcgUG9pbnQzKHgsIHksIHopXSA9IHRydWU7ICAgLy8g6ZyA6KaB5rm/5ramCiAgICAgICAgfQogICAgfQogICAgZWxzZSBpZiAoaHlkcmF0aW9uKSB7CiAgICAgICAgbV90b0h5ZHJhdGVbbmV3IFBvaW50Myh4LCB5LCB6KV0gPSBmYWxzZTsgICAgICAvLyDpnIDopoHlubLnh6UKICAgIH0KfQoKLy8gRGV0ZXJtaW5lSHlkcmF0aW9u77ya6YCS5b2S5pCc57Si5rC05rqQ77yMc3RlcHMg5Li65Ymp5L2Z5q2l5pWw6aKE566XCnB1YmxpYyBib29sIERldGVybWluZUh5ZHJhdGlvbihpbnQgeCwgaW50IHksIGludCB6LCBpbnQgc3RlcHMpIHsKICAgIGlmIChzdGVwcyA+IDAgJiYgeSA+IDAgJiYgeSA8IDI1NCkgewogICAgICAgIC8vIOawtOW5s+aWueWQke+8mjQg5Liq6YK75bGF77yM5ZCE5raI6ICXIDEg5q2lCiAgICAgICAgaWYgKERldGVybWluZUh5ZHJhdGlvbkhlbHBlcih4IC0gMSwgeSwgeiwgc3RlcHMgLSAxKSkgcmV0dXJuIHRydWU7CiAgICAgICAgaWYgKERldGVybWluZUh5ZHJhdGlvbkhlbHBlcih4ICsgMSwgeSwgeiwgc3RlcHMgLSAxKSkgcmV0dXJuIHRydWU7CiAgICAgICAgaWYgKERldGVybWluZUh5ZHJhdGlvbkhlbHBlcih4LCB5LCB6IC0gMSwgc3RlcHMgLSAxKSkgcmV0dXJuIHRydWU7CiAgICAgICAgaWYgKERldGVybWluZUh5ZHJhdGlvbkhlbHBlcih4LCB5LCB6ICsgMSwgc3RlcHMgLSAxKSkgcmV0dXJuIHRydWU7CiAgICAgICAgLy8g5Z6C55u05pa55ZCR77ya5LiK5LiL5ZCE5raI6ICXIDIg5q2l77yI5LuFIHN0ZXBzID49IDIg5pe25qOA5p+l77yJCiAgICAgICAgaWYgKHN0ZXBzID49IDIpIHsKICAgICAgICAgICAgaWYgKERldGVybWluZUh5ZHJhdGlvbkhlbHBlcih4LCB5IC0gMSwgeiwgc3RlcHMgLSAyKSkgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIGlmIChEZXRlcm1pbmVIeWRyYXRpb25IZWxwZXIoeCwgeSArIDEsIHosIHN0ZXBzIC0gMikpIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfQoKLy8gRGV0ZXJtaW5lSHlkcmF0aW9uSGVscGVy77ya5qOA5p+l5b2T5YmN5L2N572u55qE5pa55Z2X57G75Z6LCnB1YmxpYyBib29sIERldGVybWluZUh5ZHJhdGlvbkhlbHBlcihpbnQgeCwgaW50IHksIGludCB6LCBpbnQgc3RlcHMpIHsKICAgIGludCBjZWxsVmFsdWVGYXN0ID0gU3Vic3lzdGVtVGVycmFpbi5UZXJyYWluLkdldENlbGxWYWx1ZUZhc3QoeCwgeSwgeik7CiAgICBpbnQgbnVtID0gVGVycmFpbi5FeHRyYWN0Q29udGVudHMoY2VsbFZhbHVlRmFzdCk7CiAgICBpbnQgZGF0YSA9IFRlcnJhaW4uRXh0cmFjdERhdGEoY2VsbFZhbHVlRmFzdCk7CiAgICBzd2l0Y2ggKG51bSkgewogICAgICAgIGNhc2UgMTg6IHJldHVybiB0cnVlOyAgLy8g5rC05pa55Z2X77yIV2F0ZXJCbG9ja++8ieKGkiDnm7TmjqXmib7liLDmsLTmupAKICAgICAgICBjYXNlIDE2ODogICAgICAgICAgICAgIC8vIOiAleWcsO+8iFNvaWxCbG9ja++8iQogICAgICAgICAgICBpZiAoU29pbEJsb2NrLkdldEh5ZHJhdGlvbihkYXRhKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIERldGVybWluZUh5ZHJhdGlvbih4LCB5LCB6LCBzdGVwcyk7ICAvLyDlt7Lmub/mtqbnmoTogJXlnLDlj6/kvKDpgJLmu4vmtqYKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgIH0KICAgIGlmIChudW0gPT0gMikgewogICAgICAgIHJldHVybiBEZXRlcm1pbmVIeWRyYXRpb24oeCwgeSwgeiwgc3RlcHMpOyAgLy8g5rOl5Zyf77yIRGlydEJsb2Nr77yJ5Y+v5Lyg6YCS5ruL5ramCiAgICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KYGBgCgoqKuaWueWdl+e8luWPt+WvueeFpyoq77yaYFdhdGVyQmxvY2suSW5kZXggPSAxOGDvvIxgRGlydEJsb2NrLkluZGV4ID0gMmDvvIxgU29pbEJsb2NrYO+8iOiAleWcsO+8iT0gMTY444CCCgoqKuatpeaVsOmihOeul+a2iOiAl+inhOWImSoq77yaCgp8IOenu+WKqOaWueWQkSB8IOa2iOiAl+atpeaVsCB8IOWIneWni+mihOeulyAzIOaXtueahOacgOWkp+i3neemuyB8CnwtLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS18Cnwg5rC05bmz77yI5Lic5Y2X6KW/5YyX77yJIHwgMSB8IDMg5qC8IHwKfCDlnoLnm7TvvIjkuIrkuIvvvIkgfCAyIHwgMSDmoLwgfAoKKirkvKDpgJLop4TliJkqKu+8muawtOaWueWdl++8iDE477yJ55u05o6l6L+U5ZueIHRydWXvvJvlt7Lmub/mtqbnmoTogJXlnLDvvIgxNjjvvInlkozms6XlnJ/vvIgy77yJ5Lya6YCS5b2S6LCD55SoIGBEZXRlcm1pbmVIeWRyYXRpb25gIOe7p+e7reaQnOe0ou+8jOatpeaVsOmihOeul+S4jeWPmOOAgui/meaEj+WRs+edgOa7i+a2puS/oeWPt+WPr+S7peepv+i/h+W3sua5v+a2pueahOiAleWcsOaIluazpeWcn+WQkeWkluS8oOmAku+8jOebtOWIsOatpeaVsOiAl+WwveOAggoKKirmub/mtqbmm7TmlrDml7bmnLoqKu+8mmBPblBvbGxgIOWPquaYr+WwhuWPmOabtOivt+axguWKoOWFpSBgbV90b0h5ZHJhdGVgIOmYn+WIl++8jOWunumZheabtOaWsOWcqCBgVXBkYXRlYCDmlrnms5XkuK3mr48gMTAg5ri45oiP5pe26Ze05Y2V5L2N5om56YeP5omn6KGM5LiA5qyh44CCCgojIyMg5qSN54mp55Sf6ZW/57O757uf5p625p6ECgoqKuaguOW/g+aWh+S7tioq77yaYFN1cnZpdmFsY3JhZnQvU3Vic3lzdGVtL0Jsb2NrQmVoYXZpb3IvU3Vic3lzdGVtUGxhbnRCbG9ja0JlaGF2aW9yLmNzYAoK5aSE55CG55qE5pa55Z2X57Si5byV77yIYEhhbmRsZWRCbG9ja3Ng77yJ77yaCmBgYAoxOT1UYWxsR3Jhc3NCbG9jaywgMjA9Rmxvd2VyQmxvY2ssIDI0LCAyNSwgMjg9Rmxvd2VyQmxvY2vlj5jkvZMsCjk5PT8sIDEzMT1CYXNlUHVtcGtpbkJsb2NrLCAxMzI9SmFja09MYW50ZXJuQmxvY2ssIAoxNzQ9UnllQmxvY2ssIDIwND1Db3R0b25CbG9jaywgMjQ0PT8KYGBgCgoqKueUn+mVv+inpuWPkeadoeS7tioq77ya5LuF5ZyoIGBFbnZpcm9ubWVudEJlaGF2aW9yTW9kZS5MaXZpbmdgIOaooeW8j+S4i+inpuWPke+8iGBPblBvbGxgIOaWueazle+8ieOAggoKIyMjIOeUn+mVv+aWueazlea6kOeggeimgeeCuQoK5LiJ56eN5L2c54mp55qE55Sf6ZW/5pa55rOV5Lit77yMKirlj5jph4/lr7nlupTlhbPns7sqKu+8mgoKfCDlj5jph48gfCDpu5HpuqYgfCDmo4noirEgfCDljZfnk5wgfCDlkKvkuYkgfAp8LS0tLS0tfC0tLS0tLXwtLS0tLS18LS0tLS0tfC0tLS0tLXwKfCBgbnVtMmAvYG51bTRgIHwgNCB8IDggfCA0IHwg5Z+656GA55Sf6ZW/5ZGo5pyfIHwKfCBgbnVtM2AvYG51bTVgIHwgMC44IHwgMC44IHwgMC4xNSB8IOmAgOWMluamgueOh++8iOmHjueUny/mrbvkuqHvvIkgfAp8IOmAgOWMluinpuWPkSB8IGBzaXplID09IDNgIHwgYHNpemUgPT0gMWAgfCDmr4/mrKHnlJ/plb8gfCDliKTlrprml7bmnLrkuI3lkIwgfAp8IOmAgOWMluaWueazlSB8IGBTZXRJc1dpbGRgIHwgYFNldElzV2lsZGAgfCBgU2V0SXNEZWFkYCB8IOS4jeWQjOeahOeKtuaAgeiuvue9riB8CgoqKum7kem6pi/mo4noirHnmoTnlJ/plb/mnaHku7bliIbmlK8qKu+8mgoKYGBgY3NoYXJwCi8vIOS4jeWcqOiAleWcsOS4iiDihpIg56uL5Yi75Y+Y6YeO55SfCmlmIChUZXJyYWluLkV4dHJhY3RDb250ZW50cyhjZWxsVmFsdWVGYXN0KSAhPSAxNjgpIHsKICAgIC8vIOebtOaOpeiuvuS4uumHjueUn+eKtuaAgQogICAgaW50IHZhbHVlNSA9IFRlcnJhaW4uUmVwbGFjZURhdGEodmFsdWUsIFJ5ZUJsb2NrLlNldElzV2lsZChkYXRhLCB0cnVlKSk7CiAgICBtX3N1YnN5c3RlbUNlbGxDaGFuZ2VRdWV1ZS5RdWV1ZUNlbGxDaGFuZ2UoeCwgeSwgeiwgdmFsdWU1KTsKICAgIHJldHVybjsKfQpgYGAKCmBgYGNzaGFycAovLyDlnKjogJXlnLDkuIog4oaSIOiuoeeul+eUn+mVv+WRqOacn+WSjOmHjueUn+amgueOhwppbnQgbnVtMiA9IDQ7ICAgICAgIC8vIOWfuuehgOeUn+mVv+WRqOacnwpmbG9hdCBudW0zID0gMC44ZjsgIC8vIOWfuuehgOmHjueUn+amgueOhwppZiAobml0cm9nZW4gPiAwKSAgeyBudW0yLS07IG51bTMgLT0gMC40ZjsgfSAgLy8g5pa96IKl77ya5ZGo5pyfLTHvvIzph47nlJ8tMC40CmlmIChoeWRyYXRpb24pICAgICB7IG51bTItLTsgbnVtMyAtPSAwLjRmOyB9ICAvLyDmub/mtqbvvJrlkajmnJ8tMe+8jOmHjueUny0wLjQKaWYgKG51bSA8PSA0KSAgICAgIHsgbnVtMiArPSA0OyB9ICAgICAgICAgICAgICAvLyDkvY7muKnmg6nnvZoKCi8vIOeUn+mVv+WIpOWumu+8mnBvbGxQYXNzICUgbWF4KOWRqOacnywxKSA9PSAw77yM5oiW6YeO55Sf5qaC546HID49IDHvvIjlv4XlrprnlJ/plb/vvIkKaWYgKHBvbGxQYXNzICUgTWF0aFV0aWxzLk1heChudW0yLCAxKSA9PSAwIHx8ICEobnVtMyA8IDFmKSkgewogICAgaW50IGRhdGE0ID0gUnllQmxvY2suU2V0U2l6ZShkYXRhLCBNYXRoVXRpbHMuTWluKHNpemUgKyAxLCA3KSk7CiAgICAvLyDph47nlJ/mpoLnjofliKTlrprvvIjku4XlnKjnibnlrprpmLbmrrXvvIkKICAgIGlmIChtX3JhbmRvbS5GbG9hdCgwZiwgMWYpIDwgbnVtMyAmJiBzaXplID09IDMpIHsKICAgICAgICBkYXRhNCA9IFJ5ZUJsb2NrLlNldElzV2lsZChkYXRhNCwgdHJ1ZSk7CiAgICB9CiAgICAvLyDmiJDnhp/ml7bmtojogJfogqXlipsKICAgIGlmIChzaXplICsgMSA9PSA3KSB7CiAgICAgICAgU29pbEJsb2NrLlNldE5pdHJvZ2VuKGRhdGEzLCBNYXRoVXRpbHMuTWF4KG5pdHJvZ2VuIC0gMSwgMCkpOwogICAgfQp9CmBgYAoKKirljZfnk5znmoTnlJ/plb/mnaHku7bliIbmlK8qKu+8iOWFs+mUruW3ruW8gu+8ie+8mgoKYGBgY3NoYXJwCi8vIOWNl+eTnOS4jeWcqOiAleWcsOS4iuS5n+iDveeUn+mVv++8iOS4jeS8mueri+WIu+mAgOWMlu+8iQppbnQgbnVtNCA9IDQ7ICAgICAgICAvLyDln7rnoYDnlJ/plb/lkajmnJ8KZmxvYXQgbnVtNSA9IDAuMTVmOyAgLy8g5Z+656GA5q275Lqh5qaC546HCmlmIChudW0gPT0gMTY4KSAgICB7IG51bTQtLTsgbnVtNSAtPSAwLjA1ZjsgfSAgLy8g6ICV5Zyw77ya5ZGo5pyfLTHvvIzmrbvkuqEtMC4wNQppZiAobnVtMiA+IDApICAgICAgeyBudW00LS07IG51bTUgLT0gMC4wNWY7IH0gIC8vIOiCpeWKm++8muWRqOacny0x77yM5q275LqhLTAuMDUKaWYgKGZsYWcpICAgICAgICAgIHsgbnVtNC0tOyBudW01IC09IDAuMDVmOyB9ICAvLyDmub/mtqbvvJrlkajmnJ8tMe+8jOatu+S6oS0wLjA1CmlmIChudW0zIDw9IDgpICAgICB7IG51bTQgKz0gNTsgfSAgICAgICAgICAgICAgIC8vIOS9jua4qeaDqee9mu+8iOmYiOWAvDjvvIzmr5Tpu5HpuqYv5qOJ6Iqx55qENOabtOmrmO+8iQoKLy8g5q275Lqh5qaC546H5q+P5qyh55Sf6ZW/6YO95Yik5a6a77yI5LiN6ZmQ5LqO54m55a6a6Zi25q6177yJCmlmIChtX3JhbmRvbS5GbG9hdCgwZiwgMWYpIDwgbnVtNSkgewogICAgZGF0YTMgPSBCYXNlUHVtcGtpbkJsb2NrLlNldElzRGVhZChkYXRhMywgdHJ1ZSk7ICAvLyDnm7TmjqXmnq/mrbsKfQovLyDmiJDnhp/ml7bmtojogJcz54K56IKl5Yqb77yI6buR6bqmL+ajieiKseS7hTHngrnvvIkKaWYgKG51bSA9PSAxNjggJiYgc2l6ZSArIDEgPT0gNykgewogICAgU29pbEJsb2NrLlNldE5pdHJvZ2VuKGRhdGEyLCBNYXRoVXRpbHMuTWF4KG51bTIgLSAzLCAwKSk7Cn0KYGBgCgojIyMg5qih57uE5omp5bGV5bu66K6uCgotIOa3u+WKoOaWsOakjeeJqe+8muWIm+W7uuaWsOeahCBgTW9kUGxhbnRCbG9ja0JlaGF2aW9yYCDnu6fmib/nsbvvvIzotJ/otKPoh6rlt7HmqKHnu4TmpI3niannmoTnlJ/plb8KLSDmt7vliqDmlrDlnJ/lo6TnsbvlnovvvJrlj6rpnIDosIPmlbTor6XlnJ/lo6TmlrnlnZfnmoQgYElzU3VpdGFibGVGb3JQbGFudHNgIOWxnuaApwoKIyMjIOS9nOeJqeeUn+mVv+a1geeoiwoKYGBgCuenjeWtkOenjeWcqOWQiOmAguWcn+WjpOS4iiDihpIgT25Qb2xs6Kem5Y+RR3JvdyDihpIg5qOA5p+l5YWJ54Wn4omlOSDihpIgCuajgOafpeWcn+WjpOadoeS7tiDihpIg6K6h566X55Sf6ZW/5ZGo5pyf5ZKM6YCA5YyW5qaC546HIOKGkiAKcG9sbFBhc3MgJSDlkajmnJ8gPT0gMCDihpIg55Sf6ZW/KzHpmLbmrrUg4oaSIArpgIDljJbmpoLnjofliKTlrprvvIjph47nlJ8v5q275Lqh77yJIOKGkiDmiJDnhp/ml7bmtojogJfogqXlipvlgLwg4oaSIOWPr+aUtuiOtwpgYGAKCjwvZGV0YWlscz4=
