From f2382366c369077bd504f8f56eb18f05fb390365 Mon Sep 17 00:00:00 2001 From: VDH Date: Tue, 20 Jan 2026 18:00:18 +0700 Subject: [PATCH 01/20] convert skill combo --- .../Scripts/ModelFiles/CECComboSkillState.cs | 154 ++++- .../Scripts/ModelFiles/CECTaoistRank.cs | 7 +- .../Scripts/Network/CSNetwork/GPDataType.cs | 49 +- .../Scripts/Skills/EC_HostSkillModel.cs | 35 +- .../Scripts/Skills/ElementSkill.cs | 44 ++ Assets/PerfectWorld/Scripts/Skills/skill.cs | 20 +- Assets/Scenes/a61.unity | 4 +- Assets/Scripts/CECHostPlayer.cs | 86 ++- Assets/Scripts/EC_Utility.cs | 27 +- .../LiberationSans SDF - Fallback.asset | 654 +----------------- 10 files changed, 356 insertions(+), 724 deletions(-) diff --git a/Assets/PerfectWorld/Scripts/ModelFiles/CECComboSkillState.cs b/Assets/PerfectWorld/Scripts/ModelFiles/CECComboSkillState.cs index 849254b5eb..8dc883fb22 100644 --- a/Assets/PerfectWorld/Scripts/ModelFiles/CECComboSkillState.cs +++ b/Assets/PerfectWorld/Scripts/ModelFiles/CECComboSkillState.cs @@ -1,3 +1,6 @@ +using BrewMonster.Scripts.Skills; +using NUnit.Framework; +using System; using System.Collections.Generic; using UnityEngine; @@ -19,7 +22,19 @@ namespace BrewMonster set => instance = value; } - private Dictionary m_inherentSkillMap = new Dictionary(); + private readonly Dictionary m_inherentSkillMap = new Dictionary(); + private readonly List m_activeSkills = new(); + private readonly List m_skillStayTime = new(); + private readonly List m_skillTimeOut = new(); + List m_preSkillSet = new List(); // 所有是其它技能前提的技能 + + uint m_dwStartTime; // 技能激活开始时间 + + public ComboSkillState m_comboSkillState { get; private set; } + public DateTime? ComboStateStartTime { get; private set; } + public IReadOnlyList ActiveComboSkills => m_activeSkills; + public IReadOnlyList SkillStayTimes => m_skillStayTime; + public IReadOnlyList SkillTimeouts => m_skillTimeOut; public CECSkill GetInherentSkillByID(uint skillID) { @@ -32,5 +47,142 @@ namespace BrewMonster return null; } } + + public void SetComboSkillState(Dictionary skillDic, ref ComboSkillState state) + { + m_comboSkillState = state; + if (state.skillid != 0) + { + m_dwStartTime = (uint)Time.realtimeSinceStartup * 1000; + SetActiveComboSkills(skillDic); + /* CECComboSkillChange change(CECComboSkillChange::COMBOSKILL_ACTIVE); + NotifyObservers(&change);*/ + } + else + { + m_dwStartTime = 0; + m_activeSkills.Clear(); + m_skillStayTime.Clear(); + m_skillTimeOut.Clear(); + /*CECComboSkillChange change(CECComboSkillChange::COMBOSKILL_STOP); + NotifyObservers(&change);*/ + } + } + void SetActiveComboSkills(Dictionary dic) + { + Dictionary newList = new Dictionary(); + FilterComboSkills(dic, newList); + + m_activeSkills.Clear(); + m_skillStayTime.Clear(); + m_skillTimeOut.Clear(); + List juniorSkills = new List(); + int i; + foreach (var skill in newList) + { + int skillID = (int)skill.Key; + int skillTime = skill.Value; + m_activeSkills.Add((uint)skillID); + m_skillStayTime.Add((uint)skillTime); + m_skillTimeOut.Add(false); + if (m_inherentSkillMap.ContainsKey((uint)skillID)) + { + juniorSkills.Add((uint)GetFirstChildRecursively(skillID)); + } + else + { + juniorSkills.Add((uint)skillID); + } + + } + // 冒泡排序:有后续技能的放在前面;最原始的初级技能id小的放在前面 + int j; + for (i = m_activeSkills.Count - 1; i > 0; i--) + { + for (j = 0; j < i; j++) + { + bool bPreSkill1 = IsComboPreSkill(juniorSkills[j]); + bool bPreSkill2 = IsComboPreSkill(juniorSkills[j + 1]); + if ((!bPreSkill1 && bPreSkill2) || (bPreSkill1 == bPreSkill2 && juniorSkills[j] > juniorSkills[j + 1])) + { + EC_Utility.Swap(m_activeSkills, j, j + 1); + EC_Utility.Swap(m_skillStayTime, j, j + 1); + EC_Utility.Swap(juniorSkills, j, j + 1); + } + } + } + } + public bool IsComboPreSkill(uint skillID) + { + return m_preSkillSet.Contains(skillID); + } + int GetFirstChildRecursively(int iSkillID) + { + Dictionary vecJuniors = CECHostSkillModel.Instance.GetJunior(iSkillID); + if (vecJuniors.Count == 0) + { + return iSkillID; + } + else + { + foreach (var skill in vecJuniors) + { + int iComboPreSkill = ElementSkill.GetComboSkPreSkill(skill.Key); + if (iComboPreSkill != 0) + { + return GetFirstChildRecursively((int)skill.Key); + } + } + return iSkillID; + } + } + void FilterComboSkills(Dictionary inDic, Dictionary outDic) + { + outDic.Clear(); + CECTaoistRank pCurTaoistRank = CECTaoistRank.GetTaoistRank(CECGameRun.Instance.GetHostPlayer().GetBasicProps().iLevel2); + CECHostSkillModel hostSkillModel = CECHostSkillModel.Instance; + uint i; + foreach (var skill in inDic) + { + uint uiSkillID = skill.Key; + if (!m_inherentSkillMap.ContainsKey(uiSkillID)) + { + // 如果不是天生技能,则执行过滤 + enumEvilGod skillEvilGod = hostSkillModel.GetSkillEvilGod((int)uiSkillID); + enumSkillLearnedState skillLearnState = hostSkillModel.GetSkillLearnedState((int)uiSkillID); + // 如果该技能已被覆盖,则去掉 + if (enumSkillLearnedState.SKILL_OVERRIDDEN == skillLearnState) + { + continue; + } + // 如果是魔技能且人物修真为普通或仙,则去掉 + if (enumEvilGod.SKILL_EVIL == skillEvilGod) + { + if (pCurTaoistRank.IsBaseRank() || pCurTaoistRank.IsGodRank()) + { + continue; + } + } + // 如果是仙技能且人物修真为普通或魔,则去掉 + if (enumEvilGod.SKILL_GOD == skillEvilGod) + { + if (pCurTaoistRank.IsBaseRank() || pCurTaoistRank.IsEvilRank()) + { + continue; + } + } + // 如果是仙魔技能且未学习,则去掉 + if (enumEvilGod.SKILL_GOD == skillEvilGod || skillEvilGod == enumEvilGod.SKILL_EVIL) + { + if (enumSkillLearnedState.SKILL_NOT_LEARNED == skillLearnState) + { + continue; + } + } + } + outDic[skill.Key] = skill.Value; + } + + } } } \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/ModelFiles/CECTaoistRank.cs b/Assets/PerfectWorld/Scripts/ModelFiles/CECTaoistRank.cs index b26e6487e4..0ecaca5d44 100644 --- a/Assets/PerfectWorld/Scripts/ModelFiles/CECTaoistRank.cs +++ b/Assets/PerfectWorld/Scripts/ModelFiles/CECTaoistRank.cs @@ -20,7 +20,7 @@ namespace BrewMonster BMLogger.Log("CECTaoistRank OnPlay Reset"); initComplete = false; CECTaoistRank[] s_allTaoistRanks = new CECTaoistRank[(int)ToaistRank.TotalRankCount]; - } + } #endif public int GetID() { @@ -75,7 +75,10 @@ namespace BrewMonster init(); return s_allTaoistRanks[(int)ToaistRank.BaseRankCount + (int)ToaistRank.GodRankCount - 1]; } - + public bool IsBaseRank() + { + return !IsGodRank() && !IsEvilRank(); + } public bool IsEvilRank() { CECTaoistRank EvilRank; diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs index 61b616ef62..b1e804cfd3 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs @@ -1235,6 +1235,14 @@ namespace CSNetwork.GPDataType public uint content_length; public byte[] content; }; + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_combo_skill_prepare + { + public int skill_id; + public int timestamp; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] + public int[] args; + }; [StructLayout(LayoutKind.Sequential, Pack = 1)] struct cmd_host_start_attack @@ -1608,7 +1616,7 @@ namespace CSNetwork.GPDataType { return (id & 0x80000000) != 0 && (id & 0x40000000) == 0; } - public static string ReplacePercentD(string fmt, params object[] args) + public static string ReplacePercentD(string fmt, params object[] args) { if (string.IsNullOrEmpty(fmt) || args == null || args.Length == 0) return fmt; @@ -2175,25 +2183,26 @@ namespace CSNetwork.GPDataType public byte is_active; }; public struct cmd_reincarnation_tome_info - { - public int tome_exp; - public char tome_active; // 1锟斤拷锟斤拷0未锟斤拷锟斤拷 - public int count; - public struct _entry - { - public int level; - public int timestamp; - public int exp; - }; + { + public int tome_exp; + public char tome_active; // 1锟斤拷锟斤拷0未锟斤拷锟斤拷 + public int count; + public struct _entry + { + public int level; + public int timestamp; + public int exp; + }; public _entry[] records; - public bool CheckValid(int buf_size, out int sz) - { sz = 0; - if (count < 0) - return false; - sz = Marshal.SizeOf() - Marshal.SizeOf<_entry[]>(); - sz += count * Marshal.SizeOf<_entry>(); - return buf_size >= sz; - } - }; + public bool CheckValid(int buf_size, out int sz) + { + sz = 0; + if (count < 0) + return false; + sz = Marshal.SizeOf() - Marshal.SizeOf<_entry[]>(); + sz += count * Marshal.SizeOf<_entry>(); + return buf_size >= sz; + } + }; } diff --git a/Assets/PerfectWorld/Scripts/Skills/EC_HostSkillModel.cs b/Assets/PerfectWorld/Scripts/Skills/EC_HostSkillModel.cs index abbbe8f79d..95c862f2a4 100644 --- a/Assets/PerfectWorld/Scripts/Skills/EC_HostSkillModel.cs +++ b/Assets/PerfectWorld/Scripts/Skills/EC_HostSkillModel.cs @@ -44,13 +44,13 @@ namespace BrewMonster.Scripts.Skills { BMLogger.LogError("CECHostSkillModel BeforeSceneLoad Reset"); Instance = null; - } + } #endif public IReadOnlyDictionary> GetAllRankProfSkills() { return m_allRankProfSkills; } - public CECHostSkillModel() + public CECHostSkillModel() { m_skillLearnNPCNID = 0; m_bReceivedNPCGreeting = false; @@ -84,6 +84,24 @@ namespace BrewMonster.Scripts.Skills //BMLogger.LogError($"[Skill] Sent SEVNPC_HELLO to skill-learn NPC nid={m_skillLearnNPCNID}"); } } + public enumEvilGod GetSkillEvilGod(int skillID) + { + CECSkill skill = new CECSkill(skillID, 1); + int rank = skill.GetRank(); + CECTaoistRank taoistRank = CECTaoistRank.GetTaoistRank(rank); + if (taoistRank.IsGodRank()) + { + return enumEvilGod.SKILL_GOD; + } + else if (taoistRank.IsEvilRank()) + { + return enumEvilGod.SKILL_EVIL; + } + else + { + return enumEvilGod.SKILL_BASE; + } + } public enumSkillLearnedState GetSkillLearnedState(int skillID) { CECSkill pSkill = CECGameRun.Instance.GetHostPlayer().GetNormalSkill(skillID); @@ -372,9 +390,9 @@ namespace BrewMonster.Scripts.Skills var juniors = GetJunior(rootSkillID); int maxHeight = 0; - for (int i = 0; i < juniors.Count; i++) + foreach(var skill in juniors) { - int subHeight = GetSkillTreeHeight((int)juniors[i].id); + int subHeight = GetSkillTreeHeight((int)skill.Key); if (subHeight > maxHeight) { maxHeight = subHeight; @@ -383,7 +401,7 @@ namespace BrewMonster.Scripts.Skills return 1 + maxHeight; } - private List<(uint id, int level)> GetJunior(int skillID) + public Dictionary GetJunior(int skillID) { if (!m_allProfSkills.TryGetValue(skillID, out var skill)) { @@ -391,14 +409,13 @@ namespace BrewMonster.Scripts.Skills } var juniors = skill.GetJunior(); - var ret = new List<(uint id, int level)>(); + var ret = new Dictionary(); foreach (var (id, level) in juniors) { if (id != 0) - ret.Add((id, level)); + ret[id] = level; } - return ret; } private HashSet GetRootSkillSet() @@ -436,7 +453,7 @@ namespace BrewMonster.Scripts.Skills { ElementSkill pSkill = ElementSkill.Create(skillService.id_skills[i], 1); - if (pSkill == null) + if (pSkill == null) { //BMLogger.LogError($"Hoang Dev pSkill is null for skill {i} :" + skillService.id_skills[i]); continue; diff --git a/Assets/PerfectWorld/Scripts/Skills/ElementSkill.cs b/Assets/PerfectWorld/Scripts/Skills/ElementSkill.cs index 7e12b663f2..93f6bd0759 100644 --- a/Assets/PerfectWorld/Scripts/Skills/ElementSkill.cs +++ b/Assets/PerfectWorld/Scripts/Skills/ElementSkill.cs @@ -326,6 +326,41 @@ namespace BrewMonster.Scripts.Skills return s.IsMovingSkill(); return false; } + + public static Dictionary GetComboSkActivated(ComboSkillState comboState) + { + var result = new Dictionary(); + if (comboState.skillid == 0) + return result; + + if (SkillStub.GetComboSkMap().TryGetValue(comboState.skillid, out List postSkills) && postSkills != null) + { + foreach (uint skillId in postSkills) + { + Skill skill = Skill.Create(skillId, 1); + if (skill == null) + continue; + + ref ComboArg comboArg = ref skill.GetPlayer().GetComboarg(); + for (int i = 0; i < ComboArg.MAX_COMBO_ARG; i++) + { + int argValue = 0; + if (comboState.arg != null && i < comboState.arg.Length) + { + argValue = comboState.arg[i]; + } + comboArg.SetValue((uint)i, argValue); + } + + if (skill.CheckComboSkExtraCondition()) + { + result[skill.GetId()] = skill.GetComboSkInterval(); + } + } + } + + return result; + } // 锟斤拷锟斤拷锟杰凤拷锟节碉拷前锟斤拷锟斤拷状态锟斤拷使锟斤拷 // Whether skill can be used in current form state public bool IsValidForm(byte form) { @@ -425,5 +460,14 @@ namespace BrewMonster.Scripts.Skills return ret; } + public static int GetComboSkPreSkill(uint id) + { + SkillStub s = SkillStub.GetStub(id); + if (s != null) + { + return s.combosk_preskill; + } + return 0; + } } } \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/skill.cs b/Assets/PerfectWorld/Scripts/Skills/skill.cs index 0401f100f2..cfab50c224 100644 --- a/Assets/PerfectWorld/Scripts/Skills/skill.cs +++ b/Assets/PerfectWorld/Scripts/Skills/skill.cs @@ -97,6 +97,7 @@ namespace BrewMonster.Scripts.Skills return stub.GetIcon(); } public int GetAbility() { return SkillWrapper.Instance.GetAbility(id); } + public bool CheckComboSkExtraCondition() { return stub.CheckComboSkExtraCondition(this); } public override string GetName() { return stub.GetName(); } public override float GetPrayRange(float range, float prayplus) @@ -131,6 +132,7 @@ namespace BrewMonster.Scripts.Skills public int GetRequiredRealmLevel() { return stub.GetRequiredRealmLevel(this); } public int GetMaxability() { return stub.GetMaxAbility(this); } public uint GetId() { return id; } + public int GetComboSkInterval() { return stub.combosk_interval; } } @@ -232,7 +234,12 @@ namespace BrewMonster.Scripts.Skills } public static List GetInherentSkillList(uint cls) { - return inheritSkillMap[cls]; + if (!inheritSkillMap.TryGetValue(cls, out List list)) + { + list = new List(); + inheritSkillMap[cls] = list; + } + return list; } public static SkillStub GetStub(uint i) @@ -243,11 +250,20 @@ namespace BrewMonster.Scripts.Skills public static void InitStaticData() { var map = GetMap(); + var comboMap = GetComboSkMap(); foreach (var skill in map) { SkillStub sk = skill.Value; if (sk.is_inherent) GetInherentSkillList((uint)sk.cls).Add(sk.id); - if (sk.combosk_preskill > 0) GetComboSkMap()[(uint)sk.combosk_preskill].Add(sk.id); + if (sk.combosk_preskill > 0) + { + if (!comboMap.TryGetValue((uint)sk.combosk_preskill, out List comboList)) + { + comboList = new List(); + comboMap[(uint)sk.combosk_preskill] = comboList; + } + comboList.Add(sk.id); + } } } diff --git a/Assets/Scenes/a61.unity b/Assets/Scenes/a61.unity index 778349386d..7bb1e01947 100644 --- a/Assets/Scenes/a61.unity +++ b/Assets/Scenes/a61.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b11c373eb2b380fb668b7b6033a675da6c2248d4acca18072418c65c712d12d7 -size 200540506 +oid sha256:60ce6573feacc8eaf7916a3f9cfb65a0d2cc5fe4cccebf70fb17ca1645de5c46 +size 200522636 diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index 43c0caaaaa..d22be2afa2 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -175,7 +175,7 @@ namespace BrewMonster private readonly EC_Inventory m_pEquipPack = new EC_Inventory(); private readonly EC_Inventory m_pTaskPack = new EC_Inventory(); - public EC_Inventory IvtrPack => m_pPack; + public EC_Inventory IvtrPack => m_pPack; public EC_Inventory IvtrEquipPack => m_pEquipPack; public EC_Inventory IvtrTaskPack => m_pTaskPack; @@ -204,7 +204,7 @@ namespace BrewMonster { return m_pTaskPack; } - + public EC_Inventory GetEquipment() { return m_pEquipPack; @@ -383,7 +383,7 @@ namespace BrewMonster } // Always set the pointCam's world rotation value to Vector3.zero // because rotating the character with the camera will cause a lagging effect. - if(pointCam != null) + if (pointCam != null) { pointCam.rotation = Quaternion.identity; } @@ -582,7 +582,7 @@ namespace BrewMonster case int value when value == EC_MsgDef.MSG_HST_SETCOOLTIME: OnMsgHstSetCoolTime(Msg); break; case int value when value == EC_MsgDef.MSG_HST_PRESSCANCEL: OnMsgHstPressCancel(Msg); break; case int value when value == EC_MsgDef.MSG_HST_LEARNSKILL: OnMsgHstLearnSkill(Msg); break; - + case int value when value == EC_MsgDef.MSG_HST_COMBO_SKILL_PREPARE: OnMsgComboSkillPrepare(Msg); break; case int value when value == EC_MsgDef.MSG_PM_PLAYERFLY: OnMsgPlayerFly(Msg); break; } @@ -607,6 +607,26 @@ namespace BrewMonster }*/ } + private void OnMsgComboSkillPrepare(ECMSG Msg) + { + cmd_combo_skill_prepare cmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + uint skillID = (uint)cmd.skill_id; + + ComboSkillState comboSkillState = new() + { + skillid = skillID, + arg = new int[ComboSkillState.MAX_COMBO_ARG] + }; + comboSkillState.arg = cmd.args; + /* if (cmd.args != null) + { + Array.Copy(cmd.args, comboSkillState.arg, Math.Min(cmd.args.Length, ComboSkillState.MAX_COMBO_ARG)); + }*/ + + Dictionary comboSkillList = ElementSkill.GetComboSkActivated(comboSkillState); + CECComboSkillState.Instance.SetComboSkillState(comboSkillList,ref comboSkillState); + } + private void OnMsgHstLearnSkill(ECMSG Msg) { BMLogger.LogError("OnMsgHstLearnSkill"); @@ -1387,10 +1407,10 @@ namespace BrewMonster // Restore and convert shortcuts after loading new skills if (HostIsReady()) { - /* ConvertSkillShortcut(skillSCConfigArray1); - AssignSkillShortcut(skillSCConfigArray1, hostPlayer.m_aSCSets1);*/ - /* ConvertSkillShortcut(skillSCConfigArray2); - AssignSkillShortcut(skillSCConfigArray2, hostPlayer.m_aSCSets2);*/ + /* ConvertSkillShortcut(skillSCConfigArray1); + AssignSkillShortcut(skillSCConfigArray1, hostPlayer.m_aSCSets1);*/ + /* ConvertSkillShortcut(skillSCConfigArray2); + AssignSkillShortcut(skillSCConfigArray2, hostPlayer.m_aSCSets2);*/ /* ConvertComboSkill(); ValidateSkillGrpShortcut(skillGrpSCConfigArray1); AssignSkillGrpShortcut(skillGrpSCConfigArray1, hostPlayer.m_aSCSets1); @@ -1951,7 +1971,7 @@ namespace BrewMonster uint slot_amount = BitConverter.ToUInt32(data, 12); byte where = data[16]; // Package index byte index = data[17]; // Slot index in that package - var newItem = EC_IvtrItem.CreateItem(type, expire_date, (int)amount); + var newItem = EC_IvtrItem.CreateItem(type, expire_date, (int)amount); // Add item to inventory var ivt = GetInventory(where); @@ -6250,7 +6270,7 @@ namespace BrewMonster } } } - + public CECCounter GetGatherCnt() { return m_GatherCnt; } public void UpdateTimers(float dwDeltaTime) @@ -6787,10 +6807,10 @@ namespace BrewMonster public int GetEquippedSuiteItem(int idSuite, ref int[] aItems) { int i, iItemCnt = 0; - for(i = 0; i < m_pEquipPack.GetSize(); i++) + for (i = 0; i < m_pEquipPack.GetSize(); i++) { var pItem = m_pEquipPack.GetItem(i); - if(pItem == null || (pItem is not EC_IvtrWeapon && pItem is not EC_IvtrArmor)) + if (pItem == null || (pItem is not EC_IvtrWeapon && pItem is not EC_IvtrArmor)) { continue; } @@ -6799,20 +6819,20 @@ namespace BrewMonster { continue; } - if(pEquip.GetSuiteID() != idSuite) - { - continue; - } - int iReason = 0; - if(!CanUseEquipment(pEquip, ref iReason)) + if (pEquip.GetSuiteID() != idSuite) { continue; } - if(pEquip.CID == (int)EC_IvtrEquip.EQUIP_CLASS_ID.ICID_GENERALCARD) + int iReason = 0; + if (!CanUseEquipment(pEquip, ref iReason)) + { + continue; + } + if (pEquip.CID == (int)EC_IvtrEquip.EQUIP_CLASS_ID.ICID_GENERALCARD) { //TODO: Add general card Suite } - if(aItems.Length > 0) + if (aItems.Length > 0) { aItems[iItemCnt] = pEquip.GetTemplateID(); } @@ -6823,28 +6843,28 @@ namespace BrewMonster bool CanUseEquipment(EC_IvtrEquip pEquip, ref int piReason) { int iReason = 0; - if(pEquip == null) + if (pEquip == null) { iReason = 1; goto End; } - if(GetMaxLevelSofar() < pEquip.LevelReq|| - m_ExtProps.bs.strength < pEquip.StrengthReq|| - m_ExtProps.bs.agility < pEquip.AgilityReq|| - m_ExtProps.bs.vitality < pEquip.VitalityReq|| + if (GetMaxLevelSofar() < pEquip.LevelReq || + m_ExtProps.bs.strength < pEquip.StrengthReq || + m_ExtProps.bs.agility < pEquip.AgilityReq || + m_ExtProps.bs.vitality < pEquip.VitalityReq || m_ExtProps.bs.energy < pEquip.EnergyReq/*|| Reputation < pEquip.ReputationReq*/)//todo Add reputation check { iReason = 2; goto End; } - switch(pEquip.CID)//class id + switch (pEquip.CID)//class id { case (int)EC_IvtrEquip.EQUIP_CLASS_ID.ICID_ARROW: break; case (int)EC_IvtrEquip.EQUIP_CLASS_ID.ICID_WING: if (m_iProfession != (int)PROFESSION.PROF_ARCHOR && m_iProfession != (int)PROFESSION.PROF_ANGEL) - iReason = 3; + iReason = 3; break; case (int)EC_IvtrEquip.EQUIP_CLASS_ID.ICID_FLYSWORD: //TODO: Add flysword check @@ -6855,15 +6875,15 @@ namespace BrewMonster case (int)EC_IvtrEquip.EQUIP_CLASS_ID.ICID_ARMOR: case (int)EC_IvtrEquip.EQUIP_CLASS_ID.ICID_DECORATION: if ((pEquip.ProfReq & (1 << m_iProfession)) == 0) - iReason = 3; + iReason = 3; break; case (int)EC_IvtrEquip.EQUIP_CLASS_ID.ICID_WEAPON: if ((pEquip.ProfReq & (1 << m_iProfession)) == 0) - iReason = 3; + iReason = 3; else { //TODO: check range weapon arrow - } + } break; case (int)EC_IvtrEquip.EQUIP_CLASS_ID.ICID_GENERALCARD: // TODO: Add general card check @@ -6872,12 +6892,12 @@ namespace BrewMonster break; } - End: - if(piReason > 0) + End: + if (piReason > 0) { piReason = iReason; } - return iReason == 0? true : false; + return iReason == 0 ? true : false; } } } diff --git a/Assets/Scripts/EC_Utility.cs b/Assets/Scripts/EC_Utility.cs index 19d370eb96..652a661e93 100644 --- a/Assets/Scripts/EC_Utility.cs +++ b/Assets/Scripts/EC_Utility.cs @@ -3,6 +3,7 @@ using BrewMonster.Network; using CSNetwork.GPDataType; using System; using System.Collections; +using System.Collections.Generic; using System.IO; using System.IO.Compression; using System.Runtime.InteropServices; @@ -84,6 +85,12 @@ public static class EC_Utility { return new System.Numerics.Vector3(v.x, v.y, v.z); } + public static void Swap(List arr, int a, int b) + { + T tmp = arr[a]; + arr[a] = arr[b]; + arr[b] = tmp; + } public static A3DVECTOR3 ToA3DVECTOR3(this UnityEngine.Vector3 v) { a3DVECTOR.Clear(); @@ -148,20 +155,20 @@ public static class EC_Utility byte byMask = 0; CECConfigs pConfigs = EC_Game.GetConfigs(); - /* if (pConfigs->GetGameSettings().bBls_NoRed) - byMask |= GP_BLSMASK_NORED; + /* if (pConfigs->GetGameSettings().bBls_NoRed) + byMask |= GP_BLSMASK_NORED; - if (pConfigs->GetGameSettings().bBls_NoMafia) - byMask |= GP_BLSMASK_NOMAFIA; + if (pConfigs->GetGameSettings().bBls_NoMafia) + byMask |= GP_BLSMASK_NOMAFIA; - if (pConfigs->GetGameSettings().bBls_Self) - byMask |= GP_BLSMASK_SELF; + if (pConfigs->GetGameSettings().bBls_Self) + byMask |= GP_BLSMASK_SELF; - if (pConfigs->GetGameSettings().bBls_NoAlliance) - byMask |= GP_BLSMASK_NOALLIANCE; + if (pConfigs->GetGameSettings().bBls_NoAlliance) + byMask |= GP_BLSMASK_NOALLIANCE; - if (pConfigs->GetGameSettings().bBls_NoForce) - byMask |= GP_BLSMASK_NOFORCE;*/ + if (pConfigs->GetGameSettings().bBls_NoForce) + byMask |= GP_BLSMASK_NOFORCE;*/ return byMask; } diff --git a/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset b/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset index 2c91cfc7aa..0af81e6d95 100644 --- a/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset +++ b/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset @@ -215,464 +215,8 @@ MonoBehaviour: m_SourceFontFilePath: m_AtlasPopulationMode: 1 InternalDynamicOS: 0 - m_GlyphTable: - - m_Index: 1677 - m_Metrics: - m_Width: 45 - m_Height: 66 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 65 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 10 - m_Y: 10 - m_Width: 45 - m_Height: 66 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 235 - m_Metrics: - m_Width: 32 - m_Height: 61 - m_HorizontalBearingX: -4 - m_HorizontalBearingY: 61 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 10 - m_Y: 95 - m_Width: 32 - m_Height: 61 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 197 - m_Metrics: - m_Width: 45 - m_Height: 64 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 63 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 10 - m_Y: 175 - m_Width: 45 - m_Height: 64 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 299 - m_Metrics: - m_Width: 38 - m_Height: 62 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 61 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 10 - m_Y: 258 - m_Width: 38 - m_Height: 62 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1731 - m_Metrics: - m_Width: 42 - m_Height: 75 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 10 - m_Y: 339 - m_Width: 42 - m_Height: 75 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 210 - m_Metrics: - m_Width: 58 - m_Height: 59 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 62 - m_GlyphRect: - m_X: 61 - m_Y: 95 - m_Width: 58 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1675 - m_Metrics: - m_Width: 45 - m_Height: 59 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 67 - m_Y: 258 - m_Width: 45 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 370 - m_Metrics: - m_Width: 50 - m_Height: 46 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 45 - m_HorizontalAdvance: 58 - m_GlyphRect: - m_X: 74 - m_Y: 10 - m_Width: 50 - m_Height: 46 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1709 - m_Metrics: - m_Width: 42 - m_Height: 70 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 69 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 71 - m_Y: 336 - m_Width: 42 - m_Height: 70 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1743 - m_Metrics: - m_Width: 38 - m_Height: 58 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 45 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 74 - m_Y: 173 - m_Width: 38 - m_Height: 58 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1717 - m_Metrics: - m_Width: 9 - m_Height: 75 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 19 - m_GlyphRect: - m_X: 71 - m_Y: 425 - m_Width: 9 - m_Height: 75 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1681 - m_Metrics: - m_Width: 46 - m_Height: 67 - m_HorizontalBearingX: 2 - m_HorizontalBearingY: 66 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 99 - m_Y: 425 - m_Width: 46 - m_Height: 67 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1747 - m_Metrics: - m_Width: 50 - m_Height: 64 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 63 - m_HorizontalAdvance: 58 - m_GlyphRect: - m_X: 131 - m_Y: 173 - m_Width: 50 - m_Height: 64 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1741 - m_Metrics: - m_Width: 51 - m_Height: 59 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 56 - m_GlyphRect: - m_X: 131 - m_Y: 256 - m_Width: 51 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 355 - m_Metrics: - m_Width: 51 - m_Height: 47 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 56 - m_GlyphRect: - m_X: 132 - m_Y: 334 - m_Width: 51 - m_Height: 47 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1719 - m_Metrics: - m_Width: 42 - m_Height: 59 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 10 - m_Y: 433 - m_Width: 42 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1705 - m_Metrics: - m_Width: 44 - m_Height: 67 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 66 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 138 - m_Y: 75 - m_Width: 44 - m_Height: 67 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1735 - m_Metrics: - m_Width: 51 - m_Height: 64 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 63 - m_HorizontalAdvance: 56 - m_GlyphRect: - m_X: 200 - m_Y: 161 - m_Width: 51 - m_Height: 64 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1713 - m_Metrics: - m_Width: 42 - m_Height: 75 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 164 - m_Y: 400 - m_Width: 42 - m_Height: 75 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1725 - m_Metrics: - m_Width: 44 - m_Height: 67 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 66 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 201 - m_Y: 244 - m_Width: 44 - m_Height: 67 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1745 - m_Metrics: - m_Width: 38 - m_Height: 66 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 65 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 201 - m_Y: 10 - m_Width: 38 - m_Height: 66 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1707 - m_Metrics: - m_Width: 43 - m_Height: 67 - m_HorizontalBearingX: 2 - m_HorizontalBearingY: 66 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 258 - m_Y: 10 - m_Width: 43 - m_Height: 67 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1763 - m_Metrics: - m_Width: 43 - m_Height: 79 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 61 - m_HorizontalAdvance: 43 - m_GlyphRect: - m_X: 225 - m_Y: 330 - m_Width: 43 - m_Height: 79 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1679 - m_Metrics: - m_Width: 45 - m_Height: 67 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 66 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 264 - m_Y: 244 - m_Width: 45 - m_Height: 67 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - m_CharacterTable: - - m_ElementType: 1 - m_Unicode: 7843 - m_GlyphIndex: 1677 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 297 - m_GlyphIndex: 235 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 259 - m_GlyphIndex: 197 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 361 - m_GlyphIndex: 299 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7897 - m_GlyphIndex: 1731 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 272 - m_GlyphIndex: 210 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7841 - m_GlyphIndex: 1675 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 432 - m_GlyphIndex: 370 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7875 - m_GlyphIndex: 1709 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7909 - m_GlyphIndex: 1743 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7883 - m_GlyphIndex: 1717 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7847 - m_GlyphIndex: 1681 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7913 - m_GlyphIndex: 1747 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7907 - m_GlyphIndex: 1741 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 417 - m_GlyphIndex: 355 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7885 - m_GlyphIndex: 1719 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7871 - m_GlyphIndex: 1705 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7901 - m_GlyphIndex: 1735 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7879 - m_GlyphIndex: 1713 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7891 - m_GlyphIndex: 1725 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7911 - m_GlyphIndex: 1745 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7873 - m_GlyphIndex: 1707 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7929 - m_GlyphIndex: 1763 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7845 - m_GlyphIndex: 1679 - m_Scale: 1 + m_GlyphTable: [] + m_CharacterTable: [] m_AtlasTextures: - {fileID: 28268798066460806} m_AtlasTextureIndex: 0 @@ -683,192 +227,12 @@ MonoBehaviour: m_AtlasHeight: 512 m_AtlasPadding: 9 m_AtlasRenderMode: 4169 - m_UsedGlyphRects: - - m_X: 0 - m_Y: 0 - m_Width: 64 - m_Height: 85 - - m_X: 0 - m_Y: 85 - m_Width: 51 - m_Height: 80 - - m_X: 0 - m_Y: 165 - m_Width: 64 - m_Height: 83 - - m_X: 0 - m_Y: 248 - m_Width: 57 - m_Height: 81 - - m_X: 0 - m_Y: 329 - m_Width: 61 - m_Height: 94 - - m_X: 51 - m_Y: 85 - m_Width: 77 - m_Height: 78 - - m_X: 57 - m_Y: 248 - m_Width: 64 - m_Height: 78 - - m_X: 64 - m_Y: 0 - m_Width: 69 - m_Height: 65 - - m_X: 61 - m_Y: 326 - m_Width: 61 - m_Height: 89 - - m_X: 64 - m_Y: 163 - m_Width: 57 - m_Height: 77 - - m_X: 61 - m_Y: 415 - m_Width: 28 - m_Height: 94 - - m_X: 89 - m_Y: 415 - m_Width: 65 - m_Height: 86 - - m_X: 121 - m_Y: 163 - m_Width: 69 - m_Height: 83 - - m_X: 121 - m_Y: 246 - m_Width: 70 - m_Height: 78 - - m_X: 122 - m_Y: 324 - m_Width: 70 - m_Height: 66 - - m_X: 0 - m_Y: 423 - m_Width: 61 - m_Height: 78 - - m_X: 128 - m_Y: 65 - m_Width: 63 - m_Height: 86 - - m_X: 190 - m_Y: 151 - m_Width: 70 - m_Height: 83 - - m_X: 154 - m_Y: 390 - m_Width: 61 - m_Height: 94 - - m_X: 191 - m_Y: 234 - m_Width: 63 - m_Height: 86 - - m_X: 191 - m_Y: 0 - m_Width: 57 - m_Height: 85 - - m_X: 248 - m_Y: 0 - m_Width: 62 - m_Height: 86 - - m_X: 215 - m_Y: 320 - m_Width: 62 - m_Height: 98 - - m_X: 254 - m_Y: 234 - m_Width: 64 - m_Height: 86 + m_UsedGlyphRects: [] m_FreeGlyphRects: - - m_X: 57 - m_Y: 326 - m_Width: 4 - m_Height: 3 - - m_X: 51 - m_Y: 163 - m_Width: 13 - m_Height: 2 - m_X: 0 - m_Y: 509 + m_Y: 0 m_Width: 511 - m_Height: 2 - - m_X: 89 - m_Y: 501 - m_Width: 422 - m_Height: 10 - - m_X: 64 - m_Y: 240 - m_Width: 57 - m_Height: 8 - - m_X: 121 - m_Y: 324 - m_Width: 1 - m_Height: 2 - - m_X: 0 - m_Y: 501 - m_Width: 61 - m_Height: 10 - - m_X: 64 - m_Y: 65 - m_Width: 64 - m_Height: 20 - - m_X: 128 - m_Y: 151 - m_Width: 62 - m_Height: 12 - - m_X: 154 - m_Y: 484 - m_Width: 357 - m_Height: 27 - - m_X: 122 - m_Y: 390 - m_Width: 32 - m_Height: 25 - - m_X: 190 - m_Y: 234 - m_Width: 1 - m_Height: 12 - - m_X: 133 - m_Y: 0 - m_Width: 58 - m_Height: 65 - - m_X: 191 - m_Y: 86 - m_Width: 320 - m_Height: 65 - - m_X: 191 - m_Y: 85 - m_Width: 57 - m_Height: 66 - - m_X: 191 - m_Y: 320 - m_Width: 24 - m_Height: 4 - - m_X: 192 - m_Y: 320 - m_Width: 23 - m_Height: 70 - - m_X: 215 - m_Y: 418 - m_Width: 296 - m_Height: 93 - - m_X: 310 - m_Y: 0 - m_Width: 201 - m_Height: 234 - - m_X: 318 - m_Y: 0 - m_Width: 193 m_Height: 511 - - m_X: 260 - m_Y: 86 - m_Width: 251 - m_Height: 148 - - m_X: 277 - m_Y: 320 - m_Width: 234 - m_Height: 191 m_FontFeatureTable: m_MultipleSubstitutionRecords: [] m_LigatureSubstitutionRecords: [] @@ -1129,9 +493,9 @@ Texture2D: Hash: 00000000000000000000000000000000 m_IsAlphaChannelOptional: 0 serializedVersion: 3 - m_Width: 512 - m_Height: 512 - m_CompleteImageSize: 262144 + m_Width: 1 + m_Height: 1 + m_CompleteImageSize: 1 m_MipsStripped: 0 m_TextureFormat: 1 m_MipCount: 1 @@ -1156,8 +520,8 @@ Texture2D: m_LightmapFormat: 0 m_ColorSpace: 0 m_PlatformBlob: - image data: 262144 - _typelessdata: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111212131212100e0c0808060200000000000000010406070c101213131211100e0b0a0804000000000000000000000000000000000000000000010507070a0d101112131312110f0d09060503000000000000060606060606060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070a0d101112131312110f0d0a070603000000000000060606060606060000000000000000000000000000000000000000000000000000000000000000030608090c0e10111213131212110f0d0b0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191514120e090400000001080d111314191c1f1f201f1e1d1a171714110c05000000000000000000000000000000000002080d111314171a1d1e1f20201f1e1c1a1613120f0b06000407071313131313131307070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314171a1d1e1f20201f1e1c1a161312100c060005070713131313131313070704010000000000000000000000000000000000000000000000000002050a0f121515181b1d1e1f20201f1f1e1c1a181514120e09050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e212225282a2b2c2c2c2b2a282522211e1a15100c07040c13191d202126292b2c2c2c2b29272423211c171008000000000000000000000000000003090e13191d20212427292b2b2c2c2c2b292623201f1b17110d111314202020202020201413110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13191d20212427292b2b2c2c2c2b292723201f1c17110d111314202020202020201413110d080200000000000000000000000000000000000000000003090e12151b1f21222528292b2c2c2c2c2b2b29272521201e1a14110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c161b1f262a2d2e31353738393939383735322f2e2b261f1c18120d161e24292c2d32363839393838363431302d28221a1208000000000000000000000000060b151a1e24292d2e3134363738393938373533302d2b27221b191d202d2d2d2d2d2d2d2d21201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b151a1e25292d2e3134363738393938383633302d2c28231c191d20212d2d2d2d2d2d2d21201d19130c0400000000000000000000000000000000000002080d141a1e20262b2e2f323436383939393938373633312e2d2a25201d19130d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c31363a3b3e4144454546454543413f3b3a37312c29231d1a1f282f35393a3f43454646454443413e3c39332c241a1005000000000000000000020a111720262b3035393a3d404344454646454442403c3937332d2924292c3939393939393939392d29241e160e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a111720262b3035393a3d404344454646454442403d3a38342e2a25292d3939393939393939392c29241e160e0400000000000000000000000000000000050d13191f252a2d31373a3c3f41434445464645454442403e3b3a36302d29251e19130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151d232832383b4246484b4e505152535252504e4c4847423c38342f27232c313a4145474c4f5252535251504d4a49453e362c22170c0000000000000000030b141b222731373a4146474a4d505152535352514f4d4946443f38352f35394646464646464646463935302820160c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b141b222731373a4146474a4d505152535352514f4d4946443f38363035394646464646464646463935302820160c020000000000000000000000000000060e171e252a30363a3c4347484b4e50515253535252514f4d4b4846423b39353029241e160e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e5d5b5855534d474540393128353e434c5154595c5e5f5f5f5e5c5a575550483e33281c1104000000000000030c151d262d333c42474c5254575a5c5e5e5f5f5f5e5c595653504945403a414553535353535353535346413a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d151d262d333c42474c5254575a5c5e5e5f5f5f5e5c5a5653504a46413a414653535353535353535345413a32281e1308000000000000000000000000020a1117202930363b4246484e5355585b5c5e5f5f5f5f5e5e5c5a5854524d4746413a35302820191109010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d2114080000000000000b151e272f383f444d53565d616467696a6b6c6c6b6a686663605b53514b444c525f606060606060605f524c443a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f272f383f444e53565e616467696a6b6c6c6b6b696663605c54524c444c525f606060606060605f524c443a3024190d0100000000000000000000020b141b2227323a41464d5254585f626567696b6c6c6c6c6b6a696664615e5754524c46413a322b231b1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a000000000007121d273039414950575f62686d70737677787979787775736f6c65605d554f565d6c6c6c6c6c6c6c6c6c5d564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273139414950575f62686d7073767778797978777573706d66615e5650565d6c6c6c6c6c6c6c6c6c5d564c4135291d1104000000000000000000020b141d262d333e444c52575e61666a6f727476777879797878777573716e6966615e56524c443d352d251b1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b00000000000c18232e39424b535b60696e747a7d808384858686858482807c78726d6760595d68767979797979797976685d5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f39434b535b606a6e747a7d808384858686858482807c79736d68615a5d68767979797979797976685d5245392c2013070000000000000000000a141d262f383f4450565e61696e73777b7e81838485868685858482807e7b77736d68615d564f473f372d251b110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e110000000004101c2834404b545c656c737b81868a8d8f9191929292918f8c89847f79706b62606d7a868686868686867a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b555c656c737b81868a8d8f9191929292918f8d8985807a716c64616d7a868686868686867a6d6054473a2d211407000000000000000006111b262f384149505a61686d747b8084888b8e8f919292929291918f8d8b87837f7a736d68605951493f372d231a0e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e11000000040e18222c3845515c666d777f878e92989a9c9d9e9f9f9e9d9b9996918c847d726d616e7b87939393939386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222c3845515c676d7780878e92999a9c9d9e9f9f9e9e9c9997928c857e736e616e7b88939393939386796c605346392d20130600000000000000030c17222d384149535b606c717a81868d9196989a9c9e9f9f9f9f9e9d9c999795908c86807a706b625b51493f352c20160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e110000000a15202c38444f59606d78818c93999fa3aaa9a8aaa29f9e9e9e9fa19e9691877f726d6e7b88959f9f9f928579655b5044372b1f1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202c38444f59606d79818c939a9fa3aba9a8aaa29f9e9e9e9fa29e97928a80746e6f7b88959f9f9f928579655b5044372b1f1205000000000000000b151e27333f49535b656c737e858e92999ea0a8a9a19e9d9c9b9c9d9fa2aaa7a09d98928d847d726d625b51473e32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e110000030f1b26323c4854606b74818e939fa4ababa39f9b979892919192939a999d99938b7f726f7c8995a2ab9e9285786b5f493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c4854606b74818e939fa4acaba39f9b979892919192939a999d9f928d80746f7c8996a2ab9e9285786b5f493f33271b0f0300000000000007121d27303944505b656c77808a92979fa3a8a19e999792908f8f8f909298999da0a7a29f9691877f726d62594f443a3024190d0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a000006131f2b37434e5863707d89939da5afa8a199928e8a878584848586888c90959e92877d707c8996a3ab9e9185786b5e52452d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5863707d89939da5afa8a199928e8a878584848586888c90959e928b7f727d8996a3ab9e9185786b5e52452d22170b000000000000000c18232e39424f59606c77808d929fa2a9a39f96918c8885838282838385888c91959ea1a8a199938b7f726b61564c4135291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f22160900000815212e3b47535f6a7683909da5afaaa1969187817d7a79787778797c7f838b919791857a7d8a96a3ab9e9184786b5e5145382b1e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a7683909da5afaaa1969187817d7a79787778797c7f838b919792877c7d8a97a3ab9e9184786b5e5145382b1e0600000000000004101c2834404b54606b737f8c929da4a9a299928c847f7b787675757677797b7f848b9297a0a7a49f93887d70685d52453b30251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c20130700000916222f3c4955626f7c88959fabaea29891847c75706d686b6b666d6f73787e8591958e817e8a97a3ab9e9184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c88959fabaea29891847c75706d686b6b666d6f73787e85919590837e8a97a4ab9e9184786b5e5145382b1e1205000000000006131f2c3845515c66707d87939fa4aba29792877f79726e696a696869666c6e72787e859095a0a8a49a91847a6d60574d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b10040003101c28343f4a546673808c99a7b1ab9f92867c6f6a64615e56545c6062666c717b83919388808d9aa7aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546673808d99a7b1ab9f92867c6f6a64615e56545c6062666c717b8391959083909daaaa9e9184776b5e5144382b1e11050000000004101c2834404b54606d79849199a4aea39992857d726d67625f575c5c545b6062666c717b839095a0aaa1968e8174695e52463a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b000006121f2b3844505c667683909da9afa3998c80736a605854524c4a5153545b60696e7a8491938d929da9aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667683909da9afa3998c80736a605854524c4a5153545b60696e7a8491959095a0abaa9e9184776b5e5144382b1e11050000000006131f2c3845515c66727f8c96a0aba89f92877d6f6b605c55534d4f4f4a5053545b60696e7a839198a3a39f92867b6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f0400000713202d3a4653606d7986929facac9f92867a6d61584e4746414044464a50575e686f7c87929a9da4aeaa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facac9f92867a6d61584e4746414044464a50575e686f7c87929da0a7b1aa9e9184776b5e5144382b1e1105000000000713202d3a4653606d7984919ea8aca1968c80736b6059514b474242423f44464a50575e686e7b86929a99928f8b8073665a4d4033271a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c27211911070000000815222e3b4855616e7b8898a3aea99c908376685e52463c393634383a3f444d56606a73808d99a3afb7aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8898a3aea99c908376685e52463c393634383a3f444d56606a73808d99a3afb7aa9e9184776b5e5144382b1e110500000004111d2935414c5564717e8a96a1adaa9e9184796d60594f45403937312d3338393f444d565f6973808c8e8a86827f7b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f07000000000a1623303d495663707c8996aab4a79a8d807467564c41342d2a282c2d333b444e58616e7b86929facb7aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996aab4a79a8d807467564c41342d2a282c2d333b444e58616e7b86929facb7aa9e9184776b5e5144382b1e11050000000613202c3945515d6775828f9ca8aea2988b7e71675d51473d342e2b2622282b2d333b444d57616d7a84817d7a76726e695f53463a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b0400000000000b1724313e4a5764717d8a97a4b0a5988b7e7265584b3f30251d1c1f2228323d46525e6975828f9ba8b5aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5988b7e7265584b3f30251d1c1f2228323d46525e6975828f9ba8b5aa9e9184776b5e5144382b1e11050000000714212d3a4754606d7a86929facac9f92857a6d60554b403528231d1a171c1f2228323c46525e686d7774706d6765615f574d42372b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e211508000000000000000b1825323e4b5865717e8b98a4b0a3978a7d7064574a3d312417101217202a36424d5764717e8b97a9b3aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b0a3978a7d7064574a3d312417101217202a36424d5764717e8b97a9b3aa9e9184776b5e5144382b1e11050000000a1724303d4a5763707d8a99a3aea89b8e8175675d5143392f23181d1d1d1d1d17202a36414c565e616b6764605d5555534d453c31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e211508000000000000000c1825323f4b5865727e8b98a5afa296897c6f6356493c30231609060e1a25303b4855626e7b8897a2adaa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5afa296897c6f6356493c30231609060e1a25303b4855626e7b8897a2adaa9e9184776b5e5144382b1e11050000010d1a2734404d5a6773808d9aabb4aa978a7e7164554b4031272a2a2a2a2a2a2a2a2a25303a444c52545e5b5753514b4846423c332a1f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295897c6f6256493c2f231609000913202d394653606c7985929fabaa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295897c6f6256493c2f231609000913202d394653606c7985929fabaa9e9184776b5e5144382b1e1105000004101d2935404b556976828f9ca9aea298887b6e6255483b2f373737373737373737373737323a414647514e4a4745403b3a373128231c140c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090005121f2b3744505b657784919daaaa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090005121f2b3744505b657784919daaaa9e9184776b5e5144382b1e1105000006131f2c3845515d677885919eabac9f9285796c6053464444444444444444444444444444444444444444444444444444443a38342e261e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900030f1b27333f49536a7683909da9aa9e9184776b5e5144382b1e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900030f1b27333f49536a7683909da9aa9e9184776b5e5144382b1e110500000714202d3a4753606d7a8696a1adaa9d908377665b505050505050505050505050505050505050505050505050505050505046443f3830261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900000b17222d424f5c6975828f9ca8aa9e9184776b5e5144382b19140d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900000b17222d424f5c6975828f9ca8aa9e9184776b5e5144382b1e110500000815222e3b4855616e7b8894a9b2a99c8f837669545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d53504a42382e23170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090000061c2935424f5c6875828f9ba8aa9e9184776b5e51442e2a251e19130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090000061c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000916232f3c4956626f7c8995a2afa89b8f82756a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a605c544a3f34281c100300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e513f38363029241e160d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000a1723303d4a5663707d8996a3b0a79b8e8177777777777777777777777777777777777777777777777777777777777777776d665c5044382b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e504a46413b352f281f1910090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000a1724313d4a5764707d8a97a3b0ab9e92858383838383838383838383838383838383838383838383838383838383838383786d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b605c54524c45413a312b231b120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000b1724313e4a5764717d8a97a4b0ada197929090909090909090909090909090909090909090909090909090909090909086796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e918477706d66615e56524c433d352d241b1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000b1724313e4a5764717d8a97a4b0b3a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d928679655b5044372b1f1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8ac9f9286817d79736e68605d564f473f362d241a0f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000a1724303d4a5763707d8a96a3b0b8b0aba99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9faaaaaaaaaa9f9285786c5f493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aea398928e8985807a746d68605950483f362c21180e0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000a1623303d495663707c8996a3afb0a69f9c93939393939393939393939393939393939393939393939393a0a8b2ab9e9185786b5e52452d22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8b2a8a09e9597928d86807a6f6b625a50483e332a20150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000915222f3c4855626f7b8895aab3ab9f948f8686868686868686868686868686868686868686868686868996a0acaa9d9083776a5d5044372a1d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aca09691898d9297928d847d716c625a50463c31261a0f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000714212e3a4754616d7a8798a2aea99c8f8279797979797979797979797979797979797979797979797984919eaaa99c8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e91847c80858b919691877e716c61584e43372b21170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000713202d3946525d687885929fabaa9d9084776c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7986929faca79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e91847774797f858e9392877e716a5f53473e33281c10020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000005111d2935414c566a7683909da9ab9f928578695e606060606060606060606060606060606060626e7b8899a3afab988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e211408000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e918477676d727a818e9392867c6e62594f44392d1e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000010d192430414e5a6774818d9aabada297877b6e6154535353535353535353535353535353535764717d8a97abaea399897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e211407000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b60686d78818e968f82766c6155493a3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000081724313e4a5764717e8a99a4afa9978b7e7164564d41464646464646464646464646434f596774818e9aa7ac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d201307000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b565d666d798491948a7d7064564c41362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000714212e3a4754616d7a86939faca89b8e8175685e52463c313939393939393939313a4854606b7884919eaba99d908376675d5145392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f1306000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e545c67717e8b998f8275685e5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000713202d3946525e6876838f9ca9ac9f92867b6e61584e433a322c292424292c323a434e58636f7c8996a1aca6998c7f7266554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c1004000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e4b55606d7a869292867a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000005111d2a36414c5665717e8b97a1ada3998d80736a5f554c443d39352f2f35393d444c56606a75828f9ca8ab9f94887b6e6155483b2f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c00000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e54565d67778390998a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000010d1925303a4753606d7985919ea8ab9f92867c6f675e564f47454041414045474e565d686f7c87939faca69c8f8276695f53463a2d1d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d3023160700000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5960636c6c75818e998d8073665a4d4033271a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000008131f2c3845515c67727f8c96a0aba3989183796d68605953514b4e4e4b51535860686d7a84919aa4aa9f94897d7063574d42362a1e0b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d20130700000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b606b70797979818d9a8f8275695c4f4236291c0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000004101c2934404b55606d79849199a3aaa09590837a706b64605d555b5b555d60636a6f7a828f96a0aca3988f82766b6055453b31261a0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f120600000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b63707d8686868d929d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000000000c18232f3945515c67707d87929fa4a79f9590847d75706d6769676869676d70757c848f949fa8a49f92867c6f62594f44332a1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c100300000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b63707d8993939a9d9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000007121d2834404b55606b727f8c929da4a79f969189827d7a7675747475777a7d828991969fa6a49d928b7f726a5f53473d3321180e030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b0000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b63707d89969fa7ab9e9185786b5e5245382b1f1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160906060f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000010c18232e39434f59636d74808d929fa2a8a09e948f8a86838281818283868a8f949ea0a8a29f928d80746d62584e43352c210f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c11060000000000000000000c1925323f4c5865727f8b98a5aca295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b63707d8996a3acab9e9285786b5f5245382c1f1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5aca295887c6f6255493c2f22161313130f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000000000007121d27303d47515b606c77808a92979fa3a69e9c9992908f8e8e8f9092999c9ea6a49f98928b80776c605b51463c31231a0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a000000000000000000000c1925323f4c5865727f8b989f9f9f95887c6f6255493c2f22160900020f1c2935424f5c6875828f9b9f9f9e9184776b63707d89969f9f9f9e9285786b5f5245382c1f1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b989f9f9f95887c6f6255493c2f22202020201c1c2935424f5c6875828f9b9f9f9e9184776b5e5144382b1e1105000000000000000b151e2b353f44505b656c737e858e92999ea1a8a39f9d9c9a9b9c9d9fa3a9a19e9a938f867e746c655b50493f342a2011080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c02000000000000000000000c1925323f4c5865727f8b9393939393887c6f6255493c2f22160900020f1c2935424f5c6875828f939393939184776b63707d8993939393939285786b5f5245382c1f1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b9393939393887c6f6255493c2f222d2d2d2d28272935424f5c6875828f939393939184776b5e5144382b1e110500000000000000030c192327333f49535b606c717a81878d9196989b9c9e9f9f9f9f9e9c9b9897928d87827b716c605b53493f372d22180e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b00000000000000000000000c1925323f4c5865727f868686868686867c6f6255493c2f22160900020f1c2935424f5c68758186868686868684776b63707d8686868686868685786b5f5245382c1f1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f868686868686867c6f6255493c2f393939393935343135424f5c68758186868686868684776b5e5144382b1e11050000000000000000071117222d384149505a61686e747b8084888b8e90919292929291908e8c8985817b756e69625a504941382d251b1006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c0300000000000000000000000b1824313e4a56626d7279797979797979766a5f53473b2e21150800020e1b2834414d59656f75797979797979777267606b70797979797979797873685d5044372b1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4a56626d7279797979797979766a5f53473b39464646464642403d37414d59656f757979797979797772675c4f43372a1d110400000000000000000006111b262f383f4450565e61696e73787c7f818384858686858483817f7c79746e6a615e5750443f382f261b13090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121c252e363e454d53585f62666a6f717375777878797979787675726f6d66625f58524d453d352c241a10070000000000000000000000000915222e3a46515b62656c6c6c6c6c6c6c625f584e43372b1f130600000c1925313d49545d65686c6c6c6c6c6c6b67605960636c6c6c6c6c6c6c6b6861574c4034281c0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3a46515b62656c6c6c6c6c6c6c625f584e43404553535353534f4d48413d49545d65686c6c6c6c6c6c6b6760564b3f33271b0e02000000000000000000000a141d2c353d44484c52575e61656c6f7274767878797978787675726f6d66625f58534d5345413a32281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131c242c333b42464e5355585f626467696a6b6b6c6c6c6b6a686663605c54534e46423b332c231a12080000000000000000000000000006121e29343f495156586060606060606055534e463c32261b0f0300000915212c37424b54595c6060606060605e5c564f5456606060606060605f5d574f453b2f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e29343f495156586060606060606055534e46434b515f606060605b59534b41424b54595c6060606060605e5c564e44392e23170b0000000000000000000004101c27333d474f5556606060605b60626568696b6c6c6c6c6b69686562605c54606060605f524c443a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a121a212931363c4347484e5355585f676a6c6c6c6b67605d5b595653514b47433c363029201a11080000000000000000000000000000010d18232d373f464a4c535353535353534947433c342a20150a00000004101b26303942494d4f535353535353514f4b44484a5353535353535352504c453d33291e13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18232d373f464a4c53535353535353494743404b555d6c6c6c6c6c68655d53484342494d4f535353535353514f4b443c32281d1206000000000000000000000714202c38444f5961636c6c6c6c69615d565b5d5e5f5f5f5f5e5d5b59575f616a6c6c6c6c6c5d564c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f171f252a31373a3c4347485b6771777979797772675753514b4645403937322a251f170e080000000000000000000000000000000006111b252d343a3e3f464646464646463c3b37322a22180e040000000009141e2730373d414246464646464644433f383c3d464646464646464544403b332b21170d0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b252d343a3e3f464646464646463c3b3945515d677679797979756f6556544f47433d4246464646464644433f39322a20160c01000000000000000000000916232f3c4855616b7079797979756d686058515152535352514b515a61696e777979797976685d5245392c20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a20262b2e313744515e6a778486868684776b63605c5450483f372b26201a140d0500000000000000000000000000000000000009131b23292e3132393939393939392f2e2b26201810060000000000020c151e262c3134353939393939393837332c2f30393939393939393837342f2921190f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b23292e3132393939393939392f2d3a4753606d7986868686817568636059544e463d3539393939393837332e2820180e0400000000000000000000000a1723303d4a5663707d86868686827a6f6a625b524c4446464e555d606c717b83868686867a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e151a1f21263744515e6a7784919391847774706d66615a51493f342b20150a0200000000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2d22211f1b150e0600000000000000030c141b212528292d2d2d2d2d2d2b2a272022232d2d2d2d2d2d2d2c2b28241e170f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2d222d3a4753606d7a8693938e8176736f6b6260584f473d32282d2d2d2b2a27231d160e060000000000000000000000000713202d3a4653606d78828f95948f847c726d605d564e4550585f676d747e869095938c8073685d5245392c20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f171c2b3744515e6a7784919d928783817d79716c625b51463c32271b0f03000000000000000000000000000000000000000000060d12151819202020202020201615130f0a0400000000000000000002091015191b1c2020202020201e1d1b131617202020202020201f1e1c18130d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d1215181920202020202018202d3a4753606d7a86939f928682807c776f6a60594f443a302419201e1d1b17120c040000000000000000000000000006121f2b3844505c666d798390979691877f756d686058515a626a6f79818a9298958e81776c60564c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d3744515e6a778491979992908d8a847e726d62584e43372b1f1306000000000000000000000000000000000000000000000106090b0c13131313131313090806030000000000000000000000000004090c0e0f13131313131311110e07090a1313131313131312110f0c070200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c1313130d151d23292d3a4753606d7a86939798928f8d89837c706b60564c4135291d1111110e0b0601000000000000000000000000000003101c28343f4a545d676e7b85929899928c827a6f6a625d606c717c838e939f969083796d655b50443a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1a232c33393c44515e6a7784888a8e92999a96918a7f726a6054473b2e2215070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006010b151f272f34383a4753606d7a86888b8f939c999590867d70685d5245392c201307040200000000000000000000000000000000050c151d232e38424c555f696f7d86929f9f938f847c726d676d757e8690959d9891847a6e675d53493f32281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202c363e44494a4854616e7a7b7d8187929fa19e92877c6f6255493c2f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090c0e10111213131212110f0d0b0807050200000000000000000000000000000000000000000000000000000000000000000007121d2731394045474a515d67767b7c7e828d929c9f9892857a6d6054473a2d2114070000000000000000000000000000000000070f171e272e343f464e5457606b717e8b929c9e9691877f757079818b9298a09992867c6f685e554b41382d20160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f29323e4850555754535e686e6f71747e8a98a2a3998f827568554b4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050a0f121515181b1d1e1f20201f1f1e1c1a181514120e0905010000000000000000000000000000000000000000000000000000000000000c18232f39434b51535754555e696e6f7175808d99aaa1978c7f7266594c3f3326190c00000000000000000000000000000001071119212930394045505860626b6c6c73808d939ea199928c827c848e939fa29f93877e706a5f564c43392f261b0e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303b44505a6164615e575e6162646c7985929fab9f928578675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12151b1f21222528292b2c2c2c2c2b2b29272521201e1a14110d080200000000000000000000000000000000000000000000000000000004101c2934404b555c6064615e575e6162646e7b8895a1a99c8f8376695c504336291d100300000000000000000000000000040c1218232b333b424b515a626a6f7879797979818e959fa39f938f8991969ea59d938c7f726c61584e443b31271d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414d56616c706e6968676666676d7a86929faca298877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d141a1e20262b2e2f323436383939393938373633312e2d2a25201d19130d08020000000000000000000000000000000000000000000000000006131f2c3845515c676d716d686867666668707c8996a3aa9d9184776a5e5144372b1e1104000000000000000000000000040d161d2429353d454d545c606c717c848686867f79839096a1a59e9b969ea0a89f948e81746d635a50463c32291f150b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e68707d7b78757473737479818e99a3ac9f9286796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d13191f252a2d31373a3c3f41434445464645454442403e3b3a36302d29251e19130c040000000000000000000000000000000000000000000000000714202d3a4753606d797d7a7775747373757a83909da9ab9d9083766a5d5043372a1d10040000000000000000000000010c161f282f353f474f575e666d747e8691969184796e7b849198a29f9f9f9fa9a0968f82786d605b51473e342a20170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b8887848281807f81858e939eaba59d908377665b5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e171e252a30363a3c4347484b4e50515253535252514f4d4b4846423b39353029241e160e0700000000000000000000000000000000000000000000030f1c28333f4a5463707d8a868482807f80818690959faba3998d8174675a4e4134271b0e01000000000000000000000007121d2831394045515960696e78818b9298958b7e71696f7c86929a93939393939791847a6d665c51493f352c22180e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5465727e8b96918f8d8c8c8e92979ea5a19e938b7e7165544a3f33281c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117202930363b4246484e5355585b5c5e5f5f5f5f5e5e5c5a5854524d4746413a3530282019110901000000000000000000000000000000000000000006121f2b3844505b6674818e93908e8d8c8c8e92989fa7a09d92877c6f6255493c2f2216090000000000000000000000010d18242f39434b515b626b707b838e939f9a9083786c606a707e8786868686868686857b6e685e544a40372d231a100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6675828f989a9b9a99999a9e9e9c9a97928b81756c625642382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227323a41464d5254585f626567696b6c6c6c6c6b6a696664615e5754524c46413a322b231b130900000000000000000000000000000000000000000613202d394653606c798591989b9b9a99999b9f9e9c9996918a7f726a5f53473b2e211508000000000000000000000004101d2935404b555d606d727d8590959d9f93877c6f655b616c707979797979797979786e695f564c42392e251c1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884888b8e909192929292918f8d8a857f776c605a50452f261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141d262d333e444c52575e61666a6f727476777879797878777573716e6966615e56524c443d352d251b1309000000000000000000000000000000000000000815222e3b4855616e7b86898c8e909192929292918f8d89847d726d62584e43372b1f130600000000000000000000000613202c3945515d676d757f8792979fa2978e81746a60535a61646c6c6c6c6c6c6c6c6c625f574d443a30271c130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c666d777c7e818384858686858483817d79726c655b50483f341d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262f383f4450565e61696e73777b7e81838485868685858482807e7b77736d68615d564f473f372d251b11080000000000000000000000000000000000000814212d3a47535f696e787c7f818384858686858482807c78706c625b51463c32261b0f0300000000000000000000000714202d3a4753606d79818c929993939392857a6d61584e50555760606060606060605f55534d453c32281e150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c606a6f7274767778797978787674706d67605b53493f362d220b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f384149505a61686d747b8084888b8e8f919292929291918f8d8b87837f7a736d68605951493f372d231a0e04000000000000000000000000000000000006121e2b37424d575f666d6f7275767878797978777673706c66615a51493f342a20150a000000000000000000000000111d2a3744505d6a778386868686868686867f72685e524644494a5353535353535353524847423c332a20160c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424a50585f626567696b6c6c6c6c6b696764605d55504941382d241b1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d384149535b606c717a81868d9196989a9c9e9f9f9f9f9e9d9c999795908c86807a706b625b51493f352c20160c0200000000000000000000000000000000020e1a26313c454d545c606365686a6b6c6c6c6c6b696663605b5450473f372d22180e04000000000000000000000000101d2936424f5b6671777979797979797979726d62564c41393c3d4646464646464646453b3a37312a21180e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f444e5355585b5d5e5f5f5f5f5e5c5a5753514b443f382f261b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e27333f49535b656c737e858e92999ea0a8a9a19e9d9c9b9c9d9fa2aaa7a09d98928d847d726d625b51473e32281e1308000000000000000000000000000000000009151f2a333c424a505356595b5d5e5f5f5f5f5e5c5a5653504a423e352d251b1007000000000000000000000000000e1a26333e4a555f666a6c6c6c6c6c6c6c6c65625b51443a3030313939393939393939392f2e2b2620180f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e262e343c4347484b4e50515253535251504e4a47454039332d261d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303944505b656c77808a92979fa3a8a19e999792908f8f8f909298999da0a7a29f9691877f726d62594f443a3024190d0200000000000000000000000000000000030e18212a30383f4446494c4e505152535352514f4d4946443f382f2c231b130900000000000000000000000000000a16222d39434d555b5d6060606060606060595751493f322923242d2d2d2d2d2d2d2d2c22211e1a150e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c141c232832373b3c3f414344454646454543413d3a38352f27221b140b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424f59606c77808d929fa2a9a39f96918c8885838282838385888c91959ea1a8a199938b7f726b61564c4135291f14090000000000000000000000000000000000060f181e262e34383a3c3f424345454646454443403d3938332d261d1a110901000000000000000000000000000005111c27313b434a4f5053535353535353534c4a463f372d20171720202020202020201f1514120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a111720262b2e2f3234363839393939383634312d2c29241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54606b737f8c929da4a9a299928c847f7b787675757677797b7f848b9297a0a7a49f93887d70685d52453b30251a0e020000000000000000000000000000000000060c151c23282c2d303235373839393939383633302d2b28221c140b0800000000000000000000000000000000000b151f2931393e424446464646464646463f3e3a352d251b0e0a131313131313131312080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b151b1f212225282a2b2c2c2c2c2b292724201f1d18120b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c66707d87939fa4aba29792877f79726e696a696869666c6e72787e859095a0a8a49a91847a6d60574d42362a1e1105000000000000000000000000000000000000030a11171c1f202326282a2b2c2c2c2c2b292723201f1c17110a02000000000000000000000000000000000000030d171f272d333637393939393939393932312e29231b13090006060606060606060600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f121515181b1d1e1f20201f1e1d1b171413100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54606d79849199a4aea39992857d726d67625f575c5c545b6062666c717b839095a0aaa1968e8174695e52463a2d2014070000000000000000000000000000000000000000060c10121316191b1d1e1f20201f1e1c1a1613120f0b06000000000000000000000000000000000000000000050d151c2226292a2d2d2d2d2d2d2d2d2625221e1811090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090c0e10111213131212100e0a07060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c66727f8c96a0aba89f92877d6f6b605c55534d4f4f4a5053545b60696e7a839198a3a39f92867b6e6154473b2e21140800000000000000000000000000000000000000000000030607090c0f10121213131211100d0a060603000000000000000000000000000000000000000000000000030b11161a1d1d2020202020202020191816120d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919ea8aca1968c80736b6059514b474242423f44464a50575e686e7b86929a99928f8b8073665a4d4033271a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0e101113131313131313130c0b090601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001060b0e11111313131313130f0f0d0904000000000000000000000000000000000000000000000000000000000002080c10121213131313131313131313131313131313131313131313121211100e0b09070604000000000000000000000000000000000000000000000000000000000004111d2935414c5564717e8a96a1adaa9e9184796d60594f45403937312d3338393f444d565f6973808c8e8a86827f7b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c12171b1d1e2020202020201c1b19151009020000000000000000000000000000000000000000000000000000060d13181c1e1f202020202020202020202020202020202020202020201f1e1e1d1a18161413100c070501000000000000000000000000000000000000000000000000000613202c3945515d6775828f9ca8aea2988b7e71675d51473d342e2b2622282b2d333b444d57616d7a84817d7a76726e695f53463a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e161d23272a2b2d2d2d2d2d2d292825211b140c030000000000000000000000000000000000000000000000000710181f24282b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a29272523201f1d1813110d080200000000000000000000000000000000000000000000000714212d3a4754606d7a86929facac9f92857a6d60554b403528231d1a171c1f2228323c46525e686d7774706d6765615f574d42372b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e1820282e3337383939393939393635312c261e150c0200000000000000000000000000000000000000000000061019222930353839393939393939393939393939393939393939393939393938373634322f2d2c2924201e19130f0a040000000000000000000000000000000000000000000a1724303d4a5763707d8a99a3aea89b8e8175675d5143392f23181d1d1d1d1d17202a36414c565e616b6764605d5555534d453c31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c16202a32393f434446464646464642413d3730271e1409000000000000000000000000000000000000000000020d18222b343b4144454646464646464646464646464646464646464646464645454443413e3c3a39352f2d2a251e1b150f0a04000000000000000000000000000000000000010d1a2734404d5a6773808d9aabb4aa978a7e7164554b4031272a2a2a2a2a2a2a2a2a25303a444c52545e5b5753514b4846423c332a1f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121d28323c444b4f515353535353534f4d49423930261b1004000000000000000000000000000000000000000008131f29343d464c515253535353535353535353535353535353535353535353525151504d4b494745403a3936302b27201b160d07010000000000000000000000000000000004101d2935404b556976828f9ca9aea298887b6e6255483b2f373737373737373737373737323a414647514e4a4745403b3a373128231c140c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e39444e565c5e6060606060605c5a544c42372c21150900000000000000000000000000000000000000000c1824303b464f575d5f6060606060606060606060606060606060606060605f5f5e5d5c5a585653514b4746413a37322c272118120c0400000000000000000000000000000006131f2c3845515d677885919eabac9f9285796c6053464444444444444444444444444444444444444444444444444444443a38342e261e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1b27333f4b5660676b6c6c6c6c6c6c69655e54493d3125190d0000000000000000000000000000000000000003101c2835414c5761696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a69676562605d5554524c47433c383229241d160d0700000000000000000000000000000714202d3a4753606d7a8696a1adaa9d908377665b505050505050505050505050505050505050505050505050505050505046443f3830261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2a37434f5c6772777979797979797570655a4d4135281b0f0200000000000000000000000000000000000005121e2b3844515d697378797979797979797979797979797979797979797979797878777674716f6d6765615e56544e48433d352f281f191108000000000000000000000000000815222e3b4855616e7b8894a9b2a99c8f837669545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d53504a42382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b77848686868686868275695c4f4236291c0f0300000000000000000000000000000000000006121f2c3945525f6c78858686868686868686868686868686868686868686868685848483807e7c7a75716d68626058544e454039312b231a120a0100000000000000000000000916232f3c4956626f7c8995a2afa89b8f82756a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a605c544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b778491939393938f8275695c4f4236291c0f0300000000000000000000000000000000000006121f2c3945525f6c7885929393939393939393939393939393939393939399929291908f8d8b8986827e7a756f6a626058514b433d352c241b130a01000000000000000000000a1723303d4a5663707d8996a3b0a79b8e8177777777777777777777777777777777777777777777777777777777777777776d665c5044382b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919e9f9f9c8f8275695c4f4236291c0f0300000000000000000000000000000000000006121f2c3945525f6c7885929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9d9c9a9898928f8b87827c766f6a605d554f473e362d251b1309000000000000000000000a1724313d4a5764707d8a97a3b0ab9e92858383838383838383838383838383838383838383838383838383838383838383786d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0300000000000000000000000000000000000006121f2c3945525f6c7885929fabacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a6a6a7aaa9a7aaa39f9c99938e88827c746d67605950483f372d251b11080000000000000000000b1724313e4a5764717d8a97a4b0ada197929090909090909090909090909090909090909090909090909090909090909086796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0300000000000000000000000000000000000006121f2c3945525f6c7885929fabb8ada39c9998989898989898989898989898999a9b9d9fa2aaaaacaba49f9b948f8780796f6b615a51493f372d231a0f0600000000000000000b1724313e4a5764717d8a97a4b0b3a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d928679655b5044372b1f1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0300000000000000000000000000000000000006121f2c3945525f6c7885929fabb8a79c918c8b8b8b8b8b8b8b8b8b8b8b8b8b8c8d8e909298999da0a7acaca69f9a938d847d716c625b51493f352c21180b02000000000000000a1724303d4a5763707d8a96a3b0b8b0aba99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9faaaaaaaaaa9f9285786c5f493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0300000000000000000000000000000000000006121f2c3945525f6c7885929fabb2a5998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818385888c90959b9fa4acaca49f9691877e726d625b51473e332a1d140a000000000000000a1623303d495663707c8996a3afb0a69f9c93939393939393939393939393939393939393939393939393a0a8b2ab9e9185786b5e52452d22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0300000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a7272727272727272727272727273737477797c7f83888f939a9fa7afa8a19992887f726d62594f463c2f261c11060000000000000915222f3c4855626f7b8895aab3ab9f948f8686868686868686868686868686868686868686868686868996a0acaa9d9083776a5d5044372a1d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0300000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d656565656565656565656565666768666c6f73777c828790959fa3ababa39a938c7f726b61584e42382d22170b0200000000000714212e3a4754616d7a8798a2aea99c8f8279797979797979797979797979797979797979797979797984919eaaa99c8f8276695c4f4336291c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0300000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d615858585858585858585858595a545b6062666a6f757c838c9299a3aaaca49f92877d706a5f544a3f33281e130800000000000713202d3946525d687885929fabaa9d9084776c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7986929faca79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0300000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d61544c4c4c4c4c4c4c4c4c4c4c4d4a5053555860626a6f787f879298a2aaafa39992867c6e665b50443a3025190d010000000005111d2935414c566a7683909da9ab9f928578695e606060606060606060606060606060606060626e7b8899a3afab988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0300000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473f3f3f3f3f3f3f3f3f40403f4446484e54585f666d737e869298a2aeaba2989083786c60564c41362a1e130800000000010d192430414e5a6774818d9aabada297877b6e6154535353535353535353535353535353535764717d8a97abaea399897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0300000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a3232323232323232332d3338393c43474e545c606c707d86929fa4aeaa9f958b7e72685e52463a2f24190d0000000000081724313e4a5764717e8a99a4afa9978b7e7164564d41464646464646464646464646434f596774818e9aa7ac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0300000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e252525252525252622282b2d32373c424a505a616b717e8a929da8b1a79f92857a6d61564c4135291b1106000000000714212e3a4754616d7a86939faca89b8e8175685e52463c313939393939393939313a4854606b7884919eaba99d908376675d5145392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0300000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e2119191919191919171c1f20272b30383f445059616c73808d96a0acada2978d8074685d5245382d22170b000000000713202d3946525e6876838f9ca9ac9f92867b6e61584e433a322c292424292c323a434e58636f7c8996a1aca6998c7f7266554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0300000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e21140c0c0c0c0c060b0f12131b1e262e343e47505a606d7984919ea6b0a99f92857a6d6053493f33271b0f0300000005111d2a36414c5665717e8b97a1ada3998d80736a5f554c443d39352f2f35393d444c56606a75828f9ca8ab9f94887b6e6155483b2f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0300000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e21140700000000000003060a0c151c2328353e45515c66707d8a949fabaea2988c7f72655b5044372b1f1205000000010d1925303a4753606d7985919ea8ab9f92867c6f675e564f47454041414045474e565d686f7c87939faca69c8f8276695f53463a2d1d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0300000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e211407000000000000000000030a1117232834404b54616b76828f9ca8b2aa9e9184786c605346392d2013080000000008131f2c3845515c67727f8c96a0aba3989183796d68605953514b4e4e4b51535860686d7a84919aa4aa9f94897d7063574d42362a1e0b010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0300000000000000000000000000000000000003121f2c3945525f6c7885929fabada094877a6d6154473a2e21140c0c0c0c0c0c0c0c07060400061118232e39424f5964707d8a96a1acaca096887c6f6255493c3024190d0100000004101c2934404b55606d79849199a3aaa09590837a706b64605d555b5b555d60636a6f7a828f96a0aca3988f82766b6055453b31261a0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0300000000000000000000000000000000040a0f131f2c3945525f6c7885929fabada094877a6d6154473a2e211919191919191919191413110d0807121d27303e4653606d7984919eabb2a8998c7f7366564c4135291d1104000000000c18232f3945515c67707d87929fa4a79f9590847d75706d6769676869676d70757c848f949fa8a49f92867c6f62594f44332a1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f03000000000000000000000000000000060e151b1f212c3945525f6c7885929fabada094877a6d6154473a2e2626262626262626262621201d19130c0b151f2b3844505c6673808c99aab3a99d908376685d5245392c2013070000000007121d2834404b55606b727f8c929da4a79f969189827d7a7675747475777a7d828991969fa6a49d928b7f726a5f53473d3321180e03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f03000000000000000000000000000006101820262b2e2f3945525f6c7885929fabada094877a6d6154473a33333333333333333333332d2c29241e160d101c28343f4a54636f7c8998a2aeac9f93867a6d6054473a2d21140700000000010c18232e39434f59636d74808d929fa2a8a09e948f8a86838281818283868a8f949ea0a8a29f928d80746d62584e43352c210f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0300000000000000000000000000040e18222a32373b3c3f45525f6c7885929fabada094877a6d6154473f3f3f3f3f3f3f3f3f3f3f3f3a39352f281f160b17232e3a4653606d7985929fabafa499897c6f6356493c30231609000000000007121d27303d47515b606c77808a92979fa3a69e9c9992908f8e8e8f9092999c9ea6a49f98928b80776c605b51463c31231a0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f03000000000000000000000000000a15202a343c4347494c4c525f6c7885929fabada094877a6d61544c4c4c4c4c4c4c4c4c4c4c4c4c4745413a31281e13121f2c3844505c6676828f9ca9b5ab988b7e7265584b3f3225180c0000000000000b151e2b353f44505b656c737e858e92999ea1a8a39f9d9c9a9b9c9d9fa3a9a19e9a938f867e746c655b50493f342a2011080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f03000000000000000000000000030f1b26323c464e53555959595f6c7885929fabada094877a6d61595959595959595959595959595954524c433a2f2419101c28343f4a546774808d9aa7b3a79a8d8074675a4d4134271a0e000000000000030c192327333f49535b606c717a81878d9196989b9c9e9f9f9f9f9e9c9b9897928d87827b716c605b53493f372d22180e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0300000000000000000000000006131f2b37434e585f62666666666c7885929fabada094877a6d666666666666666666666666666666605d564c4135291d1117232e3f4b5865727e8b98a5b1a99c8f8276695c4f4336291c1000000000000000071117222d384149505a61686e747b8084888b8e90919292929291908e8c8985817b756e69625a504941382d251b1006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000815212e3b47535f6a6f72727272727885929fabada094877a727272727272727272727272727272726d685d5245392c20131723303d4a5663707d8996a3b0aa9d9083776a5d5044372a1d11000000000000000006111b262f383f4450565e61696e73787c7f818384858686858483817f7c79746e6a615e5750443f382f261b130900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000916222f3c4955626f7c7f7f7f7f7f7f86929facb3a6998c807f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7a6d6054473a2d211416222f3c4955626f7c8895a2afaa9d9184776a5e5144372b1e110000000000000000000a141d2d373f454a4c52575e61656c6f7274767878797978787675726f6d66625f58534d514c463d341d140a0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000c1825323f4b5865727e8b8c8c8c8c8c9298a3aeb4a89c928c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c877b6e6154483b2e211515222f3b4855626e7b8895a1aeab9e9185786b5e5245382b1f12000000000000000005111d29343f49515658606060605b60626568696b6c6c6c6c6b69686562605c546060605f5d574f463b3024180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000c1825323f4b5865727e8b98999999999fa3aab4b9aea49c99999999999999999999999999999994877b6e6154483b2e211515212e3b4854616e7b8794a1aeac9f9285796c5f5246392c1f1300000000000000000915222e3a45515b62656c6c6c6c67605c555b5d5e5f5f5f5f5e5d5b595960636b6c6c6c6c6961574c4135281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000c1825323f4b5865727e8b98a5a5a5a5acaeb4bcbfb6aea8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a194877b6e6154483b2e211514212e3b4754616e7a8794a1adac9f9285796c5f5246392c1f1300000000000000000b1824313d4a56626d7279797979746d675f57505152535352514c535b606b6f787979797873695d5144382b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000c1825323f4b5865727e8b989f9f9f9fa0adb3bcbab0a8a3a09f9f9f9f9f9f9f9f9f9f9f9f9f9f94877b6e6154483b2e211515222e3b4855616e7b8894a1aeab9f9285786c5f5245392c1f1200000000000000000c1825323f4b5865727e8686868681796e69615a514b433f444e565e656c727d8486868685786c5f5245392c1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000c1825323f4b5865727e8b939393939393a2a9b3b3a89e9794939393939393939393939393939393877b6e6154483b2e211515222f3c4855626f7b8895a2aeab9e9185786b5e5245382b1f1200000000000000000714202d3a4753606d79839097928d837b716c605d554e49505860686d777f879196928b7e7165584b3e3225180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000c1825323f4b5865727e8686868686868997a2adafa3978c87868686868686868686868686868686867b6e6154483b2e21151623303d495663707c8996a3afaa9d9184776a5e5144372b1e1100000000000000000613202c3945515d676e7b8591989590867e746d675f58535b606a6f7a828c9299938d80736c6256493d3024170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000b1824313d4a56626d7279797979797985929fabada094877a7979797979797979797979797979797976695e53463a2d21141825313e4b5864717e8b97a4b1a99c8f8276695c4f4336291c10000000000000000004101d2935404b555e696f7c86929a98928a81796f6a625d656c727c848f949f958f82786c605a5045392d21150600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000915222e3a45515b62656c6c6c6c6c7885929fabada094877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e574d42362a1e121b27333f49536673808c99a6b3a79a8e8174675b4e4134281b0e0000000000000000010d18242f39434d57606a717e88939f9f938e837c716c686d777f8791969e979083796d665b50483f312a2217110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0300000000000000000000000005111d29343f49515658606060606c7885929fabada094877a6d6160606060606060606060606060605f534d453b31251a121f2b3744505b6575828f9ca8b2a6998c7f7366594c403326190d00000000000000000007121d28313b454e58616c737f8c939e9d9591867e75707a828c9299a19891857b6e675d54514c433c3428231c140c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f03000000000000000000000000010c18232d373f454a4b5353535f6c7885929fabada094877a6d6154535353535353535353535353534846423b33291f1413202d394653606c7985929eabb2a8968a7d7063574a3d3024170a000000000000000000010c161f29333d46505a636d75818e959fa098928b817d848f949fa39a92867c6f696c68605d554e463e342e261e160e07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000006111b242d343a3d3f4646525f6c7885929fabada094877a6d6154474646464646464646464646463b3a3631292117101c28343f4a54626f7c8897a1adaca096877a6d6154473a2e21140700000000000000000000040d17212b343e48515b606d79839096a1a29f938e8991969ea59f93887e77797979756d675f5850443f383028201910090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f03000000000000000000000000000009121b23292e31323945525f6c7885929fabada094877a6d6154473a39393939393939393939392e2d2a251f170f18212b3844505c6673808c99a9b3aa9d918477685d5246392d2013070000000000000000000000050f19222c364045515c676d7a849198a2a59e9b969ea1a79e938c7f778386868682796e6a615a504a423a322b221b120a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003050606111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000911181d22242c3945525f6c7885929fabada094877a6d6154473a2e2d2d2d2d2d2d2d2d2d2d21211e1a140d162028343f4a54606d7884919eabb2a89a8d807367564c4135291d110500000000000000000000000007101a242834404b555e686f7c869299a39f9f9f9fa89f958e8175707d8a94938f847c716c605c544c443d342d241c130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080d10121313131e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f0100000000000000000000000000000000060c11151f2c3945525f6c7885929fabada094877a6d6154473a2e212020202020202020201514120e0e171f28323a44505c66707d8a96a1acaca196897c6f6256493c3024190d0100000000000000000000000000081218232e39434c565f6a707d8792939393939393969083796d6b75828f999691867e736d665e564e463f362d251c1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e14191c1f1f20201f2b3844515e6b7784919e9f9f9c8f8275695c4f4236291c110d08010000000000000000000000000000000105121f2c3945525f6c7885929fabada094877a6d6154473a2e21141313131313131313080a0f141a2029313a444d57606d7883909da8b2a99e9184786c605346392d20130800000000000000000000000000000007121d27303a444e58616b727f8686868686868686847a6d67626e7b87929f98928a80786d68605850483f372d23180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810181f25292b2c2d2d2b2b3844515e6b778491939393938f8275695c4f423629201d19130c0400000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e21140c0c0c0c0d080d1114141b1f262a323b434c565f69727f8b95a0acada2978b7f72655b5044372b1f1205000000000000000000000000000000000b151e29323c464f59626d727979797979797979786d685e5f6973808d97a19f928d827a6f6a625a51493f352a1e120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101a222a30353839393938373844515e6b77848686868686868275695c4f42362d2c29241e160d08000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e211919191919191a191e2021272c31363e444d555d686e7b86929fa7b1a89f92857a6d6053493f33271b0f0300000000000000000000000000000000030c17202a343e47515b62656c6c6c6c6c6c6c6c6b615e5657606d7a85919ea49d948f847c716c635b51463a2e2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18222c343c4144464646454440434f5c6772777979797979797570655a4d433f3a39352f28201a11080000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e2525252525262627252a2d2e32383b42464f565e676d7a839098a2aeaba0968c7f72675d5141382d22170b000000000000000000000000000000000000050e18222c353f4951565860606060606060605e54524c515d67717e8b959393939691867e726d63574a3e3125180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2a343e464d5152535352504c454b5660676b6c6c6c6c6c6c69655e5452504c4745413a322c231a110800000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a3232323232323233343036393b3d44484d535961696e79829095a0aaafa4999184796d60554b412f261b11060000000000000000000000000000000000000006101a232d373f464a4c5353535353535353514746414b55606c778386868686868686867f7265594c3f3226190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1925303c4650585d5f60605e5c574f454e565c5e6060606060605c5c5e5f5f5d5954524c443e352c231a0d04000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473f3f3f3f3f3f3f3f4040424146474a4f54575f616b707b8390949fa7b0a69f93877d70665c51433a2f1d140a00000000000000000000000000000000000000000008111b252d343a3e3f4646464646464646453a393a44505b656c767979797979797979726d63574a3e3125180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2935414d5862696c6c6c6b68615746444b4f51534c52565d6065696b6c6b6a66605d564f473e352b1f160c010000000000000000000006121f2c3945525f6c7885929fabada094877a6d61544c4c4c4c4c4c4c4c4c4c4d4e4c525457596063696e757d8590959fa6b0a69e948c7f736b60544b4031281d0b020000000000000000000000000000000000000000000009131b23292e31323939393939393939382e2d333f49535b606a6c6c6c6c6c6c6c6c65635b51463a2e2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3844515d6974797979787368584e4341454c52565e61686d717578797876726d6861594f473d31281e13080000000000000000000006121f2c3945525f6c7885929fabada094877a6d6158585858585858585859595a5b565e6163676b6f747b818a91979fa7aea69f948f82786c60594f42392e1f160c0000000000000000000000000000000000000000000000010911181e2225252d2d2d2d2d2d2d2d2b21222d38414950535d6060606060606060595751493f352a1e12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7986868685786a5f534a4c51565e61686d737a7e82848685837f7a706b61594f433a2f24190d0000000000000000000006121f2c3945525f6c7885929fabada094877a6d656565656565656565656566676869686e7074777c81878e939ea1a9ada49d948f82796d665b50473d30271d0d0400000000000000000000000000000000000000000000000000070d1216181920202020202020201e141b262f383f44465053535353535353534c4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2a3744515d6a77849097887c6f625a56555d60686d737a80858b8f919292908c857d706b60564c4135291b110600000000000000000006121f2c3945525f6c7885929fabada094877a72727272727272727272727273737576787a7d8084898e92999ea5ada9a19e928d82796d675c544a3f352b1e150b0000000000000000000000000000000000000000000000000000000106090b0c1313131313131313120a141d262d3337394346464646464646463f3e3a352d251c11070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9a8e81746c646364676d737a80868c92979c9e9f9e9d9792877d70685d5245382d22170b00000000000000000006121f2c3945525f6c7885929fabb2a5998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818385878a8d91969b9fa3abaca49f97928a80786d675d554b42382d23190c030000000000000000000000000000000000000000000000000000000000000000060606060606060605020b141b22272b2d37393939393939393932312e2a231c130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c9993887e75717071747a80858d92989fa2a9a4a3a4a9a19991847a6d6053493f33271b0f03000000000000000006121f2c3945525f6c7885929fabb8a79c918c8b8b8b8b8b8b8b8b8b8b8b8c8c8d8e8f9197969a9ea0a8acaca49f9a938e857e736d665d554b43392f261c110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f202a2d2d2d2d2d2d2d2d2625221e18110a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c89969a9388827e7d7e81858c92989fa2a29f9b9796989c9ea1968c7f72655b5044372b1f1205000000000000000006121f2c3945525f6c7885929fabb8ada39c99989898989898989898989898999a9b9c9ea1a9a7aaa9a8a19e9a938e87817a716c605c544b433930271d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131d2020202020202020191816120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919e9a938f8b898a8e92989fa2a39f98928e8a898b8f949f9e9184786c605346392d201306000000000000000006121f2c3945525f6c7885929fabacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a6a6a8a9a8a6aba39f9d9996918d87827c746d68615a504a423931271e150b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000305061013131313131313130c0c0906010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b66727f8c95a09f9b9796979a9fa2a39f98928d86817e7d7e828b939a96887c6f6255493c2f221606000000000000000006121f2c3945525f6c7885929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9e9c9b9a979992908c8984807b756f6a615e5650443f3830271f150c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54606d78839097a1a9a4a3a4aaa39f99928e86807a74717071757e8893988c7f7265594c3f2e23170c000000000000000006121f2c3945525f6c788592939393939393939393939393939393939398929291918f8e8d8b888683807c79736e69625f58524c443e342e261e150d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0d0f11121313131211100e0c0908060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3844515c666f7c8591979c9f9f9e9c98928d87817b746d686463656c74818d9a8f827568544a3f34281c10030000000000000006121f2c3945525f6c788586868686868686868686868686868686868686868585848381807e7c7976736f6d66625f57534e46413a3228231c140c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d101314171a1c1d1f1f20201f1e1d1b181615130f0a0502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2834404a545f6a6f7c858c909292918f8b86807b746e69615e56565a626e7b8896918477665c5044382c1f12060000000000000005121e2b3844515d6973787979797979797979797979797979797979797979787877767573716f6d676663605c54534d47433c3530282017110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1012181d20202326292a2c2c2d2c2c2b29282522211f1b15120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424e585f6a6f7a7f83858685837f7a746e69615e57524c4a535f697884868687796d6053463a2d2013070000000000000003101c2835414c5761696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b6968676462605c555653504a47423c373129251e160e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c1d24292c2d303335373839393939383634322f2e2b26211e1a140e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303c464e585f686d727678797876726e68615e57534d4641424d5768727879797975665c5044382c1f120600000000000000000c1824303b464f575d5f606060606060606060606060606060606060605f5f5e5e5c5b5a585553514b4946443f3837312b262019130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c161b21272c2f35393a3d40424445464646454443413f3c3b37322d2b261f1a140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2a343c464e565d6066696c6c6b6965615e56534d46423b363c455660686b6c6c6c6a5c544a3f34281c1003000000000000000008131f29343d464c51525353535353535353535353535353535353535353525251504e4d4b494745403c3a38342e2b261f1b150d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a111721272c3338394045474a4d4f50525253535251504e4b4947433c3a37312a251f170f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c19222a343c434c5254595d5f5f5e5c5854524c46423b36312a33454e565c5e60605f5e504a42382e23170c000000000000000000020d18222b343b41444546464646464646464646464646464646464646464545444342403e3c3a38342f2d2b28231c1a150f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c232832383d44484b515356595c5d5f5f605f5f5e5c5b5855534e4846423c3631292117110a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071019222a313a4145474c50525352504c4746413b36312a2521333c454b505153535346443f3830261c1106000000000000000000000610192229303538393939393939393939393939393939393939393939393838363534312f2d2c2923201f1c17110e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5855534d46423b3328231c150c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000710181f282f35393a3f43454645433f3b3936302a251f1a212a333a4043454646463a38342e261e150a0000000000000000000000000710181f24282b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2b2928272522201f1c181312100b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615f57534d453f342e261e150c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d161e24292c2d333639393836322e2d2a251e1a140e1821282f3437383939392d2c28231c150c0300000000000000000000000000060d13181c1e1f20202020202020202020202020202020202020201f1f1e1d1b1a18161413100c070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5751443f3830261e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021262a2c2c2b292521201e19140e09030f171d23272a2b2d2d2c201f1c17110a0300000000000000000000000000000002080c1012121313131313131313131313131313131313131313121211100f0d0b090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625b504a423830261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d111314191d1f201f1d191414110e08020000050c12171b1e1e2020201312100c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b726d605c544a42382e23170d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070c10121312100c08070502000000000001070b0f111213131307060300000000000000000000000000000000000000000000000000000000000000000000000000000003070b0d0e1313131313131313120f0a05000000000000000000000000000000000000000000000000000000000000000000000000010507070a0d101112131312110f0d0906050300000000000006060606060606000000000000000000000000000000000000000000000000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99938e867f746d665c544a3f34281f160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080e13171a1a20202020202020201e1b16100901000000000000000000000000000000000000000000000000000000000000000002080d111314171a1d1e1f20201f1e1c1a1613120f0b06000407071313131313131307070501000000000000000000000000000000000000000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a49f98928b81786d665c50443e31281d130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111212131212100e0c0808060200000000000000010406070c101213131211100e0b0a080400000000000000000000000000000000000000000000020b12191f2326272d2d2d2d2d2d2d2d2b27211b130a01000000000000000000000000000000000000000000000000000000000003090e13191d20212427292b2b2c2c2c2b292623201f1b17110d111314202020202020201413110d08020000000000000000000000000000000000000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f938e81786d605a50433a2f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191514120e090400000001080d111314191c1f1f201f1e1d1a171714110c0500000000000000000000000000000000000000010b141d242b303334393939393939393937332c251c130900000000000000000000000000000000000000000000000000000000060b151a1e24292d2e3134363738393938373533302d2b27221b191d202d2d2d2d2d2d2d2d21201d19130c040000000000000000000000000000000000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a59e938d80736c61554b4035291d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e212225282a2b2c2c2c2b2a282522211e1a15100c07040c13191d202126292b2c2c2c2b29272423211c17100800000000000000000000000000000000000008121d262f363c3f414646464646464646433e372e251b100500000000000000000000000000000000000000000000000000020a111720262b3035393a3d404344454646454442403c3937332d2924292c3939393939393939392d29241e160e040000000000000000000000000000000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59d928a7d70675d5145392f24180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c161b1f262a2d2e31353738393939383735322f2e2b261f1c18120d161e24292c2d32363839393838363431302d28221a120800000000000000000000000000000000030e19242f3840474c4d53535353535353534f4940372c21160a000000000000000000000000000000000000000000000000030b141b222731373a4146474a4d505152535352514f4d4946443f38352f35394646464646464646463935302820160c020000000000000000000000000000000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49e9184796d60554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c31363a3b3e4144454546454543413f3b3a37312c29231d1a1f282f35393a3f43454646454443413e3c39332c241a100500000000000000000000000000000007131f2b36404a52585a606060606060605f5a52493e33271b0f0200000000000000000000000000000000000000000000030c151d262d333c42474c5254575a5c5e5e5f5f5f5e5c595653504945403a414553535353535353535346413a32281e1308000000000000000000000000000000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6ada1968c7f73675d5145392c1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151d232832383b4246484b4e505152535252504e4c4847423c38342f27232c313a4145474c4f5252535251504d4a49453e362c22170c0000000000000000000000000000000b1723303c47525c64676c6c6c6c6c6c6c6c645a4f43372b1e1205000000000000000000000000000000000000000000000b151e272f383f444d53565d616467696a6b6c6c6b6a686663605b53514b444c525f606060606060605f524c443a3024190d010000000000000000000000000000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9285796d6053473a2f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e5d5b5855534d474540393128353e434c5154595c5e5f5f5f5e5c5a575550483e33281c110400000000000000000000000000000d1a26333f4c58646e7479797979797979766c5f5346392d20130600000000000000000000000000000000000000000007121d273039414950575f62686d70737677787979787775736f6c65605d554f565d6c6c6c6c6c6c6c6c6c5d564c4135291d1105000000000000000000000000000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1978a7e7164554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d21140800000000000000000000000000010e1a2734414d5a67748086868686868686796c605346392d2013060000000000000000000000000000000000000000000c18232e39424b535b60696e747a7d808384858686858482807c78726d6760595d68767979797979797976685d5246392d20130700000000000000000000000000000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea99c8f8275675d5145392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a00000000000000000000000000010e1a2734414d5a6774808d939393939386796c605346392d201306000000000000000000000000000000000000000004101c2834404b545c656c737b81868a8d8f9191929292918f8c89847f79706b62606d7a868686868686867a6d6154473a2e21140700000000000000000000000000000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f92867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b00000000000000000000000000010e1a2734414d5a6774808d9a9f9f9f9386796c605346392d20130600000000000000000000000000000000000000040e18222c3845515c666d777f878e92989a9c9d9e9f9f9e9d9b9996918c847d726d616e7b87939393939386796c605346392d20130600000000000000000000000000000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea399897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e1100000000000000000000000000010e1a2734414d5a6774808d9aa7ac9f9386796c605346392d201306060606060606000000000000000000000000000a15202c38444f59606d78818c93999fa3aaa9a8aaa29f9e9e9e9fa19e9691877f726d6e7b88959f9f9f928579655b5044372b1f120500000000000000000000000000030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b5ab998c807366594d4033261a070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e110000000000000000000000000002081a2734414d5a6774808d9a9f9f9f9386796c605346392d201313131313131313070704010000000000000000030f1b26323c4854606b74818e939fa4ababa39f9b979892919192939a999d99938b7f726f7c8995a2ab9e9285786b5f493f33271b0f030000000000000000000000000005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8275685b4f422f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e11000000000000000000000003090e13192734414d5a6774808d939393939386796c605346392d2014202020202020201413110d080200000000000006131f2b37434e5863707d89939da5afa8a199928e8a878584848586888c90959e92877d707c8996a3ab9e9185786b5e52452d22170b00000000000000000000000000000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9184776a554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e1100000000000000000000060b151a1e252934414d5a67748086868686868686796c605346392d20212d2d2d2d2d2d2d21201d19130c0400000000000815212e3b47535f6a7683909da5afaaa1969187817d7a79787778797c7f838b919791857a7d8a96a3ab9e9184786b5e5145382b1e0600000000000000000000000000000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facac9f928579675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a0000000000000000020a111720262b3035393a4c58646e7479797979797979766c5f534639292d3939393939393939392c29241e160e04000000000916222f3c4955626f7c88959fabaea29891847c75706d686b6b666d6f73787e8591958e817e8a97a3ab9e9184786b5e5145382b1e1205000000000000000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabaea298867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f22160900000000000000030b141b222731373a4146474a525c64676c6c6c6c6c6c6c6c645a4f433035394646464646464646463935302820160c02000003101c28343f4a546673808c99a7b1ab9f92867c6f6a64615e56545c6062666c717b83919388808d9aa7aa9e9184776b5e5144382b1e1105000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab4aa94877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c201307000000000000030d151d262d333c42474c5254575a5c5e5e606060606060605f504a46413a414653535353535353535345413a32281e1308000006121f2b3844505c667683909da9afa3998c80736a605854524c4a5153545b60696e7a8491938d929da9aa9e9184776b5e5144382b1e1105000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f22140c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b10040000000000010b151f272f383f444e53565e616467696a6b6c6c6b6b696663605c54524c444c525f606060606060605f524c443a3024190d01000713202d3a4653606d7986929facac9f92867a6d61584e4746414044464a50575e686f7c87929a9da4aeaa9e9184776b5e5144382b1e1105000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2e261e170f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b00000000000007121d273139414950575f62686d7073767778797978777573706d66615e5650565d6c6c6c6c6c6c6c6c6c5d564c4135291d1104000815222e3b4855616e7b8898a3aea99c908376685e52463c393634383a3f444d56606a73808d99a3afb7aa9e9184776b5e5144382b1e1105000000000000000000000000000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493f38302921180f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f040000000000000c18232f39434b535b606a6e747a7d808384858686858482807c79736d68615a5d68767979797979797976685d5245392c201307000a1623303d495663707c8996aab4a79a8d807467564c41342d2a282c2d333b444e58616e7b86929facb7aa9e9184776b5e5144382b1e1105000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9aea295887b6f6256504a423b332a21180f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c272119110700000000000004101c2934404b555c656c737b81868a8d8f9191929292918f8d8985807a716c64616d7a868686868686867a6d6054473a2d211407000b1724313e4a5764717d8a97a4b0a5988b7e7265584b3f30251d1c1f2228323d46525e6975828f9ba8b5aa9e9184776b5e5144382b1e1105000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e68605c544d453c332a21170c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f07000000000000040e18222c3845515c676d7780878e92999a9c9d9e9f9f9e9e9c9997928c857e736e616e7b88939393939386796c605346392d201306000b1825323e4b5865717e8b98a4b0a3978a7d7064574a3d312417101217202a36424d5764717e8b97a9b3aa9e9184776b5e5144382b1e1105000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab3a79a8d807a736d665e574e453c33291e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b04000000000000000a15202c38444f59606d79818c939a9fa3aba9a8aaa29f9e9e9e9fa29e97928a80746e6f7b88959f9f9f928579655b5044372b1f1205000c1825323f4b5865727e8b98a5afa296897c6f6356493c30231609060e1a25303b4855626e7b8897a2adaa9e9184776b5e5144382b1e1105000000000000000000000000000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaab7a99d928d867f786e695f574e453b30271c1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e2115080000000000000000030f1b26323c4854606b74818e939fa4acaba39f9b979892919192939a999d9f928d80746f7c8996a2ab9e9285786b5f493f33271b0f03000c1925323f4c5865727f8b98a5afa295897c6f6256493c2f231609000913202d394653606c7985929fabaa9e9184776b5e5144382b1e1105000000000000000000000000000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facafa59e9b98928c837b6e6a5f574d42392e23180c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e211508000000000000000006131f2b37434e5863707d89939da5afa8a199928e8a878584848586888c90959e928b7f727d8996a3ab9e9185786b5e52452d22170b00000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090005121f2b3744505b657784919daaaa9e9184776b5e5144382b1e1105000000000000000000000000000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e938f8b929590847c6e695e544a4034281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e21150800000000000000000815212e3b47535f6a7683909da5afaaa1969187817d7a79787778797c7f838b919792877c7d8a97a3ab9e9184786b5e5145382b1e0600000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900030f1b27333f49536a7683909da9aa9e9184776b5e5144382b1e08020000000000000000000000000006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89b8f817e85909591857b6e665c51443a3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e21150800000000000000000916222f3c4955626f7c88959fabaea29891847c75706d686b6b666d6f73787e85919590837e8a97a4ab9e9184786b5e5145382b1e1205000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900000b17222d424f5c6975828f9ca8aa9e9184776b5e5144382b19140d0801000000000000000000000004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b5ab998c7f737b8390959083786d60564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e2115080000000000000003101c28343f4a546673808d99a7b1ab9f92867c6f6a64615e56545c6062666c717b8391959083909daaaa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090000061c2935424f5c6875828f9ba8aa9e9184776b5e51442e2a251e19130c0400000000000000000000000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7afa399897d706e798390958c7f73685e5246392d20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e2115080000000000000006121f2b3844505c667683909da9afa3998c80736a605854524c4a5153545b60696e7a8491959095a0abaa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e513f38363029241e160d07000000000000000000000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabac9f92867a6d676e7b869292857a6d6154473c32271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e211508000000000000000713202d3a4653606d7986929facac9f92867a6d61584e4746414044464a50575e686f7c87929da0a7b1aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e504a46413b352f281f1910090000000000000000000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adaa9c8f8376675f6973808d988c807366584e43372b1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e211508000000000000000815222e3b4855616e7b8898a3aea99c908376685e52463c393634383a3f444d56606a73808d99a3afb7aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b605c54524c45413a312b231b1209000000000000000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8aea2988b7e726557626e7b88969184776a6054473b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996aab4a79a8d807467564c41342d2a282c2d333b444e58616e7b86929facb7aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e918477706d66615e56524c433d352d241b120800000000000000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facaa9f92867a6d60575f6a78849196887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e211508000000000000000b1724313e4a5764717d8a97a4b0a5988b7e7265584b3f30251d1c1f2228323d46525e6975828f9ba8b5aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8ac9f9286817d79736e68605d564f473f362d241a0f06000000000000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea2988d81746861646c6c75828f988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e211508000000000000000b1825323e4b5865717e8b98a4b0a3978a7d7064574a3d312417101217202a36424d5764717e8b97a9b3aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aea398928e8985807a746d68605950483f362c21180e0300000000000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba69f92867b6e616c70797979818e9a8e8174675b4e4134281b0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e211508000000000000000c1825323f4b5865727e8b98a5afa296897c6f6356493c30231609060e1a25303b4855626e7b8897a2adaa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8b2a8a09e9597928d86807a6f6b625a50483e332a201509000000000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a89f948c7f726964707d8686868e939c8f8376695c504336291d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295897c6f6256493c2f231609000913202d394653606c7985929fabaa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aca09691898d9297928d847d716c625a50463c31261a0f0500000000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a8a0969082786d6064707d8a93939b9e9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090005121f2b3744505b657784919daaaa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e91847c80858b919691877e716c61584e43372b21170b000000000000030e1a26313c44515c666e7a8490959ea5a79f99928e898583828181818385888d92989ea6a59e9691847a6d665c64707d8a979fa8aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900030f1b27333f49536a7683909da9aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e91847774797f858e9392877e716a5f53473e33281c10020000000000000915202834404a545e686e7b838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a09e938f847b6e685e5464707d8a97a3acab9e9184786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900000b17222d424f5c6975828f9ca8aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e918477676d727a818e9392867c6e62594f44392d1e1308000000000000030c18232e39424c565e696e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918a827a6e695e565764707d8a979f9f9f9e9184786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090000061c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b60686d78818e968f82766c6155493a3025190d0100000000000007121c27303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e756d685e574d5764707d8a93939393939184786b5e5145382b1e12000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e211408000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b565d666d798491948a7d7064564c41362a1e1105000000000000000b151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e78716c605d564d4a5764707d8686868686868684786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e211407000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e545c67717e8b998f8275685e5246392d20130700000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a75716d66615a524c434955616c70797979797979797872685c5043372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d201307000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e4b55606d7a869292867a6d6154473a2e2114070000000000000000050e172029313940454f54596063676d70737576787879797978777573706d6764605c545045413a44505a61646c6c6c6c6c6c6c6b6860564b3f33271b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f1306000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e54565d67778390998a7d7064574a3d3124170a000000000000000000050e171f272f353d44484f55555d606366686a6b6c6c6c6c6b6a686663605d5553504a423e35333e48505557606060606060605e5c564e443a2f23170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c1004000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5960636c6c75818e998d8073665a4d4033271a0d00000000000000000000050d151d242933383d44484b515356595b5d5e5960636c6c6c6c64615a514b46443f3830292c363e44494a5353535353535351504b443c32281d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c00000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b606b70797979818d9a8f8275695c4f4236291c0f0000000000000000000000030b121821272c3338394045474a4c49505a626b7078797979716c6155493a38342e261e232c33393c3d4646464646464645433f3a322a20160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d3023160700000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b63707d8686868d929d9083766a5d5043372a1d1000000000000000000000000001070c161c21272c2f35383b434b535b606c717d858686867e7164574a3e3128231c141a22282d3031393939393939393837332f2820180f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d20130700000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b63707d8993939a9d9e9184776b5e5144382b1e110000000000000000000000000000050b10161c232c343c444d555d656c737e8792979083796d6053473a2d2017110a10171c2023242d2d2d2d2d2d2d2b2a27231d160f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f120600000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160905020f1c2935424f5c6875828f9ba8aa9e9184776b63707d89969fa7ab9e9185786b5e5245382b1f120000000000000000000000000000040c151c2328353e464e565e676d77808b929992867b6e675c5145382c1f130600050b10141617202020202020201e1d1b17120c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c100300000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b98a5aca295887c6f6255493c2f22161312090f1c2935424f5c6875828f9ba8aa9e9184776b63707d8996a3acab9e9285786b5f5245382c1f1200000000000000000000000000060d161e262e343f474f585f686e79818d929f938a7e71695f554b4034291c100400000004080a0a1313131313131312110f0b07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b0000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b989f9f9f95887c6f6255493c2f2220201e15151c2935424f5c6875828f9b9f9f9e9184776b63707d89969f9f9f9e9285786b5f5245382c1f12000000000000000000000000070f171f2830383f445159616a6f7a838f939c958e81746c61574d43392f23180c0000000000000000060606060606060504020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c11060000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f8b9393939393887c6f6255493c2f2d2d2d2b22211f2935424f5c6875828f939393939184776b63707d8993939393939285786b5f5245382c1f1200000000000000000000000710182129313a424a505b626b707c8490959e989083796d605a50453c31271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000c1925323f4c5865727f868686868686867c6f6255493c32393939382f2e2b2635424f5c68758186868686868684776b63707d8686868686868685786b5f5245382c1f1200000000000000000000040e18222a333b434c545c606d727d8691969f9f92867b6e675c51483e332a1f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c02000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000b1824313e4a56626d7279797979797979766a5f53473e3f464646453c3b373234414d59656f75797979797979777267606b70797979797979797873685d5044372b1e11000000000000000000000a15202a343c454d565d666d747f879298a19d938a7e71695f554b40362c21180d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b00000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000915222e3a46515b62656c6c6c6c6c6c6c625f584e464a4c535353514847433c343d49545d65686c6c6c6c6c6c6b67605960636c6c6c6c6c6c6c6b6861574c4034281c0f000000000000000000030f1b26323c464e575f686d78808c9399a2a0958e81746c61574d43392f241a0f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c0300000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050006121e29343f495156586060606060606055534e495157596060605e55534e463e35424b54595c6060606060605e5c564f5456606060606060605f5d574f453b2f24180c00000000000000000006131f2b37434e585f696e7a828d929fa4a2989083796d605a50453c31271d120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121c252e363e454d53585f62666a6f717375777878797979787675726f6d66625f58524d453d352c241a10070000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500010d18232d373f464a4c53535353535353494746515b63656c6c6c6b625f584f473f3442494d4f535353535353514f4b44484a5353535353535352504c453d33291e13070000000000000000000815212e3b47535f6a6f7b838f949da4a59f92867b6e675d51483e332a1f150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131c242c333b42464e5355585f626467696a6b6b6c6c6c6b6a686663605c54534e46423b332c231a1208000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000006111b252d343a3e3f464646464646463c3e4a57636d72797979786f6a615951443f383d414246464646464644433f383c3d464646464646464544403b332b21170d020000000000000000000916222f3c4955626f7c85919593939393938a7e71695f554b40362c21180d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a121a212931363c4347484e53575e6165686a6b6c6b6a6965625f5753514b47433c363029201a110800000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000009131b23292e313239393939393939323f4c5965727f868686847c706b625b504a423a31353939393939393837332c2f30393939393939393837342f2921190f06000000000000000000000c1926323f4c5965727f868686868686868681746c61574d43392f241a0f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f171d273039414950585f62696e7275777879787775726e6a626058514a423a32281e170e080000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000010911181e2224252d2d2d2d2d2d2d2e3a4754616d7a84919691867d726d605c544c433b332b2d2d2d2d2d2b2a272022232d2d2d2d2d2d2d2c2b28241e170f0700000000000000000000000b1825313e4a57626d727979797979797979746f645a50453c31271d120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f39434b535b606a6e757b7e828485868584827f7b766f6a605c544c443a30271d12070000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000060d12151819202020202020202d3946525e686f7d87929892877f746d665d554d453d342c241820201e1d1b131617202020202020201f1e1c18130d060000000000000000000000000916222e3a46515b62656c6c6c6c6c6c6c6c67645c53483e332a1f150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414b555c656c727c81878b8f91929292918f8b88827c746d665d564c43392e23180b0200000000000000000000000000000c1925323f4c5865727f8b98a5aca295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000106090b0c1313131313111d2a36414c56606b737f8c9499938b80786d675e574e463e3628231d150c110e07090a1313131313131312110f0c07020000000000000000000000000006121e29353f4951575960606060606060605b58534a41362c21180d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49535c676d777f878e93999b9d9e9f9e9d9c98948f8980786d685d554b4034281d140a00000000000000000000000000000c1925323f4c5865727f8b989f9f9f95887c6f6255493c2f22160900020f1c2935424f5c6875828f9b9f9f9e9184776b5e5144382b1e1105000000000000000000000006060606010d1925303a444f59606c77828f969f928d82796e696058504840342e271e160e050000000606060606060605050300000000000000000000000000000000010d18232d373f464a4c53535353535353534e4c4841382f241a0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e19222b3744505b656d79818c92999fa4aba8a7a7a7a8a8a69f9c928d837a6d675c51453d2f261c1106000000000000000000000000000c1925323f4c5865727f8b9393939393887c6f6255493c2f22160900020f1c2935424f5c6875828f939393939184776b5e5144382b1e11050000000000000000000000000000000008131e29323d44505b656d7a8491999d948f837b6f6a615a51454039302820170f05000000000000000000000000000000000000000000000000000000000007111b252d353a3e3f464646464646464641403c362f261d1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b37434e58606c77818e939fa3a8a09e9b9a9a9a9b9d9fa4a49d958f82796d60594f42382d22170b000000000000000000000000000c1925323f4c5865727f868686868686867c6f6255493c2f22160900020f1c2935424f5c68758186868686868684776b5e5144382b1e110500000000000000000000000000000000020c172027333f49535e686f7d87929f9f9590857c716c635b514b423a322921170d0300000000000000000000000000000000000000000000000000000000000a131b23292e313239393939393939393433302b251d140b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323a47535f6a73808d939ea29f9996918f8e8d8d8e9193999fa29f948e81746b60544a3f33281c0f030000000000000000000000000b1824313e4a56626d7279797979797979766a5f53473b2e21150800020e1b2834414d59656f757979797979797772675c4f43372a1d11040000000000000000000000000000000000050e17222d38414c56606b737f8c949fa09792867e736d605c544c443b33291f14090000000000000000000000000000000000000000000000000000000000010a11181e2225262d2d2d2d2d2d2d2d282724201a130b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58626f7c87929fa098928d8884828180818284868c92979f9d93897d70665b5044382b1f12070000000000000000000000000915222e3a46515b62656c6c6c6c6c6c6c625f584e43372b1f130600000c1925313d49545d65686c6c6c6c6c6c6b6760564b3f33271b0e0200000000000000000000000000000000000006111b262f3a444f59606c77828f96a1a19892887f746d665e564d453b31251a0e02000000000000000000000000000000000000000000000000000000000000070d1216181920202020202020201b1a18140f080100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a76839099a0959186807b777574747475777b7f8590949f9d9184786c605346392e23180c00000000000000000000000006121e29343f495156586060606060606055534e463c32261b0f0300000915212c37424b54595c6060606060605e5c564e44392e23170b00000000000000000000000000000000000000000a141d29323d44505b656d7a849199a3a39a938c81786d685e574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000106090b0c13131313131313130e0d0b0803000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c88949f9791837b736e696867676768686e727a829095a095897d7063544b4034281c10040000000000000000000000010d18232d373f464a4c535353535353534947433c342a20150a00000004101b26303942494d4f535353535353514f4b443c32281d12060000000000000000000000000000000000000000020b172027333f49535e68707d87929fa6a49f938e827a6e695e53463a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576774818d9a9e91857a6e69615f575b5a5a565e61686d7983919d9b8e8275665c5145382c1f130600000000000000000000000006111b252d343a3e3f464646464646463c3b37322a22180e040000000009141e2730373d414246464646464644433f39322a20160c01000000000000000000000000000000000000000000050e17222d38414c56606b737f8c94939393939490847b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0d0f11121313131211100e0c090806030000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111212131212100e0c0808060200000000000000010406070c101213131211100e0b0a08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697885919e968a7e71685f57534d4e4d4e4d52565e676f7c89959f9286796d6053463a2d2013070000000000000000000000000009131b23292e3132393939393939392f2e2b26201810060000000000020c151e262c3134353939393939393837332e2820180e04000000000000000000000000000000000000000000000006111b262f3a444f59606c788286868686868686867e7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000001070d101314171a1c1d1f1f20201f1e1d1b181515120f0a050200000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191514120e090400000001080d111314191c1f1f201f1e1d1a171714110c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8797939184796d60564d474241414141464c55606b7683909398897c6f6256493c2f23160900000000000000000000000000010911181e2224252d2d2d2d2d2d2d22211f1b150e0600000000000000030c141b212528292d2d2d2d2d2d2b2a27231d160e06000000000000000000000000000000000000000000000000000a141d29323d44505b666c767979797979797979716c6155493c3023170a000000000000000000000000000000000000000000000000000000000000000000000000050b1012181d20202326292a2c2c2d2c2c2b29282522211f1b15120e09030000000000000000000000000000000000000000000000000000040a0f141a1e212225282a2b2c2c2c2b2a282522211e1a15100c07040c13191d202126292b2c2c2c2b29272423211c1710080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d868686868174665c50443b37313430363a434f5966737f868686867f7265584c3f3225190c000000000000000000000000000000060d12151819202020202020201615130f0a0400000000000000000002091015191b1c2020202020201e1d1b17120c040000000000000000000000000000000000000000000000000000020b172028333f4a545b60696c6c6c6c6c6c6c6c64615a5045392d21140800000000000000000000000000000000000000000000000000000000000000000000040a0f161c1d24292c2d303335373839393939383634322f2e2b26211e1a140e09020000000000000000000000000000000000000000000000070c161b1f262a2d2e31353738393939383735322f2e2b261f1c18120d161e24292c2d32363839393838363431302d28221a120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c7079797979746f64544a3f322b2627252a313d4b57636d7379797979726d62564a3e3125180b000000000000000000000000000000000106090b0c13131313131313090806030000000000000000000000000004090c0e0f13131313131311110e0b060100000000000000000000000000000000000000000000000000000000050e17222d38424a50535c6060606060606060575550483e33281c1104000000000000000000000000000000000000000000000000000000000000000000060c161b21272c2f35393a3d40424445464646454443413f3c3b37322d2a251f19140d050000000000000000000000000000000000000000030b121821272c31363a3b3e4144454546454543413f3b3a37312c29231d1a1f282f35393a3f43454646454443413e3c39332c241a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c67645d5342382e201a1a191f2f3b46525b63666c6c6c6c65625b51463a2e2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f383f44464f53535353535353534a49453e362c22170c0000000000000000000000000000000000000000000000000000000000000000030a111721272c3338394045474a4d4f50525253535251504e4b4847433c3a36312a251f170e06000000000000000000000000000000000000040c151d232832383b4246484b4e505152535252504e4c4847423c38342f27232c313a4145474c4f5252535251504d4a49453e362c22170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e48505557606060605b59534b4130261c0e090d1e2a35404952575960606060585651493f34291e120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d3338394346464646464646463e3c39332c241a100500000000000000000000000000000000000000000000000000000000000000040c151c232832383d44484b515356595c5d5f5f605f5f5e5c5b5855534e4846423b3630292017110a02000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e5d5b5855534d474540393128353e434c5154595c5e5f5f5f5e5c5a575550483e33281c1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a535353534e4c4841382f1e140a020d19242e3740464b4c535353534c4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c22282b2d36393939393939393931302d28221a120800000000000000000000000000000000000000000000000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5854534d46423b3228221c140b0200000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a242c33393c3d4646464641403c362f261d0c020007121c252e353b3e40464646463f3e3a342d251b110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f20292d2d2d2d2d2d2d2d2423211c17100800000000000000000000000000000000000000000000000000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615e57524d443f332d261d140b0200000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121a22282d3031393939393433302b251d140b0000000a131c242a2f32333939393932312e29231b130900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131c2020202020202020171714110c0500000000000000000000000000000000000000000000000000000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5650443f382f261d140a0000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d282724201a130b02000000010a12191e2325262d2d2d2d2525221e181109010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306061013131313131313130b0a080400000000000000000000000000000000000000000000000000000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625a504a42382f261c1106000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10141617202020201b1a18140f0801000000000000070d1316191920202020191816120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b716c605b544a42382d22170d03000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a131313130e0e0b080300000000000000000002070a0c0d131313130c0b090601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809131313131313130b0a0805000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99928e867e746c665b544a3f33281f150b01000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151620202020202020181715110c060000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a39f98928b80786c665b50443d31271d120700000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070a0d101112131312110f0d0a0706030000000000000606060606060600000000000000000000000000000000000000000000000000000000000000000003060809131313131313130b0a080500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b1f21222d2d2d2d2d2d2d2524211d1711090000000000000000000000000000000000000000000000000000000000000000000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f928d81786c60594f43392f23180c00000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314171a1d1e1f20201f1e1c1a161312100c06000507071313131313131307070401000000000000000000000000000000000000000000000000000000040a0f13151620202020202020181714110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f3939393939393931302d29221b12090000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a49d938c80736b60554b4034291d120700000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13191d20212427292b2b2c2c2c2b292723201f1c17110d111314202020202020201413110d0802000000000000000000000000000000000000000000000000070f161b1f22232d2d2d2d2d2d2d2423211d1710080000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222a32373b3c464646464646463e3d39342d241b11060000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59f93887d70675c5145392e23180c00000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b151a1e25292d2e3134363738393938383633302d2c28231c191d20212d2d2d2d2d2d2d21201d19130c040000000000000000000000000000000000000000000007101920272b2e2f3939393939393931302d28221a1208000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c434749535353535353534b49453e362d22170c000000000000000000000000000000000000000000000000000000000000000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49a9184796d60544b4034281c100400000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a111720262b3035393a3d404344454646454442403d3a38342e2a25292d3939393939393939392c29241e160e040000000000000000000000000000000000000000040f19222b32383b3c464646464646463e3d39332c241a10060000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e535560606060606060585650483e34291d1105000000000000000000000000000000000000000000000000000000000000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6aca0968c7f72665c5145382c1f13070000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b141b222731373a4146474a4d505152535352514f4d4946443f38363035394646464646464646463935302820160c02000000000000000000000000000000000000000a16202b343d434749535353535353534b49453e362c22170c000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f626c6c6c6c6c6c6c64625a5045392d211508000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9184796d6053463a2e23180c0000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d151d262d333c42474c5254575a5c5e5e5f5f5f5e5c5a5653504a46413a414653535353535353535345413a32281e1308000000000000000000000000000000000000030f1b27323d464e545660606060606060575550483e33281d1105000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a7679797979797979716c6256493d3024170a00000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1968a7d7164544b4034281c100400000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c2721191107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f272f383f444e53565e616467696a6b6c6c6b6b696663605c54524c444c525f606060606060605f524c443a3024190d01000000000000000000000000000000000006131f2b38434e5860626c6c6c6c6c6c6c64615a5045392d211408000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c868686868686867e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea89b8e8275665c5145382c1f130600000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273139414950575f62686d7073767778797978777573706d66615e5650565d6c6c6c6c6c6c6c6c6c5d564c4135291d110400000000000000000000000000000000000815222e3b4754606a6f79797979797979716c6155493d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8893939393938b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f9286796d6053463a2d20130700000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f39434b535b606a6e747a7d808384858686858482807c79736d68615a5d68767979797979797976685d5245392c20130700000000000000000000000000000000000916232f3c4956626f7c868686868686867e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c88959f9f9f978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea298897c6f6356493c3023160900000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b555c656c737b81868a8d8f9191929292918f8d8985807a716c64616d7a868686868686867a6d6054473a2d21140700000000000000000000000000000000000916232f3c4956626f7c8993939393938a7e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2aca4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b4aa998c7f7266594c3f3326190700000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222c3845515c676d7780878e92999a9c9d9e9f9f9e9e9c9997928c857e736e616e7b88939393939386796c605346392d20130600000000000000000000000000000000000916232f3c4956626f7c89959f9f9f978a7e7164574b3e3124180b000003050606050503010000000000000000000000000000000000000000000000000000000916222f3c4955626f7c88959f9f9f978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8175685b4e422e23180c00000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202c38444f59606d79818c939a9fa3aba9a8aaa29f9e9e9e9fa29e97928a80746e6f7b88959f9f9f928579655b5044372b1f120500000000000000000000000000000002050916232f3c4956626f7c8995a2aca4978a7e7164574b3e3124180b070c101213131211100e0b0a080400000000000000000000000000000000000000000000050b16222f3c4955626f7c8893939393938b7e7164584b3e3125180e09030000000000000000000000000000000000000000000000000000000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9083776a554b4034281c1004000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c4854606b74818e939fa4acaba39f9b979892919192939a999d9f928d80746f7c8996a2ab9e9285786b5f493f33271b0f030000000000000000000000000003090e121416232f3c4956626f7c89959f9f9f978a7e7164574b3e3124181314191c1f1f201f1e1d1a171714110c05000000000000000000000000000000000000040a0f161c222f3c4955626f7c868686868686867e7164584b3e31251e1a140e0903000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facab9f928578675c5145382c1f13060004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5863707d89939da5afa8a199928e8a878584848586888c90959e928b7f727d8996a3ab9e9185786b5e52452d22170b000000000000000000000000040a0f141a1e2122252f3c4956626f7c8993939393938a7e7164574b3e31241d202126292b2c2c2c2b29272423211c17100800000000000000000000000000000000060c161b21272c2f3b47535f6a7679797979797979716c6256493d322d2b261f1a140d050000000000000000000000000000000000000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabada29786796d6053463a2d20130700010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a7683909da5afaaa1969187817d7a79787778797c7f838b919792877c7d8a97a3ab9e9184786b5e5145382b1e060000000000000000000000070c161b1f262a2d2e31353c4956626f7c868686868686867e7164574b3e3124292c2d32363839393838363431302d28221a120800000000000000000000000000030a111721272c33383940454e585f626c6c6c6c6c6c6c64625a5047433c3a37312a251f170f0600000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab3a994877b6e6154483b2e21150800000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c88959fabaea29891847c75706d686b6b666d6f73787e85919590837e8a97a4ab9e9184786b5e5145382b1e12050000000000000000030b121821272c31363a3b3e41444754606a6f79797979797979716c6155493d302f35393a3f43454646454443413e3c39332c241a10050000000000000000000000040c151c232832383d44484b515356595c606060606060605c5b5855534e4846423c3631292117110a030000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f221508000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546673808d99a7b1ab9f92867c6f6a64615e56545c6062666c717b8391959083909daaaa9e9184776b5e5144382b1e110500000000000000040c151d232832383b4246484b4e50514e5860626c6c6c6c6c6c6c64615a504539313a4145474c4f5252535251504d4a49453e362c22170c00000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5855534d46423b3328231c150c0300000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2f2216090000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667683909da9afa3998c80736a605854524c4a5153545b60696e7a8491959095a0abaa9e9184776b5e5144382b1e1105000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e60606060606060575550483e353e434c5154595c5e5f5f5f5e5c5a575550483e33281c11040000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615f57534d453f342e261e150c02000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493c2f23160900000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facac9f92867a6d61584e4746414044464a50575e686f7c87929da0a7b1aa9e9184776b5e5144382b1e11050000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d21140800000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5751443f3830261e140a000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9afa295887c6f6255493c2f221609000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8898a3aea99c908376685e52463c393634383a3f444d56606a73808d99a3afb7aa9e9184776b5e5144382b1e1105000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a0000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625b504a423830261c11060000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e6255483b2f2215080000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996aab4a79a8d807467564c41342d2a282c2d333b444e58616e7b86929facb7aa9e9184776b5e5144382b1e110500000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b726d605c544a42382e23170d0400000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab4aa94887b6e6155483b2e22150800000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5988b7e7265584b3f30251d1c1f2228323d46525e6975828f9ba8b5aa9e9184776b5e5144382b1e1105000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e110000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99938e867f746d665c544a3f34281f160c01000000000000000000000000000000000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaaaea398877a6d6054473a2d2114070000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b0a3978a7d7064574a3d312417101217202a36424d5764717e8b97a9b3aa9e9184776b5e5144382b1e110500000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e11000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a49f98928b81786d665c50443e31281d1307000000000000000000000000000000000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facac9f928579675d5145392c2013060000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5afa296897c6f6356493c30231609060e1a25303b4855626e7b8897a2adaa9e9184776b5e5144382b1e11050000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e1100000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f938e81786d605a50433a2f24180d010000000000000000000000000000000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e9184776b554b4135291d110400000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295897c6f6256493c2f231609000913202d394653606c7985929fabaa9e9184776b5e5144382b1e1105000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e110000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a59e938d80736c61554b4035291d120700000000000000000000000000000006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89c8f8275695c4f422f24180d010000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090005121f2b3744505b657784919daaaa9e9184776b5e5144382b1e1105000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59d928a7d70675d5145392f24180c00000000000000000000000000000004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b1a69a8d8073675a4d4034271a0700000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900030f1b27333f49536a7683909da9aa9e9184776b5e5144382b1e110500000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f22160900000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49e9184796d60554b4035291d10040000000000000000000000000000000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7b1a7978a7d7164574a3e3124170b0000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900000b17222d424f5c6975828f9ca8aa9e9184776b5e5144382b1e110500030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c2013070000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6ada1968c7f73675d5145392c1f13070000000000000000000000000000000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabaca095877a6e6154473b2e211408000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090000061c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b10040000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9285796d6053473a2f24180c0000000000000000000000000000000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adab9d908377685e5246392d201407000000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b00000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1978a7e7164554b4035291d1004000000000000000000000000000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8afa4998c7f7366564d41362a1e1105000000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f040000000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea99c8f8275675d5145392c1f13060000000000000000000000000000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facab9f93877b6e6155483b3025190e02000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c2721191107000000000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f92867a6d6053473a2d2014070000000000000000000000000000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea4998f8275695f53463a2d1f1408000000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d30231607000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f0700000000000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea399897d7063564a3d3023170a00000000000000000000000000000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba79f93877c6f62574d42362a1e0d020000000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b040000000000030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b5ab998c807366594d4033261a07000000000000000000000000000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a9a0958d80746a5f53453b31261a0e000000000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e2115080000000000000005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8275685b4f422f24180d0100000000000000000000000000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a9a1979183796d60584e4333291f14090000000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e211508000000000000000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9184776a554b4035291d1004000000000000000000000000000000030e1a26313c44505c666e7a8490959da5a79f99928e898583828181818385888d92989ea6a69f9791857c6e675d51463c3221170d0300000000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e211508000000000000000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facac9f928579675d5145392c2013060000000000000000000000000000000009152028343f4a545e686e7a838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a19e948f857c6f6a5f554b40342a200f060000000000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e211508000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabaea298867a6d6053473a2d20140700000000000000000000000000000000030c17232e38424c565e686e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918b827a6f6a5f574e43392f22180e00000000000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e211508000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab4aa94877b6e6154483b2e211508000000000000000000000000000000000006111c26303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e776e685f584e453c31281d100600000000000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e211508000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f22140c0500000000000000000000000000000000000a151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e79716c655e564e463c332a1f160c000000000000000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e211508000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2e261e170f0600000000000000000000000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a76716d66605b534c443c342a21180d040000000000000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e211508000000000000000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493f38302921180f0600000000000000000000000000000000050e1720313a434a4e4f54596063676d70727576787879797878777573706d6864605c5450494140382f22180f0600000000000000000000000000000009121c252e373f454d53585f62666a6f717375777878797979787675726f6d66625f58524d514c463d34291f1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e211508000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9aea295887b6f6256504a423b332a21180f050000000000000000000000000000000a16222d38434d555b5d606060555d606366686a6b6c6c6c6c6b6a686663605d566060605a58524a40362b1f130700000000000000000000000000000005111d29343f49515658606060585f626467696a6b6b6c6c6c6b6a686663605c546060605f5d574f463b3024180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e211508000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e68605c544d453c332a21170c0300000000000000000000000000010d1a26323e4a555f666a6c6c6c6c64615a595b5d5e5f5f5f5f5e5d5c535b60666c6c6c6c67645c52473c3023170b0000000000000000000000000000000915222e3a45515b62656c6c6c6c67605c555c5d5e5f5f5f5f5e5d5b595960636b6c6c6c6c6961574c4135281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e211508000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab3a79a8d807a736d665e574e453c33291e150b0000000000000000000000000003101c2936424e5b66717679797978716c605c544d5252535352524f565e656c7279797979746e64584c3f33261a0d0000000000000000000000000000000b1824313d4a56626d7279797979746d675f57505152535352514c535b606b6f787979797873695d5144382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e211508000000000000000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaab7a99d928d867f786e695f574e453b30271c120700000000000000000000000004101d2a3743505d6a7683868686857e746d665f57504540424a505960686d777f868686868074675a4d4134271a0e0100000000000000000000000000000c1825323f4b5865727e8686868681796e69615a514b433f444e565e656c727d8486868685786c5f5245392c1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e211508000000000000000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facafa59e9b98928c837b6e6a5f574d42392e23180c020000000000000000000000000a1623303d495663707d879298928a80786e69615a514b4d545b606b707a828c929891857b6e6154483b2e2115080000000000000000000000000000000714202d3a4753606d79839097928d837b716c605d554e49505860686d777f879196928b7e7165584b3e3225180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e211508000000000000000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e938f8b929590847c6e695e544a4034281e13080000000000000000000000000916222f3b4854606b717e8b929f928d837b706c605c54565e666c737d858f949a92867c6f695e52463a2d2014070000000000000000000000000000000613202c3945515d676e7b8591989590867e746d675f58535b606a6f7a828c9299938d80736c6256493d3024170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e2115080000000000000006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89b8f817e85909591857b6e665c51443a3025190d0100000000000000000000000713202c38444f59626c73808d949d9590857e746d665f60686e78808791979f93887e716a60574d42362a1e120500000000000000000000000000000004101d2935404b555e696f7c86929a98928a81796f6a625d656c727c848f949f958f82786c605a5045392d211506000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e2115080000000000000004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b5ab998c7f737b8390959083786d60564c4135291d1105000000000000000000010710192029303d47505a606c78828f959f97928a80786e696b707a828c93999e938c7f736c61584e453b30251a0e02000000000000000000000000000000010d18242f39434d57606a717e88939f9f938e837c716c686d777f8791969e979083796d665b50483f312a2217110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5aca295887c6f6255493c2f22160900040f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e21150800000000000000000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7afa399897d706e798390958c7f73685e5246392d20150a0000000000000000030b1218222b323b424a51535b666d79839097a19f928d837b71737d858f949f9f948e81756d635a50463c33291f1409000000000000000000000000000000000007121d28313b454e58616c737f8c939e9d9591867e75707a828c9299a19891857b6e675d54514c433c3428231c140c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b989f9f9f95887c6f6255493c2f2216090b10131c2935424f5c6875828f9b9f9f9e9184776b5e5144382b1e1105000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e21140800000000000000000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabac9f92867a6d676e7b869292857a6d6154473c32271b0f03000000000000050d151d2429343d444c545c60676c676e7b859198a39d9590857d808892979fa1969082796d605b51483e342b21170d020000000000000000000000000000000000010c161f29333d46505a636d75818e959fa098928b817d848f949fa39a92867c6f696c68605d554e463e342e261e160e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b9393939393887c6f6255493c2f22160f161c20222935424f5c6875828f939393939184776b5e5144382b1e110500000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e21140700000000000000000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adaa9c8f8376675f6973808d988c807366584e43372b1f13060000000000080f171f272f353f464f565e666d74797979787c86929aa49f97928a8d939aa1a29891847a6d675c514940362c22190f0500000000000000000000000000000000000000040d17212b343e48515b606d79839096a1a29f938e8991969ea59f93887e77797979756d675f5850443f3830282019100900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f868686868686867c6f6255493c2f22171b1f272c2f3035424f5c68758186868686868684776b5e5144382b1e11050000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d201307000000000000000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8aea2988b7e726557626e7b88969184776a6054473b2e2215080000000008111a212931394045515960686e788086868685797e88939fa5a29f97999fa4a39992867c6f685e554b40372e241a1007000000000000000000000000000000000000000000050f19222c364045515c676d7a849198a2a59e9b969ea1a79e938c7f778386868682796e6a615a504a423a322b221b120a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4a56626d7279797979797979766a5f53473b2e2122272b33383c3d41444d59656f757979797979797772675c4f43372a1d11040000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f13060000000000000000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facaa9f92867a6d60575f6a78849196887c6f6255493c2f22160900000008111a232c333b434b515b626b6f7a828d92958c7f72737f8c939ea79f9f9f9fa49f92877d706a5f564c43392e251c1208000000000000000000000000000000000000000000000007101a242834404b555e686f7c869299a39f9f9f9fa89f958e8175707d8a94938f847c716c605c544c443d342d241c130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3a46515b62656c6c6c6c6c6c6c625f584e43372b272d33373d4448494e5152545d65686c6c6c6c6c6c6b6760564b3f33271b0e020000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c10040000000000000000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea2988d81746861646c6c75828f988b7f7265584c3f3225190c000005101a232c353d454d555d606d727d8590949d9184786d6d75818e95939393939393928b7f726b61584e443a30271d130a00000000000000000000000000000000000000000000000000081218232e39434c565f6a707d8792939393939393969083796d6b75828f999691867e736d665e564e463f362d251c1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e29343f495156586060606060606057554f473e332d33383f44464f54565a5e5f5f5e5b5c6060606060605e5c564e44392e23170b000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c0000000000000000000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba69f92867b6e616c70797979818e9a8e8174675b4e4134281b0e00000b17222c363e474f575e676d747f8791979e94897d7066606d7983868686868686868680746d62594f463c32291e150b01000000000000000000000000000000000000000000000000000007121d27303a444e58616b727f8686868686868686847a6d67626e7b87929f98928a80786d68605850483f372d23180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18232d373f464a4c525c64676c6c6c6361594f4438383f44495053596063676a6c6c6b67626058504a5353514f4b443c32281d12060000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d3023160700000000000000000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a89f948c7f726964707d8686868e939c8f8376695c504336291d100004101c28333e48505960696e79818b9299a1988f82756b605c676d767979797979797979746e645b51473e342a20170c03000000000000000000000000000000000000000000000000000000000b151e29323c464f59626d727979797979797979786d685e5f6973808d97a19f928d827a6f6a625a51493f352a1e1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b252d343a3f4c58646e74797979706b6155483e414950535b60646b707477797977746f6a605c544a3f44433f39322a20160c0100000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d201307000000000000000000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a8a0969082786d6064707d8a93939b9e9d9083776a5d5044372a1d11000814202d3944505a616b707b838e939fa39f92867b6e6159555c606a6c6c6c6c6c6c6c6c67645c53493f352c22180e050000000000000000000000000000000000000000000000000000000000030c17202a343e47515b62656c6c6c6c6c6c6c6c6b615e5657606d7a85919ea49d948f847c716c635b51463a2e22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b232934414d5a6774808686867d7063564c4a4f535b60656c71777d8184858584817c746d665c50443e2f332e2820180e040000000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f12060000000000000000000000030e1a26313c44515c666e7a8490959ea5a79f99928e898583828181818385888d92989ea6a59e9691847a6d665c64707d8a979fa8aa9e9184776b5e5144382b1e11000a1623303c4955616c707d859095939393968d8073695f534b51535d60606060606060605a58534a41372d231a100600000000000000000000000000000000000000000000000000000000000000050e18222c353f4951565860606060606060605e54524c515d67717e8b959393939691867e726d63574a3e3125180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109111925323f4c5865727f8b938d8074685d55575961656c71787d83898d919292918e8780786d605a5041382d22170b0e060000000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c10030000000000000000000000000915202834404a545e686e7b838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a09e938f847b6e685e5464707d8a97a3acab9e9184786b5e5145382b1e12000a1724313d4a5764707d878686868686868684796d60574d4245475053535353535353534e4c4841382f251b110800000000000000000000000000000000000000000000000000000000000000000006101a232d373f464a4c5353535353535353514746414b55606c778386868686868686867f7265594c3f3226190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d899a92857a6d676363666b70787e848a90959a9d9f9f9e9a938d81756c6153493f33271b0f030000000000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b00000000000000000000000000030c18232e39424c565e696e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918a827a6e695e565764707d8a979f9f9f9e9184786b5e5145382b1e12000a1623303c4955616c707979797979797979786d675d51453c383a43464646464646464641403c362f261d1309000000000000000000000000000000000000000000000000000000000000000000000008111b252d343a3e3f4646464646464646453a393a44505b656c767979797979797979726d63574a3e3125180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8693978f827972707072777d838a91959da0a7a5a3a3aca49f938a7e71655b5044372b1f12050000000000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c1106000000000000000000000000000007121c27303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e756d685e574d5764707d8a93939393939184786b5e5145382b1e12000814202d3944505a61646c6c6c6c6c6c6c6c6b605d554b40332c2d3739393939393939393433302b251d140b0100000000000000000000000000000000000000000000000000000000000000000000000009131b23292e31323939393939393939382e2d333f49535b606a6c6c6c6c6c6c6c6c65635b51463a2e22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687783909d948f847f7d7d7f848a90959da0a79f9d9896979a9fa29e9184786c605346392d201308000000000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a000000000000000000000000000000000b151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e78716c605d564d4a5764707d8686868686868684786b5e5145382b1e120004101c28333e4850555760606060606060605e53514b433a2f21202a2d2d2d2d2d2d2d2d2727241f1a130b0200000000000000000000000000000000000000000000000000000000000000000000000000010911181e2225252d2d2d2d2d2d2d2d2b21222d38414950535d6060606060606060595751493f352a1e1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5666737f8c989e96918c8a8a8c91959da0a69f9c95908b8a8a8d9297a096897d7063564a3d3024190d010000000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c0200000000000000000000000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a75716d66615a524c434955616c70797979797979797872685c5043372a1d1100000b17222c363e44494a5353535353535353524745403a31281d141d20202020202020201b1a18140f080100000000000000000000000000000000000000000000000000000000000000000000000000000000070d1216181920202020202020201e141b262f383f44465053535353535353534c4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303b4754616e7b86929fa09e999696999da0a7a09d949089837f7d7d808591969a8d807467564c4135291d1105000000000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b000000000000000000000000000000000000050e172029313940454f54596063676d70737576787879797978777573706d6764605c545045413a44505a61646c6c6c6c6c6c6c6b6860564b3f33271b0f000005101a232c33393c3d4646464646464646453a39352f281f160c1013131313131313130e0d0b0803000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c1313131313131313120a141d262d3337394346464646464646463f3e3a352d251c1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3a46525e69727f8c949ea5a5a3a3a5a69f9c95908a837c76727070737b84919a918477685d5246392d2013070000000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c0300000000000000000000000000000000000000050e171f272f353d44484f55555d606366686a6b6c6c6c6c6b6a686663605d5553504a423e35333e48505557606060606060605e5c564e443a2f23170b00000008111a22282d30313939393939393939382d2c29241d160d040406060606060606060101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060606060606060605020b141b22272b2d37393939393939393932312e2a231c130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36424d57606d78828f939b9e9f9f9d9a94908a837d766f6b656364696f7c879395877a6d6154473a2e211407000000000000000000000009121c252e363e454d53585f62666a6f717375777878797979787675726f6d66625f58524d453d352c241a1007000000000000000000000000000000000000000000050d151d242933383d44484b515356595b5d5e5f5f5f5f5e5d5c595754514b46443f3830292c363e44494a5353535353535351504b443c32281d1207000000000810171c2023242d2d2d2d2d2d2d2d2b20201d18130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f202a2d2d2d2d2d2d2d2d2625221e18110a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25303b44515c666d79818a8e919292908d89837d77706b6360595757606a76839093897c6f6356493c302316090000000000000000000000000a131c242c333b42464e5355585f626467696a6b6b6c6c6c6b6a686663605c54534e46423b332c231a12080000000000000000000000000000000000000000000000030b121821272c3338394045474a4c4f50525253535252504f4d4a4745413a38342e261e232c33393c3d4646464646464645433f3a322a20160c010000000000050b1014161720202020202020201f1413110d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131d2020202020202020191816120d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2834404a545c676d757d8284868584807c76706b636159544f4a4e5866737f8686867e7165584b3e3225180b000000000000000000000000010a121a212931363c4347484e5355585a5c5d5e5f5f5f5f5e5d5b595653514b47433c363029201a11080000000000000000000000000000000000000000000000000001070c161c21272c2f35383a3d4042434545464646454442403d3a39352f2b28231c141a22282d3031393939393939393837332f2820180f05000000000000000004080a0a1313131313131313120706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000305061013131313131313130c0c090601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c18232e39424b555c606b707578797877746f6b636159554f48443d4b57636d73797979716c62564a3d3124170b0000000000000000000000000000080f171f252a31373a3c4347484b4d4f51515253535251504e4c494645403937322a251f170e0800000000000000000000000000000000000000000000000000000000050b10161c1d24292c2d30333537383939393938373533302d2c29241f1c17110a10171c2023242d2d2d2d2d2d2d2b2a27231d160f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c273039434b51596163686b6c6c6a67636059554f48443e383b46525b63666c6c6c65625a50453a2e211509000000000000000000000000000000050d141a20262b2e31373a3c3e40424445454646464543423f3c3a38342e2b26201a140d0500000000000000000000000000000000000000000000000000000000000000050b1012181d1f202326282a2b2c2c2c2c2b2a29262421201d1813100b0600050b10141617202020202020201e1d1b17120c05000000000000000000000000000000000000000000000000000000000000000000000000020507080f111213131312100e0a060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e27303940454f55575b5e5f5f5d5a56544f48443e38332c354049525759606060585650483f34291d11050000000000000000000000000000000003090e151a1f21262b2e2f31343637383839393938373533302d2c28231d1b150e09020000000000000000000000000000000000000000000000000000000000000000000001070c10131417191c1d1f1f20201f1f1d1c1a171413110d0703000000000004080a0a1313131313131312110f0b0701000000000000000000000000000000000000000000000000000000000000000000000002090e1114141c1d1f1f20201f1d1a1613120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151e272e343e44484a4f515352514d4948433d38332c28242e3740464b4c5353534b4a453f362d22170c01000000000000000000000000000000000000030a0f12151b1f21222527292a2b2c2c2c2c2b2a282623201f1c18120f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0d0f10121213131312110f0d0a0706040100000000000000000000000606060606060605040200000000000000000000000000000000000000000000000000000000000000000000000000050d14191e2021282a2b2c2d2c2b2a2723201f1c17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151d232833383c3d4245464544413c3b38322c28211c1c252e353b3e404646463e3d3a342d241b110600000000000000000000000000000000000000000002060a0f121515181a1c1e1e1f20201f1e1d1b19161313100c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e353738393939383634302d2b28221c140b0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821282c2f30353839393734302f2c27211c1610131c242a2f323339393932312e29221b120900000000000000000000000000000000000000000000000000030608090b0d0f11121213131312100f0c090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0d0f11121313131211100e0c090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202930363a3b4244454646464543413d3938332d261d19130c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c161c202324282b2c2c2a2723221f1b16100b050a12191e2325262d2d2d2524211d171109000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d101314171a1c1d1f1f20201f1e1d1b181615130f0a0502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29323b4246474f505252535352504d4946443f382f2a251e170e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416171c1e201f1e1a1615130f0a04000000070d13161919202020181715110c060000000000000000000000000000000000000000000000000000000000000000030608090c0e10111213131212110f0d0b080705020000000000000000000000000000000000000000000000000000000000000000000000050b1012181d20202326292a2c2c2d2c2c2b29282522211f1b15120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303b444d52545b5d5e5f605f5e5d5a5653504a423e36302920180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0f121312110e0909070300000000000002070a0c0d1313130b0b09050100000000000000000000000000000000000000000000000000000000000002050a0f121515181b1d1e1f20201f1f1e1c1a181514120e090501000000000000000000000000000000000000000000000000000000000000040a0f161c1d24292c2d303335373839393939383634322f2e2b26211e1a140e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36424d565e61686a6b6c6c6c6b696763605b545046413a322a21180f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12151b1f21222528292b2c2c2c2c2b2b29272521201e1a14110d0802000000000000000000000000000000000000000000000000000000060c161b21272c2f35393a3d40424445464646454443413f3c3b37322d2b261f1a140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e696e757778797979787674706c66615a524c443c332a21170d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a131313131313130a0907040000000000000000000000000000000000000000000000000000000000000000000000000002080d141a1e20262b2e2f323436383939393938373633312e2d2a25201d19130d08020000000000000000000000000000000000000000000000030a111721272c3338394045474a4d4f50525253535251504e4b4947433c3a37312a251f170f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b8183858586868583807c78716c615e564d453c33291f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161720202020202020161613100b0400000000000000000000000000000000000000000000000000000000000000000000050d13191f252a2d31373a3c3f41434445464645454442403e3b3a36302d29251e19130c04000000000000000000000000000000000000000000040c151c232832383d44484b515356595c5d5f5f605f5f5e5c5b5855534e4846423c3631292117110a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c88909192939291908d89847e756d685f574d453b31281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2322201b160f070000000000000000000000000000000000000000000000000000000000000000060e171e252a30363a3c4347484b4e50515253535252514f4d4b4846423b39353029241e160e0700000000000000000000000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5855534d46423b3328231c150c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c88959e9f9f9f9e9c9a95918a827a6e695f574d433a2f24190d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d303139393939393939302f2c27211911070000000000000000000000000000000000000000000000000000000000020a1117202930363b4246484e5355585b5c5e5f5f5f5f5e5e5c5a5854524d4746413a353028201911090100000000000000000000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615f57534d453f342e261e150c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c88959e9e9fa3aba9a8a09d948f847b6e695e554c41352920160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33393c3d464646464646463d3b38322b23190f04000000000000000000000000000000000000000000000000000000020b141b2227323a41464d5254585f626567696b6c6c6c6c6b6a696664615e5754524c46413a322b231b1309000000000000000000000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5751443f3830261e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c889291919299999ea1a9a69e9691847b6e675d51453e32281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a535353535353534948443d352b21160b0000000000000000000000000000000000000000000000000000020b141d262d333e444c52575e61666a6f727476777879797878777573716e6966615e56524c443d352d251b1309000000000000000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625b504a423830261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8685858586888c92979da4a8a0969184796d605a50443a2f24190d0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e485055576060606060606056544f473d32271b1004000000000000000000000000000000000000000000000000000a141d262f383f4450565e61696e73777b7e81838485868685858482807e7b77736d68615d564f473f372d251b1108000000000000000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b726d605c544a42382e23170d04000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d787a787878797b7f858d929fa4a9a0968e81756c61564c4135291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6360594f44382c20130700000000000000000000000000000000000000000000000006111b262f384149505a61686d747b8084888b8e8f919292929291918f8d8b87837f7a736d68605951493f372d231a0e0400000000000000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99938e867f746d665c544a3f34281f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c666d6d676b656c6f737a808b939aa4a89e938a7e71685d52453b3025190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c7079797979797979706b6054483b2f2216090000000000000000000000000000000000000000000000030c17222d384149535b606c717a81868d9196989a9c9e9f9f9f9f9e9d9c999795908c86807a706b625b51493f352c20160c0200000000000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a49f98928b81786d665c50443e31281d130700000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a545c60605d555b6062676d747e88939fa5a59e91857a6d60564d42362a1e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d868686868686867d706356493d3023160a00000000000000000000000000000000000000000000000b151e27333f49535b656c737e858e92999ea0a8a9a19e9d9c9b9c9d9fa2aaa7a09d98928d847d726d625b51473e32281e13080000000000000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f938e81786d605a50433a2f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424a515353514b5053555d606c727f8b939ea8a1978d8073695e52463a3025190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a9393939393897c706356493d3023160a0000000000000000000000000000000000000000000007121d27303944505b656c77808a92979fa3a8a19e999792908f8f8f909298999da0a7a29f9691877f726d62594f443a3024190d020000000000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a59e938d80736c61554b4035291d120700000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303940444647454044464b515a626d74818e96a1a99f92867b6e61564c41362a1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f96897c706356493d3023160a000000000000000000000000000000000000000000000c18232e39424f59606c77808d929fa2a9a39f96918c8885838282838385888c91959ea1a8a199938b7f726b61564c4135291f1409000000000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59d928a7d70675d5145392f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e272e34383a3a3935373a4145515b606d7a84919ea7a2988d8074685e5246392e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3aca396897c706356493d3023160a00000000000000000000000000000000000000000004101c2834404b54606b737f8c929da4a9a299928c847f7b787675757677797b7f848b9297a0a7a49f93887d70685d52453b30251a0e02000000000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49e9184796d60554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c23282c2d2d2c292b2f353f45515d67717e8a959faa9f92867a6d61554b4034281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f96897c706356493d3023160a00000000000000000000000000000000000000000006131f2c3845515c66707d87939fa4aba29792877f79726e696a696869666c6e72787e859095a0a8a49a91847a6d60574d42362a1e110500000000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6ada1968c7f73675d5145392c1f130700000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f2020201d1f242935414c55606c7883909da8a2988c7f73675c5145382c1f15090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1724313d4a5764707d8a9393939393897c706356493d3023160e090300000000000000000000000000000000000004101c2834404b54606d79849199a4aea39992857d726d67625f575c5c545b6062666c717b839095a0aaa1968e8174695e52463a2d20140700000000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9285796d6053473a2f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1012131413111319242f3a44505b65707d8a96a0aa9e9285796d6053463c31261a0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c24313d4a5764707d868686868686867d706356493d30231e1a140e09020000000000000000000000000000000006131f2c3845515c66727f8c96a0aba89f92877d6f6b605c55534d4f4f4a5053545b60696e7a839198a3a39f92867b6e6154473b2e2114080000000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1978a7e7164554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060707060408131e27333f4953606c7884919eaba1978a7e7164574e42372b1c120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c161b21272c2f3c4955616c7079797979797979706b6054483b322d2a251f19140d050000000000000000000000000000000713202d3a4653606d7984919ea8aca1968c80736b6059514b474242423f44464a50575e686e7b86929a99928f8b8073665a4d4033271a0d000000000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea99c8f8275675d5145392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b17222d3844505b66727f8c99a3a99c8f83766a5f5347392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a111721272c3338394045505a61646c6c6c6c6c6c6c6360594f47433c3a36312a251f170e060000000000000000000000000004111d2935414c5564717e8a96a1adaa9e9184796d60594f45403937312d3338393f444d565f6973808c8e8a86827f7b6e6155483b2e221508000000000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f92867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b28333f4a54616d7a86929fac9f94887b6e62544a4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c232832383d44484b515356595c606060606060605c5b5855534e4846423b3630292017110a0200000000000000000000000613202c3945515d6775828f9ca8aea2988b7e71675d51473d342e2b2622282b2d333b444d57616d7a84817d7a76726e695f53463a2d211407000000000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea399897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3a4653606d7985919eaba69a8d8073665c5144382c1f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5854534d46423b3228221c140b02000000000000000000000714212d3a4754606d7a86929facac9f92857a6d60554b403528231d1a171c1f2228323c46525e686d7774706d6765615f574d42372b1e1205000000030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b5ab998c807366594d4033261a07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5764707d8a97a1adab9e9285796d6053463b30251a0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615e57524d443f332d261d140b020000000000000000000a1724303d4a5763707d8a99a3aea89b8e8175675d5143392f23181d1d1d1d1d17202a36414c565e616b6764605d5555534d453c31261a0e0200000005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8275685b4f422f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e6975828f9ca9b3ada1978a7d7164574d42362a1b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5650443f382f261d140a0000000000000000010d1a2734404d5a6773808d9aabb4aa978a7e7164554b4031272a2a2a2a2a2a2a2a2a25303a444c52545e5b5753514b4846423c332a1f1409000000000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9184776a554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939facb9b3a99c8f8276695e5246382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625a504a42382f261c11060000000000000004101d2935404b556976828f9ca9aea298887b6e6255483b2f373737373737373737373737323a414647514e4a4745403b3a373128231c140c020000000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facac9f928579675d5145392c20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c6673808c99a4afb7b8ac9f93877b6e6153493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b716c605b544a42382d22170d0300000000000006131f2c3845515d677885919eabac9f9285796c6053464444444444444444444444444444444444444444444444444444443a38342e261e140a0000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabaea298867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919eabadababada4998c7f73655b5044372b1f13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99928e867e746c665b544a3f33281f150b0100000000000714202d3a4753606d7a8696a1adaa9d908377665b505050505050505050505050505050505050505050505050505050505046443f3830261c110600000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab4aa94877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5764707d8a96a1a8a19e9ea1a99e9184786c6053463a3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a39f98928b80786c665b50443d31271d120700000000000815222e3b4855616e7b8894a9b2a99c8f837669545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d53504a42382e23170b00000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f22140c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e6976828f9ca9a196919297a1a196897d7063564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f928d81786c60594f43392f23180c00000000000916232f3c4956626f7c8995a2afa89b8f82756a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a605c544a3f34281c1003000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2e261e170f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fab9e918485929ea89b8e8175685e5246392d20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a49d938c80736b60554b4034291d1207000000000a1723303d4a5663707d8996a3b0a79b8e8177777777777777777777777777777777777777777777777777777777777777776d665c5044382b1f1206000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493f38302921180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c6673808d99a4a89a8d80808d9aa89f92867a6d6154473d32271b0f0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59f93887d70675c5145392e23180c000000000a1724313d4a5764707d8a97a3b0ab9e92858383838383838383838383838383838383838383838383838383838383838383786d6053463a2d201307000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9aea295887b6f6256504a423b332a21180f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985919eaba196897c7c8996a0a3988b7f7265584e43372b1d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49a9184796d60544b4034281c10040000000b1724313e4a5764717d8a97a4b0ada197929090909090909090909090909090909090909090909090909090909090909086796c605346392d201306000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e68605c544d453c332a21170c030000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5764717d8a97a1ab9e9184787784919eaa9d9083776a605447392f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6aca0968c7f72665c5145382c1f13070000000b1724313e4a5764717d8a97a4b0b3a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d928679655b5044372b1f1205000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab3a79a8d807a736d665e574e453c33291e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6976828f9ca9a8998d807373808c99a7a095897c6f62554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9184796d6053463a2e23180c0000000a1724303d4a5763707d8a96a3b0b8b0aba99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9faaaaaaaaaa9f9285786c5f493f33271b0f03000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaab7a99d928d867f786e695f574e453b30271c1207000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a54616e7b87939faca095887c6f6e7b88959fa79a8e8174675d5145392c1f1509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1968a7d7164544b4034281c100400000a1623303d495663707c8996a3afb0a69f9c93939393939393939393939393939393939393939393939393a0a8b2ab9e9185786b5e52452d22170b00000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facafa59e9b98928c837b6e6a5f574d42392e23180c020000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c6673808d9aa4aa9d9184776a697683909dab9f9285796d6053473c31261a0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea89b8e8275665c5145382c1f130600000915222f3c4855626f7b8895aab3ab9f948f8686868686868686868686868686868686868686868686868996a0acaa9d9083776a5d5044372a1d0600000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e938f8b929590847c6e695e544a4034281e1308000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eaca7998c7f736665727f8b99a3a2988b7e7164574d42372b1c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f9286796d6053463a2d20130700000714212e3a4754616d7a8798a2aea99c8f8279797979797979797979797979797979797979797979797984919eaaa99c8f8276695c4f4336291c10030006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89b8f817e85909591857b6e665c51443a3025190d01000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424d5764717e8a97a1ab9f95887b6e62616d7a86929faa9c908376695f5347382e23170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea298897c6f6356493c3023160900000713202d3946525d687885929fabaa9d9084776c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7986929faca79a8d8174675a4e4134271b0e010004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b5ab998c7f737b8390959083786d60564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000814212d3a47535f6976828f9ca9ab9d908377695f5e6876828f9caa9f94887b6e62544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b4aa998c7f7266594c3f33261907000005111d2935414c566a7683909da9ab9f928578695e606060606060606060606060606060606060626e7b8899a3afab988b7f7265584c3f3225190c0000000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7afa399897d706e798390958c7f73685e5246392d20150a0000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54616e7b87939faca4998c7f7265575664717e8b98a2a69a8d8073665c5044382c1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8175685b4e422e23180c0000010d192430414e5a6774818d9aabada297877b6e6154535353535353535353535353535353535764717d8a97abaea399897c706356493d3023160a0000000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabac9f92867a6d676e7b869292857a6d6154473c32271b0f0300000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6673808d9aa4ac9f93877b6e615454606d7a86929fab9e9185796d6053463b30251a0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9083776a554b4034281c10040000081724313e4a5764717e8a99a4afa9978b7e7164564d41464646464646464646464646434f596774818e9aa7ac9f92867a6d6053473a2d2014070000000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adaa9c8f8376675f6973808d988c807366584e43372b1f13060000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eaca99c8f8276685e52515d6775828e9baaa1978a7d7064574d42362a1b1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facab9f928578675c5145382c1f130600000714212e3a4754616d7a86939faca89b8e8175685e52463c313939393939393939313a4854606b7884919eaba99d908376675d5145392c1f130600000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8aea2988b7e726557626e7b88969184776a6054473b2e221508000000000000000000000000000000000000000000000000000000000000000006121e2b37424d5764717e8a97a1ada1978a7d7164564d4b5564707d8a98a2a99c8f8275695e5246382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabada29786796d6053463a2d20130700000713202d3946525e6876838f9ca9ac9f92867b6e61584e433a322c292424292c323a434e58636f7c8996a1aca6998c7f7266554b4035291d1004000000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facaa9f92867a6d60575f6a78849196887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6976838f9ca9ab9e9285796d6053464653606d7985929fab9f92867b6e6153493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab3a994877b6e6154483b2e211508000005111d2a36414c5665717e8b97a1ada3998d80736a5f554c443d39352f2f35393d444c56606a75828f9ca8ab9f94887b6e6155483b2f24180c00000000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea2988d81746861646c6c75828f988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000004101c2834404b55626e7b88949faba79a8d8074665c514545515c6774818e9ba9a3998c7f73655b5044372b1f13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f2215080000010d1925303a4753606d7985919ea8ab9f92867c6f675e564f47454041414045474e565d686f7c87939faca69c8f8276695f53463a2d1d1207000000000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba69f92867b6e616c70797979818e9a8e8174675b4e4134281b0e0000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6773808d9aa6ab9f95887c6f62544b40404b5563707d8997a1ab9e9184786c6053463a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2f22160900000008131f2c3845515c67727f8c96a0aba3989183796d68605953514b4e4e4b51535860686d7a84919aa4aa9f94897d7063574d42362a1e0b010000000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a89f948c7f726964707d8686868e939c8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eabaa9d9083766a5f5342393a4653606d7985929eaba096897d7063564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493c2f23160900000004101c2934404b55606d79849199a3aaa09590837a706b64605d555b5b555d60636a6f7a828f96a0aca3988f82766b6055453b31261a0e0000000000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a8a0969082786d6064707d8a93939b9e9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000006121f2b37434e5864717e8a97a1ada2988b7e7265584e43303844505c6674818d9aa8a89b8e8175685d5245392c20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9afa295887c6f6255493c2f221609000000000c18232f3945515c67707d87929fa4a79f9590847d75706d6769676869676d70757c848f949fa8a49f92867c6f62594f44332a1f140900000000000000030e1a26313c44515c666e7a8490959ea5a79f99928e898583828181818385888d92989ea6a59e9691847a6d665c64707d8a979fa8aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a7683909ca9ac9f92867a6d6054473c31343f4a54636f7c8996a1ac9f92867a6d6054473c32261b0f01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e6255483b2f2215080000000007121d2834404b55606b727f8c929da4a79f969189827d7a7675747475777a7d828991969fa6a49d928b7f726a5f53473d3321180e0300000000000000000915202834404a545e686e7b838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a09e938f847b6e685e5464707d8a97a3acab9e9184786b5e5145382b1e12000000000000000000000000000000000000000000000000000000000004101c2934404b55626e7b88949faba89b8e8174675d5145392a2e394653606c7884919eaba3988b7f7265584e43372b1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab4aa94887b6e6155483b2e22150800000000010c18232e39434f59636d74808d929fa2a8a09e948f8a86838281818283868a8f949ea0a8a29f928d80746d62584e43352c210f06000000000000000000030c18232e39424c565e696e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918a827a6e695e565764707d8a979f9f9f9e9184786b5e5145382b1e12000000000000000000000000000000000000000000000000000000000006131f2c3845515c6774808d9aa6aca096897c7063554c4135292b3744505b6573808d99a8aa9d9083776a5f5447392f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaaaea398877a6d6054473a2d211407000000000007121d27303d47515b606c77808a92979fa3a69e9c9992908f8e8e8f9092999c9ea6a49f98928b80776c605b51463c31231a0f000000000000000000000007121c27303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e756d685e574d5764707d8a93939393939184786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929fabab9e9184786c6053463a2f2427333f4953626f7c8895a0aca095887c6f62554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facac9f928579675d5145392c2013060000000000000b151e2b353f44505b656c737e858e92999ea1a8a39f9d9c9a9b9c9d9fa3a9a19e9a938f867e746c655b50493f342a2011080000000000000000000000000b151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e78716c605d564d4a5764707d8686868686868684786b5e5145382b1e120000000000000000000000000000000000000000000000000000000006121f2b37434e5864717e8b97a2ada3998c7f72655b504437281e222d3847535f6a7784919daaa79a8d8174675d5145382c1f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e9184776b554b4135291d1104000000000000030c192327333f49535b606c717a81878d9196989b9c9e9f9f9f9f9e9c9b9897928d87827b716c605b53493f372d22180e00000000000000000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a75716d66615a524c434955616c70797979797979797872685c5043372a1d11000000000000000000000000000000000000000000000000000000000815212e3a47535f6a7683909ca9ac9f92867b6e6153493f3327161b2b37434e5866737f8c99a7ab9f9285796d6053473c31261a0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89c8f8275695c4f422f24180d0100000000000000071117222d384149505a61686e747b8084888b8e90919292929291908e8c8985817b756e69625a504941382d251b10060000000000000000000000000000050e172029313940454f54596063676d70737576787879797978777573706d6764605c545045413a44505a61646c6c6c6c6c6c6c6b6860564b3f33271b0f00000000000000000000000000000000000000000000000000000004101d2935404b55626f7c88949faba99c8f8275695e5241382d22171b26323c4855616e7b88959faba2978a7e7164574d42372b1c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b1a69a8d8073675a4d4034271a0700000000000000000006111b262f383f4450565e61696e73787c7f818384858686858483817f7c79746e6a615e5750443f382f261b130900000000000000000000000000000000050e171f272f353d44484f55555d606366686a6b6c6c6c6c6b6a686663605d5553504a423e35333e48505557606060606060605e5c564e443a2f23170b00000000000000000000000000000000000000000000000000000006131f2c3945515d6774808d9aa6ada1978a7d7064564d422f261b1115212d3a47535f697783909daba99c8f8376695f5346382e23170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7b1a7978a7d7164574a3e3124170b000000000000000000000a141d313b434a4f4c52575e61656c6f7274767878797978787675726f6d66625f58534d4b4740382e1d140a020000000000000000000000000000000000050d151d242933383d44484b515356595b5d5e5f5f5f5f5e5d5c595754514b46443f3830292c363e44494a5353535353535351504b443c32281d12070000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929fabab9e9285796d6053463b3020140a121e2b37424d5765727f8c99a4ab9f94887b6e61544a3f34281c100300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabaca095877a6e6154473b2e2114080000000000000000000a16222e39434d555b5d6060605f5b60626568696b6c6c6c6c6b69686562605c606060605a58524a40362a1f1307000000000000000000000000000000000000030b121821272c3338394045474a4c4f50525253535252504f4d4a4745413a38342e261e232c33393c3d4646464646464645433f3a322a20160c01000000000000000000000000000000000000000000000000000006121f2b37434e5864717e8b97a2ada69a8d8073665c5144382c1f12020e1a26313c4754616e7b87939faca6998d8073665c5044382c1f140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adab9d908377685e5246392d2014070000000000000000010e1a27333f4a555f676a6c6c6c6b636159585b5d5e5f5f5f5f5e5d5b545c60666c6c6c6c66635c52473b2f23170a0000000000000000000000000000000000000001070c161c21272c2f35383a3d4042434545464646454442403d3a39352f2b28231c141a22282d3031393939393939393837332f2820180f050000000000000000000000000000000000000000000000000000000815212e3b47535f6a7683909da9ab9f94887b6e62544a4034281c10040915202d3a46525e6976838f9cabab9e9184796d6053463b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8afa4998c7f7366564d41362a1e1105000000000000000003101d2936424f5b67717779797978706b605c544d5152535352514f565e666d7379797979736e63584b3f3226190c000000000000000000000000000000000000000000050b10161c1d24292c2d30333537383939393938373533302d2c29241f1c17110a10171c2023242d2d2d2d2d2d2d2b2a27231d160f0600000000000000000000000000000000000000000000000000000004101d2935404b55626f7c88959fabaa9c9083766a5f5342392e23180c0005111e2a36424d5765727e8b99a3ada1978a7d7063564c41362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facab9f93877b6e6155483b3025190e02000000000000000004111e2a3744515d6a7783868686857d736d665e57504540424a505960686e7880868686868073665a4d4033271a0d0000000000000000000000000000000000000000000000050b1012181d1f202326282a2b2c2c2c2c2b2a29262421201d1813100b0600050b10141617202020202020201e1d1b17120c05000000000000000000000000000000000000000000000000000000000613202c3945515d6774818d9aa7aea2988b7e7165584e4330271c120700020e1a25303b4754616d7a86929faca99b8f8275685e5246392d20160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea4998f8275695f53463a2d1f1408000000000000000000000a1723303d4a5663707d879297928880786e69615a514b4c545c606b707a828d939891847a6e6154473b2e2114060000000000000000000000000000000000000000000000000001070c10131417191c1d1f1f20201f1f1d1c1a171413110d0703000000000004080a0a1313131313131312110f0b070100000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929fabac9f92857a6d6053473c3120150b0000000914202d3946525e6875828f9caaac9f92867a6e6154473d32271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba79f93877c6f62574d42362a1e0d02000000000000000000000916222f3c4854606b727f8b929a938d837b706c605c54565e666d737d858f949992867c6f685e5246392d2017110a0200000000000000000000000000000000000000000000000000000406070a0d0f10121213131312110f0d0a070604010000000000000000000000060606060606060504020000000000000000000000000000000000000000000000000000000000000006131f2b37434e5865717e8b98a2aea89a8e8174675d5145392c20130300000306111d2935414c5664717e8a98a2aea3998c7f7266594f44382c20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a9a0958d80746a5f53453b31261a0e00000000000000000000000714202c38444f59626d74808d949f9590857e746d665f60686e78808792979f93877d706a5f564c41362b27221b140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b47545f6a7783909daa9fa095897c6f63554b4035291d1104060b0f12131925303a4753606d7a86929f9f9f9e9184776b6054483b2f221509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a9a1979183796d60584e4333291f1409000000000000000000000004101c27333d47515b606d78828f959f97928a80786e696b707a828c93999d938c7f726b6158554f473e37332d261d140b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002060a0c0c131313131313130807050200000000000000000000000000000000000000000000000916222f3c4955626f7c8895939393939184776b6054433a2f24180d0c11171c1f2024282c3945515d6775828e9393939396897c6f6356493c302316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313c44505c666e7a8490959da5a79f99928e898583828181818385888d92989ea6a69f9791857c6e675d51463c3221170d030000000000000000000000000b16212b353f44505c666d7a839197a19f928d837b71737d858f949f9f948e81746d6c6c6361594f46443f382f261d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d12161819202020202020201414110e08020000000000000000000000000000000000000000000e1b2834414e5b677480868686868686867f7265594f4331281d1311171c22282b2d30353835404b5564707e868686868686868174685b4e4135281b0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009152028343f4a545e686e7a838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a19e948f857c6f6a5f554b40342a200f0600000000000000000000000000050f1a2328343f4a545d686e7b859299a39d9590867e808791979fa0968f827873797979706b615753504941382f261b1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a12181e2225262d2d2d2d2d2d2d21201e19140d0500000000000000000000000000000000000000000d1a2733404c58646e7479797979797979726d6257463d322b22171c23282d3338393d414446454955616c7079797979797979746f64594d4034271a0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17232e38424c565e686e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918b827a6f6a5f574e43392f22180e000000000000000000000000000000081117232e38424c565f696f7d87929fa4a098928a8c9399a1a29791847a73808686867d706964605b534941382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131c232a2f3233393939393939392e2d2a251e170e05000000000000000000000000000000000000000b1824303c48535c64676c6c6c6c6c6c6c65625b5147433c342b23282e34383f44464a4e51525251505a61646c6c6c6c6c6c6c68645d53483c3024180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e776e685f584e453c31281d10060000000000000000000000000000000006111c26303a434d57606b717e8b929ca5a29f97999fa4a39992857b6e73808c938c7f7b77716c655b53493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c252e353a3e3f464646464646463b3936302920170d020000000000000000000000000000000000000814202b36414a53585b6060606060606060606055544e463c322e34383f444a5053575b5e5f5f5e5a555557606060606060605b59534b41372b20140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e79716c655e564e463c332a1f160c0000000000000000000000000000000000000a141e28313b454f59626c73808d939ea79f9f9f9fa49f92877d706973808c99918c87837e776c655b5044372b1f1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d18232e373f464b4c535353535353535346413b32291e1408000000000000000000000000000000000000030f1a252f3841484c4e535353535d65686c6c6c6260584e4337383f444a50545b6063686b6c6c6a67625f58525353535353534e4d4841392f251a0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a76716d66605b534c443c342a21180d04000000000000000000000000000000000000020c161f29333d47505a606c77818f95939393939393928b7f726b6673808b8d919695908b81776c6053463a3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e2a353f49515759606060606060605f524c443b3025190e0200000000000000000000000000000000000008131d262f363c404146464d59656f75797979766a6054473f444a50545c60666c707477797877746f6a635c524a4646464641403c372f271d1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a242f3841474c4e4f54596063676d70727576787879797878777573706d6864605c545049413c342a22180f060000000000000000000000000000000000000000040d18212b353e44505b656d7983868686868686868680746d62626f7c7f818490959d938b7f7265564c41362a1d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16222f3a46515b63666c6c6c6c6c6c6c6c5e564c41362a1e1105000000000000000000000000000000000000010b141d252b30333439424f5b6875818686867c6f62554b4a50545c60666d71787d8184858584807c736e645c52473d32393534302b251d150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2b36414a52585a6060605f555d606366686a6b6c6c6c6c6b6a686663605d5660606055534e463c32261b0f03000000000000000000000000000000000000000000060f192327333f49535d676d777979797979797979746e62615f6a6f72747883909d9e918478685e5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323e4b57636d727979797979797976685e5246392d20140700000000000000000000000000000000000000020b131a2024272833404d5a6673808d938c7f72675c54545b60666d71787e848a8e919292918d8780736e64594f44382c282724201a130b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724303c47525c64676c6c6c6c66605b54595b5d5e5f5f5f5f5e5d5c565e61696c6c6c6c625f584e43372b1f130600000000000000000000000000000000000000000000071017222d38414b555d606a6c6c6c6c6c6c6c6c676a6f6e696968676874808d9aa196877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f868686868686867a6e6154473b2e211408000000000000000000000000000000000000000001080f14181825313e4b5864717e8b979184796d666364666c71787e848b91969b9e9f9f9d99928c80736b6054483c31261b18140f090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a26333f4c58646e7479797979726c665e57505052525353524a505960696e7679797979766a5f53473b2e211508000000000000000000000000000000000000000000000006111b262f39434b51535d6060606060606057626f7c7a77757474757a83919da197877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c9393939393877a6e6154473b2e2114080000000000000000000000000000000000000000000003080815222f3b4855626e7b8897968e817872707073787e848b91969da0a8a5a3a4aba39f93887d7063584e43372b1f120603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a677480868686867f786e69615a514b4346444c545b606b707b83868686867c6f6255493c2f2216090000000000000000000000000000000000000000000000000a141d27313940454750535353535353525e697683878482818182859195a09e9185786c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c999f9f9f94877a6e6154473b2e2114080000000000000000000000000000000000000000000000000814212e3a47535f6a7885919e938e837f7d7d80848a91969ea1a49f9c9896979a9fa29a9083766a5f53473a2e21150600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b849198928c827b706c605d554e444f565e666c737d859094948e81746a5f53473b2e211508000000000000000000000000000000000000000000000000020b151f272f35393a4446464646464854616e7b8793918f8e8d8f92979c98928b7f72655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5aca194877a6e6154473b2e21140800000000000000000000000000000000000000000000000006121f2b37434e586774818d999d95908c8a8a8c91969ea0a69f9a938f8b898a8d92989f94887c6f6255483c2d22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e696f7c869299948f857e746d675f58505960686d787f879297969082786d60584e43372b1f130600000000000000000000000000000000000000000000000000030d151d24292c2d37393939393f4c5865727f898c8f9091929292918f8c867f736d6253493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c999f9f9f94877a6e6154473b2e211408000000000000000000000000000000000000000000000000020f1a26313c4855626f7c87929fa09d989697999ea0a69f9c948f87827e7d7d81869197998c7f7366544a3f33281c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d575f6a707d87929f97928a81796f6a605b626b6f7a828c93999891847a6d665c51463c32261b0f030000000000000000000000000000000000000000000000000000030b12181d1f202a2d2d2d2d3a4753606d797d7f82848485868584827f7b736d635b5141382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1926333f4c5966727f8c9393939393877a6e6154473b2e21140d080200000000000000000000000000000000000000000000000a15212e3a47535f6a73808d959fa6a5a3a3a6a69f9c949089827c76727071747c85919c8f8376665b5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25303b454e58606b717e8b919c9e938e837c726c656d727d848f949f9992867c6e685e544b40342a20150a0000000000000000000000000000000000000000000000000000000001070c1013141d20201f2c3945515d676d70737677787979787775726e68635b51493f2f261b1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d141a1e26333f4c5966727f868686868686867a6e6154473b2e211d19130d080200000000000000000000000000000000000000000006121f2b37434e58606d79838f949c9e9f9e9d99948f89837d766f6a6563646a707d8a969286796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333c464f59616c737f8c939d9d9591867f776e757f8791969f9f92877d706a5f564c42392e22180e04000000000000000000000000000000000000000000000000000000000000000406071113101d2935404b555d606366696a6b6c6c6c6a6965615e56514940372d1d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d13191f252a2d313e4b57636d727979797979797976685e524639302d29251e19130c040000000000000000000000000000000000000000030f1b26313c45515d676d79828a8f919292908d88827c76706b625f585657616b77849198887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17212a343d47505a636d74818e949ea099928c827b828c9299a19d928b7f726b60584e443a30271d1006000000000000000000000000000000000000000000000000000000000000000000000004000c18242f39434b515356595c5d5e5f5f5f5e5c5954524d4440372e251b0b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e171e252a30363a3c4347515b63666c6c6c6c6c6c6c6c5e564c46423b39353029241e160e0700000000000000000000000000000000000000000a15202935404b555d676d777e8285868583807c766f6b636059534e4a4f596774808686867d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18222b353e48515b606d78828f959fa39f948f888f939fa39f948d80746d62594f463c32281e150b000000000000000000000000000000000000000000000000000000000000000000000000000007121d273139404547494c4f5151525352514f4c4746413b322e251c1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117202930363b4246484e5355585b5c606060606060605c5a5854524d4746413a3530282019110901000000000000000000000000000000000000030d18242f3a434b555d656c717578797877736f6a636059544f47433e4c58646e74797979706b6155483c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061019232d364044505c666d79839096a1a69f9c959b9ea5a0958f82786d605b51473d342a20160c030000000000000000000000000000000000000000000000000000000000000000000000000000010b151f272f35393a3d4043444546464544423f3b39363029201c130a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227323a41464d5254585f626567696b6c6c6c6c6b6a696664615e5754524c46413a322b231b13090000000000000000000000000000000000000007131d28313a434b535b6064696b6c6b6a66625f58544f48443d373c48535c64676c6c6c6361594f44382c201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111b2428343f4a545d676e7a849197a29f9f9f9f9fa19791837a6d665c50493f352c22180e0500000000000000000000000000000000000000000000000000000000000000000000000000000000030d151d24292c2d30333637383939393736322e2d2a251f170e0a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141d262d333e444c52575e61666a6f727476777879797878777573716e6966615e56524c443d352d251b1309000000000000000000000000000000000000010c161f28313a41495053575c5e5f5f5d5a55534e48443d38322b36414a53585a60606057554f473e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091217232e38424b555e686e7c85929893939393939992857b6e685d544a3f372d231a0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181d1f202326292a2b2c2c2c2b292621201e19140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262f383f4450565e61696e73777b7e81838485868685858482807e7b77736d68615d564f473f372d251b1108000000000000000000000000000000000000040d161f282f383f44464a4f525352504d4947433c38322c27252f3841484c4e5353534a48443e352c21160b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c263039434c565f6a6f7d8686868686868686867d6f695f564c42382e251b1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10131416191c1e1e1f201f1e1c191414110e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f384149505a61686d747b8084888b8e8f919292929291918f8d8b87837f7a736d68605951493f372d231a0e04000000000000000000000000000000000000040d161d262d3337393e4245464544403c3b37322c27211b1d262f363c40414646463d3c38332c231a10050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e28313b444e57606b6f7979797979797979796f6b60574d433a30261c13090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0d101112131312110f0c080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d384149535b606c717a81868d9196989a9c9e9f9f9f9f9e9d9c999795908c86807a706b625b51493f352c20160c02000000000000000000000000000000000000040b141b22272b2d313638393837332f2e2b26201b1610141d252b303334393939302f2c28211a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c161f29323c454f5960636c6c6c6c6c6c6c6c6c6360594f453b31281e150a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e27333f49535b656c737e858e92999ea0a8a9a19e9d9c9b9c9d9fa2aaa7a09d98928d847d726d625b51473e32281e130800000000000000000000000000000000000000020a11171b1f2024292b2c2c2a2722211f1b150f0b040b131a1f2427272d2d2d2423201c161008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17202a333d474f54565f606060606060605f56544f473d332a1f160c03000000000000000000000000000000000000000000000407090a131313131313130a0a080400000000000000000000000000000000000000000000020507080b0e111212131212100e0c0808060200000000000000010406070c101213131211100e0b0a0804000000000000000000000007121d27303944505b656c77808a92979fa3a8a19e999792908f8f8f909298999da0a7a29f9691877f726d62594f443a3024190d020000000000000000000000000000000000000000060b0f1213171c1f201f1d1a1615130f0a04000001080f14181a1b202020171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18212b353d4348495353535353535353534948443d352b21180d04000000000000000000000000000000000000000000040b1013161620202020202020171614100b0500000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191514120e090400000001080d111314191c1f1f201f1e1d1a171714110c050000000000000000000c18232e39424f59606c77808d929fa2a9a39f96918c8885838282838385888c91959ea1a8a199938b7f726b61564c4135291f1409000000000000000000000000000000000000000000000305060b0f121312110d0908060300000000000003080b0d0e1313130a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f19232b32383b3c4646464646464646463c3b38322b23190f06000000000000000000000000000000000000000000070f161b2022232d2d2d2d2d2d2d2423201c171008000000000000000000000000000000040a0f141a1e212225282a2b2c2c2c2b2a282522211e1a15100c07040c13191d202126292b2c2c2c2b29272423211c1710080000000000000004101c2834404b54606b737f8c929da4a9a299928c847f7b787675757677797b7f848b9297a0a7a49f93887d70685d52453b30251a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101921272c2f30393939393939393939302f2c272119110700000000000000000000000000000000000000000007111921272c2f303939393939393931302d28221a110800000000000000000000000000070c161b1f262a2d2e31353738393939383735322f2e2b261f1c18120d161e24292c2d32363839393838363431302d28221a120800000000000006131f2c3845515c66707d87939fa4aba29792877f79726e696a696869666c6e72787e859095a0a8a49a91847a6d60574d42362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f22232c2d2d2d2d2d2d2d2c23221f1b160f07000000000000000000000000000000000000000000040f19232b32383b3d464646464646463d3c39332c231a100500000000000000000000030b121821272c31363a3b3e4144454546454543413f3b3a37312c29231d1a1f282f35393a3f43454646454443413e3c39332c241a10050000000004101c2834404b54606d79849199a4aea39992857d726d67625f575c5c545b6062666c717b839095a0aaa1968e8174695e52463a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315162020202020202020201615130f0a04000000000000000000000000000000000000000000000b16212b353d444849535353535353534a49443e362c22170b000000000000000000040c151d232832383b4246484b4e505152535252504e4c4847423c38342f27232c313a4145474c4f5252535251504d4a49453e362c22170c0000000006131f2c3845515c66727f8c96a0aba89f92877d6f6b605c55534d4f4f4a5053545b60696e7a839198a3a39f92867b6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000307090913131313131313131309090703000000000000000000000000000000000000000000000004101b27323d474f545660606060606060575550483e33281c100400000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e5d5b5855534d474540393128353e434c5154595c5e5f5f5f5e5c5a575550483e33281c11040000000713202d3a4653606d7984919ea8aca1968c80736b6059514b474242423f44464a50575e686e7b86929a99928f8b8073665a4d4033271a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c64615a5044392d201408000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d211408000004111d2935414c5564717e8a96a1adaa9e9184796d60594f45403937312d3338393f444d565f6973808c8e8a86827f7b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a131313131313130a0907040000000000000000000000000000000000000000000000000916222f3b4854606b7079797979797979706c6155493c3023160a00000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a00000613202c3945515d6775828f9ca8aea2988b7e71675d51473d342e2b2622282b2d333b444d57616d7a84817d7a76726e695f53463a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161720202020202020161613100b04000000000000000000000000000000000000000000000a1623303d495663707d868686868686867e7064574a3d3124170a0000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b00000714212d3a4754606d7a86929facac9f92857a6d60554b403528231d1a171c1f2228323c46525e686d7774706d6765615f574d42372b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2322201b160f070000000000000000000000000000000000000000000a1623303d495663707c8993939393938a7d7064574a3d3124170a00000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e1100000a1724303d4a5763707d8a99a3aea89b8e8175675d5143392f23181d1d1d1d1d17202a36414c565e616b6764605d5555534d453c31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d303139393939393939302f2c272119110700000000000000000000000000000000000000000a1623303d495663707c89969f9f9f978a7d7064574a3d3124170a0000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e1100010d1a2734404d5a6773808d9aabb4aa978a7e7164554b4031272a2a2a2a2a2a2a2a2a25303a444c52545e5b5753514b4846423c332a1f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33393c3d464646464646463d3b38322b23190f04000000000000000000000000000000000000000a1623303d495663707c8996a3aca3978a7d7064574a3d3124170a000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e110004101d2935404b556976828f9ca9aea298887b6e6255483b2f373737373737373737373737323a414647514e4a4745403b3a373128231c140c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a535353535353534948443d352b21160b000000000000000000000000000000000000000a1623303d495663707c89969f9f9f978a7d7064574a3d3124170a00000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e110006131f2c3845515d677885919eabac9f9285796c6053464444444444444444444444444444444444444444444444444444443a38342e261e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e485055576060606060606056544f473d32271b10040000000000000000000000000000000000000a1623303d495663707c8993939393938a7d7064574a3d3124170a00000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a000714202d3a4753606d7a8696a1adaa9d908377665b505050505050505050505050505050505050505050505050505050505046443f3830261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6360594f44382c2013070000000000000000000000000000000000000a1623303d495663707d868686868686867e7064574a3d3124170a0000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f221609000815222e3b4855616e7b8894a9b2a99c8f837669545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d53504a42382e23170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c7079797979797979706b6054483b2f2216090000000000000000000000000000000000000916222f3b4854606b7079797979797979706c6155493c3023160a0000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c201307000916232f3c4956626f7c8995a2afa89b8f82756a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a605c544a3f34281c100300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d868686868686867d706356493d3023160a0000000000000000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c64615a5044392d201408000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b1004000a1723303d4a5663707d8996a3b0a79b8e8177777777777777777777777777777777777777777777777777777777777777776d665c5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a9393939393897c706356493d3023160a00000000000000000000000000000000000004101b27323d474f545660606060606060575550483e33281c100400000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b00000a1724313d4a5764707d8a97a3b0ab9e92858383838383838383838383838383838383838383838383838383838383838383786d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f96897c706356493d3023160a00000000000000000000000000000000000004101b27323d474f545660606060606060575550483e33281c100400000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f0400000b1724313e4a5764717d8a97a4b0ada197929090909090909090909090909090909090909090909090909090909090909086796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3aca396897c706356493d3023160a0000000000000000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c64615a5044392d20140800000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c27211911070000000b1724313e4a5764717d8a97a4b0b3a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d928679655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f96897c706356493d3023160a0000000000000000000000000000000000000916222f3b4854606b7079797979797979706c6155493c3023160a00000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f07000000000a1724303d4a5763707d8a96a3b0b8b0aba99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9faaaaaaaaaa9f9285786c5f493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1724313d4a5764707d8a9393939393897c706356493d3023160e0903000000000000000000000000000000000a1623303d495663707d868686868686867e7064574a3d3124170a00000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b0400000000000a1623303d495663707c8996a3afb0a69f9c93939393939393939393939393939393939393939393939393a0a8b2ab9e9185786b5e52452d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c24313d4a5764707d868686868686867d706356493d30231e1a140e090200000000000000000000000000000a1623303d495663707c8993939393938a7d7064574a3d3124170a00000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e211508000000000000000915222f3c4855626f7b8895aab3ab9f948f8686868686868686868686868686868686868686868686868996a0acaa9d9083776a5d5044372a1d060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c161b21272c2f3c4955616c7079797979797979706b6054483b322d2a251f19140d05000000000000000000000000000a1623303d495663707c89969f9f9f978a7d7064574a3d3124170a00000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e211508000000000000000714212e3a4754616d7a8798a2aea99c8f8279797979797979797979797979797979797979797979797984919eaaa99c8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a111721272c3338394045505a61646c6c6c6c6c6c6c6360594f47433c3a36312a251f170e060000000000000000000000000a1623303d495663707c8996a3aca3978a7d7064574a3d3124170a00000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e211508000000000000000713202d3946525d687885929fabaa9d9084776c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7986929faca79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c232832383d44484b515356595c606060606060605c5b5855534e4846423b3630292017110a02000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e2115080000000000000005111d2935414c566a7683909da9ab9f928578695e606060606060606060606060606060606060626e7b8899a3afab988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5854534d46423b3228221c140b020000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e21150800000000000000010d192430414e5a6774818d9aabada297877b6e6154535353535353535353535353535353535764717d8a97abaea399897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615e57524d443f332d261d140b0200000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e2115080000000000000000081724313e4a5764717e8a99a4afa9978b7e7164564d41464646464646464646464646434f596774818e9aa7ac9f92867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5650443f382f261d140a00000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e21150800000000000000000714212e3a4754616d7a86939faca89b8e8175685e52463c313939393939393939313a4854606b7884919eaba99d908376675d5145392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625a504a42382f261c1106000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e21150800000000000000000713202d3946525e6876838f9ca9ac9f92867b6e61584e433a322c292424292c323a434e58636f7c8996a1aca6998c7f7266554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b716c605b544a42382d22170d030000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e211508000000000000000005111d2a36414c5665717e8b97a1ada3998d80736a5f554c443d39352f2f35393d444c56606a75828f9ca8ab9f94887b6e6155483b2f24180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99928e867e746c665b544a3f33281f150b0100000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e2115080000000000000000010d1925303a4753606d7985919ea8ab9f92867c6f675e564f47454041414045474e565d686f7c87939faca69c8f8276695f53463a2d1d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a39f98928b80786c665b50443d31271d120700000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e21150800000000000000000008131f2c3845515c67727f8c96a0aba3989183796d68605953514b4e4e4b51535860686d7a84919aa4aa9f94897d7063574d42362a1e0b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f928d81786c60594f43392f23180c00000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e21150800000000000000000004101c2934404b55606d79849199a3aaa09590837a706b64605d555b5b555d60636a6f7a828f96a0aca3988f82766b6055453b31261a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a49d938c80736b60554b4034291d1207000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e211508000000000000000000000c18232f3945515c67707d87929fa4a79f9590847d75706d6769676869676d70757c848f949fa8a49f92867c6f62594f44332a1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59f93887d70675c5145392e23180c000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e2115080000000000000000000007121d2834404b55606b727f8c929da4a79f969189827d7a7675747475777a7d828991969fa6a49d928b7f726a5f53473d3321180e0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49a9184796d60544b4034281c10040000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e21150800000000000000000000010c18232e39434f59636d74808d929fa2a8a09e948f8a86838281818283868a8f949ea0a8a29f928d80746d62584e43352c210f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6aca0968c7f72665c5145382c1f13070000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e211508000000000000000000000007121d27303d47515b606c77808a92979fa3a69e9c9992908f8e8e8f9092999c9ea6a49f98928b80776c605b51463c31231a0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9184796d6053463a2e23180c0000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e2115080000000000000000000000000b151e2b353f44505b656c737e858e92999ea1a8a39f9d9c9a9b9c9d9fa3a9a19e9a938f867e746c655b50493f342a2011080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1968a7d7164544b4034281c100400000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e211408000000000000000000000000030c192327333f49535b606c717a81878d9196989b9c9e9f9f9f9f9e9c9b9897928d87827b716c605b53493f372d22180e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea89b8e8275665c5145382c1f130600000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e21140700000000000000000000000000071117222d384149505a61686e747b8084888b8e90919292929291908e8c8985817b756e69625a504941382d251b100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f9286796d6053463a2d20130700000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d201307000000000000000000000000000006111b262f383f4450565e61696e73787c7f818384858686858483817f7c79746e6a615e5750443f382f261b13090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea298897c6f6356493c3023160900000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f130600000000000000000000000000000a15202b343c4347494c52575e61656c6f7274767878797978787675726f6d66625f58534d4c4740382f1d140a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b4aa998c7f7266594c3f3326190700000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c100400000000000000000000000000030f1b27323c464e545560606060535b60626568696b6c6c6c6c6b69686562605c606060605a58524a40362b1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8175685b4e422e23180c00000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c000000000000000000000000000006131f2b37434e5860626c6c6c6c69615e56585b5d5e5f5f5f5f5e5d5b545b60666c6c6c6c67645c52473c3023170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9083776a554b4034281c1004000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d3023160700000000000000000000000000000815222e3b4754606a7679797979766e69615a514b5152535352514f565e666c7379797979746e64584c3f33261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facab9f928578675c5145382c1f1306000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d20130700000000000000000000000000000916222f3c4955626f7c86868686827b706c605d554e443f4145515960686d787f868686868074675a4d4134271a0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabada29786796d6053463a2d201307000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f120600000000000000000000000000000815222e3b4754606a74818e94948f857d746d675f5850494c525b626b6f7a828c939891857b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab3a994877b6e6154483b2e211508000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c1003000000000000000000000000000006131f2b37434e58606d78828f9597928a80796f6a605b53565d606d727d848f949a92867c6f695e52463a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f221508000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b000000000000000000000000000000030f1b27323c44515c666d798390969e928d837c726c655e5f686d757f8791969f93887e716a60574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2f221609000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c1106000000000000000000000000000000000a15202834404a545d676e7b8491979d9591867f776d686a6f7a818c92999e938c7f736c61584e453b30251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493c2f231609000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a0000000000000000000000000000000000040c18232e39424b555e696f7c859299a098928b827a70727c848f939f9f948e81756d635a50463c33291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9afa295887c6f6255493c2f221609000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c0200000000000000000000000000000000000007121c27303a434d565f6a707d87929aa39f948f857d7e8691969ea1969082796d605b51483e342b21170d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e6255483b2f221508000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b00000000000000000000000000000000000000000b151e28313b444e58606b717e88939fa49e9791898b9298a0a29891847a6d675c514940362c22190f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab4aa94887b6e6155483b2e221508000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c030000000000000000000000000000000000000000030c161f29323c464f59616c727f8c929da6a19e96989fa3a39992867c6f685e554b40372e241a100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaaaea398877a6d6054473a2d211407000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000009121c252e363e454d53585f62666a6f717375777878797979787675726f6d66625f58524d5345413a32281e1308000000000000000000000000000000000000000000040d17202a343d47505a636d74808d949ea79f9f9f9fa49f92877d706a5f564c43392e251c12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facac9f928579675d5145392c201306000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000004101c27333d474f5556606060585f626467696a6b6b6c6c6c6b6a686663605c54606060605f524c443a3024190d01000000000000000000000000000000000000000000050e18222b353e48515b606d78828f95939393939393928b7f726b61584e443a30271d130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e9184776b554b4135291d1104000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000714202c38444f5961636c6c6c6c69615d565c5d5e5f5f5f5f5e5d5b59575f616a6c6c6c6c6c5d564c4135291d110400000000000000000000000000000000000000000000061019232c363f44505c666d7983868686868686868680746d62594f463c32291e150b010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89c8f8275695c4f422f24180d01000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000916232f3c4855616b7079797979756d686058515152535352514b515a61696e777979797976685d5245392c201307000000000000000000000000000000000000000000000007111a2428343f4a545d676d767979797979797979746e645b51473e342a20170c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b1a69a8d8073675a4d4034271a0700000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000a1723303d4a5663707d86868686827a6f6a625b524c4446464e555d606c717b83868686867a6d6054473a2d211407000000000000000000000000000000000000000000000000081217232e38424b555d606a6c6c6c6c6c6c6c6c67645c53493f352c22180e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7b1a7978a7d7164574a3e3124170b00000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000713202d3a4653606d78828f95948f847c726d605d564e4550585f676d747e869095938c8073685d5245392c2013070000000000000000000000000000000000000000000000000006111c263039434b51535d60606060606060605a58534a41372d231a100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabaca095877a6e6154473b2e21140800000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000006121f2b3844505c666d798390979691877f756d686058515a626a6f79818a9298958e81776c60564c4135291d110400000000000000000000000000000000000000000000000000000a141e2731394045475053535353535353534e4c4841382f251b11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adab9d908377685e5246392d20140700000a1623303d495663707c8996a3aca3978a7d7064574a3d3124170a00000000000000000003101c28343f4a545d676e7b85929899928c827a6f6a625d606c717c838e939f969083796d655b50443a3024190d010000000000000000000000000000000000000000000000000000020c151f272f35393a43464646464646464641403c362f261d13090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8afa4998c7f7366564d41362a1e110500000a1623303d495663707c89969f9f9f978a7d7064574a3d3124170a0000000000000000050c151d232e38424c555f696f7d86929f9f938f847c726d676d757e8690959d9891847a6e675d53493f32281e130800000000000000000000000000000000000000000000000000000000030d151d24292c2d3739393939393939393433302b251d140b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facab9f93877b6e6155483b3025190e0200000a1623303d495663707c8993939393938a7d7064574a3d3124170a00000000000000070f171e272e343f464e5457606b717e8b929c9e9691877f757079818b9298a09992867c6f685e554b41382d20160c020000000000000000000000000000000000000000000000000000000000030b12181d1f202a2d2d2d2d2d2d2d2d2727241f1a130b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea4998f8275695f53463a2d1f14080000000a1623303d495663707d868686868686867e7064574a3d3124170a000000000001071119212930394045505860626b6c6c73808d939ea199928c827c848e939fa29f93877e706a5f564c43392f261b0e040000000000000000000000000000000000000000000000000000000000000001070c1013141d20202020202020201b1a18140f08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba79f93877c6f62574d42362a1e0d020000000916222f3b4854606b7079797979797979706c6155493c3023160a00000000040c1218232b333b424b515a626a6f7879797979818e959fa39f938f8991969ea59d938c7f726c61584e443b31271d140a00000000000000000000000000000000000000000000000000000000000000000000000406071013131313131313130e0d0b0803000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a9a0958d80746a5f53453b31261a0e000000000713202c38444f5960636c6c6c6c6c6c6c64615a5044392d201408000000040d161d2429353d454d545c606c717c848686867f79839096a1a59e9b969ea0a89f948e81746d635a50463c32291f150b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a9a1979183796d60584e4333291f14090000000004101b27323d474f545660606060606060575550483e33281c10040000010c161f282f353f474f575e666d747e8691969184796e7b849198a29f9f9f9fa9a0968f82786d605b51473e342a20170d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313c44505c666e7a8490959da5a79f99928e898583828181818385888d92989ea6a69f9791857c6e675d51463c3221170d0300000000000b16212b353d444849535353535353534a49443e362c22170b00000007121d2831394045515960696e78818b9298958b7e71696f7c86929a93939393939791847a6d665c51493f352c22180e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009152028343f4a545e686e7a838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a19e948f857c6f6a5f554b40342a200f06000000000000040f19232b32383b3d464646464646463d3c39332c231a10050000010d18242f39434b515b626b707b838e939f9a9083786c606a707e8786868686868686857b6e685e544a40372d231a1006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17232e38424c565e686e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918b827a6f6a5f574e43392f22180e0000000000000008131e28313a414547494949494949494745413a32281e1308000004101d2935404b555d606d727d8590959d9f93877c6f655b616c707979797979797979786e695f564c42392e251c1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e776e685f584e453c31281d1006000000000000010d19242f3a434c51545656565656565654524c443a3024190d01000613202c3945515d676d757f8792979fa2978e81746a60535a61646c6c6c6c6c6c6c6c6c625f574d443a30271c130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e79716c655e564e463c332a1f160c0000000000000004111d2935414c555d6062626262626262605d564c4135291d1104000714202d3a4753606d79818c929993939392857a6d61584e50555760606060606060605f55534d453c32281e150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a76716d66605b534c443c342a21180d04000000000000000613202c3945515d676d6f6f6f6f6f6f6f6d685d5245392c20130700111d2a3744505d6a778386868686868686867f72685e524644494a5353535353535353524847423c332a20160c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e172029313940454f54596063676d70727576787879797878777573706d6864605c545049413b322a22180f0600000000000000000714212d3a4754606d7a7c7c7c7c7c7c7c7a6d6054473a2d21140700101d2936424f5b6671777979797979797979726d62564c41393c3d4646464646464646453b3a37312a21180e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f272f353d44484f54555d606366686a6b6c6c6c6c6b6a686663605d5653514a443f382f29201810060000000000000000000a1623303d495663707d898989898989897d7064574a3d3124170a000e1a26333e4a555f666a6c6c6c6c6c6c6c6c65625b51443a3030313939393939393939392f2e2b2620180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d151d242933383d44484b515356595b5d5e5f5f5f5f5e5d5c595754524c46444039332d261d170e06000000000000000000000a1623303d495663707c8995959595958a7d7064574a3d3124170a000a16222d39434d555b5d6060606060606060595751493f322923242d2d2d2d2d2d2d2d2c22211e1a150e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c333839404547494c4f50525253535252504f4d4a4745413a38342e27221b140b0500000000000000000000000a1623303d495663707c8996a2a2a2978a7d7064574a3d3124170a0005111c27313b434a4f5053535353535353534c4a463f372d20171720202020202020201f1514120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c161c21272c2f35383a3d3f42434545464645454442403d3a39352f2c28231c17110a020000000000000000000000000a1623303d495663707c8996a3aca3978a7d7064574a3d3124170a00000b151f2931393e424446464646464646463f3e3a352d251b0e0a13131313131313131208080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10161c1d24292c2d30333537383939393938373533302d2c29241f1c18120b0600000000000000000000000000000a1623303d495663707c89969f9f9f978a7d7064574a3d3124170a0000030d171f272d333637393939393939393932312e29231b130900060606060606060606000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1012181d1f202326282a2b2c2c2c2c2b2a29262421201d1913100c07000000000000000000000000000000000a1623303d495663707c8993939393938a7d7064574a3d3124170a000000050d151c2226292a2d2d2d2d2d2d2d2d2625221e1811090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10131416191c1d1f1f20201f1f1d1c1a171413110d08040000000000000000000000000000000000000a1623303d495663707d868686868686867e7064574a3d3124170a00000000030b11161a1d1d2020202020202020191816120d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0c0f10121213131212110f0d0a0707040100000000000000000000000000000000000000000916222f3b4854606b7079797979797979706c6155493c3023160a000000000000050a0e101113131313131313130c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c64615a5044392d201408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101b27323d474f545660606060606060575550483e33281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212b353d444849535353535353534a49443e362c22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19232b32383b3d464646464646463d3c39332c231a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111921272c2f303939393939393931302d28221a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b2022232d2d2d2d2d2d2d2423201c171008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b1013161620202020202020171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a131313131313130a0a0804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + image data: 1 + _typelessdata: 00 m_StreamData: serializedVersion: 2 offset: 0 From 53190f3f6106d9db52e3f9b4f0d7e6130c4999da Mon Sep 17 00:00:00 2001 From: VDH Date: Wed, 21 Jan 2026 17:40:10 +0700 Subject: [PATCH 02/20] convert skill bombo --- .../Common/DataProcess/elementdataman.cs | 1 - .../Scripts/Network/CSNetwork/GameSession.cs | 1 + .../Scripts/Objet/Shortcut/CECShortcutSet.cs | 16 +- .../Scripts/Skills/CECSCSkillGrp.cs | 66 +++++ .../Scripts/Skills/CECSCSkillGrp.cs.meta | 2 + .../Scripts/Skills/CECSkillConvert.cs | 85 ++++++ .../Scripts/Skills/CECSkillConvert.cs.meta | 11 + .../Scripts/UI/GamePlay/EC_GameUIMan.cs | 1 - Assets/Scripts/CECHostPlayer.cs | 254 ++++++++++++++++-- 9 files changed, 413 insertions(+), 24 deletions(-) create mode 100644 Assets/PerfectWorld/Scripts/Skills/CECSCSkillGrp.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/CECSCSkillGrp.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/CECSkillConvert.cs create mode 100644 Assets/PerfectWorld/Scripts/Skills/CECSkillConvert.cs.meta diff --git a/Assets/PerfectWorld/Scripts/Common/DataProcess/elementdataman.cs b/Assets/PerfectWorld/Scripts/Common/DataProcess/elementdataman.cs index 45aa4f3edb..cbc68f3bab 100644 --- a/Assets/PerfectWorld/Scripts/Common/DataProcess/elementdataman.cs +++ b/Assets/PerfectWorld/Scripts/Common/DataProcess/elementdataman.cs @@ -1875,7 +1875,6 @@ namespace ModelRenderer.Scripts.GameData // } // return id; //} - public object[] GetAllDataOfType(ID_SPACE idSpace, DATA_TYPE dataType) { List results = new List(); diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs index adef4669ff..8754786b86 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs @@ -763,6 +763,7 @@ namespace CSNetwork EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_SETCOOLTIME, MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader); break; case CommandID.COMBO_SKILL_PREPARE: + BMLogger.LogError("### GameDataSend: COMBO_SKILL_PREPARE"); EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_COMBO_SKILL_PREPARE, MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader, dwDataSize); break; case CommandID.PLAYER_EXT_PROP_BASE: diff --git a/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs b/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs index 32a85324b8..6029803c8b 100644 --- a/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs +++ b/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs @@ -123,7 +123,7 @@ namespace BrewMonster /// /// Create a skill group shortcut at specified position /// - /* public bool CreateSkillGroupShortcut(int iSlot, int iGroupIdx) + public bool CreateSkillGroupShortcut(int iSlot, int iGroupIdx) { CECSCSkillGrp pSkillGrpSC = new CECSCSkillGrp(); if (pSkillGrpSC == null) @@ -137,7 +137,7 @@ namespace BrewMonster SetShortcut(iSlot, pSkillGrpSC); return true; - }*/ + } /// /// Create a pet shortcut at specified position @@ -788,7 +788,19 @@ namespace BrewMonster } public virtual bool Execute() { return true; } } + // Shortcut type + public enum ShortcutType + { + SCT_UNKNOWN = -1, + SCT_SKILL = 0, + SCT_ITEM, + SCT_COMMAND, + SCT_SKILLGRP, + SCT_PET, + SCT_AUTOFASHION, + SCT_SYSMODULE, + }; public class CECSCCommand : CECShortcut { private int m_iCommand; // Command ID diff --git a/Assets/PerfectWorld/Scripts/Skills/CECSCSkillGrp.cs b/Assets/PerfectWorld/Scripts/Skills/CECSCSkillGrp.cs new file mode 100644 index 0000000000..059202bf6c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/CECSCSkillGrp.cs @@ -0,0 +1,66 @@ +using BrewMonster.Network; +using BrewMonster.Scripts; +using BrewMonster.Scripts.Skills; +using CSNetwork.GPDataType; +using System.Diagnostics; + +namespace BrewMonster +{ + /// + /// Shortcut representing a combo skill group. + /// + public class CECSCSkillGrp : CECShortcut + { + private int m_iGroupIdx; + private string m_strDesc; + + public CECSCSkillGrp() + { + m_iSCType = (int)ShortcutType.SCT_SKILLGRP; + m_iGroupIdx = -1; + m_strDesc = string.Empty; + } + + private CECSCSkillGrp(CECSCSkillGrp src) + { + m_iSCType = src.m_iSCType; + m_iGroupIdx = src.m_iGroupIdx; + m_strDesc = src.m_strDesc; + } + + /// + /// Initialize the shortcut and build its description from the string tables. + /// + public bool Init(int iGroupIdx) + { + m_iGroupIdx = iGroupIdx; + var strTab = EC_Game.GetItemDesc(); + string format = strTab?.GetWideString((int)DescriptipionMsg.CMDDESC_SKILLGROUP); + + if (string.IsNullOrEmpty(format)) + m_strDesc = $"Skill Group {m_iGroupIdx}"; + else + m_strDesc = GPDataTypeHelper.ReplacePercentD(format, m_iGroupIdx); + + return true; + } + + public int GetGroupIndex() => m_iGroupIdx; + + public string GetDesc() => m_strDesc; + + public override CECShortcut Clone() => new CECSCSkillGrp(this); + + public override bool Execute() + { + CECHostPlayer host = EC_Game.GetGameRun().GetHostPlayer(); + if (host == null) { + BMLogger.LogError("HostPlayer = null in CECSCSkillGrp::Execute"); + return false; + } + + host.ApplyComboSkill(m_iGroupIdx, false, -1); + return true; + } + } +} diff --git a/Assets/PerfectWorld/Scripts/Skills/CECSCSkillGrp.cs.meta b/Assets/PerfectWorld/Scripts/Skills/CECSCSkillGrp.cs.meta new file mode 100644 index 0000000000..9d1ed56971 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/CECSCSkillGrp.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 512f4bac6274464499a0be2923ed4d63 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/CECSkillConvert.cs b/Assets/PerfectWorld/Scripts/Skills/CECSkillConvert.cs new file mode 100644 index 0000000000..0e5386af78 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/CECSkillConvert.cs @@ -0,0 +1,85 @@ +// Filename : CECSkillConvert.cs +// Creator : zhangyitian +// Date : 2014/07/09 +// Converted to C# from EC_SkillConvert.cpp + +using CSNetwork.GPDataType; +using System.Collections.Generic; + +namespace BrewMonster.Scripts.Skills +{ + // 绁為瓟杞崲鏌ヨ琛 // God-Evil skill conversion table + public class CECSkillConvert + { + private static CECSkillConvert instance; + private Dictionary m_convertTable; + private bool m_bInitialized; + + private CECSkillConvert() + { + m_convertTable = new Dictionary(); + m_bInitialized = false; + } + + // 鍗曚緥 // Singleton + public static CECSkillConvert Instance + { + get + { + if (instance == null) + { + instance = new CECSkillConvert(); + } + return instance; + } + } + + private void Initialize() + { + var pDB = ElementDataManProvider.GetElementDataMan(); + + var dt = DATA_TYPE.DT_GOD_EVIL_CONVERT_CONFIG; + var map = pDB.GetAllDataTypeWithType(ID_SPACE.ID_SPACE_CONFIG, dt); + if (map == null) + { + BMLogger.LogError("CECSkillConvert Initialize failed: no data found for DT_GOD_EVIL_CONVERT_CONFIG"); + return; + } + + foreach (var obj in map) + { + GOD_EVIL_CONVERT_CONFIG config = (GOD_EVIL_CONVERT_CONFIG)obj; + if (config.skill_map != null) + { + for (int i = 0; i + 1 < map.Length; i += 2) + { + if (config.skill_map[i] != 0 && + config.skill_map[i+128] != 0) + { + m_convertTable[config.skill_map[i]] = config.skill_map[i + 128]; + m_convertTable[config.skill_map[i+128]] = config.skill_map[i]; + } + } + } + } + + m_bInitialized = true; + } + + // 鑾峰緱杞崲鍚庣殑鎶鑳斤紝杩斿洖0琛ㄧず娌℃湁杞崲鐨勬妧鑳 // Get the converted skill, return 0 if no conversion exists + public int GetConvertSkill(int skillID) + { + if (!m_bInitialized) + { + Initialize(); + } + + if (m_convertTable.TryGetValue(skillID, out int convertedSkillID)) + { + return convertedSkillID; + } + + return 0; + } + } +} diff --git a/Assets/PerfectWorld/Scripts/Skills/CECSkillConvert.cs.meta b/Assets/PerfectWorld/Scripts/Skills/CECSkillConvert.cs.meta new file mode 100644 index 0000000000..d3f7344d26 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/CECSkillConvert.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7d3e4a2b8c9f4e1a9b6c5d8e7f3a2b1c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs index adb2aec439..d21d1c050c 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs @@ -155,7 +155,6 @@ namespace BrewMonster.UI } } public enum EC_GAMEUI_ICONS : byte - { ICONS_ACTION = 0, ICONS_SKILL, diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index d22be2afa2..262da75492 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -21,6 +21,7 @@ using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; +using Unity.VisualScripting; using UnityEngine; using UnityEngine.UI; using static BrewMonster.Scripts.Managers.EC_Inventory; @@ -573,7 +574,6 @@ namespace BrewMonster case int value when value == EC_MsgDef.MSG_PM_CASTSKILL: OnMsgPlayerCastSkill(Msg); break; case int value when value == EC_MsgDef.MSG_PM_ENCHANTRESULT: OnMsgEnchantResult(Msg); break; - case int value when value == EC_MsgDef.MSG_HST_OWNEXTPROP: OnMsgHstExtProp(Msg); break; case int value when value == EC_MsgDef.MSG_PM_PLAYERDOEMOTE: OnMsgPlayerDoEmote(Msg); break; case int value when value == EC_MsgDef.MSG_HST_TARGETISFAR: OnMsgHstTargetIsFar(Msg); break; @@ -609,6 +609,7 @@ namespace BrewMonster private void OnMsgComboSkillPrepare(ECMSG Msg) { + BMLogger.LogError("OnMsgComboSkillPrepare"); cmd_combo_skill_prepare cmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); uint skillID = (uint)cmd.skill_id; @@ -618,13 +619,13 @@ namespace BrewMonster arg = new int[ComboSkillState.MAX_COMBO_ARG] }; comboSkillState.arg = cmd.args; - /* if (cmd.args != null) - { - Array.Copy(cmd.args, comboSkillState.arg, Math.Min(cmd.args.Length, ComboSkillState.MAX_COMBO_ARG)); - }*/ + /* if (cmd.args != null) + { + Array.Copy(cmd.args, comboSkillState.arg, Math.Min(cmd.args.Length, ComboSkillState.MAX_COMBO_ARG)); + }*/ Dictionary comboSkillList = ElementSkill.GetComboSkActivated(comboSkillState); - CECComboSkillState.Instance.SetComboSkillState(comboSkillList,ref comboSkillState); + CECComboSkillState.Instance.SetComboSkillState(comboSkillList, ref comboSkillState); } private void OnMsgHstLearnSkill(ECMSG Msg) @@ -1354,13 +1355,21 @@ namespace BrewMonster return; } - /* List skillSCConfigArray1 = new List(); - List skillSCConfigArray2 = new List(); - List skillGrpSCConfigArray1 = new List(); - List skillGrpSCConfigArray2 = new List();*/ + List skillSCConfigArray1 = new List(); + List skillSCConfigArray2 = new List(); + List skillGrpSCConfigArray1 = new List(); + List skillGrpSCConfigArray2 = new List(); if (HostIsReady()) { + m_pWorkMan.FinishWork(new CECHPTraceSpellMatcher()); + m_pPrepSkill = null; + m_pCurSkill = null; + ClearComboSkill(); + SaveSkillShortcut(skillSCConfigArray1, m_aSCSets1, (int)Shortcut.NUM_HOSTSCSETS1); + SaveSkillShortcut(skillSCConfigArray2, m_aSCSets2, (int)Shortcut.NUM_HOSTSCSETS2); + SaveSkillGrpShortcut(skillGrpSCConfigArray1, m_aSCSets1, (int)Shortcut.NUM_HOSTSCSETS1); + SaveSkillGrpShortcut(skillGrpSCConfigArray2, m_aSCSets2, (int)Shortcut.NUM_HOSTSCSETS2); /* for (int i = 0; i < HostConstants.NUM_HOSTSCSETS1; i++) { @@ -1379,6 +1388,9 @@ namespace BrewMonster }*/ // Release passive skills + m_aSCSets1 = new CECShortcutSet[HostCfgConstants.NUM_HOSTSCSETS1]; + m_aSCSets2 = new CECShortcutSet[HostCfgConstants.NUM_HOSTSCSETS2]; + m_aPtSkills.Clear(); m_aPsSkills.Clear(); } @@ -1407,15 +1419,15 @@ namespace BrewMonster // Restore and convert shortcuts after loading new skills if (HostIsReady()) { - /* ConvertSkillShortcut(skillSCConfigArray1); - AssignSkillShortcut(skillSCConfigArray1, hostPlayer.m_aSCSets1);*/ - /* ConvertSkillShortcut(skillSCConfigArray2); - AssignSkillShortcut(skillSCConfigArray2, hostPlayer.m_aSCSets2);*/ - /* ConvertComboSkill(); - ValidateSkillGrpShortcut(skillGrpSCConfigArray1); - AssignSkillGrpShortcut(skillGrpSCConfigArray1, hostPlayer.m_aSCSets1); - ValidateSkillGrpShortcut(skillGrpSCConfigArray2); - AssignSkillGrpShortcut(skillGrpSCConfigArray2, hostPlayer.m_aSCSets2);*/ + ConvertSkillShortcut(skillSCConfigArray1); + AssignSkillShortcut(skillSCConfigArray1, m_aSCSets1); + ConvertSkillShortcut(skillSCConfigArray2); + AssignSkillShortcut(skillSCConfigArray2, m_aSCSets2); + ConvertComboSkill(); + ValidateSkillGrpShortcut(skillGrpSCConfigArray1); + AssignSkillGrpShortcut(skillGrpSCConfigArray1, m_aSCSets1); + ValidateSkillGrpShortcut(skillGrpSCConfigArray2); + AssignSkillGrpShortcut(skillGrpSCConfigArray2, m_aSCSets2); } if (HostIsReady()) @@ -1427,12 +1439,172 @@ namespace BrewMonster CECUIManager.Instance.UpdateSkillRelatedUI(); } } + public void AssignSkillGrpShortcut( List skillGrpSCConfigArray, CECShortcutSet[] aSCSets) + { + for (int i = 0; i < skillGrpSCConfigArray.Count; i++) + { + SkillGrpShortCutConfig cfg = skillGrpSCConfigArray[i]; + if (cfg.groupIndex != -1) + { + // C++ kh么ng check null; n岷縰 mu峄憂 an to脿n h啤n th矛 check aSCSets[cfg.setNum] != null + aSCSets[cfg.setNum].CreateSkillGroupShortcut(cfg.slotNum, cfg.groupIndex); + } + } + } + public void ValidateSkillGrpShortcut(List skillGrpSCConfigArray) + { + for (int i = 0; i < skillGrpSCConfigArray.Count; i++) + { + // C++ 膽ang l岷 VideoSettings trong m峄梚 v貌ng l岷穚 (gi峄 nguy锚n h脿nh vi) + EC_VIDEO_SETTING vs = EC_Game.GetConfigs().GetVideoSettings(); + + SkillGrpShortCutConfig cfg = skillGrpSCConfigArray[i]; + + if (vs.comboSkill[cfg.groupIndex].nIcon == 0) + cfg.groupIndex = -1; // -1 bi峄僽 th峄 shortcut combo-skill kh么ng h峄 l峄 + + skillGrpSCConfigArray[i] = cfg; // c岷 n岷縰 SkillGrpShortCutConfig l脿 struct + } + } + + public void ConvertComboSkill() + { + EC_VIDEO_SETTING vs = EC_Game.GetConfigs().GetVideoSettings(); + + for (int i = 0; i < EC_ConfigConstants.EC_COMBOSKILL_NUM; i++) + { + if (vs.comboSkill[i].nIcon == 0) + continue; + + for (int j = 0; j < EC_ConfigConstants.EC_COMBOSKILL_LEN; j++) + { + int oldSkillId = vs.comboSkill[i].idSkill[j]; + if (oldSkillId == 0) + continue; + + int convertedSkillId = CECSkillConvert.Instance.GetConvertSkill(oldSkillId); + int newSkillId = (convertedSkillId == 0) ? oldSkillId : convertedSkillId; + + // C++: n岷縰 skill t峄搉 t岷, ho岷穋 l脿 -1/-2 (loop / normal attack shortcut) th矛 gi峄 + if (GetNormalSkill(newSkillId) != null || newSkillId == -1 || newSkillId == -2) + { + vs.comboSkill[i].idSkill[j] = (short)newSkillId; + } + else + { + // Kh么ng h峄 l峄 -> clear combo theo oldSkillId, icon v峄 0, tho谩t v貌ng l岷穚 j + vs.comboSkill[i].Clear(oldSkillId); + vs.comboSkill[i].nIcon = 0; + break; + } + } + } + + EC_Game.GetConfigs().SetVideoSettings(vs); + } + public void AssignSkillShortcut(List skillSCConfigArray, CECShortcutSet[] aSCSets) + { + for (int i = 0; i < skillSCConfigArray.Count; i++) + { + SkillShortCutConfig cfg = skillSCConfigArray[i]; + if (cfg.skillId == 0) + { + BMLogger.LogError("AssignSkillShortcut: skillId is zero"); + } + CECSkill convertSkill = GetNormalSkill(cfg.skillId); + if (convertSkill != null) + { + // C++ kh么ng check null set => n岷縰 mu峄憂 y h峄噒 th矛 b峄 check n脿y + if (aSCSets[cfg.setNum] != null) + { + aSCSets[cfg.setNum].CreateSkillShortcut(cfg.slotNum, convertSkill); + } + } + } + } + public void ConvertSkillShortcut(List skillSCConfigArray) + { + for (int i = 0; i < skillSCConfigArray.Count; i++) + { + if (skillSCConfigArray[i].skillId == 0) + { + BMLogger.LogError("ConvertSkillShortcut: skillId is zero"); + } + + int oldSkillId = skillSCConfigArray[i].skillId; + int convertSkillId = CECSkillConvert.Instance.GetConvertSkill(oldSkillId); + + // it->skillId = (convertSkillId == 0) ? it->skillId : convertSkillId; + SkillShortCutConfig cfg = skillSCConfigArray[i]; + cfg.skillId = (convertSkillId == 0) ? oldSkillId : convertSkillId; + skillSCConfigArray[i] = cfg; // needed if SkillShortCutConfig is a struct + } + } + public void SaveSkillGrpShortcut( + List skillGrpSCConfigArray, + CECShortcutSet[] aSCSets, + int count) + { + for (int i = 0; i < count; i++) + { + if (aSCSets[i] == null) continue; + + for (int j = 0; j < aSCSets[i].GetShortcutNum(); j++) + { + CECShortcut pSC = aSCSets[i].GetShortcut(j); + if (pSC == null || pSC.GetType() != (int)ShortcutType.SCT_SKILLGRP) + continue; + + // C-style cast -> safe cast + if (pSC is not CECSCSkillGrp pSkillGrpSC) + continue; + + SkillGrpShortCutConfig skillGrpSCConfig = new SkillGrpShortCutConfig(); + skillGrpSCConfig.setNum = i; + skillGrpSCConfig.slotNum = j; + skillGrpSCConfig.groupIndex = pSkillGrpSC.GetGroupIndex(); + + skillGrpSCConfigArray.Add(skillGrpSCConfig); + } + } + } + + public void SaveSkillShortcut( + List skillSCConfigArray, + CECShortcutSet[] aSCSets, + int count) + { + for (int i = 0; i < count; i++) + { + if (aSCSets[i] == null) continue; + + for (int j = 0; j < aSCSets[i].GetShortcutNum(); j++) + { + CECShortcut pSC = aSCSets[i].GetShortcut(j); + if (pSC == null || pSC.GetType() != (int)ShortcutType.SCT_SKILL) + continue; + + if (pSC is not CECSCSkill pSkillSC) + continue; + + int iOldSkillId = pSkillSC.GetSkill()?.GetSkillID() ?? 0; + if (iOldSkillId == 0) + continue; + + SkillShortCutConfig skillSCConfig = new SkillShortCutConfig(); + skillSCConfig.setNum = i; + skillSCConfig.slotNum = j; + skillSCConfig.skillId = iOldSkillId; + + skillSCConfigArray.Add(skillSCConfig); + } + } + } public bool HostIsReady() { return m_bEnterGame; } - private void OnMsgHstDied(in ECMSG msg) { // Mark host player as corpse so CECPlayer.IsDead() returns true @@ -6529,6 +6701,22 @@ namespace BrewMonster } // Clear combo skill / 娓呴櫎杩炲嚮鎶鑳 + public bool ApplyComboSkill(int iGroup, bool bIgnoreAtkLoop = false, int iForceAtk = -1) + { + ClearComboSkill(); + + CECComboSkill comboSkill = new(); + bool bForceAttack = iForceAtk < 0 ? glb_GetForceAttackFlag(0) : iForceAtk > 0; + if (!comboSkill.Init(this, iGroup, m_idSelTarget, bForceAttack, bIgnoreAtkLoop)) + { + return false; + } + + m_pComboSkill = comboSkill; + m_pComboSkill.Continue(m_bMelee); + return true; + } + void ClearComboSkill() { if (m_pComboSkill != null) @@ -6900,4 +7088,30 @@ namespace BrewMonster return iReason == 0 ? true : false; } } + public struct SkillShortCutConfig + { + public int setNum; + public int slotNum; + public int skillId; + }; + + public struct SkillGrpShortCutConfig + { + public int setNum; + public int slotNum; + public int groupIndex; + }; + public sealed class CECHPTraceSpellMatcher : CECHPWorkMatcher + { + public override bool Match(CECHPWork pWork, int priority, bool isDelayWork) + { + if (pWork == null) return false; + if (pWork.GetWorkID() != Host_work_ID.WORK_TRACEOBJECT) return false; + + // dynamic_cast(pWork) trong C# + if (pWork is not CECHPWorkTrace trace) return false; + + return trace.GetTraceReason() == Trace_reason.TRACE_SPELL; + } + } } From 658b8404aa696c2197dd7212820f6ca9a4c88dac Mon Sep 17 00:00:00 2001 From: VDH Date: Wed, 21 Jan 2026 17:42:22 +0700 Subject: [PATCH 03/20] save prefab --- Assets/PerfectWorld/Prefab/UIManager.prefab | 6 +++--- Assets/Scenes/a61.unity | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Assets/PerfectWorld/Prefab/UIManager.prefab b/Assets/PerfectWorld/Prefab/UIManager.prefab index 035ff90d4b..87e72c4535 100644 --- a/Assets/PerfectWorld/Prefab/UIManager.prefab +++ b/Assets/PerfectWorld/Prefab/UIManager.prefab @@ -2242,7 +2242,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &9056141770234008732 RectTransform: m_ObjectHideFlags: 0 @@ -2998,7 +2998,7 @@ MonoBehaviour: dialogResouce: {fileID: 11400000, guid: 540bc8e61556ba4479407a2d68e17580, type: 2} canvasDlg: {fileID: 7894129013412138377} btnSecondClick: {fileID: 1330222957695115484} - m_pDlgQuickBar1: {fileID: 5121835536669013309} + m_pDlgQuickBar1: {fileID: 8338623026378970694} m_pDlgSkillAction: {fileID: 0} --- !u!114 &6678802354138057098 MonoBehaviour: @@ -3600,7 +3600,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &6541409353547558602 RectTransform: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/a61.unity b/Assets/Scenes/a61.unity index 7bb1e01947..c4f8966cc0 100644 --- a/Assets/Scenes/a61.unity +++ b/Assets/Scenes/a61.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:60ce6573feacc8eaf7916a3f9cfb65a0d2cc5fe4cccebf70fb17ca1645de5c46 -size 200522636 +oid sha256:def3c6a4f58ef9b5c9558210328e5b6f3ed11bfee5b577271ee43fa110616b82 +size 200521689 From 485488b80429cac4e37bfc98166653f328ac9522 Mon Sep 17 00:00:00 2001 From: VDH Date: Wed, 21 Jan 2026 18:06:24 +0700 Subject: [PATCH 04/20] fix bug --- Assets/Scripts/CECHostPlayer.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index c6c1c1b7a5..b5b371bbf8 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -12,6 +12,7 @@ using BrewMonster.UI; using CSNetwork; using CSNetwork.GPDataType; using CSNetwork.Protocols.RPCData; +using CSNetwork.S2CCommand; using ModelRenderer.Scripts.GameData; using PerfectWorld.Scripts; using PerfectWorld.Scripts.Managers; From ef366cfc320b395f769c22cab2f34ef22bdba75d Mon Sep 17 00:00:00 2001 From: VDH Date: Thu, 22 Jan 2026 19:23:32 +0700 Subject: [PATCH 05/20] convert skill combo' --- .../PerfectWorld/Scripts/Common/EC_Configs.cs | 9 +- .../Managers/EC_IvtrItem/EC_IvtrItem.cs | 2 +- .../CSNetwork/C2SCommand/C2SCommandFactory.cs | 10 + .../Scripts/Network/CSNetwork/GPDataType.cs | 81 ++- .../Scripts/Network/CSNetwork/GameSession.cs | 156 ++--- .../Scripts/Network/UnityGameSession.cs | 4 + .../Scripts/Objet/Shortcut/CECShortcutSet.cs | 166 ++--- .../Scripts/Skills/FLOW_COMBO_SKILL_CLICK.md | 631 ++++++++++++++++++ .../Skills/FLOW_COMBO_SKILL_CLICK.md.meta | 7 + .../Scripts/UI/GamePlay/CdlgQuickBar.cs | 477 ++++++------- Assets/Scripts/CECGameRun.cs | 38 +- Assets/Scripts/EC_Utility.cs | 15 + 12 files changed, 1144 insertions(+), 452 deletions(-) create mode 100644 Assets/PerfectWorld/Scripts/Skills/FLOW_COMBO_SKILL_CLICK.md create mode 100644 Assets/PerfectWorld/Scripts/Skills/FLOW_COMBO_SKILL_CLICK.md.meta diff --git a/Assets/PerfectWorld/Scripts/Common/EC_Configs.cs b/Assets/PerfectWorld/Scripts/Common/EC_Configs.cs index 51a94a36d9..e39c5b680a 100644 --- a/Assets/PerfectWorld/Scripts/Common/EC_Configs.cs +++ b/Assets/PerfectWorld/Scripts/Common/EC_Configs.cs @@ -1071,11 +1071,12 @@ namespace BrewMonster { try { + BMLogger.LogError("LoadUserConfigData: Start loading user config data"); using (MemoryStream ms = new MemoryStream(pDataBuf, 0, iDataSize)) using (BinaryReader reader = new BinaryReader(ms)) { uint dwVer = reader.ReadUInt32(); - + if (dwVer < 15) { DefaultUserConfigData(); @@ -1115,9 +1116,9 @@ namespace BrewMonster // Note: Would need EC_Game reference // g_pGame->GetA3DGFXExMan()->SetPriority(m_vs.nEffect); // Send force attack to server - /* byte forceAttack = glb_BuildPVPMask(false); - byte refuseBless = glb_BuildRefuseBLSMask(); - UnityGameSession.Instance.c2s_CmdNotifyForceAttack(forceAttack, refuseBless);*/ + byte forceAttack = EC_Utility.glb_BuildPVPMask(false); + byte refuseBless = EC_Utility.glb_BuildRefuseBLSMask(); + UnityGameSession.c2s_SendCmdNotifyForceAttack(forceAttack, refuseBless); } public void SetSceneLoadRadius(float fRadius) diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrItem.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrItem.cs index 67ab258250..4c13ccd138 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrItem.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrItem.cs @@ -807,7 +807,7 @@ namespace BrewMonster.Scripts.Managers var pItem = new EC_IvtrItem(tid, expire_date); DATA_TYPE DataType = DATA_TYPE.DT_INVALID; object data = ElementDataManProvider.GetElementDataMan().get_data_ptr((uint)tid, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); - Debug.Log("Create item data: DataType: " + DataType); + //Debug.Log("Create item data: DataType: " + DataType); switch(DataType) { case DATA_TYPE.DT_WEAPON_ESSENCE: diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs index de485044dd..6355e2b309 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs @@ -331,6 +331,16 @@ namespace CSNetwork.C2SCommand var cmdBuf = SerializeCommand(CommandID.CAST_POS_SKILL, cmd); return cmdBuf; } + public static Octets CreateNotifyForceAttack(int iForceAttack, byte refuseBless) + { + var cmd = new cmd_notify_force_attack + { + force_attack = (byte)iForceAttack, + refuse_bless = refuseBless + }; + var cmdBuf = SerializeCommand(CommandID.NOTIFY_FORCE_ATTACK, cmd); + return cmdBuf; + } public static short FloatToFix8(float x) { diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs index 11b015098a..f6a097f84a 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs @@ -2194,19 +2194,20 @@ namespace CSNetwork.GPDataType public int exp; }; public _entry[] records; - public bool CheckValid(int buf_size, out int sz) - { sz = 0; - if (count < 0) - return false; - sz = Marshal.SizeOf() - Marshal.SizeOf<_entry[]>(); - sz += count * Marshal.SizeOf<_entry>(); - return buf_size >= sz; - } - }; + public bool CheckValid(int buf_size, out int sz) + { + sz = 0; + if (count < 0) + return false; + sz = Marshal.SizeOf() - Marshal.SizeOf<_entry[]>(); + sz += count * Marshal.SizeOf<_entry>(); + return buf_size >= sz; + } + }; // Pet type public enum GP_PET_TYPE - { + { GP_PET_CLASS_INVALID = -1, GP_PET_CLASS_MOUNT = 0, // 锟斤拷锟 GP_PET_CLASS_COMBAT, // 战锟斤拷锟斤拷锟斤拷 @@ -2216,13 +2217,13 @@ namespace CSNetwork.GPDataType GP_PET_CLASS_EVOLUTION, // 锟斤拷锟斤拷锟斤拷 GP_PET_CLASS_MAX, }; - + public struct PetSkill { public int skill; public int level; - } + } public struct _evo_prop { public int r_attack; @@ -2234,29 +2235,29 @@ namespace CSNetwork.GPDataType } public enum GP_PET_SKILL_NUM { - GP_PET_SKILL_NUM = 8 + GP_PET_SKILL_NUM = 8 }; public struct info_pet - { - public int honor_point; // 锟矫感讹拷 - public int hunger; // 锟斤拷锟斤拷锟斤拷 - public int feed_time; // 锟较达拷喂锟斤拷锟斤拷锟斤拷锟节碉拷时锟斤拷 - public int pet_tid; // 锟斤拷锟斤拷锟侥o拷锟絀D - public int pet_vis_tid; // 锟斤拷锟斤拷目杉锟絀D锟斤拷锟斤拷锟轿0锟斤拷锟斤拷锟绞撅拷锟斤拷锟斤拷锟缴硷拷ID锟斤拷 - public int pet_egg_tid; // 锟斤拷锟斤蛋锟斤拷ID - public int pet_class; // 锟斤拷锟斤拷锟斤拷锟斤拷 战锟借,锟斤拷瑁拷锟斤拷统锟 - public float hp_factor; // 血锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷栈锟绞笔癸拷茫锟 0锟斤拷为锟斤拷锟斤拷 - public short level; // 锟斤拷锟斤级锟斤拷 - public ushort color; // 锟斤拷锟斤拷锟斤拷色锟斤拷锟斤拷锟轿晃1锟斤拷示锟斤拷效锟斤拷目前锟斤拷锟斤拷锟斤拷锟斤拷锟叫 - public int exp; // 锟斤拷锟斤当前锟斤拷锟斤拷 - public int skill_point; // 剩锟洁技锟杰碉拷 - public char is_bind; // 锟角凤拷锟斤拷锟剿猴拷一锟斤拷锟斤拷锟斤拷锟斤拷一锟斤拷Mask锟斤拷0x01 锟斤拷锟剿猴拷一锟斤拷0x02 寻锟斤拷锟斤拷锟缴斤拷锟斤拷 - public char unused; // 目前锟斤拷锟斤拷锟斤拷效 - public ushort name_len; // 锟斤拷锟街筹拷锟斤拷 目前锟斤拷锟斤拷锟斤拷效锟斤拷锟斤拷为锟竭伙拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 - public char[] name; // 锟斤拷锟斤拷锟斤拷锟斤拷 - public PetSkill[] skills; + { + public int honor_point; // 锟矫感讹拷 + public int hunger; // 锟斤拷锟斤拷锟斤拷 + public int feed_time; // 锟较达拷喂锟斤拷锟斤拷锟斤拷锟节碉拷时锟斤拷 + public int pet_tid; // 锟斤拷锟斤拷锟侥o拷锟絀D + public int pet_vis_tid; // 锟斤拷锟斤拷目杉锟絀D锟斤拷锟斤拷锟轿0锟斤拷锟斤拷锟绞撅拷锟斤拷锟斤拷锟缴硷拷ID锟斤拷 + public int pet_egg_tid; // 锟斤拷锟斤蛋锟斤拷ID + public int pet_class; // 锟斤拷锟斤拷锟斤拷锟斤拷 战锟借,锟斤拷瑁拷锟斤拷统锟 + public float hp_factor; // 血锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷栈锟绞笔癸拷茫锟 0锟斤拷为锟斤拷锟斤拷 + public short level; // 锟斤拷锟斤级锟斤拷 + public ushort color; // 锟斤拷锟斤拷锟斤拷色锟斤拷锟斤拷锟轿晃1锟斤拷示锟斤拷效锟斤拷目前锟斤拷锟斤拷锟斤拷锟斤拷锟叫 + public int exp; // 锟斤拷锟斤当前锟斤拷锟斤拷 + public int skill_point; // 剩锟洁技锟杰碉拷 + public char is_bind; // 锟角凤拷锟斤拷锟剿猴拷一锟斤拷锟斤拷锟斤拷锟斤拷一锟斤拷Mask锟斤拷0x01 锟斤拷锟剿猴拷一锟斤拷0x02 寻锟斤拷锟斤拷锟缴斤拷锟斤拷 + public char unused; // 目前锟斤拷锟斤拷锟斤拷效 + public ushort name_len; // 锟斤拷锟街筹拷锟斤拷 目前锟斤拷锟斤拷锟斤拷效锟斤拷锟斤拷为锟竭伙拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 + public char[] name; // 锟斤拷锟斤拷锟斤拷锟斤拷 + public PetSkill[] skills; public _evo_prop evo_prop; - public int[] reserved; // 未锟斤拷 + public int[] reserved; // 未锟斤拷 public info_pet(bool isDefault = true) { honor_point = 0; @@ -2276,7 +2277,8 @@ namespace CSNetwork.GPDataType name_len = 0; name = new char[16]; skills = new PetSkill[(int)GP_PET_SKILL_NUM.GP_PET_SKILL_NUM]; - evo_prop = new _evo_prop{ + evo_prop = new _evo_prop + { r_attack = 0, r_defense = 0, r_hp = 0, @@ -2286,6 +2288,17 @@ namespace CSNetwork.GPDataType }; reserved = new int[10]; } - }; + }; + public enum REFUSE_BLESS_MASK : byte + { + REFUSE_NEUTRAL_BLESS = 0x0001, // 虏禄陆脫脢脺脰脨脨脭脳拢赂拢 + REFUSE_NON_TEAMMATE_BLESS = 0x0002, // 虏禄陆脫脢脺路脟露脫脫脩脳拢赂拢 + }; + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_notify_force_attack + { + public byte force_attack; + public byte refuse_bless; + }; } diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs index 60cf427d0c..ba3261ad16 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs @@ -364,11 +364,11 @@ namespace CSNetwork case ProtocolType.PROTOCOL_GETUICONFIG_RE: OnPrtcGetConfigRe(protocol); break; case ProtocolType.PROTOCOL_AUTOTEAMSETGOAL_RE: - { - // CECAutoTeam pAutoTeam = CECGameRun.Instance.GetHostPlayer().GetAutoTeam(); - // if( pAutoTeam !=null) - // pAutoTeam.OnPrtcAutoTeamSetGoalRe((AutoTeamSetGoal_Re)protocol); - } + { + // CECAutoTeam pAutoTeam = CECGameRun.Instance.GetHostPlayer().GetAutoTeam(); + // if( pAutoTeam !=null) + // pAutoTeam.OnPrtcAutoTeamSetGoalRe((AutoTeamSetGoal_Re)protocol); + } break; default: @@ -593,64 +593,64 @@ namespace CSNetwork #if UNITY_EDITOR BMLogger.LogError($"### GameDataSend: ERROR_MESSAGE: {errRaw}"); #endif - cmd_error_msg pCmd = GPDataTypeHelper.FromBytes(pDataBuf); + cmd_error_msg pCmd = GPDataTypeHelper.FromBytes(pDataBuf); #if UNITY_EDITOR BMLogger.LogError($"### GameDataSend: ERROR_MESSAGE parsed iMessage={pCmd.iMessage}"); #endif - if (pCmd.iMessage != 0) - { - // string szMsg = m_ErrorMsgs.GetWideString(pCmd.iMessage); - // if (string.IsNullOrEmpty(szMsg)) - // BMLogger.LogError("SERVER - unknown error !"); - //else if (pCmd.iMessage != 2) - //g_pGame.GetGameRun().AddChatMessage(szMsg, GP_CHAT_MISC); - } + if (pCmd.iMessage != 0) + { + // string szMsg = m_ErrorMsgs.GetWideString(pCmd.iMessage); + // if (string.IsNullOrEmpty(szMsg)) + // BMLogger.LogError("SERVER - unknown error !"); + //else if (pCmd.iMessage != 2) + //g_pGame.GetGameRun().AddChatMessage(szMsg, GP_CHAT_MISC); + } - if (pCmd.iMessage == 2) - { - // Attack target is too far - EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_TARGETISFAR, MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader); - } - else if (pCmd.iMessage == 20) - { - // Failed to cast skill - //pGameRun.PostMessage(MSG_PM_CASTSKILL, MAN_PLAYER, 0, (DWORD)pDataBuf, pCmdHeader.cmd); - } - else if (pCmd.iMessage == 133 || pCmd.iMessage == 134) - { - // deal failed - //pGameRun.PostMessage(MSG_HST_BUY_SELL_FAIL, MAN_PLAYER, 0, (DWORD)pDataBuf, pCmdHeader.cmd); - } - else if (pCmd.iMessage == 158) - { - // 碌卤脟掳禄茫脗脢虏禄露脭拢卢脰脴脨脗脠隆禄茫脗脢 - //c2s_CmdGetCashMoneyRate(); - } - else if (pCmd.iMessage == 108 /*&& pGameRun.GetHostPlayer().IsInKingService()*/) - { - /* CECGameUIMan* pGameUI = pGameRun.GetUIManager().GetInGameUIMan(); - if (pGameUI) - pGameUI.EndNPCService();*/ - } - else if - (pCmd.iMessage == 108 /*&& pGameRun.GetHostPlayer().GetOfflineShopCtrl().GetNPCSevFlag() != COfflineShopCtrl::NPCSEV_NULL*/ - ) - { - /* CECGameUIMan* pGameUI = pGameRun.GetUIManager().GetInGameUIMan(); - if (pGameUI) - pGameUI.EndNPCService();*/ - } - else if (pCmd.iMessage == 175) - { - //c2s_CmdQueryParallelWorld(); - } - else if (pCmd.iMessage == 6) - { - //AP_ActionEvent(AP_EVENT_CANNOTPICKUP); - } + if (pCmd.iMessage == 2) + { + // Attack target is too far + EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_TARGETISFAR, MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader); + } + else if (pCmd.iMessage == 20) + { + // Failed to cast skill + //pGameRun.PostMessage(MSG_PM_CASTSKILL, MAN_PLAYER, 0, (DWORD)pDataBuf, pCmdHeader.cmd); + } + else if (pCmd.iMessage == 133 || pCmd.iMessage == 134) + { + // deal failed + //pGameRun.PostMessage(MSG_HST_BUY_SELL_FAIL, MAN_PLAYER, 0, (DWORD)pDataBuf, pCmdHeader.cmd); + } + else if (pCmd.iMessage == 158) + { + // 碌卤脟掳禄茫脗脢虏禄露脭拢卢脰脴脨脗脠隆禄茫脗脢 + //c2s_CmdGetCashMoneyRate(); + } + else if (pCmd.iMessage == 108 /*&& pGameRun.GetHostPlayer().IsInKingService()*/) + { + /* CECGameUIMan* pGameUI = pGameRun.GetUIManager().GetInGameUIMan(); + if (pGameUI) + pGameUI.EndNPCService();*/ + } + else if + (pCmd.iMessage == 108 /*&& pGameRun.GetHostPlayer().GetOfflineShopCtrl().GetNPCSevFlag() != COfflineShopCtrl::NPCSEV_NULL*/ + ) + { + /* CECGameUIMan* pGameUI = pGameRun.GetUIManager().GetInGameUIMan(); + if (pGameUI) + pGameUI.EndNPCService();*/ + } + else if (pCmd.iMessage == 175) + { + //c2s_CmdQueryParallelWorld(); + } + else if (pCmd.iMessage == 6) + { + //AP_ActionEvent(AP_EVENT_CANNOTPICKUP); + } - break; + break; } case CommandID.SELECT_TARGET: case CommandID.UNSELECT: @@ -719,7 +719,7 @@ namespace CSNetwork case CommandID.OBJECT_CAST_INSTANT_SKILL: case CommandID.OBJECT_CAST_POS_SKILL: { - cmd_object_cast_skill pCmd2 = GPDataTypeHelper.FromBytes(pDataBuf,true); + cmd_object_cast_skill pCmd2 = GPDataTypeHelper.FromBytes(pDataBuf, true); if (ISPLAYERID(pCmd2.caster)) EC_ManMessage.PostMessage(EC_MsgDef.MSG_PM_CASTSKILL, MANAGER_INDEX.MAN_PLAYER, -1, pDataBuf, pCmdHeader); else if (ISNPCID(pCmd2.caster)) @@ -1121,6 +1121,12 @@ namespace CSNetwork SendProtocol(gamedatasend); } + public void c2s_SendCmdNotifyForceAttack(int iForceAttack, byte refuseBless) + { + gamedatasend gamedatasend = new gamedatasend(); + gamedatasend.Data = C2SCommandFactory.CreateNotifyForceAttack(iForceAttack, refuseBless); + SendProtocol(gamedatasend); + } public void c2s_SendCmdContinueAction() { gamedatasend gamedatasend = new gamedatasend(); @@ -1210,24 +1216,24 @@ namespace CSNetwork // Get referral name for adding friend or other display //TODO: a Hung lam phan select role info di - /* RoleInfo info = EC_Game.GetGameRun().GetSelectedRoleInfo(); - if (info.referrer_role > 0) - GetPlayerBriefInfo(1, info.referrer_role, 2);*/ + /* RoleInfo info = EC_Game.GetGameRun().GetSelectedRoleInfo(); + if (info.referrer_role > 0) + GetPlayerBriefInfo(1, info.referrer_role, 2);*/ } CECHostPlayer pHost = EC_Game.GetGameRun().GetHostPlayer(); pHost.OnAllInitDataReady(); - /* if (pHost.IsGM()) - { - CDlgCountryMap pDlgCountryMap = (CDlgCountryMap)pGameUI.GetDialog("Win_CountryMap"); - pDlgCountryMap.GetConfig(); - } + /* if (pHost.IsGM()) + { + CDlgCountryMap pDlgCountryMap = (CDlgCountryMap)pGameUI.GetDialog("Win_CountryMap"); + pDlgCountryMap.GetConfig(); + } - g_pGame.GetConfigs().ApplyOptimizeSetting(); + g_pGame.GetConfigs().ApplyOptimizeSetting(); - if (g_pGame.GetConfigs().IsMiniClient()) - CECMCDownload::GetInstance().SendGetDownloadOK();*/ + if (g_pGame.GetConfigs().IsMiniClient()) + CECMCDownload::GetInstance().SendGetDownloadOK();*/ } } private void OnPrtcPlayerBaseInfoRe(Protocol pProtocol) @@ -1434,7 +1440,7 @@ namespace CSNetwork public void c2s_SendCmdTaskNotify(byte[] pData, uint dwDataSize) { gamedatasend gamedatasend = new gamedatasend(); - gamedatasend.Data = C2SCommandFactory.CreateTaskNotifyCmd( pData, dwDataSize); + gamedatasend.Data = C2SCommandFactory.CreateTaskNotifyCmd(pData, dwDataSize); BMLogger.Log($"[MH Task] c2s_SendCmdTaskNotify Command ID : {pData[0]} Size: {dwDataSize}"); SendProtocol(gamedatasend); } @@ -1445,24 +1451,24 @@ namespace CSNetwork gamedatasend.Data = C2SCommandFactory.CreateNakeCmd(C2SCommand.CommandID.STAND_UP); SendProtocol(gamedatasend); } - + public void c2s_SendCmdAutoTeamSetGoal(int type, int goal_id, int op) { gamedatasend gamedatasend = new gamedatasend(); - gamedatasend.Data = C2SCommandFactory.CreateAutoTeamSetGoalCommand(type,goal_id, op); + gamedatasend.Data = C2SCommandFactory.CreateAutoTeamSetGoalCommand(type, goal_id, op); SendProtocol(gamedatasend); } public void c2s_CmdGoto(float x, float y, float z) { - c2s_SendCmdGoto(x, y, z); + c2s_SendCmdGoto(x, y, z); } - + // Send C2S::GOTO command data void c2s_SendCmdGoto(float x, float y, float z) { gamedatasend gamedatasend = new gamedatasend(); - gamedatasend.Data = C2SCommandFactory.CreateGoToCommed( x, y, z); + gamedatasend.Data = C2SCommandFactory.CreateGoToCommed(x, y, z); SendProtocol(gamedatasend); } diff --git a/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs b/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs index 4db362886e..63af6537f0 100644 --- a/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs +++ b/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs @@ -316,6 +316,10 @@ namespace BrewMonster.Network public static void c2s_CmdNPCSevHeal() { + } + public static void c2s_SendCmdNotifyForceAttack(int iForceAttack, byte refuseBless) + { + Instance._gameSession.c2s_SendCmdNotifyForceAttack(iForceAttack, refuseBless); } public static void c2s_CmdNPCSevAcceptTask(int idTask,int idStorage,int idRefreshItem) { diff --git a/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs b/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs index 6029803c8b..b1341287f6 100644 --- a/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs +++ b/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs @@ -636,100 +636,100 @@ namespace BrewMonster break; } - /* case CECShortcut.ShortcutType.SCT_ITEM: - { - int iPack = BitConverter.ToInt32(pDataBuf, offset); - offset += sizeof(int); - int iIvtrSlot = BitConverter.ToInt32(pDataBuf, offset); - offset += sizeof(int); - int idItem = BitConverter.ToInt32(pDataBuf, offset); - offset += sizeof(int); +/* case CECShortcut.ShortcutType.SCT_ITEM: + { + int iPack = BitConverter.ToInt32(pDataBuf, offset); + offset += sizeof(int); + int iIvtrSlot = BitConverter.ToInt32(pDataBuf, offset); + offset += sizeof(int); + int idItem = BitConverter.ToInt32(pDataBuf, offset); + offset += sizeof(int); - CECInventory pPack = pHost.GetPack(iPack); - if (pPack == null) - { - Debug.LogError("CECShortcutSet::LoadConfigData - Invalid inventory"); - return false; - } + CECInventory pPack = pHost.GetPack(iPack); + if (pPack == null) + { + Debug.LogError("CECShortcutSet::LoadConfigData - Invalid inventory"); + return false; + } - CECIvtrItem pItem = pPack.GetItem(iIvtrSlot); - if (pItem != null) - CreateItemShortcut(iSlot, iPack, iIvtrSlot, pItem); + CECIvtrItem pItem = pPack.GetItem(iIvtrSlot); + if (pItem != null) + CreateItemShortcut(iSlot, iPack, iIvtrSlot, pItem); - break; - } + break; + }*/ - case CECShortcut.ShortcutType.SCT_SKILLGRP: - { - if (dwVer >= 3) - { - int iGroupIdx = BitConverter.ToInt32(pDataBuf, offset); - offset += sizeof(int); + case CECShortcut.ShortcutType.SCT_SKILLGRP: + { + if (dwVer >= 3) + { + int iGroupIdx = BitConverter.ToInt32(pDataBuf, offset); + offset += sizeof(int); - if (iGroupIdx >= 0) - CreateSkillGroupShortcut(iSlot, iGroupIdx); - } - else - { - Debug.LogError("CECShortcutSet::LoadConfigData - Invalid version for skill group"); - return false; - } - break; - } + if (iGroupIdx >= 0) + CreateSkillGroupShortcut(iSlot, iGroupIdx); + } + else + { + Debug.LogError("CECShortcutSet::LoadConfigData - Invalid version for skill group"); + return false; + } + break; + } - case CECShortcut.ShortcutType.SCT_PET: - { - if (dwVer >= 4) - { - int iPetIndex = BitConverter.ToInt32(pDataBuf, offset); - offset += sizeof(int); + /*case CECShortcut.ShortcutType.SCT_PET: + { + if (dwVer >= 4) + { + int iPetIndex = BitConverter.ToInt32(pDataBuf, offset); + offset += sizeof(int); - if (iPetIndex >= 0) - CreatePetShortcut(iSlot, iPetIndex); - } - else - { - Debug.LogError("CECShortcutSet::LoadConfigData - Invalid version for pet"); - return false; - } - break; - } + if (iPetIndex >= 0) + CreatePetShortcut(iSlot, iPetIndex); + } + else + { + Debug.LogError("CECShortcutSet::LoadConfigData - Invalid version for pet"); + return false; + } + break; + } - case CECShortcut.ShortcutType.SCT_AUTOFASHION: - { - if (dwVer >= 5) - { - int iAutoFashionIndex = BitConverter.ToInt32(pDataBuf, offset); - offset += sizeof(int); + case CECShortcut.ShortcutType.SCT_AUTOFASHION: + { + if (dwVer >= 5) + { + int iAutoFashionIndex = BitConverter.ToInt32(pDataBuf, offset); + offset += sizeof(int); - if (iAutoFashionIndex >= 0) - CreateAutoFashionShortcut(iSlot, iAutoFashionIndex); - } - else - { - Debug.LogError("CECShortcutSet::LoadConfigData - Invalid version for auto fashion"); - return false; - } - break; - } + if (iAutoFashionIndex >= 0) + CreateAutoFashionShortcut(iSlot, iAutoFashionIndex); + } + else + { + Debug.LogError("CECShortcutSet::LoadConfigData - Invalid version for auto fashion"); + return false; + } + break; + } - case CECShortcut.ShortcutType.SCT_SYSMODULE: - { - if (dwVer > 10) - { - int iSys = BitConverter.ToInt32(pDataBuf, offset); - offset += sizeof(int); + case CECShortcut.ShortcutType.SCT_SYSMODULE: + { + if (dwVer > 10) + { + int iSys = BitConverter.ToInt32(pDataBuf, offset); + offset += sizeof(int); - if (iSys >= 0) - CreateSystemModuleShortcut(iSlot, iSys); - } - else - { - Debug.LogError("CECShortcutSet::LoadConfigData - Invalid version for system module"); - return false; - } - break; - }*/ + if (iSys >= 0) + CreateSystemModuleShortcut(iSlot, iSys); + } + else + { + Debug.LogError("CECShortcutSet::LoadConfigData - Invalid version for system module"); + return false; + } + break; + }*/ /* default: //TODO: uncomment diff --git a/Assets/PerfectWorld/Scripts/Skills/FLOW_COMBO_SKILL_CLICK.md b/Assets/PerfectWorld/Scripts/Skills/FLOW_COMBO_SKILL_CLICK.md new file mode 100644 index 0000000000..74a32e2df7 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/FLOW_COMBO_SKILL_CLICK.md @@ -0,0 +1,631 @@ +# Flow: Player Clicks Shortcut to Use Combo Skill + +## Overview + +This document describes the complete flow from when a player clicks on a combo skill shortcut in the UI until the combo skill sequence is executed. + +--- + +## Complete Flow Diagram + +``` +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 1. PLAYER CLICKS COMBO SKILL SHORTCUT 鈹 +鈹 (Mouse click on shortcut bar OR keyboard hotkey) 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈫 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 2. UI EVENT HANDLER 鈹 +鈹 File: EC_GameUIEvent.cpp (line 173) 鈹 +鈹 OR EC_GameUIMan.cpp (line 1320, 1344) 鈹 +鈹 鈹 +鈹 CECShortcut* pSC = GetShortcutFromUI(); 鈹 +鈹 pSC->Execute(); // 鈫 Calls Execute() on shortcut 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈫 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 3. CECSCSkillGrp::Execute() 鈹 +鈹 File: EC_Shortcut.cpp (line 712-716) 鈹 +鈹 鈹 +鈹 bool CECSCSkillGrp::Execute() 鈹 +鈹 { 鈹 +鈹 CECHostPlayer* pHost = GetHostPlayer(); 鈹 +鈹 pHost->ApplyComboSkill(m_iGroupIdx); // 鈫 Group ID 鈹 +鈹 return true; 鈹 +鈹 } 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈫 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 4. CECHostPlayer::ApplyComboSkill() 鈹 +鈹 File: EC_HostPlayer.cpp (line 7696-7721) 鈹 +鈹 鈹 +鈹 bool ApplyComboSkill(int iGroup, ...) 鈹 +鈹 { 鈹 +鈹 ClearComboSkill(); // Clear any existing combo 鈹 +鈹 鈹 +鈹 m_pComboSkill = new CECComboSkill; 鈹 +鈹 鈹 +鈹 // Initialize combo skill with group index 鈹 +鈹 m_pComboSkill->Init(this, iGroup, 鈹 +鈹 m_idSelTarget, 鈹 +鈹 bForceAttack, 鈹 +鈹 bIgnoreAtkLoop); 鈹 +鈹 鈹 +鈹 // Start first skill in combo 鈹 +鈹 m_pComboSkill->Continue(m_bMelee); 鈹 +鈹 鈹 +鈹 return true; 鈹 +鈹 } 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈫 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 5. CECComboSkill::Init() 鈹 +鈹 File: EC_ComboSkill.cpp (line 74-123) 鈹 +鈹 鈹 +鈹 bool Init(CECHostPlayer* pHost, int iGroup, ...) 鈹 +鈹 { 鈹 +鈹 // Load combo skill data from configs 鈹 +鈹 CECConfigs* pCfg = GetConfigs(); 鈹 +鈹 m_cs = pCfg->GetVideoSettings() 鈹 +鈹 .comboSkill[iGroup]; // 鈫 Load combo 鈹 +鈹 鈹 +鈹 // Find loop start flag (if any) 鈹 +鈹 // Move cursor to first valid skill 鈹 +鈹 StepCursor(true); 鈹 +鈹 鈹 +鈹 return true; 鈹 +鈹 } 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈫 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 6. CECComboSkill::Continue() - FIRST SKILL 鈹 +鈹 File: EC_ComboSkill.cpp (line 128-217) 鈹 +鈹 鈹 +鈹 bool Continue(bool bMeleeing) 鈹 +鈹 { 鈹 +鈹 int idSkill = GetNextSkill(); // Get skill ID 鈹 +鈹 鈹 +鈹 if (idSkill > 0) // Regular skill 鈹 +鈹 { 鈹 +鈹 // Execute skill 鈹 +鈹 bool bRet = m_pHost->ApplySkillShortcut( 鈹 +鈹 idSkill, true, m_idTarget, ...); 鈹 +鈹 鈹 +鈹 if (bRet) 鈹 +鈹 { 鈹 +鈹 StepCursor(false); // Move to next skill 鈹 +鈹 return true; // Continue combo 鈹 +鈹 } 鈹 +鈹 } 鈹 +鈹 else if (idSkill == SID_ATTACK) // Normal attack 鈹 +鈹 { 鈹 +鈹 m_pHost->CmdNormalAttack(...); 鈹 +鈹 StepCursor(false); 鈹 +鈹 return true; 鈹 +鈹 } 鈹 +鈹 鈹 +鈹 return false; // Combo stopped 鈹 +鈹 } 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈫 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 7. SKILL EXECUTION 鈹 +鈹 File: EC_HostPlayer.cpp 鈹 +鈹 鈹 +鈹 ApplySkillShortcut() executes the skill: 鈹 +鈹 - Checks if skill is ready 鈹 +鈹 - Sends command to server 鈹 +鈹 - Starts skill animation 鈹 +鈹 - Updates cooldown timers 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈫 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 8. CONTINUE COMBO (After Skill Finishes) 鈹 +鈹 File: EC_HostPlayer.cpp (line 4129-4135, 6244-6252) 鈹 +鈹 鈹 +鈹 When skill finishes or melee state changes: 鈹 +鈹 鈹 +鈹 if (m_pComboSkill && !m_pComboSkill->IsStop()) 鈹 +鈹 { 鈹 +鈹 // Post message to continue combo 鈹 +鈹 PostMessage(MSG_HST_CONTINUECOMBOSKILL, 鈹 +鈹 MAN_PLAYER, 0, 鈹 +鈹 bMeleeing ? 1 : 0, 鈹 +鈹 m_pComboSkill->GetGroupIndex()); 鈹 +鈹 } 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈫 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 9. OnMsgContinueComboSkill() 鈹 +鈹 File: EC_HostPlayer.cpp (line 6261-6268) 鈹 +鈹 鈹 +鈹 void OnMsgContinueComboSkill(const ECMSG &Msg) 鈹 +鈹 { 鈹 +鈹 bool bMeleeing = (Msg.dwParam1 == 1); 鈹 +鈹 int iGroupID = (int)Msg.dwParam2; 鈹 +鈹 鈹 +鈹 if (m_pComboSkill && 鈹 +鈹 m_pComboSkill->GetGroupIndex() == iGroupID && 鈹 +鈹 !m_pComboSkill->IsStop()) 鈹 +鈹 { 鈹 +鈹 m_pComboSkill->Continue(bMeleeing); // 鈫 Loop 鈹 +鈹 } 鈹 +鈹 } 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈫 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 10. REPEAT STEPS 6-9 鈹 +鈹 Until combo skill sequence completes or stops 鈹 +鈹 鈹 +鈹 - Continue() executes next skill in sequence 鈹 +鈹 - StepCursor() moves to next position 鈹 +鈹 - If loop flag found, cursor jumps back 鈹 +鈹 - If end reached, combo stops 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +``` + +--- + +## Detailed Step-by-Step Flow + +### **STEP 1: Player Clicks Shortcut** +**Trigger**: +- Mouse click on shortcut bar UI element +- OR Keyboard hotkey (1-9, Q, E, R, etc.) + +**UI Elements**: +- `DlgQuickBar` - Main shortcut bar dialog +- `Item_01`, `Item_02`, ... - Shortcut slot UI controls + +--- + +### **STEP 2: UI Event Handler** +**File**: `EC_GameUIEvent.cpp` (line 163-174) + +```cpp +// Mouse click handler +if (abs(x - m_ptLButtonDown.x) < 3 && abs(y - m_ptLButtonDown.y) < 3) +{ + if (strstr(pDlgSrc->GetName(), "Win_Quickbar") || + 0 == stricmp(pDlgSrc->GetName(), "Win_Action")) + { + CECShortcut* pSC = (CECShortcut*)pDlg->GetDataPtr(); + if (pSC) + pSC->Execute(); // 鈫 Execute shortcut + } +} +``` + +**OR Keyboard Handler**: +**File**: `EC_GameUIMan.cpp` (line 1316-1321) + +```cpp +// Keyboard shortcut handler +int nCurPanel1 = CDlgQuickBar::GetCurPanel1(); +CECShortcutSet* pSCS = pHost->GetShortcutSet1(nCurPanel1 - 1); +CECShortcut* pSC = pSCS->GetShortcut(iUsage - LKEY_UI_QUICK9_SC1); +if (pSC) + pSC->Execute(); // 鈫 Execute shortcut +``` + +--- + +### **STEP 3: CECSCSkillGrp::Execute()** +**File**: `EC_Shortcut.cpp` (line 712-716) + +```cpp +bool CECSCSkillGrp::Execute() +{ + CECHostPlayer* pHost = g_pGame->GetGameRun()->GetHostPlayer(); + pHost->ApplyComboSkill(m_iGroupIdx); // 鈫 Group index (0-EC_COMBOSKILL_NUM-1) + return true; +} +``` + +**Key Points**: +- `m_iGroupIdx` is the combo skill group index (0, 1, 2, ...) +- This was set when the shortcut was created from config data + +--- + +### **STEP 4: CECHostPlayer::ApplyComboSkill()** +**File**: `EC_HostPlayer.cpp` (line 7696-7721) + +```cpp +bool CECHostPlayer::ApplyComboSkill(int iGroup, bool bIgnoreAtkLoop, int iForceAtk) +{ + // Clear any existing combo skill + ClearComboSkill(); + + // Create new combo skill object + if (!(m_pComboSkill = new CECComboSkill)) + return false; + + // Determine force attack flag + bool bForceAttack; + if (iForceAtk < 0) + bForceAttack = glb_GetForceAttackFlag(NULL); + else + bForceAttack = iForceAtk > 0 ? true : false; + + // Initialize combo skill + if (!(m_pComboSkill->Init(this, iGroup, m_idSelTarget, bForceAttack, bIgnoreAtkLoop))) + { + delete m_pComboSkill; + m_pComboSkill = NULL; + return false; + } + + // Start the combo skill sequence + m_pComboSkill->Continue(m_bMelee); + + return true; +} +``` + +**Key Points**: +- Clears any existing combo skill first +- Creates new `CECComboSkill` object +- Initializes with group index, target, force attack flag +- Immediately calls `Continue()` to start first skill + +--- + +### **STEP 5: CECComboSkill::Init()** +**File**: `EC_ComboSkill.cpp` (line 74-123) + +```cpp +bool CECComboSkill::Init(CECHostPlayer* pHost, int iGroup, int idTarget, + bool bForceAttack, bool bIgnoreAtkLoop) +{ + if (iGroup < 0 || iGroup >= EC_COMBOSKILL_NUM) + return false; + + m_pHost = pHost; + m_iGroup = iGroup; + m_iCursor = 0; + m_bStop = false; + m_idTarget = idTarget; + m_bForceAtk = bForceAttack; + m_bIgnoreAtkLoop = bIgnoreAtkLoop; + + // 鈽 KEY: Load combo skill data from configs + CECConfigs* pCfg = g_pGame->GetConfigs(); + m_cs = pCfg->GetVideoSettings().comboSkill[iGroup]; + // m_cs contains: + // - m_cs.nIcon: Icon index + // - m_cs.idSkill[]: Array of skill IDs in sequence + + // Find the last loop start flag (SID_LOOPSTART = -2) + m_iLoopStart = -1; + for (int i = 0; i < EC_COMBOSKILL_LEN; i++) + { + if (m_cs.idSkill[i] == SID_LOOPSTART) + m_iLoopStart = i; + } + + // Validate loop start flag + if (m_iLoopStart >= 0) + { + // Check if there's a valid skill after loop start + // ... validation code ... + } + + // Move cursor to first valid skill position + StepCursor(true); + + return true; +} +``` + +**Key Points**: +- Loads combo skill data from `EC_Configs::m_vs.comboSkill[iGroup]` +- Finds loop start flag if present +- Moves cursor to first valid skill + +--- + +### **STEP 6: CECComboSkill::Continue() - Execute Skills** +**File**: `EC_ComboSkill.cpp` (line 128-217) + +```cpp +bool CECComboSkill::Continue(bool bMeleeing) +{ + // Check if combo should stop + if (m_bStop || !m_cs.nIcon || !m_pHost || + m_iCursor < 0 || m_iCursor >= EC_COMBOSKILL_LEN || + (m_idTarget != m_pHost->GetSelectedTarget() && !m_bIgnoreAtkLoop)) + return false; + + int idSkill = GetNextSkill(); // Get skill ID at current cursor position + + if (idSkill > 0) // Regular skill + { + // Execute the skill + bool bRet = m_pHost->ApplySkillShortcut(idSkill, true, m_idTarget, + m_bForceAtk ? 1 : 0); + + if (!bRet) + { + // Skill failed, try next skill + StepCursor(false); + if (!IsStop()) + { + // Post message to continue combo + g_pGame->GetGameRun()->PostMessage(MSG_HST_CONTINUECOMBOSKILL, + MAN_PLAYER, 0, + bMeleeing ? 1 : 0, + m_iGroup); + } + else + { + // Combo finished + AP_ActionEvent(AP_EVENT_COMBOFINISH); + } + return false; + } + else + { + // Skill executed successfully + AP_ActionEvent(AP_EVENT_COMBOCONTINUE); + } + } + else if (idSkill == SID_ATTACK) // Normal attack (-1) + { + if (!bMeleeing && !m_bIgnoreAtkLoop) + { + bool bRet = m_pHost->CmdNormalAttack(false, true, m_idTarget, + m_bForceAtk ? 1 : 0); + if (!bRet) + { + StepCursor(false); + if (!IsStop()) + { + g_pGame->GetGameRun()->PostMessage(MSG_HST_CONTINUECOMBOSKILL, + MAN_PLAYER, 0, + bMeleeing ? 1 : 0, + m_iGroup); + } + return false; + } + } + } + + // Move cursor to next skill + StepCursor(false); + + return true; +} +``` + +**Key Points**: +- Gets next skill ID from `m_cs.idSkill[m_iCursor]` +- Executes skill via `ApplySkillShortcut()` +- Moves cursor forward with `StepCursor(false)` +- If skill fails, posts message to try next skill + +--- + +### **STEP 7: StepCursor() - Move Through Sequence** +**File**: `EC_ComboSkill.cpp` (line 220-247) + +```cpp +void CECComboSkill::StepCursor(bool bFirst) +{ + if (bFirst) + m_iCursor = -1; // Start before first position + + while (1) + { + m_iCursor++; + + if (m_iCursor >= EC_COMBOSKILL_LEN) // Reached end + { + // If loop flag exists, jump back to loop start + if (m_iLoopStart >= 0 && !m_bIgnoreAtkLoop) + m_iCursor = m_iLoopStart; + else + { + m_bStop = true; // Combo finished + return; + } + } + else + { + int id = m_cs.idSkill[m_iCursor]; + // Find next valid skill (id > 0) or attack (id == SID_ATTACK) + if (id > 0 || (id == SID_ATTACK && !m_bIgnoreAtkLoop)) + break; // Found valid skill + } + } +} +``` + +**Key Points**: +- Moves cursor forward through skill array +- Skips empty slots (id == 0) +- If loop flag exists, jumps back to loop start +- Sets `m_bStop = true` when combo ends + +--- + +### **STEP 8: Continue Combo After Skill Finishes** +**File**: `EC_HostPlayer.cpp` (line 4129-4135, 6244-6252) + +When a skill finishes or melee state changes: + +```cpp +// After melee attack finishes +if (m_bMelee && m_pComboSkill && !m_pComboSkill->IsStop()) +{ + if (CECAutoPolicy::GetInstance().IsAutoPolicyEnabled()) + g_pGame->GetGameRun()->PostMessage(MSG_HST_CONTINUECOMBOSKILL, + MAN_PLAYER, 0, 1, + m_pComboSkill->GetGroupIndex()); + else + m_pComboSkill->Continue(true); +} + +// After other actions finish +if (bDoOtherThing) +{ + if (m_pComboSkill && !m_pComboSkill->IsStop()) + { + if (CECAutoPolicy::GetInstance().IsAutoPolicyEnabled()) + g_pGame->GetGameRun()->PostMessage(MSG_HST_CONTINUECOMBOSKILL, + MAN_PLAYER, 0, 0, + m_pComboSkill->GetGroupIndex()); + else + m_pComboSkill->Continue(false); + } +} +``` + +**Key Points**: +- Posts `MSG_HST_CONTINUECOMBOSKILL` message to continue combo +- Message includes melee state and group index +- Allows combo to continue asynchronously + +--- + +### **STEP 9: OnMsgContinueComboSkill()** +**File**: `EC_HostPlayer.cpp` (line 6261-6268) + +```cpp +void CECHostPlayer::OnMsgContinueComboSkill(const ECMSG &Msg) +{ + bool bMeleeing = (Msg.dwParam1 == 1); + if (bMeleeing != m_bMelee) + bMeleeing = m_bMelee; // Use current melee state + + int iGroupID = (int)Msg.dwParam2; + + // Verify combo is still active and matches group + if (m_pComboSkill && + m_pComboSkill->GetGroupIndex() == iGroupID && + !m_pComboSkill->IsStop()) + { + m_pComboSkill->Continue(bMeleeing); // Continue to next skill + } +} +``` + +**Key Points**: +- Handles message to continue combo +- Verifies combo is still active +- Calls `Continue()` again to execute next skill + +--- + +### **STEP 10: Loop Until Complete** + +Steps 6-9 repeat until: +- All skills in sequence are executed +- Combo reaches end (no loop flag) +- Combo is stopped (`m_bStop = true`) +- Target changes (unless `bIgnoreAtkLoop` is true) + +--- + +## Key Data Structures + +### **EC_COMBOSKILL** +```cpp +struct EC_COMBOSKILL +{ + BYTE nIcon; // Icon index (0-N) + short idSkill[EC_COMBOSKILL_LEN]; // Array of skill IDs +}; +``` + +**Special Skill IDs**: +- `SID_ATTACK = -1`: Normal attack +- `SID_LOOPSTART = -2`: Loop start flag +- `0`: Empty slot (skipped) +- `> 0`: Regular skill ID + +### **CECComboSkill Member Variables** +```cpp +CECHostPlayer* m_pHost; // Host player +EC_COMBOSKILL m_cs; // Combo skill data +int m_iGroup; // Group index (0-EC_COMBOSKILL_NUM-1) +int m_iCursor; // Current position in sequence +bool m_bStop; // Stop flag +int m_iLoopStart; // Loop start index (-1 if no loop) +int m_idTarget; // Attack target +bool m_bForceAtk; // Force attack flag +bool m_bIgnoreAtkLoop; // Ignore attack loop flag +``` + +--- + +## Important Files + +| File | Purpose | +|------|---------| +| `EC_GameUIEvent.cpp` | Handles mouse clicks on shortcuts | +| `EC_GameUIMan.cpp` | Handles keyboard shortcuts | +| `EC_Shortcut.cpp` | `CECSCSkillGrp::Execute()` - Entry point | +| `EC_HostPlayer.cpp` | `ApplyComboSkill()` - Creates and starts combo | +| `EC_ComboSkill.cpp` | `CECComboSkill` class - Manages combo sequence | +| `EC_Configs.cpp` | Stores combo skill data in `m_vs.comboSkill[]` | + +--- + +## For Unity Port + +To implement this in Unity: + +1. **Shortcut Click Handler**: + ```csharp + public void OnShortcutClicked(int slotIndex) + { + CECShortcut shortcut = GetShortcut(slotIndex); + if (shortcut != null && shortcut.GetType() == SCT_SKILLGRP) + { + CECSCSkillGrp skillGrp = (CECSCSkillGrp)shortcut; + GetHostPlayer().ApplyComboSkill(skillGrp.GetGroupIndex()); + } + } + ``` + +2. **ApplyComboSkill**: + ```csharp + public bool ApplyComboSkill(int groupIndex) + { + ClearComboSkill(); + + m_comboSkill = new CECComboSkill(); + if (!m_comboSkill.Init(this, groupIndex, m_selectedTarget, + forceAttack, ignoreAtkLoop)) + return false; + + m_comboSkill.Continue(m_isMeleeing); + return true; + } + ``` + +3. **Continue Combo**: + ```csharp + // After skill finishes + if (m_comboSkill != null && !m_comboSkill.IsStop()) + { + StartCoroutine(ContinueComboAfterDelay()); + } + ``` + +--- + +## Summary + +**Complete Flow**: +1. Player clicks shortcut 鈫 `pSC->Execute()` +2. `CECSCSkillGrp::Execute()` 鈫 `ApplyComboSkill(groupIndex)` +3. `ApplyComboSkill()` 鈫 Creates `CECComboSkill` and calls `Init()` +4. `Init()` 鈫 Loads combo data from configs +5. `Continue()` 鈫 Executes first skill +6. After skill finishes 鈫 Posts `MSG_HST_CONTINUECOMBOSKILL` +7. `OnMsgContinueComboSkill()` 鈫 Calls `Continue()` again +8. Repeat until combo completes + +**Key**: The combo skill data (`EC_COMBOSKILL`) is loaded from `EC_Configs::m_vs.comboSkill[groupIndex]`, which was loaded from server in `LoadUserConfigData()`. diff --git a/Assets/PerfectWorld/Scripts/Skills/FLOW_COMBO_SKILL_CLICK.md.meta b/Assets/PerfectWorld/Scripts/Skills/FLOW_COMBO_SKILL_CLICK.md.meta new file mode 100644 index 0000000000..d52ee8bad0 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/FLOW_COMBO_SKILL_CLICK.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 09b07dfdbdd8c094d9ded2ba81316847 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs index 72b49c472a..d37631cb45 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs @@ -23,6 +23,213 @@ namespace BrewMonster /// Apply for a license remove later /// /// + //public bool UpdateShortcuts() + //{ + // CECShortcut pSC; + // Image skillImage; + // CECSCSkill pSCSkill; + // int iIconFile, nMax; + // AUIImagePicture pCell; + // CECSkill pSkill = new CECSkill(-1, -1); + // AUIClockIcon pClock; + + + // int nCurPanel9 = GetCurPanel1(); + // int nCurPanel8 = GetCurPanel2(); + + // CECHostPlayer pHost = EC_Game.GetGameRun().GetHostPlayer(); + // if (pHost == null) return false; + // var a_pSCS = new List(); + // var a_pszPanel = new List(); + // GetQuickBarNameAndSC(pHost, a_pszPanel, a_pSCS, nCurPanel9, nCurPanel8); + + // for (int i = 0; i <= 1(int)a_pSCS.Count; i++) + // { + // if (a_pSCS[i] == null) + // continue; + + // CDlgQuickBar* pQuickBar = dynamic_cast(GetGameUIMan()->GetDialog(a_pszPanel[i])); + // if (!pQuickBar || !pQuickBar->IsShow()) continue; + // int slotIndex = 0; + // for (int j = 0; j < a_pSCS.Count; j++) + // { + // pCell = AUIImagePictureList[slotIndex]; + // pSC = a_pSCS[i].GetShortcut(j); + // pClock = pCell.GetClockIcon(); + // pClock.SetProgressRange(0, 1); + // pClock.SetProgressPos(1); + // if (pSC != null) + // { + // if (pSC.GetType() == (int)CECShortcut.ShortcutType.SCT_SKILL) + // { + // iIconFile = (int)EC_GAMEUI_ICONS.ICONS_SKILL; + // pSCSkill = (CECSCSkill)pSC; + // pSkill = pSCSkill.GetSkill(); + // if (falsem_bDelGoblinSkillSC && GNET::ElementSkill::IsGoblinSkill(pSkill->GetSkillID())) + // { + // a_pSCS[i]->SetShortcut(j, NULL); + // pSC = NULL; + // } + // else + // { + // if (pSkill != null && pSkill.ReadyToCast() && pHost.GetPrepSkill() != pSkill) + // { + // if (ElementSkill.IsGoblinSkill((uint)pSkill.GetSkillID())) + // { + // if (pHostGoblin && !pHostGoblin->CheckSkillCastCondition(pSkill)) + // { + // pCell->SetColor(A3DCOLORRGB(255, 255, 255)); + // } + // else + // { + // pCell->SetColor(A3DCOLORRGB(128, 128, 128)); + // } + // } + // else + // { + // if (pHost.CheckSkillCastCondition(pSkill) == 0) + // { + // //pCell.SetColor(A3DCOLORRGB(255, 255, 255)); + // } + // else + // { + // //pCell.SetColor(A3DCOLORRGB(128, 128, 128)); + // } + // } + // } + // else + // pClock.SetColor(A3DCOLORRGBA(0, 0, 0, 128)); + // if (pSkill != null && (pSkill.GetCoolingTime() > 0 || + // pHost.GetPrepSkill() == pSkill)) + // { + // pClock.SetProgressRange(0, pSkill.GetCoolingTime()); + // if (pHost.GetPrepSkill() == pSkill) + // { + // pClock.SetProgressPos(0); + // } + // else + // { + // pClock.SetProgressPos(pSkill.GetCoolingTime() - pSkill.GetCoolingCnt()); + // } + // } + // } + // } + // else if (pSC->GetType() == CECShortcut::SCT_ITEM) + // { + // iIconFile = CECGameUIMan::ICONS_INVENTORY; + // pCell->SetColor(A3DCOLORRGB(255, 255, 255)); + // pSCItem = (CECSCItem*)pSC; + // pIvtr = GetHostPlayer()->GetPack(pSCItem->GetInventory()); + // pItem = pIvtr->GetItem(pSCItem->GetIvtrSlot()); + // if (pItem && pItem->GetCoolTime(&nMax) > 0) + // { + // pClock->SetProgressRange(0, nMax); + // pClock->SetProgressPos(nMax - pItem->GetCoolTime()); + // pClock->SetColor(A3DCOLORRGBA(0, 0, 0, 128)); + // } + // if (pSCItem->GetInventory() == IVTRTYPE_EQUIPPACK) + // pCell->SetColor(A3DCOLORRGBA(128, 128, 255, 128)); + // } + // else if (pSC->GetType() == CECShortcut::SCT_PET) + // { + // pSCPet = (CECSCPet*)pSC; + // CECPetData* pPet = pPetCorral->GetPetData(pSCPet->GetPetIndex()); + // iIconFile = CECGameUIMan::ICONS_INVENTORY; + // pCell->SetColor(A3DCOLORRGB(255, 255, 255)); + // if (pPet) + // { + // // dead combat pet + // if ((pPet->GetClass() == GP_PET_CLASS_COMBAT || pPet->GetClass() == GP_PET_CLASS_EVOLUTION) && pPet->GetHPFactor() == 0.0f) + // { + // pCell->SetColor(A3DCOLORRGB(128, 128, 128)); + // } + // // current active pet + // else if (pSCPet->IsActivePet()) + // { + // pCell->SetColor(A3DCOLORRGB(255, 255, 0)); + // } + // } + // } + // else if (pSC->GetType() == CECShortcut::SCT_AUTOFASHION) + // { + // iIconFile = CECGameUIMan::ICONS_SUITE; + // fashionCoolTime = pHost->GetCoolTime(GP_CT_EQUIP_FASHION_ITEM, &fashionCoolTimeMax); + // pCell->SetColor(A3DCOLORRGB(255, 255, 255)); + // if (fashionCoolTimeMax > 0) + // { + // pClock->SetProgressRange(0, fashionCoolTimeMax); + // pClock->SetProgressPos(fashionCoolTimeMax - fashionCoolTime); + // pClock->SetColor(A3DCOLORRGBA(0, 0, 0, 175)); + // } + // } + // else + // { + // iIconFile = CECGameUIMan::ICONS_ACTION; + // if (pSC->GetType() == CECShortcut::SCT_COMMAND) + // { + // CECSCCommand* pCommandSC = (CECSCCommand*)pSC; + // if (GetHostPlayer()->IsInvisible()) + // { + // if (pCommandSC->GetCommandID() == CECSCCommand::CMD_STARTTRADE || + // pCommandSC->GetCommandID() == CECSCCommand::CMD_SELLBOOTH || + // pCommandSC->GetCommandID() == CECSCCommand::CMD_BINDBUDDY) + // { + // pCell->SetColor(A3DCOLORRGB(128, 128, 128)); + // } + // else + // { + // pCell->SetColor(A3DCOLORRGB(255, 255, 255)); + // } + // } + // else + // { + // pCell->SetColor(A3DCOLORRGB(255, 255, 255)); + // } + // } + + // if (pSC->GetCoolTime(&nMax) > 0) + // { + // pClock->SetProgressRange(0, nMax); + // pClock->SetProgressPos(nMax - pSC->GetCoolTime()); + // pClock->SetColor(A3DCOLORRGBA(0, 0, 0, 128)); + // } + // } + // if (pSC != null) + // { + // pCell.SetDataPtr(pSC, "ptr_CECShortcut"); + // if (pSC.GetType() == (int)CECShortcut.ShortcutType.SCT_SKILLGRP) + // { + // EC_VIDEO_SETTING setting = GetGame()->GetConfigs()->GetVideoSettings(); + // pCell->SetCover(GetGameUIMan()->m_pA2DSpriteIcons[CECGameUIMan::ICONS_SKILLGRP], + // setting.comboSkill[((CECSCSkillGrp*)pSC)->GetGroupIndex()].nIcon + 1); + // } + // else + // { + // if (pSkill != null) + // { + // slotIndex++; + // //BMLogger.Log("HoangDev: QuickBar Set Skill Icon: " + (uint)pSkill.GetSkillID() + " : " + ElementSkill.GetIcon((uint)pSkill.GetSkillID())); + // var nameskill = ElementSkill.GetIcon((uint)pSkill.GetSkillID()); + // GetGameUIMan().SetCover(pCell, nameskill, EC_GAMEUI_ICONS.ICONS_SKILL); + // } + // af_GetFileTitle(pSC->GetIconFile(), strFile); + // strFile.MakeLower(); + // pCell->SetCover(GetGameUIMan()->m_pA2DSpriteIcons[iIconFile], + // GetGameUIMan()->m_IconMap[iIconFile][strFile]); + // } + // } + // } + // else + // { + // pCell->SetCover(NULL, -1); + // pCell->SetText(_AL("")); + // pCell->SetDataPtr(NULL); + // pCell->SetColor(A3DCOLORRGB(255, 255, 255)); + // } + // } + // } + // return true; + //} public bool UpdateShortcuts() { CECShortcut pSC; @@ -48,12 +255,12 @@ namespace BrewMonster if (a_pSCS[i] == null) continue; - /*CDlgQuickBar* pQuickBar = dynamic_cast(GetGameUIMan()->GetDialog(a_pszPanel[i])); - if (!pQuickBar || !pQuickBar->IsShow()) continue;*/ - int slotIndex = 0; - for (int j = 0; j < a_pSCS.Count; j++) + //*//*CDlgQuickBar* pQuickBar = dynamic_cast(GetGameUIMan()->GetDialog(a_pszPanel[i])); + //if (!pQuickBar || !pQuickBar->IsShow()) continue;*//* + + for (int j = 0; j < AUIImagePictureList.Count; j++) { - pCell = AUIImagePictureList[slotIndex]; + pCell = AUIImagePictureList[j]; pSC = a_pSCS[i].GetShortcut(j); pClock = pCell.GetClockIcon(); pClock.SetProgressRange(0, 1); @@ -67,8 +274,8 @@ namespace BrewMonster pSkill = pSCSkill.GetSkill(); if (false/*m_bDelGoblinSkillSC && GNET::ElementSkill::IsGoblinSkill(pSkill->GetSkillID())*/) { - /* a_pSCS[i]->SetShortcut(j, NULL); - pSC = NULL;*/ + /* a_pSCS[i]->SetShortcut(j, NULL); + pSC = NULL;*/ } else { @@ -76,14 +283,14 @@ namespace BrewMonster { if (ElementSkill.IsGoblinSkill((uint)pSkill.GetSkillID())) { - /* if (pHostGoblin && !pHostGoblin->CheckSkillCastCondition(pSkill)) - { - pCell->SetColor(A3DCOLORRGB(255, 255, 255)); - } - else - { - pCell->SetColor(A3DCOLORRGB(128, 128, 128)); - }*/ + /* if (pHostGoblin && !pHostGoblin->CheckSkillCastCondition(pSkill)) + { + pCell->SetColor(A3DCOLORRGB(255, 255, 255)); + } + else + { + pCell->SetColor(A3DCOLORRGB(128, 128, 128)); + }*/ } else { @@ -97,8 +304,8 @@ namespace BrewMonster } } } - /* else - pClock.SetColor(A3DCOLORRGBA(0, 0, 0, 128));*/ + /*else + pClock.SetColor(A3DCOLORRGBA(0, 0, 0, 128));*/ if (pSkill != null && (pSkill.GetCoolingTime() > 0 || pHost.GetPrepSkill() == pSkill)) { @@ -193,222 +400,20 @@ namespace BrewMonster pClock->SetProgressPos(nMax - pSC->GetCoolTime()); pClock->SetColor(A3DCOLORRGBA(0, 0, 0, 128)); } - }*/ + }*//**/ if (pSC != null) { + BMLogger.LogError("HoangDev: QuickBar Set Skil"); + pCell.SetDataPtr(pSC, "ptr_CECShortcut"); if (pSC.GetType() == (int)CECShortcut.ShortcutType.SCT_SKILLGRP) { - /* EC_VIDEO_SETTING setting = GetGame()->GetConfigs()->GetVideoSettings(); - pCell->SetCover(GetGameUIMan()->m_pA2DSpriteIcons[CECGameUIMan::ICONS_SKILLGRP], - setting.comboSkill[((CECSCSkillGrp*)pSC)->GetGroupIndex()].nIcon + 1);*/ - } - else - { - if (pSkill != null) - { - slotIndex++; - //BMLogger.Log("HoangDev: QuickBar Set Skill Icon: " + (uint)pSkill.GetSkillID() + " : " + ElementSkill.GetIcon((uint)pSkill.GetSkillID())); - var nameskill = ElementSkill.GetIcon((uint)pSkill.GetSkillID()); - GetGameUIMan().SetCover(pCell, nameskill, EC_GAMEUI_ICONS.ICONS_SKILL); - } - /*af_GetFileTitle(pSC->GetIconFile(), strFile); - strFile.MakeLower(); - pCell->SetCover(GetGameUIMan()->m_pA2DSpriteIcons[iIconFile], - GetGameUIMan()->m_IconMap[iIconFile][strFile]);*/ - } - } - } - else - { - /* pCell->SetCover(NULL, -1); - pCell->SetText(_AL("")); - pCell->SetDataPtr(NULL); - pCell->SetColor(A3DCOLORRGB(255, 255, 255));*/ - } - } - } - return true; - } - /* public bool UpdateShortcuts() - { - CECShortcut pSC; - Image skillImage; - CECSCSkill pSCSkill; - int iIconFile, nMax; - AUIImagePicture pCell; - CECSkill pSkill = new CECSkill(-1, -1); - AUIClockIcon pClock; - - - int nCurPanel9 = GetCurPanel1(); - int nCurPanel8 = GetCurPanel2(); - - CECHostPlayer pHost = EC_Game.GetGameRun().GetHostPlayer(); - if (pHost == null) return false; - var a_pSCS = new List(); - var a_pszPanel = new List(); - GetQuickBarNameAndSC(pHost, a_pszPanel, a_pSCS, nCurPanel9, nCurPanel8); - - for (int i = 0; i <= 1*//*(int)a_pSCS.Count*//*; i++) - { - if (a_pSCS[i] == null) - continue; - - *//*CDlgQuickBar* pQuickBar = dynamic_cast(GetGameUIMan()->GetDialog(a_pszPanel[i])); - if (!pQuickBar || !pQuickBar->IsShow()) continue;*//* - - for (int j = 0; j < AUIImagePictureList.Count; j++) - { - pCell = AUIImagePictureList[j]; - pSC = a_pSCS[i].GetShortcut(j); - pClock = pCell.GetClockIcon(); - pClock.SetProgressRange(0, 1); - pClock.SetProgressPos(1); - if (pSC != null) - { - if (pSC.GetType() == (int)CECShortcut.ShortcutType.SCT_SKILL) - { - iIconFile = (int)EC_GAMEUI_ICONS.ICONS_SKILL; - pSCSkill = (CECSCSkill)pSC; - pSkill = pSCSkill.GetSkill(); - if (false*//*m_bDelGoblinSkillSC && GNET::ElementSkill::IsGoblinSkill(pSkill->GetSkillID())*//*) - { - *//* a_pSCS[i]->SetShortcut(j, NULL); - pSC = NULL;*//* - } - else - { - if (pSkill != null && pSkill.ReadyToCast() && pHost.GetPrepSkill() != pSkill) - { - if (ElementSkill.IsGoblinSkill((uint)pSkill.GetSkillID())) - { - *//* if (pHostGoblin && !pHostGoblin->CheckSkillCastCondition(pSkill)) - { - pCell->SetColor(A3DCOLORRGB(255, 255, 255)); - } - else - { - pCell->SetColor(A3DCOLORRGB(128, 128, 128)); - }*//* - } - else - { - if (pHost.CheckSkillCastCondition(pSkill) == 0) - { - //pCell.SetColor(A3DCOLORRGB(255, 255, 255)); - } - else - { - //pCell.SetColor(A3DCOLORRGB(128, 128, 128)); - } - } - } - *//* else - pClock.SetColor(A3DCOLORRGBA(0, 0, 0, 128));*//* - if (pSkill != null && (pSkill.GetCoolingTime() > 0 || - pHost.GetPrepSkill() == pSkill)) - { - pClock.SetProgressRange(0, pSkill.GetCoolingTime()); - if (pHost.GetPrepSkill() == pSkill) - { - pClock.SetProgressPos(0); - } - else - { - pClock.SetProgressPos(pSkill.GetCoolingTime() - pSkill.GetCoolingCnt()); - } - } - } - } - *//*else if (pSC->GetType() == CECShortcut::SCT_ITEM) - { - iIconFile = CECGameUIMan::ICONS_INVENTORY; - pCell->SetColor(A3DCOLORRGB(255, 255, 255)); - pSCItem = (CECSCItem*)pSC; - pIvtr = GetHostPlayer()->GetPack(pSCItem->GetInventory()); - pItem = pIvtr->GetItem(pSCItem->GetIvtrSlot()); - if (pItem && pItem->GetCoolTime(&nMax) > 0) - { - pClock->SetProgressRange(0, nMax); - pClock->SetProgressPos(nMax - pItem->GetCoolTime()); - pClock->SetColor(A3DCOLORRGBA(0, 0, 0, 128)); - } - if (pSCItem->GetInventory() == IVTRTYPE_EQUIPPACK) - pCell->SetColor(A3DCOLORRGBA(128, 128, 255, 128)); - } - else if (pSC->GetType() == CECShortcut::SCT_PET) - { - pSCPet = (CECSCPet*)pSC; - CECPetData* pPet = pPetCorral->GetPetData(pSCPet->GetPetIndex()); - iIconFile = CECGameUIMan::ICONS_INVENTORY; - pCell->SetColor(A3DCOLORRGB(255, 255, 255)); - if (pPet) - { - // dead combat pet - if ((pPet->GetClass() == GP_PET_CLASS_COMBAT || pPet->GetClass() == GP_PET_CLASS_EVOLUTION) && pPet->GetHPFactor() == 0.0f) - { - pCell->SetColor(A3DCOLORRGB(128, 128, 128)); - } - // current active pet - else if (pSCPet->IsActivePet()) - { - pCell->SetColor(A3DCOLORRGB(255, 255, 0)); - } - } - } - else if (pSC->GetType() == CECShortcut::SCT_AUTOFASHION) - { - iIconFile = CECGameUIMan::ICONS_SUITE; - fashionCoolTime = pHost->GetCoolTime(GP_CT_EQUIP_FASHION_ITEM, &fashionCoolTimeMax); - pCell->SetColor(A3DCOLORRGB(255, 255, 255)); - if (fashionCoolTimeMax > 0) - { - pClock->SetProgressRange(0, fashionCoolTimeMax); - pClock->SetProgressPos(fashionCoolTimeMax - fashionCoolTime); - pClock->SetColor(A3DCOLORRGBA(0, 0, 0, 175)); - } - } - else - { - iIconFile = CECGameUIMan::ICONS_ACTION; - if (pSC->GetType() == CECShortcut::SCT_COMMAND) - { - CECSCCommand* pCommandSC = (CECSCCommand*)pSC; - if (GetHostPlayer()->IsInvisible()) - { - if (pCommandSC->GetCommandID() == CECSCCommand::CMD_STARTTRADE || - pCommandSC->GetCommandID() == CECSCCommand::CMD_SELLBOOTH || - pCommandSC->GetCommandID() == CECSCCommand::CMD_BINDBUDDY) - { - pCell->SetColor(A3DCOLORRGB(128, 128, 128)); - } - else - { - pCell->SetColor(A3DCOLORRGB(255, 255, 255)); - } - } - else - { - pCell->SetColor(A3DCOLORRGB(255, 255, 255)); - } - } - - if (pSC->GetCoolTime(&nMax) > 0) - { - pClock->SetProgressRange(0, nMax); - pClock->SetProgressPos(nMax - pSC->GetCoolTime()); - pClock->SetColor(A3DCOLORRGBA(0, 0, 0, 128)); - } - }*//* - if (pSC != null) - { - pCell.SetDataPtr(pSC, "ptr_CECShortcut"); - if (pSC.GetType() == (int)CECShortcut.ShortcutType.SCT_SKILLGRP) - { - *//* EC_VIDEO_SETTING setting = GetGame()->GetConfigs()->GetVideoSettings(); - pCell->SetCover(GetGameUIMan()->m_pA2DSpriteIcons[CECGameUIMan::ICONS_SKILLGRP], - setting.comboSkill[((CECSCSkillGrp*)pSC)->GetGroupIndex()].nIcon + 1);*//* + BMLogger.LogError("HoangDev: QuickBar Set Skill Group Icon SCT_SKILLGRP"); + EC_VIDEO_SETTING setting = EC_Game.GetConfigs().GetVideoSettings(); + /* pCell.SetCover(GetGameUIMan()->m_pA2DSpriteIcons[CECGameUIMan::ICONS_SKILLGRP], + setting.comboSkill[((CECSCSkillGrp)pSC).GetGroupIndex()].nIcon + 1); + setting.comboSkill[((CECSCSkillGrp)pSC).GetGroupIndex()].nIcon + 1;*/ + GetGameUIMan().SetCover(pCell, "unknown", EC_GAMEUI_ICONS.ICONS_SKILLGRP); } else { @@ -419,24 +424,24 @@ namespace BrewMonster var nameskill = ElementSkill.GetIcon((uint)pSkill.GetSkillID()); GetGameUIMan().SetCover(pCell, nameskill, EC_GAMEUI_ICONS.ICONS_SKILL); } - *//*af_GetFileTitle(pSC->GetIconFile(), strFile); - strFile.MakeLower(); - pCell->SetCover(GetGameUIMan()->m_pA2DSpriteIcons[iIconFile], - GetGameUIMan()->m_IconMap[iIconFile][strFile]);*//* + /* af_GetFileTitle(pSC->GetIconFile(), strFile); + strFile.MakeLower(); + pCell->SetCover(GetGameUIMan()->m_pA2DSpriteIcons[iIconFile], + GetGameUIMan()->m_IconMap[iIconFile][strFile]); */ } } } else { - *//* pCell->SetCover(NULL, -1); - pCell->SetText(_AL("")); + /* pCell->SetCover(NULL, -1); + pCell->SetText(_AL("")); pCell->SetDataPtr(NULL); - pCell->SetColor(A3DCOLORRGB(255, 255, 255));*//* + pCell->SetColor(A3DCOLORRGB(255, 255, 255)); */ } } } return true; - }*/ + } private void GetQuickBarNameAndSC(CECHostPlayer pHost, List pszPanel, List pSCS, int panel9, int panel8) { string dlgName; diff --git a/Assets/Scripts/CECGameRun.cs b/Assets/Scripts/CECGameRun.cs index 3f30b2b31c..10f1a5d242 100644 --- a/Assets/Scripts/CECGameRun.cs +++ b/Assets/Scripts/CECGameRun.cs @@ -6,8 +6,10 @@ using BrewMonster.UI; using CSNetwork; using CSNetwork.GPDataType; using CSNetwork.Protocols.RPCData; +using System; using System.Collections.Generic; using System.Data; +using System.Linq; using System.Threading.Tasks; using Unity.Cinemachine; using UnityEngine; @@ -300,7 +302,6 @@ public partial class CECGameRun dwRealLen = 0; } byte[] pData = pDataBuf; - int dataOffset = offset; if (dwVer >= 3) { @@ -343,7 +344,7 @@ public partial class CECGameRun } } //TODO: flow in update fix later - Task.Run(() => + /* Task.Run(() => { GameSession.Context.Post(_ => { @@ -353,22 +354,21 @@ public partial class CECGameRun } m_pUIManager.GetCDlgQuickBar().UpdateShortcuts(); }, null); - }); - + });*/ // TODO: Uncomment when UI manager is available // Load UI configs / 鍔犺浇UI閰嶇疆 CECGameUIMan pGameUI = m_pUIManager.GetInGameUIMan(); - /* if (pGameUI != null) - { - int iSize = dr.ReadInt(); - byte[] uiConfigData = dr.ReadData(iSize); - if (!pGameUI.SetUserLayout(uiConfigData, iSize)) - { - BMLogger.LogError("CECGameRun::LoadConfigsFromServer, Failed to set user layout"); - return false; - } - }*/ + if (pGameUI != null) + { + int iSize = dr.ReadInt(); + byte[] uiConfigData = dr.ReadData(iSize); + /*if (!pGameUI.SetUserLayout(uiConfigData, iSize)) + { + BMLogger.LogError("CECGameRun::LoadConfigsFromServer, Failed to set user layout"); + return false; + }*/ + } // Load user settings / 鍔犺浇鐢ㄦ埛璁剧疆 if (dwVer >= 2) @@ -376,11 +376,11 @@ public partial class CECGameRun // TODO: Uncomment when game configs are available int iSize = dr.ReadInt(); byte[] settingsData = dr.ReadData(iSize); - /* if (!EC_Game.GetConfigs().LoadUserConfigData(settingsData, iSize)) - { - BMLogger.LogError("CECGameRun::LoadConfigsFromServer, Failed to load user config data"); - return false; - }*/ + if (!EC_Game.GetConfigs().LoadUserConfigData(settingsData, iSize)) + { + BMLogger.LogError("CECGameRun::LoadConfigsFromServer, Failed to load user config data"); + return false; + } } } catch (System.Exception e) diff --git a/Assets/Scripts/EC_Utility.cs b/Assets/Scripts/EC_Utility.cs index 652a661e93..91a2a40600 100644 --- a/Assets/Scripts/EC_Utility.cs +++ b/Assets/Scripts/EC_Utility.cs @@ -85,6 +85,21 @@ public static class EC_Utility { return new System.Numerics.Vector3(v.x, v.y, v.z); } + public static byte glb_BuildRefuseBLSMask() + { + byte byMask = 0; + + // const EC_GAME_SETTING &gs = g_pGame->GetConfigs()->GetGameSettings(); + var gs = EC_Game.GetConfigs().GetGameSettings(); + + if (gs.bBlsRefuse_Neutral) + byMask |= (byte)REFUSE_BLESS_MASK.REFUSE_NEUTRAL_BLESS; + + if (gs.bBlsRefuse_NonTeammate) + byMask |= (byte)REFUSE_BLESS_MASK.REFUSE_NON_TEAMMATE_BLESS; + + return byMask; + } public static void Swap(List arr, int a, int b) { T tmp = arr[a]; From 3de0850a2b3651ffbb25ed2bc93601b68af29228 Mon Sep 17 00:00:00 2001 From: VDH Date: Fri, 23 Jan 2026 18:01:15 +0700 Subject: [PATCH 06/20] push convert flow use skill combo --- .../Scripts/AutoPolicy/CECAutoPolicy.cs | 454 ++++++ .../Scripts/AutoPolicy/CECAutoPolicy.cs.meta | 2 + .../Managers/EC_IvtrItem/EC_IvtrType.cs | 11 + Assets/PerfectWorld/Scripts/NPC/CECNPC.cs | 5 +- .../Scripts/Players/CECPlayerWrapper.cs | 1336 ++++++++++++++++- .../Scripts/Skills/CECComboSkill.cs | 47 +- .../Scripts/Skills/FLOW_COMBO_SKILL_CLICK.md | 777 +++------- .../Scripts/Skills/PlayerWrapper.cs | 1 - .../Scripts/UI/GamePlay/CdlgQuickBar.cs | 13 +- Assets/Scripts/CECGameRun.cs | 35 +- Assets/Scripts/CECHostPlayer.cs | 77 +- Assets/Scripts/EC_Utility.cs | 1 + .../LiberationSans SDF - Fallback.asset | 365 ++++- 13 files changed, 2463 insertions(+), 661 deletions(-) create mode 100644 Assets/PerfectWorld/Scripts/AutoPolicy/CECAutoPolicy.cs create mode 100644 Assets/PerfectWorld/Scripts/AutoPolicy/CECAutoPolicy.cs.meta diff --git a/Assets/PerfectWorld/Scripts/AutoPolicy/CECAutoPolicy.cs b/Assets/PerfectWorld/Scripts/AutoPolicy/CECAutoPolicy.cs new file mode 100644 index 0000000000..a5cba37b5e --- /dev/null +++ b/Assets/PerfectWorld/Scripts/AutoPolicy/CECAutoPolicy.cs @@ -0,0 +1,454 @@ +锘// EC_AutoPolicy.cs +// Converted from EC_AutoPolicy.h / EC_AutoPolicy.cpp + +using BrewMonster.Assets.PerfectWorld.Scripts.Players; +using BrewMonster.Network; +using CSNetwork.GPDataType; +using System; +using System.Collections.Generic; +using System.IO; + +public sealed class CECAutoPolicy +{ + // policy type + public const int POLICY_AUTOKILLMONSTER = 0; + + // system events + public const int EVENT_BEHURT = 1; + public const int EVENT_SKILLINTERRUPT = 2; + public const int EVENT_RETURNTOWNOK = 3; + public const int EVENT_CONFIGCHANGED = 4; + + public struct CONFIG + { + public int attack_skill; + public bool attack_iscombo; + public int assist_skill; + public bool assist_iscombo; + public int nAssistInterval; + public int nTime; + public int iAutoPickMode; // 0 none, 1 all, 2 only money + public int nPetrolRadius; + + public CONFIG(bool _ = true) + { + attack_skill = 0; + attack_iscombo = false; + assist_skill = 0; + assist_iscombo = false; + nAssistInterval = 60000; + nTime = 3600000; + iAutoPickMode = 0; + nPetrolRadius = 500; + } + } + + private static readonly CECAutoPolicy _instance = new CECAutoPolicy(); + public static CECAutoPolicy GetInstance() => _instance; + + private CONFIG m_Config; + private CECPlayerWrapper m_pPlayer; + private string m_strCurPolicy; + + private readonly CECCounter m_cntTick; + private uint m_dwKeepingTime; + private uint m_dwCurrentTime; + + private CECAutoPolicy() + { + m_pPlayer = null; + m_cntTick = new CECCounter(); // 100ms => 10 ticks/sec + m_cntTick.SetPeriod(100); + m_dwKeepingTime = 0; + m_dwCurrentTime = 0; + m_strCurPolicy = string.Empty; + m_Config = new CONFIG(); + } + + public bool Init() + { + // load lua file list: configs/autopolicy/allfiles.txt + // (token-based in C++; here read whitespace tokens) + var listPath = Path.Combine("configs", "autopolicy", "allfiles.txt"); + if (!File.Exists(listPath)) + { + // a_LogOutput equivalent: adapt in your project + return false; + } + + foreach (var line in File.ReadLines(listPath)) + { + var s = line.Trim(); + if (string.IsNullOrEmpty(s)) continue; + if (s.StartsWith("#") || s.StartsWith("//")) continue; + + // token 0 + var parts = s.Split((char[])null, StringSplitOptions.RemoveEmptyEntries); + if (parts.Length == 0) continue; + + var luaFile = Path.Combine("configs", "autopolicy", parts[0]); + LoadLuaFile(luaFile); + } + + // Register player API: _InitPlayerAPI(g_LuaStateMan.GetAIState()); + AutoPolicyLuaHooks.InitPlayerAPI?.Invoke(); + return true; + } + + public void Release() + { + m_pPlayer = null; + } + + public void OnEnterWorld() + { + if (m_pPlayer == null) + m_pPlayer = new CECPlayerWrapper(EC_Game.GetGameRun().GetHostPlayer()); + + LoadConfigData(); + } + + public void OnLeaveWorld() + { + if (m_pPlayer != null) + { + SaveConfigData(); + m_pPlayer = null; + } + + SetCurPolicy(string.Empty); + m_dwCurrentTime = 0; + } + + public void Tick(uint dwDeltaTime) + { + if (EC_Game.GetGameRun().GetGameState() != (int)GameState.GS_GAME) + return; + + m_pPlayer?.Tick(dwDeltaTime); + + if (m_cntTick.IncCounter(dwDeltaTime)) + { + var args = new List { new CScriptValue((double)m_dwKeepingTime) }; + var ret = new List(); + CallLuaFunc("AIManager", "OnTick", args, ret); + + m_cntTick.Reset(); + m_dwKeepingTime = 0; + } + + m_dwKeepingTime += dwDeltaTime; + if (IsAutoPolicyEnabled()) + m_dwCurrentTime += dwDeltaTime; + } + + public void Render() + { + // C++ draws debug text with A3DFont. Implement your own debug UI if needed. + // In C++ it uses: m_pPlayer.m_iAttackErrCnt / m_iPickupErrCnt / action queue list + } + + public void StartPolicy(int policyType) + { + string[] policyMap = + { + "AutoKillMonster", // POLICY_AUTOKILLMONSTER + }; + + // FIXED: original C++ has a sizeof bug. Correct is policyMap.Length. + if (policyType < 0 || policyType >= policyMap.Length) + return; + + string policyName = policyMap[policyType]; + SetCurPolicy(policyName); + m_dwCurrentTime = 0; + + if (m_pPlayer != null) + { + m_pPlayer.GetHostPlayer().ClearComboSkill(); + m_pPlayer.SetOrigPos(m_pPlayer.GetHostPlayer().GetPos()); + } + + var pGameUI = EC_Game.GetGameRun().GetUIManager().GetInGameUIMan(); + //pGameUI?.AddChatMessage(pGameUI.GetStringFromTable(10920), EC_GPDataType.GP_CHAT_MISC); + } + // Put this inside CECAutoPolicy class + + private void SetCurPolicy(string strPolicy) + { + // normalize null + strPolicy ??= string.Empty; + + // no change + if (string.Equals(m_strCurPolicy, strPolicy, StringComparison.Ordinal)) + return; + + // stop old policy (if any) + if (!string.IsNullOrEmpty(m_strCurPolicy)) + { + // Try a few common Lua callbacks (depending on your lua side implementation). + // You can keep only the one that exists in your project. + try + { + CallLuaFunc("AIManager", "OnStopPolicy", + new List { new CScriptValue(m_strCurPolicy) }, null); + } + catch { /* ignore if function not exist */ } + + try + { + CallLuaFunc("AIManager", "OnChangePolicy", + new List { new CScriptValue(m_strCurPolicy), new CScriptValue(strPolicy) }, null); + } + catch { /* ignore if function not exist */ } + } + + // assign + m_strCurPolicy = strPolicy; + + // start new policy (if any) + if (!string.IsNullOrEmpty(m_strCurPolicy)) + { + try + { + CallLuaFunc("AIManager", "OnStartPolicy", + new List { new CScriptValue(m_strCurPolicy) }, null); + } + catch { /* ignore if function not exist */ } + } + } + public void StopPolicy() + { + SetCurPolicy(string.Empty); + m_pPlayer?.OnStopPolicy(); + m_dwCurrentTime = 0; + + var pGameUI = EC_Game.GetGameRun().GetUIManager().GetInGameUIMan(); + //pGameUI?.AddChatMessage(pGameUI.GetStringFromTable(10921), ChatChannel.GP_CHAT_MISC); + } + + public void SendEvent_BeHurt(int attacker) + { + var args = new List + { + new CScriptValue((double)EVENT_BEHURT), + new CScriptValue((double)attacker), + }; + CallLuaFunc("AIManager", "OnEvent", args, null); + + if (GPDataTypeHelper.ISNPCID(attacker) && m_pPlayer != null) + m_pPlayer.OnMonsterAttackMe(attacker); + } + + public void SendEvent_SkillInterrupt(int skill_id) + { + + } + + public void SendEvent_ReturnTown() + { + var args = new List + { + new CScriptValue((double)EVENT_RETURNTOWNOK), + }; + CallLuaFunc("AIManager", "OnEvent", args, null); + } + + public void SendEvent_ConfigChanged() + { + var args = new List + { + new CScriptValue((double)EVENT_CONFIGCHANGED), + }; + CallLuaFunc("AIManager", "OnEvent", args, null); + + // C++: m_pPlayer->m_InvalidObj.clear(); + // In C# wrapper keeps it protected; clear via StopPolicy-style reset or expose method if you want exact parity. + // If you need exact parity, add a method on wrapper to ClearInvalidObj(). + } + + public CECPlayerWrapper GetPlayerWrapper() => m_pPlayer; + + public bool IsAutoPolicyEnabled() => !string.IsNullOrEmpty(m_strCurPolicy); + + public string GetCurPolicy() => m_strCurPolicy; + + public CONFIG GetConfigData() => m_Config; + + public void SetConfigData(CONFIG data) + { + m_Config = data; + SaveConfigData(); + } + + public uint GetRemainTime() + { + if (m_Config.nTime > (int)m_dwCurrentTime) + return (uint)(m_Config.nTime - (int)m_dwCurrentTime); + return 0; + } + + private bool LoadLuaFile(string filename) + { + // C++ uses LuaState lock + RegisterFile. Provide hooks. + return AutoPolicyLuaHooks.RegisterFile?.Invoke(filename) ?? false; + } + + private void CallLuaFunc(string szTable, string szName, List args, List ret) + { + AutoPolicyLuaHooks.CallLua?.Invoke(szTable, szName, args, ret); + } + + private bool LoadConfigData() + { + if (m_pPlayer == null) return false; + + string strFile = Path.Combine("userdata", "autopolicy", $"{m_pPlayer.GetHostPlayer().GetCharacterID()}.ini"); + + if (!File.Exists(strFile)) + { + SaveConfigData(); + return false; + } + + var ini = SimpleIni.Load(strFile); + + m_Config.attack_skill = ini.GetInt("config", "attack_skill", 0); + m_Config.attack_iscombo = ini.GetBool("config", "attack_iscombo", false); + m_Config.assist_skill = ini.GetInt("config", "assist_skill", 0); + m_Config.assist_iscombo = ini.GetBool("config", "assist_iscombo", false); + m_Config.nAssistInterval = ini.GetInt("config", "assist_interval", 60000); + m_Config.nTime = ini.GetInt("config", "keeping_time", 3600000); + m_Config.iAutoPickMode = ini.GetInt("config", "autopick", 1); + m_Config.nPetrolRadius = ini.GetInt("config", "petrol_radius", 500); + + return true; + } + + private void SaveConfigData() + { + Directory.CreateDirectory(Path.Combine("userdata", "autopolicy")); + + var ini = new SimpleIni(); + ini.SetInt("config", "attack_skill", m_Config.attack_skill); + ini.SetBool("config", "attack_iscombo", m_Config.attack_iscombo); + ini.SetInt("config", "assist_skill", m_Config.assist_skill); + ini.SetBool("config", "assist_iscombo", m_Config.assist_iscombo); + ini.SetInt("config", "assist_interval", m_Config.nAssistInterval); + ini.SetInt("config", "keeping_time", m_Config.nTime); + ini.SetInt("config", "autopick", m_Config.iAutoPickMode); + ini.SetInt("config", "petrol_radius", m_Config.nPetrolRadius); + + if (m_pPlayer != null) + { + string strFile = Path.Combine("userdata", "autopolicy", $"{m_pPlayer.GetHostPlayer().GetCharacterID()}.ini"); + ini.Save(strFile); + } + } +} + +// ===================== Hooks & tiny helpers ===================== +// Keep these minimal; replace by your real Lua + script value types. + +public static class AutoPolicyLuaHooks +{ + // return true if file registered/loaded + public static Func RegisterFile; + + // table, func, args, ret (ret can be null) + public static Action, List> CallLua; + + public static Action InitPlayerAPI; +} + +// Minimal script value +public readonly struct CScriptValue +{ + public readonly object Value; + public CScriptValue(object v) { Value = v; } +} + +// Very small INI helper (enough for this file) +public sealed class SimpleIni +{ + private readonly Dictionary> _data = new(StringComparer.OrdinalIgnoreCase); + + public static SimpleIni Load(string path) + { + var ini = new SimpleIni(); + string section = ""; + foreach (var raw in File.ReadLines(path)) + { + var line = raw.Trim(); + if (line.Length == 0) continue; + if (line.StartsWith(";") || line.StartsWith("#") || line.StartsWith("//")) continue; + + if (line.StartsWith("[") && line.EndsWith("]")) + { + section = line.Substring(1, line.Length - 2).Trim(); + if (!ini._data.ContainsKey(section)) + ini._data[section] = new Dictionary(StringComparer.OrdinalIgnoreCase); + continue; + } + + int eq = line.IndexOf('='); + if (eq <= 0) continue; + + string key = line.Substring(0, eq).Trim(); + string val = line.Substring(eq + 1).Trim(); + + if (!ini._data.TryGetValue(section, out var dict)) + { + dict = new Dictionary(StringComparer.OrdinalIgnoreCase); + ini._data[section] = dict; + } + + dict[key] = val; + } + + return ini; + } + + public int GetInt(string section, string key, int def) + { + if (_data.TryGetValue(section, out var s) && s.TryGetValue(key, out var v) && int.TryParse(v, out var r)) + return r; + return def; + } + + public bool GetBool(string section, string key, bool def) + { + if (_data.TryGetValue(section, out var s) && s.TryGetValue(key, out var v)) + { + if (v == "1") return true; + if (v == "0") return false; + if (bool.TryParse(v, out var r)) return r; + } + return def; + } + + public void SetInt(string section, string key, int value) => Set(section, key, value.ToString()); + public void SetBool(string section, string key, bool value) => Set(section, key, value ? "1" : "0"); + + private void Set(string section, string key, string value) + { + if (!_data.TryGetValue(section, out var s)) + { + s = new Dictionary(StringComparer.OrdinalIgnoreCase); + _data[section] = s; + } + s[key] = value; + } + + public void Save(string path) + { + using var sw = new StreamWriter(path); + foreach (var sect in _data) + { + sw.WriteLine($"[{sect.Key}]"); + foreach (var kv in sect.Value) + sw.WriteLine($"{kv.Key}={kv.Value}"); + sw.WriteLine(); + } + } +} diff --git a/Assets/PerfectWorld/Scripts/AutoPolicy/CECAutoPolicy.cs.meta b/Assets/PerfectWorld/Scripts/AutoPolicy/CECAutoPolicy.cs.meta new file mode 100644 index 0000000000..854666ca1f --- /dev/null +++ b/Assets/PerfectWorld/Scripts/AutoPolicy/CECAutoPolicy.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: df3c9b50fb2b12f4889649c8666fa10e \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrType.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrType.cs index 67085b3509..b255722b9f 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrType.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrType.cs @@ -789,6 +789,17 @@ namespace BrewMonster.Scripts.Managers return IndexOfIteminEquipmentInventory.EQUIPIVTR_FINGER1; } } + public enum InventoryType + { + IVTRTYPE_PACK = 0, // Normal pack + IVTRTYPE_EQUIPPACK, // Equipment + IVTRTYPE_TASKPACK, // Task pack + IVTRTYPE_TRASHBOX, // Trash box + IVTRTYPE_TRASHBOX2, // Trash box - material box + IVTRTYPE_TRASHBOX3, // Trash box - fashion box + IVTRTYPE_ACCOUNT_BOX, // User account box + IVTRTYPE_GENERALCARD_BOX, // 驴篓脜脝掳眉鹿眉 + }; } diff --git a/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs b/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs index 8802f06b2e..11d22d5c72 100644 --- a/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs +++ b/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs @@ -257,7 +257,7 @@ public class CECNPC : CECObject private void OnMsgNPCInvisible(ECMSG Msg) { - cmd_object_invisible pCmd = GPDataTypeHelper.FromBytes< cmd_object_invisible>((byte[])Msg.dwParam1); + cmd_object_invisible pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); if (pCmd.invisible_degree > 0) { @@ -1088,7 +1088,7 @@ public class CECNPC : CECObject } public void StopMoveTo(cmd_object_stop_move cmd) { - BMLogger.LogMono(this,"CECNPC::StopMoveTo"); + BMLogger.LogMono(this, "CECNPC::StopMoveTo"); if (IsDead()) return; BMLogger.LogMono(this, "CECNPC::StopMoveTo not dead"); @@ -1573,6 +1573,7 @@ public class CECNPC : CECObject m_pNPCModelPolicy.PlayModelAction(iAction, bRestart, null); } bool IsDisappearing() { return m_DisappearCnt.GetCounter() != 0 ? true : false; } + public int GetTemplateID() { return m_NPCInfo.tid; } public float GetTouchRadius() { return m_fTouchRad; } diff --git a/Assets/PerfectWorld/Scripts/Players/CECPlayerWrapper.cs b/Assets/PerfectWorld/Scripts/Players/CECPlayerWrapper.cs index 91dc047611..cf4acee790 100644 --- a/Assets/PerfectWorld/Scripts/Players/CECPlayerWrapper.cs +++ b/Assets/PerfectWorld/Scripts/Players/CECPlayerWrapper.cs @@ -1,13 +1,1335 @@ -锘縰sing System; +锘 +using BrewMonster; +using BrewMonster.Managers; +using BrewMonster.Network; +using BrewMonster.Scripts.Managers; +using CSNetwork; +using CSNetwork.GPDataType; +using PerfectWorld.Scripts; +using PerfectWorld.Scripts.Managers; +using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System.Runtime.CompilerServices; -namespace BrewMonster.Assets.PerfectWorld.Scripts.Players + +public static class AP { - public class CECPlayerWrapper - { + // AP events (from EC_PlayerWrapper.h anonymous enum) + public const int AP_EVENT_CANNOTMOVE = 0; + public const int AP_EVENT_MOVEFINISHED = 1; + public const int AP_EVENT_TRACEOK = 2; + public const int AP_EVENT_STARTSKILL = 3; + public const int AP_EVENT_STOPSKILL = 4; + public const int AP_EVENT_STARTUSEITEM = 5; + public const int AP_EVENT_STOPUSEITEM = 6; + public const int AP_EVENT_PICKUPOK = 7; + public const int AP_EVENT_CANNOTPICKUP = 8; + public const int AP_EVENT_STARTMELEE = 9; + public const int AP_EVENT_STOPMELEE = 10; + public const int AP_EVENT_COMBOCONTINUE = 11; + public const int AP_EVENT_COMBOFINISH = 12; + public const int AP_EVENT_MELEEOUTOFRANGE = 13; + // NOTE: C# doesn't have free functions; keep names, put into static class. + public static void AP_ActionEvent(int iEvent, int iParam = 0) + { + if (!CECAutoPolicy.GetInstance().IsAutoPolicyEnabled()) + return; + + var pWrapper = CECAutoPolicy.GetInstance().GetPlayerWrapper(); + pWrapper?.OnActionEvent(iEvent, iParam); + } + + public static string AP_GetActionName(int iAction) + { + return iAction switch + { + CECPlayerWrapper.ACTION_IDLE => "ACTION_IDLE", + CECPlayerWrapper.ACTION_MOVE => "ACTION_MOVE", + CECPlayerWrapper.ACTION_CASTSKILL => "ACTION_CASTSKILL", + CECPlayerWrapper.ACTION_USEITEM => "ACTION_USEITEM", + CECPlayerWrapper.ACTION_PICKUP => "ACTION_PICKUP", + CECPlayerWrapper.ACTION_COMBOSKILL => "ACTION_COMBOSKILL", + CECPlayerWrapper.ACTION_MELEE => "ACTION_MELEE", + _ => "Unknown", + }; + } + + public static string AP_GetEventName(int iEvent) + { + return iEvent switch + { + AP_EVENT_CANNOTMOVE => "AP_EVENT_CANNOTMOVE", + AP_EVENT_MOVEFINISHED => "AP_EVENT_MOVEFINISHED", + AP_EVENT_TRACEOK => "AP_EVENT_TRACEOK", + AP_EVENT_STARTSKILL => "AP_EVENT_STARTSKILL", + AP_EVENT_STOPSKILL => "AP_EVENT_STOPSKILL", + AP_EVENT_STARTUSEITEM => "AP_EVENT_STARTUSEITEM", + AP_EVENT_STOPUSEITEM => "AP_EVENT_STOPUSEITEM", + AP_EVENT_PICKUPOK => "AP_EVENT_PICKUPOK", + AP_EVENT_CANNOTPICKUP => "AP_EVENT_CANNOTPICKUP", + AP_EVENT_STARTMELEE => "AP_EVENT_STARTMELEE", + AP_EVENT_STOPMELEE => "AP_EVENT_STOPMELEE", + AP_EVENT_COMBOCONTINUE => "AP_EVENT_COMBOCONTINUE", + AP_EVENT_COMBOFINISH => "AP_EVENT_COMBOFINISH", + AP_EVENT_MELEEOUTOFRANGE => "AP_EVENT_MELEEOUTOFRANGE", + _ => "Unknown", + }; } } + +public class CECPlayerWrapper +{ + // Actions (from EC_PlayerWrapper.h enum) + public const int ACTION_IDLE = 0; + public const int ACTION_MOVE = 1; + public const int ACTION_CASTSKILL = 2; + public const int ACTION_USEITEM = 3; + public const int ACTION_PICKUP = 4; + public const int ACTION_COMBOSKILL = 5; + public const int ACTION_MELEE = 6; + + private const int MAX_ATTACK_ERROR = 3; + private const int INVALIDOBJ_TIMEOUT = 30000; + private const float MATTER_SEARCH_RANGE = 60.0f; + + public struct DelayTask + { + public int iType; + public int iParam1; + public int iParam2; + + public DelayTask(int _) + { + iType = ACTION_IDLE; + iParam1 = 0; + iParam2 = 0; + } + } + + // ===== Base Action ===== + public abstract class Action + { + protected readonly int type; + protected readonly CECPlayerWrapper host; + + protected Action(CECPlayerWrapper pHost, int t) + { + host = pHost; + type = t; + } + + public virtual bool StartAction() => true; + public virtual void EndAction() { } + + // return true => action finished + public virtual bool Tick(uint dwDeltaTime) => false; + + public virtual void OnEvent(int iEvent, int iParam) { } + + public virtual bool CanBreak() => true; + + public bool HaveNextAction() => host.m_Actions.Count > 0; + + public int GetType() => type; + } + + public delegate void ActionEventDelegate(int iEvent, int iParam); + + // ===== Dependencies (keep original names/types; implement in your project) ===== + protected CECHostPlayer m_pHost; + + // ===== Runtime state ===== + protected readonly LinkedList m_Actions = new(); + protected Action m_pCurAction; + + protected A3DVECTOR3 m_vOrigPos; + + protected bool m_bForceAttack; + protected int m_iAttackErrCnt; + protected int m_iPickupErrCnt; + + // invalid objects timeout map + protected readonly Dictionary m_InvalidObj = new(); + + // monsters attacking me + protected readonly HashSet m_MonsterAttackMe = new(); + + protected DelayTask m_DelayTask = new DelayTask(0); + + // Keep accessors like C++ (AutoPolicy.Render reads these directly in C++) + public CECHostPlayer GetHostPlayer() => m_pHost; + + public CECPlayerWrapper(CECHostPlayer pHost) + { + m_pHost = pHost; + m_pCurAction = null; + m_iAttackErrCnt = 0; + m_iPickupErrCnt = 0; + m_bForceAttack = false; + m_vOrigPos = m_pHost.GetPos(); + } + + public virtual void Tick(uint dwDeltaTime) + { + if (m_pCurAction != null) + { + if (m_pCurAction.Tick(dwDeltaTime)) + { + EndCurAction(); + StartAction(); + } + } + + if (m_DelayTask.iType != ACTION_IDLE) + ProcessDelayTask(); + + // decrement invalid timeouts + if (m_InvalidObj.Count > 0) + { + var toRemove = new List(); + foreach (var kv in m_InvalidObj) + { + int t = kv.Value - (int)dwDeltaTime; + if (t <= 0) toRemove.Add(kv.Key); + else m_InvalidObj[kv.Key] = t; + } + for (int i = 0; i < toRemove.Count; i++) + m_InvalidObj.Remove(toRemove[i]); + } + } + + public void StopPolicy() + { + CECAutoPolicy.GetInstance().StopPolicy(); + } + + public void OnStopPolicy() + { + ClearAction(); + m_bForceAttack = false; + m_iAttackErrCnt = 0; + m_iPickupErrCnt = 0; + m_InvalidObj.Clear(); + m_MonsterAttackMe.Clear(); + } + + public bool HaveAction() + { + return m_pCurAction != null || m_Actions.Count > 0; + } + + public bool AddIdleAction(int iTime) + { + AddAction(new IdleAction(this, iTime)); + return StartAction(); + } + + protected bool AddAction(Action pAction) + { + if (pAction == null) return false; + if (m_pCurAction != null && m_pCurAction.GetType() == pAction.GetType()) + return false; + + for (var node = m_Actions.First; node != null; node = node.Next) + { + if (node.Value.GetType() == pAction.GetType()) + return false; + } + + m_Actions.AddLast(pAction); + return true; + } + + protected bool StartAction() + { + if (m_pCurAction != null) + return true; + + bool ret = false; + + while (m_Actions.Count > 0) + { + m_pCurAction = m_Actions.First.Value; + m_Actions.RemoveFirst(); + + ret = m_pCurAction.StartAction(); + if (ret) break; + + EndCurAction(); // if StartAction failed, kill and try next + } + + return ret; + } + + protected bool EndCurAction() + { + if (m_pCurAction == null) + return false; + + m_pCurAction.EndAction(); + m_pCurAction = null; + return true; + } + + public void ClearAction() + { + if (m_pCurAction != null) + EndCurAction(); + + m_Actions.Clear(); + } + + private bool AddOneAction(int iActionType, int iParam = 0) + { + switch (iActionType) + { + case ACTION_MOVE: AddAction(new MoveAction(this)); break; + case ACTION_CASTSKILL: AddAction(new CastSkillAction(this)); break; + case ACTION_USEITEM: AddAction(new UseItemAction(this)); break; + case ACTION_PICKUP: AddAction(new PickupAction(this, iParam)); break; + case ACTION_COMBOSKILL: AddAction(new ComboSkillAction(this)); break; + case ACTION_MELEE: AddAction(new MeleeAction(this)); break; + default: throw new ArgumentOutOfRangeException(nameof(iActionType)); + } + + return StartAction(); + } + + // ===== Inventory helpers ===== + public int GetItemIndex(int iPack, int tid) + { + if (iPack >= (int)InventoryType.IVTRTYPE_PACK && iPack <= (int)InventoryType.IVTRTYPE_TASKPACK) + { + var pPack = m_pHost.GetPack(iPack); + return pPack.FindItem(tid); + } + return -1; + } + + public int GetItemCount(int iPack, int tid) + { + if (iPack >= (int)InventoryType.IVTRTYPE_PACK && iPack <= (int)InventoryType.IVTRTYPE_TASKPACK) + { + var pPack = m_pHost.GetPack(iPack); + return pPack.GetItemTotalNum(tid); + } + return 0; + } + + public A3DVECTOR3 GetPos() + { + return m_pHost.GetPos(); + } + + public void MoveTo(float x, float z) + { + var pGameUI = EC_Game.GetGameRun().GetUIManager().GetInGameUIMan(); + //pGameUI?.AutoMoveStart((int)x, (int)z, false); + AddOneAction(ACTION_MOVE); + } + + public void CancelAction() + { + EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_PRESSCANCEL, MANAGER_INDEX.MAN_PLAYER, 0); + } + + public A3DVECTOR3 GetOrigPos() + { + return m_vOrigPos; + } + + public void SetOrigPos(A3DVECTOR3 vPos) + { + m_vOrigPos = vPos; + } + + // ===== Target search ===== + private sealed class ObjectSorter : IComparer + { + private readonly CECPlayerWrapper _host; + + public ObjectSorter(CECPlayerWrapper host) + { + _host = host; + } + + public int Compare(CECObject p1, CECObject p2) + { + float f1 = GetDistToHost(p1); + float f2 = GetDistToHost(p2); + + float df = Math.Abs(f1 - f2); + if (df > 0.00001f) + return f1 < f2 ? -1 : 1; + + if (p1.GetClassID() == p2.GetClassID()) + { + // pointer compare equivalent + int h1 = RuntimeHelpers.GetHashCode(p1); + int h2 = RuntimeHelpers.GetHashCode(p2); + return h1.CompareTo(h2); + } + + // C++: return p1->IsMatter(); => matter first if same dist but different class + return p1.IsMatter() ? -1 : 1; + } + + private float GetDistToHost(CECObject p) + { + if (p == null) return 0.0f; + + if (p.IsMonsterNPC()) + { + var pNPC = p as CECNPC; + return pNPC != null ? pNPC.GetDistToHost() : 0.0f; + } + /* else if (p.IsMatter()) + { + var pMatter = p as CECMatter; + return pMatter != null ? pMatter.GetDistToHost() : 0.0f; + }*/ + else + { + return 0.0f; + } + } + } + + public bool SearchTarget(ref int id, ref int tid) + { + int iTarget = 0; + int iTargetTempl = 0; + + var pNPCMan = EC_ManMessageMono.Instance.CECNPCMan; + var pMatterMan = EC_ManMessageMono.Instance.EC_ManMatter; + + m_iAttackErrCnt = 0; + + // Prefer monsters attacking me + if (m_MonsterAttackMe.Count > 0) + { + float fMinDist = 999999.0f; + int chosen = 0; + + foreach (var mid in m_MonsterAttackMe) + { + var pNPC = pNPCMan.GetNPC(mid); + if (pNPC == null) + continue; + +#if UNITY_5_3_OR_NEWER + float fDist = (m_pHost.GetPos() - pNPC.GetPos()).Magnitude(); +#else + float fDist = A3DVECTOR3.Magnitude(m_pHost.GetPos() - pNPC.GetPos()); +#endif + if (fDist < fMinDist) + { + fMinDist = fDist; + iTarget = mid; + iTargetTempl = pNPC.GetTemplateID(); + chosen = mid; + } + } + + if (iTarget != 0) + { + m_MonsterAttackMe.Remove(chosen); + id = iTarget; + tid = iTargetTempl; + return true; + } + } + + // Collect candidates (monsters + matters) + var targets = new List(); + + var monsters = new List(); + pNPCMan.TabSelectCandidates(0, monsters); + for (int i = 0; i < monsters.Count; i++) + targets.Add(monsters[i]); + + var matters = new List(); + //pMatterMan.FindMattersInRange(MATTER_SEARCH_RANGE, true, matters); + for (int i = 0; i < matters.Count; i++) + targets.Add(matters[i]); + + if (targets.Count > 0) + { + targets.Sort(new ObjectSorter(this)); + + for (int i = 0; i < targets.Count; i++) + { + var obj = targets[i]; + if (obj.IsMonsterNPC()) + { + var pNPC = obj as CECNPC; + if (pNPC != null && NpcCanAttack(pNPC.GetNPCID())) + { + iTarget = pNPC.GetNPCID(); + iTargetTempl = pNPC.GetTemplateID(); + break; + } + } + else if (obj.IsMatter()) + { + var pMatter = obj as CECMatter; + if (pMatter != null && MatterCanPickup(pMatter.GetMatterID(), pMatter.GetTemplateID())) + { + iTarget = pMatter.GetMatterID(); + iTargetTempl = pMatter.GetTemplateID(); + break; + } + } + } + + if (iTarget != 0 && iTargetTempl != 0) + { + id = iTarget; + tid = iTargetTempl; + return true; + } + } + + id = 0; + tid = 0; + return false; + } + + public int GetSelectedTarget() + { + return m_pHost.GetSelectedTarget(); + } + + public void SelectTarget(int iTarget) + { + m_iAttackErrCnt = 0; + m_pHost.SelectTarget(iTarget); + } + + public void Unselect() + { + m_iAttackErrCnt = 0; + m_pHost.SelectTarget(0); + } + + public bool NpcCanAttack(int nid) + { + if (m_pHost.AttackableJudge(nid, false) != 1) + return false; + + if (m_InvalidObj.ContainsKey(nid)) + return false; + + return true; + } + + public bool NormalAttack() + { + bool bRet = m_pHost.CmdNormalAttack(false, false, 0, m_bForceAttack ? 1 : -1); + if (bRet) + { + AddAttackError(); + AddOneAction(ACTION_MELEE); + } + return bRet; + } + + // NOTE: header calls this bQueue; cpp uses bDelay. Here keep signature like header. + public bool CastComboSkill(int group_id, bool bIgnoreAtkLoop, bool bQueue = false) + { + if (bQueue) + { + DoDelayTask(ACTION_COMBOSKILL, group_id, bIgnoreAtkLoop ? 1 : 0); + return true; + } + + AddOneAction(ACTION_COMBOSKILL, group_id); + + bool bRet = m_pHost.ApplyComboSkill(group_id, bIgnoreAtkLoop, m_bForceAttack ? 1 : -1); + if (!bRet && m_iAttackErrCnt++ >= 3) + { + m_iAttackErrCnt = 0; + m_pHost.ClearComboSkill(); + } + + return true; + } + + public bool CastSkill(int skill_id, bool bQueue = false) + { + if (bQueue) + { + DoDelayTask(ACTION_CASTSKILL, skill_id); + return true; + } + + bool bRet = m_pHost.ApplySkillShortcut(skill_id, false, 0, m_bForceAttack ? 1 : -1); + if (bRet) + { + AddAttackError(); + AddOneAction(ACTION_CASTSKILL); + + // self-cast: no trace needed + if (m_pHost.GetPrepSkill() != null) + AP.AP_ActionEvent(AP.AP_EVENT_TRACEOK); + } + + return bRet; + } + + /* public void UseItem(int iSlot) + { + bool bRet = m_pHost.UseItemInPack(EC_GPDataType.IVTRTYPE_PACK, iSlot); + if (bRet) AddOneAction(ACTION_USEITEM); + }*/ + + public bool MatterCanPickup(int mid, int tid) + { + int iPickMode = CECAutoPolicy.GetInstance().GetConfigData().iAutoPickMode; + if (iPickMode == 0 || (iPickMode == 2 && !GPDataTypeHelper.ISMONEYTID(tid))) + return false; + + if (!m_pHost.CanTakeItem(tid, 1)) + return false; + + if (m_InvalidObj.ContainsKey(mid)) + return false; + + return true; + } + + public void Pickup(int mid) + { + bool bRet = m_pHost.PickupObject(mid, false); + + if (m_iPickupErrCnt++ >= 3) + { + m_iPickupErrCnt = 0; + m_InvalidObj[mid] = INVALIDOBJ_TIMEOUT; + } + + if (bRet) + AddOneAction(ACTION_PICKUP, mid); + } + + public bool IsPlayerInSlice(int idPlayer) + { + var pPlayerMan = EC_ManMessageMono.Instance.EC_ManPlayer; + var pPlayer = pPlayerMan.GetPlayer(idPlayer); + return pPlayer != null && !pPlayer.IsDead(); + } + + /* public int GetWeaponEndurance() + { + var pWeapon = m_pHost.GetEquipment().GetItem((int)IndexOfIteminEquipmentInventory.EQUIPIVTR_WEAPON) as CECIvtrWeapon; + if (pWeapon != null) + { + if (pWeapon.IsRangeWeapon()) + { + var pArrow = m_pHost.GetEquipment().GetItem(EC_GPDataType.EQUIPIVTR_PROJECTILE) as CECIvtrArrow; + if (pArrow == null || pArrow.GetCount() == 0) + return 0; + } + + return pWeapon.GetCurEndurance(); + } + + return 0; + }*/ + + public bool IsDead() => m_pHost.IsDead(); + + /* public bool IsRevivedByOther() + { + return m_pHost.GetReviveLostExp() >= 0.0f; + } + + public void AcceptRevive() + { + UnityGameSession.c2s_CmdRevivalAgree(); + }*/ + + /* public bool ReviveByItem() + { + if (m_pHost.GetCoolTime((int)CoolTimeIndex.GP_CT_SOUL_STONE) == 0) + { + UnityGameSession.c2s_CmdReviveItem(); + return true; + } + return false; + }*/ + + public void ReviveInTown() + { + UnityGameSession.c2s_CmdReviveVillage(); + } + + public void SetForceAttack(bool bFlag) + { + m_bForceAttack = bFlag; + } + + /* public bool IsInSanctuary() + { + return m_pHost.IsInSanctuary(); + }*/ + + public bool IsMonsterAttackMe() + { + return m_MonsterAttackMe.Count > 0; + } + + public A3DVECTOR3 GetObjectPos(int object_id) + { + if (GPDataTypeHelper.ISPLAYERID(object_id)) + { + var pMan = EC_ManMessageMono.Instance.EC_ManPlayer; + var pPlayer = pMan.GetElsePlayer(object_id); + return pPlayer != null ? pPlayer.GetPos() : new A3DVECTOR3(0, 0, 0); + } + else if (GPDataTypeHelper.ISNPCID(object_id)) + { + var pMan = EC_ManMessageMono.Instance.CECNPCMan; + var pNPC = pMan.GetNPC(object_id); + return pNPC != null ? pNPC.GetPos() : new A3DVECTOR3(0, 0, 0); + } + else if (GPDataTypeHelper.ISMATTERID(object_id)) + { + var pMan = EC_ManMessageMono.Instance.EC_ManMatter; + var pMatter = pMan.GetMatter(object_id); + return pMatter != null ? pMatter.GetPos() : new A3DVECTOR3(0, 0, 0); + } + + return new A3DVECTOR3(0, 0, 0); + } + + public void SetInvalidObject(int object_id) + { + m_InvalidObj[object_id] = INVALIDOBJ_TIMEOUT; + } + + public void OnObjectDisappear(int object_id) + { + m_InvalidObj.Remove(object_id); + m_MonsterAttackMe.Remove(object_id); + } + + public void OnMonsterAttackMe(int monster_id) + { + if (GetSelectedTarget() != monster_id) + { + m_MonsterAttackMe.Add(monster_id); + m_InvalidObj.Remove(monster_id); + } + } + + public void AddAttackError() + { + if (m_iAttackErrCnt++ >= MAX_ATTACK_ERROR) + { + m_iAttackErrCnt = 0; + m_InvalidObj[GetSelectedTarget()] = INVALIDOBJ_TIMEOUT; + } + } + + public void ResetAttackError() + { + m_iAttackErrCnt = 0; + } + + public void ResetPickupError() + { + m_iPickupErrCnt = 0; + } + + public int GetAttackError() => m_iAttackErrCnt; + public int GetPickupError() => m_iPickupErrCnt; + + public void OnActionEvent(int iEvent, int iParam) + { + m_pCurAction?.OnEvent(iEvent, iParam); + } + + private void DoDelayTask(int iType, int iParam1 = 0, int iParam2 = 0) + { + m_DelayTask.iType = iType; + m_DelayTask.iParam1 = iParam1; + m_DelayTask.iParam2 = iParam2; + + if (m_pHost.IsMeleeing() || m_pHost.IsPlayerMoving()) + CancelAction(); + } + + private void ProcessDelayTask() + { + if (m_pCurAction != null && !m_pCurAction.CanBreak()) + return; + + ClearAction(); + m_iAttackErrCnt = 0; + m_iPickupErrCnt = 0; + + switch (m_DelayTask.iType) + { + case ACTION_CASTSKILL: + CastSkill(m_DelayTask.iParam1); + break; + + case ACTION_COMBOSKILL: + CastComboSkill(m_DelayTask.iParam1, m_DelayTask.iParam2 == 1); + break; + + default: + throw new InvalidOperationException("Unknown delay task type"); + } + + m_DelayTask.iType = ACTION_IDLE; + m_DelayTask.iParam1 = 0; + m_DelayTask.iParam2 = 0; + } + + // ========================================================= + // Action implementations (converted 1:1) + // ========================================================= + + private sealed class IdleAction : Action + { + private int m_iTime; + + public IdleAction(CECPlayerWrapper pPlayer, int iTime) + : base(pPlayer, ACTION_IDLE) + { + m_iTime = iTime; + } + + public override bool Tick(uint dwDeltaTime) + { + if (HaveNextAction()) + return true; + + if (m_iTime > 0) + { + m_iTime -= (int)dwDeltaTime; + return m_iTime <= 0; + } + + return true; + } + } + + private sealed class MoveAction : Action + { + private bool m_bFinish; + private int m_iTimeOut; + + public MoveAction(CECPlayerWrapper pPlayer) + : base(pPlayer, ACTION_MOVE) + { + m_bFinish = false; + m_iTimeOut = 30000; + } + + public override bool CanBreak() => false; + + public override bool Tick(uint dwDeltaTime) + { + m_iTimeOut -= (int)dwDeltaTime; + if (m_iTimeOut <= 0) + return true; + + return m_bFinish; + } + + public override void OnEvent(int iEvent, int iParam) + { + if (iEvent == AP.AP_EVENT_CANNOTMOVE || iEvent == AP.AP_EVENT_MOVEFINISHED) + m_bFinish = true; + } + } + + private sealed class CastSkillAction : Action + { + private const int TRACE = 0; + private const int SPELL = 1; + + private int m_iStep; + private bool m_bFinish; + private int m_iTimeOut; + private bool m_bSuccess; + + public CastSkillAction(CECPlayerWrapper pPlayer) + : base(pPlayer, ACTION_CASTSKILL) + { + m_iStep = TRACE; + m_iTimeOut = 30000; + m_bSuccess = false; + m_bFinish = false; + } + + public override void EndAction() + { + if (m_bSuccess) + host.ResetAttackError(); + } + + public override bool CanBreak() + { + return m_iStep == TRACE && !host.GetHostPlayer().IsPlayerMoving(); + } + + public override bool Tick(uint dwDeltaTime) + { + m_iTimeOut -= (int)dwDeltaTime; + if (m_iTimeOut <= 0) + return true; + + return m_bFinish; + } + + public override void OnEvent(int iEvent, int iParam) + { + if (m_iStep == TRACE) + { + if (iEvent == AP.AP_EVENT_TRACEOK) + { + m_iStep = SPELL; + m_iTimeOut = 2000; + } + else if (iEvent == AP.AP_EVENT_MOVEFINISHED) + { + m_bFinish = true; + } + } + else if (m_iStep == SPELL) + { + if (iEvent == AP.AP_EVENT_STARTSKILL) + { + m_iTimeOut = iParam * 2; + m_bSuccess = true; + } + else if (iEvent == AP.AP_EVENT_STOPSKILL) + { + m_bFinish = true; + } + } + } + } + + private sealed class UseItemAction : Action + { + private bool m_bFinish; + private int m_iTimeOut; + + public UseItemAction(CECPlayerWrapper pPlayer) + : base(pPlayer, ACTION_USEITEM) + { + m_bFinish = false; + m_iTimeOut = 2000; + } + + public override bool CanBreak() => false; + + public override bool Tick(uint dwDeltaTime) + { + m_iTimeOut -= (int)dwDeltaTime; + if (m_iTimeOut <= 0) + return true; + + return m_bFinish; + } + + public override void OnEvent(int iEvent, int iParam) + { + if (iEvent == AP.AP_EVENT_STARTUSEITEM) + { + m_iTimeOut = iParam * 2; + } + else if (iEvent == AP.AP_EVENT_STOPUSEITEM) + { + m_bFinish = true; + } + } + } + + private sealed class PickupAction : Action + { + private const int TRACE = 0; + private const int PICKUP = 1; + + private int m_iStep; + private bool m_bFinish; + private int m_iTimeOut; + private bool m_bSuccess; + private readonly int m_iMatterID; + + public PickupAction(CECPlayerWrapper pPlayer, int iMatterID) + : base(pPlayer, ACTION_PICKUP) + { + m_iMatterID = iMatterID; + m_iTimeOut = 30000; + m_iStep = TRACE; + m_bSuccess = false; + m_bFinish = false; + } + + public override void EndAction() + { + if (m_bSuccess) + host.ResetPickupError(); + } + + public override bool CanBreak() + { + return m_iStep == TRACE && !host.GetHostPlayer().IsPlayerMoving(); + } + + public override bool Tick(uint dwDeltaTime) + { + m_iTimeOut -= (int)dwDeltaTime; + if (m_iTimeOut <= 0) + return true; + + return m_bFinish; + } + + public override void OnEvent(int iEvent, int iParam) + { + if (m_iStep == TRACE) + { + if (iEvent == AP.AP_EVENT_TRACEOK) + { + m_iStep = PICKUP; + m_iTimeOut = 2000; + } + else if (iEvent == AP.AP_EVENT_MOVEFINISHED) + { + m_bFinish = true; + } + } + else if (m_iStep == PICKUP) + { + if (iEvent == AP.AP_EVENT_PICKUPOK) + { + m_bFinish = true; + m_bSuccess = true; + } + else if (iEvent == AP.AP_EVENT_CANNOTPICKUP) + { + m_bFinish = true; + host.SetInvalidObject(m_iMatterID); + host.ResetPickupError(); + } + } + } + } + + private sealed class MeleeAction : Action + { + private const int TRACE = 0; + private const int MELEE = 1; + + private bool m_bFinish; + private int m_iStep; + private int m_iTimeOut; + private bool m_bMeleeing; + private bool m_bLastMeleeStopped; + + public MeleeAction(CECPlayerWrapper pPlayer) + : base(pPlayer, ACTION_MELEE) + { + m_iStep = TRACE; + m_iTimeOut = 30000; + m_bMeleeing = false; + m_bFinish = false; + m_bLastMeleeStopped = true; + } + + public override bool CanBreak() + { + return m_iStep == TRACE && !host.GetHostPlayer().IsPlayerMoving(); + } + + public override bool Tick(uint dwDeltaTime) + { + if (!m_bMeleeing) + { + m_iTimeOut -= (int)dwDeltaTime; + if (m_iTimeOut <= 0) + return true; + + return m_bFinish; + } + + return false; + } + + public override void OnEvent(int iEvent, int iParam) + { + if (iEvent == AP.AP_EVENT_TRACEOK) + { + if (m_iStep == TRACE) + { + m_iStep = MELEE; + m_iTimeOut = 2000; + } + } + else if (iEvent == AP.AP_EVENT_MOVEFINISHED) + { + if (m_iStep == TRACE) + m_bFinish = true; + } + else if (iEvent == AP.AP_EVENT_STARTMELEE) + { + if (m_iStep == MELEE) + { + m_bMeleeing = true; + m_iTimeOut = 10000; + host.ResetAttackError(); + } + } + else if (iEvent == AP.AP_EVENT_STOPMELEE) + { + if (!m_bLastMeleeStopped) + { + m_bMeleeing = false; + m_bLastMeleeStopped = true; + return; + } + + if (m_iStep == MELEE && m_bMeleeing) + { + m_bMeleeing = false; + m_bFinish = true; + host.ResetAttackError(); + } + } + else if (iEvent == AP.AP_EVENT_MELEEOUTOFRANGE) + { + if (!m_bLastMeleeStopped) + { + m_bLastMeleeStopped = true; + return; + } + + if (m_iStep == MELEE) + { + m_iStep = TRACE; + m_iTimeOut = 30000; + m_bLastMeleeStopped = (iParam == 1); + } + } + } + } + + private sealed class ComboSkillAction : Action + { + private const int TRACE = 0; + private const int SPELL = 1; + private const int MELEE = 2; + + private int m_iState; + private int m_iTimeOut; + private bool m_bFinish; + private bool m_bMeleeing; + private bool m_bCasting; + private bool m_bDelayContinue; + private bool m_bSelfSkillFlag; + private bool m_bSending; + private bool m_bLastMeleeStopped; + + public ComboSkillAction(CECPlayerWrapper pPlayer) + : base(pPlayer, ACTION_COMBOSKILL) + { + m_iState = TRACE; + m_iTimeOut = 30000; + m_bMeleeing = false; + m_bDelayContinue = false; + m_bCasting = false; + m_bSelfSkillFlag = false; + m_bSending = false; + m_bFinish = false; + m_bLastMeleeStopped = true; + } + + public override bool CanBreak() + { + return !m_bSending && !m_bCasting && !m_bMeleeing && !host.GetHostPlayer().IsPlayerMoving(); + } + + public override bool Tick(uint dwDeltaTime) + { + var pCombo = host.GetHostPlayer().GetComboSkill(); + if (pCombo == null && !m_bMeleeing) + return true; + + if (pCombo != null && !pCombo.IsIgnoreAtkLoop() && + pCombo.GetTarget() != host.GetSelectedTarget() && + !m_bCasting && !m_bMeleeing) + return true; + + if (!m_bMeleeing) + { + m_iTimeOut -= (int)dwDeltaTime; + if (m_iTimeOut <= 0) + return true; + + return m_bFinish; + } + + return false; + } + + public override void OnEvent(int iEvent, int iParam) + { + if (iEvent == AP.AP_EVENT_COMBOCONTINUE) + { + if (m_iState == MELEE) + { + m_bDelayContinue = true; + m_bSelfSkillFlag = (iParam == 1); + } + else + { + if (iParam == 1) + { + m_iState = SPELL; + m_iTimeOut = 2000; + m_bSending = true; + } + else + { + m_iState = TRACE; + m_iTimeOut = 30000; + } + } + } + else if (iEvent == AP.AP_EVENT_TRACEOK) + { + if (m_iState == TRACE) + { + m_iState = (iParam == 0) ? MELEE : SPELL; + m_iTimeOut = 2000; + m_bSending = true; + } + } + else if (iEvent == AP.AP_EVENT_MOVEFINISHED) + { + if (m_iState == TRACE) + m_bFinish = true; + } + else if (iEvent == AP.AP_EVENT_STARTMELEE) + { + if (m_iState == MELEE) + { + m_iTimeOut = 10000; + m_bMeleeing = true; + m_bSending = false; + host.ResetAttackError(); + } + } + else if (iEvent == AP.AP_EVENT_STOPMELEE) + { + if (!m_bLastMeleeStopped) + { + m_bMeleeing = false; + m_bLastMeleeStopped = true; + return; + } + + if (m_iState == MELEE && m_bMeleeing) + { + m_bMeleeing = false; + host.ResetAttackError(); + + var pCombo = host.GetHostPlayer().GetComboSkill(); + if (pCombo != null && pCombo.IsStop()) + { + m_bFinish = true; + } + else + { + m_iTimeOut = 10000; + + if (m_bDelayContinue) + { + m_bDelayContinue = false; + + if (m_bSelfSkillFlag) + { + m_iState = SPELL; + m_iTimeOut = 2000; + m_bSending = true; + } + else + { + m_iState = TRACE; + m_iTimeOut = 30000; + } + } + } + } + } + else if (iEvent == AP.AP_EVENT_MELEEOUTOFRANGE) + { + if (!m_bLastMeleeStopped) + { + m_bLastMeleeStopped = true; + return; + } + + if (m_iState == MELEE) + { + m_iState = TRACE; + m_iTimeOut = 30000; + m_bLastMeleeStopped = (iParam == 1); + } + } + else if (iEvent == AP.AP_EVENT_STARTSKILL) + { + if (m_iState == SPELL) + { + m_iTimeOut = iParam * 2; + m_bCasting = true; + m_bSending = false; + host.ResetAttackError(); + } + } + else if (iEvent == AP.AP_EVENT_STOPSKILL) + { + if (m_iState == SPELL && m_bCasting) + { + m_bCasting = false; + host.ResetAttackError(); + + var pCombo = host.GetHostPlayer().GetComboSkill(); + if (pCombo != null && pCombo.IsStop()) + m_bFinish = true; + else + m_iTimeOut = 10000; + } + } + else if (iEvent == AP.AP_EVENT_COMBOFINISH) + { + m_bFinish = true; + } + } + } + public enum AP_EVENT + { + AP_EVENT_CANNOTMOVE, // 虏禄脛脺脪脝露炉 + AP_EVENT_MOVEFINISHED, // 脪脝露炉陆谩脢酶 + AP_EVENT_TRACEOK, // 脳路脳脵鲁脡鹿娄 + AP_EVENT_STARTSKILL, // 录录脛脺驴陋脢录 + AP_EVENT_STOPSKILL, // 录录脛脺脥拢脰鹿 + AP_EVENT_STARTUSEITEM, // 脢鹿脫脙脦茂脝路驴陋脢录 + AP_EVENT_STOPUSEITEM, // 脢鹿脫脙脦茂脝路陆谩脢酶 + AP_EVENT_PICKUPOK, // 鲁脡鹿娄录帽脠隆脦茂脝路 + AP_EVENT_CANNOTPICKUP, // 脣没脠脣脦茂脝路拢卢虏禄脛脺录帽脠隆 + AP_EVENT_STARTMELEE, // 驴陋脢录脝脮鹿楼 + AP_EVENT_STOPMELEE, // 陆谩脢酶脝脮鹿楼 + AP_EVENT_COMBOCONTINUE, // 脳茅潞脧录录脥脝陆酶 + AP_EVENT_COMBOFINISH, // 脳茅潞脧录录脰脮脰鹿拢卢脫娄露脭脳卯潞贸脪禄赂枚录录脛脺脙禄脫脨路脜鲁枚碌脛脟茅驴枚 + AP_EVENT_MELEEOUTOFRANGE, // 脝脮鹿楼鲁卢鲁枚戮脿脌毛 + }; +} diff --git a/Assets/PerfectWorld/Scripts/Skills/CECComboSkill.cs b/Assets/PerfectWorld/Scripts/Skills/CECComboSkill.cs index 6deb9bc47d..8a09f7e71e 100644 --- a/Assets/PerfectWorld/Scripts/Skills/CECComboSkill.cs +++ b/Assets/PerfectWorld/Scripts/Skills/CECComboSkill.cs @@ -12,8 +12,12 @@ * Copyright (c) 2005 Archosaur Studio, All Rights Reserved. */ +using BrewMonster.Assets.PerfectWorld.Scripts.Players; +using BrewMonster.Network; using BrewMonster.Scripts.Skills; +using CSNetwork; using UnityEngine; +using static CECPlayerWrapper; namespace BrewMonster { @@ -79,12 +83,9 @@ namespace BrewMonster m_bIgnoreAtkLoop = bIgnoreAtkLoop; // TODO: Get combo skill configuration from CECConfigs - // CECConfigs pCfg = g_pGame.GetConfigs(); - // m_cs = pCfg.GetVideoSettings().comboSkill[iGroup]; - // For now, we'll just initialize with empty data - m_cs = new EC_COMBOSKILL(true); + CECConfigs pCfg = EC_Game.GetConfigs(); + m_cs = pCfg.GetVideoSettings().comboSkill[iGroup]; - // Find the last loop start flag - 鏌ユ壘鏈鍚庝竴涓惊鐜紑濮嬫爣璁 / Find the last loop start flag m_iLoopStart = -1; for (int i = 0; i < EC_ConfigConstants.EC_COMBOSKILL_LEN; i++) { @@ -130,7 +131,7 @@ namespace BrewMonster return false; // TODO: Get PlayerWrapper from CECAutoPolicy - // CECPlayerWrapper pWrapper = CECAutoPolicy.GetInstance().GetPlayerWrapper(); + CECPlayerWrapper pWrapper = CECAutoPolicy.GetInstance().GetPlayerWrapper(); int idSkill = GetNextSkill(); if (idSkill > 0) @@ -143,27 +144,27 @@ namespace BrewMonster if (!IsStop()) { // TODO: Post message to continue combo skill - // g_pGame.GetGameRun().PostMessage(MSG_HST_CONTINUECOMBOSKILL, MAN_PLAYER, 0, bMeleeing ? 1 : 0, m_iGroup); + EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_CONTINUECOMBOSKILL, MANAGER_INDEX.MAN_PLAYER, 0, bMeleeing ? 1 : 0, m_iGroup); } else { // 杩炲嚮鎶鑳藉仠姝 / Combo skill finish - // TODO: AP_ActionEvent(AP_EVENT_COMBOFINISH); + AP_ActionEvent((int)AP_EVENT. AP_EVENT_COMBOFINISH); } return false; } else { // TODO: Handle auto policy events - // if (CECAutoPolicy.GetInstance().IsAutoPolicyEnabled()) - // pWrapper.AddAttackError(); + if (CECAutoPolicy.GetInstance().IsAutoPolicyEnabled()) + pWrapper.AddAttackError(); // 妫娴嬭嚜宸辨柦鏀炬槸鍚﹁拷鍔 / Check if self-cast should be tracked int iSelfCureFlag = 0; if (m_pHost.GetPrepSkill() != null) iSelfCureFlag = 1; - // TODO: AP_ActionEvent(AP_EVENT_COMBOCONTINUE, iSelfCureFlag); + AP_ActionEvent((int)AP_EVENT.AP_EVENT_COMBOCONTINUE, iSelfCureFlag); } } else if (idSkill == (short)SpecialSkillID.SID_ATTACK) @@ -175,10 +176,10 @@ namespace BrewMonster if (bRet) { // TODO: Handle auto policy events - // if (CECAutoPolicy.GetInstance().IsAutoPolicyEnabled()) - // pWrapper.AddAttackError(); + if (CECAutoPolicy.GetInstance().IsAutoPolicyEnabled()) + pWrapper.AddAttackError(); - // TODO: AP_ActionEvent(AP_EVENT_COMBOCONTINUE); + AP_ActionEvent((int)AP_EVENT.AP_EVENT_COMBOCONTINUE); } else { @@ -186,12 +187,12 @@ namespace BrewMonster if (!IsStop()) { // TODO: Post message to continue combo skill - // g_pGame.GetGameRun().PostMessage(MSG_HST_CONTINUECOMBOSKILL, MAN_PLAYER, 0, bMeleeing ? 1 : 0, m_iGroup); + EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_CONTINUECOMBOSKILL, MANAGER_INDEX.MAN_PLAYER, 0, bMeleeing ? 1 : 0, m_iGroup); } else { // 杩炲嚮鎶鑳藉仠姝 / Combo skill finish - // TODO: AP_ActionEvent(AP_EVENT_COMBOFINISH); + AP_ActionEvent((int)AP_EVENT.AP_EVENT_COMBOFINISH); } return false; } @@ -203,12 +204,12 @@ namespace BrewMonster if (!IsStop()) { // TODO: Post message to continue combo skill - // g_pGame.GetGameRun().PostMessage(MSG_HST_CONTINUECOMBOSKILL, MAN_PLAYER, 0, bMeleeing ? 1 : 0, m_iGroup); + EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_CONTINUECOMBOSKILL, MANAGER_INDEX.MAN_PLAYER, 0, bMeleeing ? 1 : 0, m_iGroup); } else { // 杩炲嚮鎶鑳藉仠姝 / Combo skill finish - // TODO: AP_ActionEvent(AP_EVENT_COMBOFINISH); + AP_ActionEvent((int)AP_EVENT.AP_EVENT_COMBOFINISH); } return false; } @@ -326,6 +327,16 @@ namespace BrewMonster { return m_iGroup; } + public void AP_ActionEvent(int iEvent, int iParam = 0) + { + if (!CECAutoPolicy.GetInstance().IsAutoPolicyEnabled()) + return; + + CECPlayerWrapper pWrapper = CECAutoPolicy.GetInstance().GetPlayerWrapper(); + if (pWrapper != null) pWrapper.OnActionEvent(iEvent, iParam); + + } + } } diff --git a/Assets/PerfectWorld/Scripts/Skills/FLOW_COMBO_SKILL_CLICK.md b/Assets/PerfectWorld/Scripts/Skills/FLOW_COMBO_SKILL_CLICK.md index 74a32e2df7..125820523d 100644 --- a/Assets/PerfectWorld/Scripts/Skills/FLOW_COMBO_SKILL_CLICK.md +++ b/Assets/PerfectWorld/Scripts/Skills/FLOW_COMBO_SKILL_CLICK.md @@ -1,631 +1,260 @@ -# Flow: Player Clicks Shortcut to Use Combo Skill +# Comparison: OnMsgPlayerCastSkill - C++ vs C# Conversion -## Overview +## Summary +The conversion from C++ to C# is **mostly complete** but has some **missing elements** and **commented-out code** that should be reviewed. -This document describes the complete flow from when a player clicks on a combo skill shortcut in the UI until the combo skill sequence is executed. +## All Switch Cases Present 鉁 +All 9 switch cases are present in both versions: +1. 鉁 `OBJECT_CAST_SKILL` +2. 鉁 `SKILL_PERFORM` +3. 鉁 `HOST_STOP_SKILL` +4. 鉁 `SELF_SKILL_INTERRUPTED` +5. 鉁 `OBJECT_CAST_INSTANT_SKILL` +6. 鉁 `OBJECT_CAST_POS_SKILL` +7. 鉁 `PLAYER_CAST_RUNE_SKILL` +8. 鉁 `PLAYER_CAST_RUNE_INSTANT_SKILL` +9. 鉁 `ERROR_MESSAGE` +10. 鉁 `default` case ---- - -## Complete Flow Diagram - -``` -鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 -鈹 1. PLAYER CLICKS COMBO SKILL SHORTCUT 鈹 -鈹 (Mouse click on shortcut bar OR keyboard hotkey) 鈹 -鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 - 鈫 -鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 -鈹 2. UI EVENT HANDLER 鈹 -鈹 File: EC_GameUIEvent.cpp (line 173) 鈹 -鈹 OR EC_GameUIMan.cpp (line 1320, 1344) 鈹 -鈹 鈹 -鈹 CECShortcut* pSC = GetShortcutFromUI(); 鈹 -鈹 pSC->Execute(); // 鈫 Calls Execute() on shortcut 鈹 -鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 - 鈫 -鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 -鈹 3. CECSCSkillGrp::Execute() 鈹 -鈹 File: EC_Shortcut.cpp (line 712-716) 鈹 -鈹 鈹 -鈹 bool CECSCSkillGrp::Execute() 鈹 -鈹 { 鈹 -鈹 CECHostPlayer* pHost = GetHostPlayer(); 鈹 -鈹 pHost->ApplyComboSkill(m_iGroupIdx); // 鈫 Group ID 鈹 -鈹 return true; 鈹 -鈹 } 鈹 -鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 - 鈫 -鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 -鈹 4. CECHostPlayer::ApplyComboSkill() 鈹 -鈹 File: EC_HostPlayer.cpp (line 7696-7721) 鈹 -鈹 鈹 -鈹 bool ApplyComboSkill(int iGroup, ...) 鈹 -鈹 { 鈹 -鈹 ClearComboSkill(); // Clear any existing combo 鈹 -鈹 鈹 -鈹 m_pComboSkill = new CECComboSkill; 鈹 -鈹 鈹 -鈹 // Initialize combo skill with group index 鈹 -鈹 m_pComboSkill->Init(this, iGroup, 鈹 -鈹 m_idSelTarget, 鈹 -鈹 bForceAttack, 鈹 -鈹 bIgnoreAtkLoop); 鈹 -鈹 鈹 -鈹 // Start first skill in combo 鈹 -鈹 m_pComboSkill->Continue(m_bMelee); 鈹 -鈹 鈹 -鈹 return true; 鈹 -鈹 } 鈹 -鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 - 鈫 -鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 -鈹 5. CECComboSkill::Init() 鈹 -鈹 File: EC_ComboSkill.cpp (line 74-123) 鈹 -鈹 鈹 -鈹 bool Init(CECHostPlayer* pHost, int iGroup, ...) 鈹 -鈹 { 鈹 -鈹 // Load combo skill data from configs 鈹 -鈹 CECConfigs* pCfg = GetConfigs(); 鈹 -鈹 m_cs = pCfg->GetVideoSettings() 鈹 -鈹 .comboSkill[iGroup]; // 鈫 Load combo 鈹 -鈹 鈹 -鈹 // Find loop start flag (if any) 鈹 -鈹 // Move cursor to first valid skill 鈹 -鈹 StepCursor(true); 鈹 -鈹 鈹 -鈹 return true; 鈹 -鈹 } 鈹 -鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 - 鈫 -鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 -鈹 6. CECComboSkill::Continue() - FIRST SKILL 鈹 -鈹 File: EC_ComboSkill.cpp (line 128-217) 鈹 -鈹 鈹 -鈹 bool Continue(bool bMeleeing) 鈹 -鈹 { 鈹 -鈹 int idSkill = GetNextSkill(); // Get skill ID 鈹 -鈹 鈹 -鈹 if (idSkill > 0) // Regular skill 鈹 -鈹 { 鈹 -鈹 // Execute skill 鈹 -鈹 bool bRet = m_pHost->ApplySkillShortcut( 鈹 -鈹 idSkill, true, m_idTarget, ...); 鈹 -鈹 鈹 -鈹 if (bRet) 鈹 -鈹 { 鈹 -鈹 StepCursor(false); // Move to next skill 鈹 -鈹 return true; // Continue combo 鈹 -鈹 } 鈹 -鈹 } 鈹 -鈹 else if (idSkill == SID_ATTACK) // Normal attack 鈹 -鈹 { 鈹 -鈹 m_pHost->CmdNormalAttack(...); 鈹 -鈹 StepCursor(false); 鈹 -鈹 return true; 鈹 -鈹 } 鈹 -鈹 鈹 -鈹 return false; // Combo stopped 鈹 -鈹 } 鈹 -鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 - 鈫 -鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 -鈹 7. SKILL EXECUTION 鈹 -鈹 File: EC_HostPlayer.cpp 鈹 -鈹 鈹 -鈹 ApplySkillShortcut() executes the skill: 鈹 -鈹 - Checks if skill is ready 鈹 -鈹 - Sends command to server 鈹 -鈹 - Starts skill animation 鈹 -鈹 - Updates cooldown timers 鈹 -鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 - 鈫 -鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 -鈹 8. CONTINUE COMBO (After Skill Finishes) 鈹 -鈹 File: EC_HostPlayer.cpp (line 4129-4135, 6244-6252) 鈹 -鈹 鈹 -鈹 When skill finishes or melee state changes: 鈹 -鈹 鈹 -鈹 if (m_pComboSkill && !m_pComboSkill->IsStop()) 鈹 -鈹 { 鈹 -鈹 // Post message to continue combo 鈹 -鈹 PostMessage(MSG_HST_CONTINUECOMBOSKILL, 鈹 -鈹 MAN_PLAYER, 0, 鈹 -鈹 bMeleeing ? 1 : 0, 鈹 -鈹 m_pComboSkill->GetGroupIndex()); 鈹 -鈹 } 鈹 -鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 - 鈫 -鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 -鈹 9. OnMsgContinueComboSkill() 鈹 -鈹 File: EC_HostPlayer.cpp (line 6261-6268) 鈹 -鈹 鈹 -鈹 void OnMsgContinueComboSkill(const ECMSG &Msg) 鈹 -鈹 { 鈹 -鈹 bool bMeleeing = (Msg.dwParam1 == 1); 鈹 -鈹 int iGroupID = (int)Msg.dwParam2; 鈹 -鈹 鈹 -鈹 if (m_pComboSkill && 鈹 -鈹 m_pComboSkill->GetGroupIndex() == iGroupID && 鈹 -鈹 !m_pComboSkill->IsStop()) 鈹 -鈹 { 鈹 -鈹 m_pComboSkill->Continue(bMeleeing); // 鈫 Loop 鈹 -鈹 } 鈹 -鈹 } 鈹 -鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 - 鈫 -鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 -鈹 10. REPEAT STEPS 6-9 鈹 -鈹 Until combo skill sequence completes or stops 鈹 -鈹 鈹 -鈹 - Continue() executes next skill in sequence 鈹 -鈹 - StepCursor() moves to next position 鈹 -鈹 - If loop flag found, cursor jumps back 鈹 -鈹 - If end reached, combo stops 鈹 -鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 -``` - ---- - -## Detailed Step-by-Step Flow - -### **STEP 1: Player Clicks Shortcut** -**Trigger**: -- Mouse click on shortcut bar UI element -- OR Keyboard hotkey (1-9, Q, E, R, etc.) - -**UI Elements**: -- `DlgQuickBar` - Main shortcut bar dialog -- `Item_01`, `Item_02`, ... - Shortcut slot UI controls - ---- - -### **STEP 2: UI Event Handler** -**File**: `EC_GameUIEvent.cpp` (line 163-174) +## Missing/Incomplete Elements +### 1. Missing Assertion Check in OBJECT_CAST_SKILL 鉂 +**C++ (line 5876):** ```cpp -// Mouse click handler -if (abs(x - m_ptLButtonDown.x) < 3 && abs(y - m_ptLButtonDown.y) < 3) +ASSERT(pCmd->caster == m_PlayerInfo.cid); +``` + +**C# (line 916):** +```csharp +// MISSING: No assertion check for pCmd.caster == m_PlayerInfo.cid +``` + +**Impact:** Medium - This is a safety check that validates the caster ID matches the player's ID. + +### 2. Commented Out AP_ActionEvent in HOST_STOP_SKILL 鈿狅笍 +**C++ (line 5958):** +```cpp +AP_ActionEvent(AP_EVENT_STOPSKILL); +``` + +**C# (line 1025):** +```csharp +//AP_ActionEvent(AP_EVENT_STOPSKILL); +``` + +**Impact:** Medium - Action event notification is disabled. May affect auto-policy or other systems that listen to this event. + +### 3. Commented Out AP_ActionEvent in SELF_SKILL_INTERRUPTED 鈿狅笍 +**C++ (line 6005):** +```cpp +AP_ActionEvent(AP_EVENT_STOPSKILL); +``` + +**C# (line 1084):** +```csharp +//AP_ActionEvent(AP_EVENT_STOPSKILL); +``` + +**Impact:** Medium - Same as above. + +### 4. Missing Fixed Message in SELF_SKILL_INTERRUPTED 鈿狅笍 +**C++ (line 6003):** +```cpp +g_pGame->GetGameRun()->AddFixedMessage(FIXMSG_SKILLINTERRUPT); +``` + +**C# (line 1081):** +```csharp +// g_pGame.GetGameRun().AddFixedMessage(FIXMSG_SKILLINTERRUPT); +Debug.Log("Skill interrupted!"); +``` + +**Impact:** Low - Replaced with Debug.Log, but the fixed message system might be needed for UI notifications. + +### 5. Missing Auto-Policy Event in SELF_SKILL_INTERRUPTED 鈿狅笍 +**C++ (line 6008):** +```cpp +CECAutoPolicy::GetInstance().SendEvent_SkillInterrupt(skill_id); +``` + +**C# (line 1087):** +```csharp +// CECAutoPolicy::GetInstance().SendEvent_SkillInterrupt(skill_id); +``` + +**Impact:** Medium - Auto-policy system won't be notified of skill interruptions, which may affect automated gameplay features. + +### 6. Commented Out Camera Update in OBJECT_CAST_POS_SKILL 鈿狅笍 +**C++ (line 6080):** +```cpp +UpdateFollowCamera(false, 10); +``` + +**C# (line 1165):** +```csharp +//UpdateFollowCamera(false, 10); +``` + +**Impact:** Low - Camera update is disabled. May affect camera behavior for certain skills. + +## Differences That Are Acceptable + +### 1. Logging System Differences 鉁 +**C++:** +```cpp +g_pGame->RuntimeDebugInfo(0xffffffff, _AL("Cast skill(%d): %s"), ...); +``` + +**C#:** +```csharp +Debug.Log($"Cast skill({m_pCurSkill.GetSkillID()})"); +``` + +**Status:** Acceptable - Different logging systems, functionality preserved. + +### 2. Additional Logging in C# 鉁 +C# has extra logging for return-to-town skill (ID 167): +```csharp +if (m_pCurSkill.GetSkillID() == ID_RETURNTOWN_SKILL) { - if (strstr(pDlgSrc->GetName(), "Win_Quickbar") || - 0 == stricmp(pDlgSrc->GetName(), "Win_Action")) - { - CECShortcut* pSC = (CECShortcut*)pDlg->GetDataPtr(); - if (pSC) - pSC->Execute(); // 鈫 Execute shortcut - } + Debug.Log($"Return-to-town skill (167) cast - State2 should trigger SetReturntown(1) on server"); } ``` -**OR Keyboard Handler**: -**File**: `EC_GameUIMan.cpp` (line 1316-1321) +**Status:** Acceptable - Additional debugging/logging is fine. +### 3. Memory Management Differences 鉁 +**C++:** ```cpp -// Keyboard shortcut handler -int nCurPanel1 = CDlgQuickBar::GetCurPanel1(); -CECShortcutSet* pSCS = pHost->GetShortcutSet1(nCurPanel1 - 1); -CECShortcut* pSC = pSCS->GetShortcut(iUsage - LKEY_UI_QUICK9_SC1); -if (pSC) - pSC->Execute(); // 鈫 Execute shortcut -``` - ---- - -### **STEP 3: CECSCSkillGrp::Execute()** -**File**: `EC_Shortcut.cpp` (line 712-716) - -```cpp -bool CECSCSkillGrp::Execute() +if(m_pTargetItemSkill) { - CECHostPlayer* pHost = g_pGame->GetGameRun()->GetHostPlayer(); - pHost->ApplyComboSkill(m_iGroupIdx); // 鈫 Group index (0-EC_COMBOSKILL_NUM-1) - return true; + delete m_pTargetItemSkill; + m_pTargetItemSkill = NULL; } ``` -**Key Points**: -- `m_iGroupIdx` is the combo skill group index (0, 1, 2, ...) -- This was set when the shortcut was created from config data - ---- - -### **STEP 4: CECHostPlayer::ApplyComboSkill()** -**File**: `EC_HostPlayer.cpp` (line 7696-7721) - -```cpp -bool CECHostPlayer::ApplyComboSkill(int iGroup, bool bIgnoreAtkLoop, int iForceAtk) +**C#:** +```csharp +if (m_pTargetItemSkill != null) { - // Clear any existing combo skill - ClearComboSkill(); - - // Create new combo skill object - if (!(m_pComboSkill = new CECComboSkill)) - return false; - - // Determine force attack flag - bool bForceAttack; - if (iForceAtk < 0) - bForceAttack = glb_GetForceAttackFlag(NULL); - else - bForceAttack = iForceAtk > 0 ? true : false; - - // Initialize combo skill - if (!(m_pComboSkill->Init(this, iGroup, m_idSelTarget, bForceAttack, bIgnoreAtkLoop))) - { - delete m_pComboSkill; - m_pComboSkill = NULL; - return false; - } - - // Start the combo skill sequence - m_pComboSkill->Continue(m_bMelee); - - return true; + m_pTargetItemSkill = null; // GC will handle cleanup } ``` -**Key Points**: -- Clears any existing combo skill first -- Creates new `CECComboSkill` object -- Initializes with group index, target, force attack flag -- Immediately calls `Continue()` to start first skill - ---- - -### **STEP 5: CECComboSkill::Init()** -**File**: `EC_ComboSkill.cpp` (line 74-123) +**Status:** Acceptable - C# uses garbage collection, no explicit delete needed. +### 4. Type Casting Differences 鉁 +**C++:** ```cpp -bool CECComboSkill::Init(CECHostPlayer* pHost, int iGroup, int idTarget, - bool bForceAttack, bool bIgnoreAtkLoop) -{ - if (iGroup < 0 || iGroup >= EC_COMBOSKILL_NUM) - return false; - - m_pHost = pHost; - m_iGroup = iGroup; - m_iCursor = 0; - m_bStop = false; - m_idTarget = idTarget; - m_bForceAtk = bForceAttack; - m_bIgnoreAtkLoop = bIgnoreAtkLoop; - - // 鈽 KEY: Load combo skill data from configs - CECConfigs* pCfg = g_pGame->GetConfigs(); - m_cs = pCfg->GetVideoSettings().comboSkill[iGroup]; - // m_cs contains: - // - m_cs.nIcon: Icon index - // - m_cs.idSkill[]: Array of skill IDs in sequence - - // Find the last loop start flag (SID_LOOPSTART = -2) - m_iLoopStart = -1; - for (int i = 0; i < EC_COMBOSKILL_LEN; i++) - { - if (m_cs.idSkill[i] == SID_LOOPSTART) - m_iLoopStart = i; - } - - // Validate loop start flag - if (m_iLoopStart >= 0) - { - // Check if there's a valid skill after loop start - // ... validation code ... - } - - // Move cursor to first valid skill position - StepCursor(true); - - return true; -} +cmd_object_cast_skill* pCmd = (cmd_object_cast_skill*)Msg.dwParam1; ``` -**Key Points**: -- Loads combo skill data from `EC_Configs::m_vs.comboSkill[iGroup]` -- Finds loop start flag if present -- Moves cursor to first valid skill - ---- - -### **STEP 6: CECComboSkill::Continue() - Execute Skills** -**File**: `EC_ComboSkill.cpp` (line 128-217) - -```cpp -bool CECComboSkill::Continue(bool bMeleeing) -{ - // Check if combo should stop - if (m_bStop || !m_cs.nIcon || !m_pHost || - m_iCursor < 0 || m_iCursor >= EC_COMBOSKILL_LEN || - (m_idTarget != m_pHost->GetSelectedTarget() && !m_bIgnoreAtkLoop)) - return false; - - int idSkill = GetNextSkill(); // Get skill ID at current cursor position - - if (idSkill > 0) // Regular skill - { - // Execute the skill - bool bRet = m_pHost->ApplySkillShortcut(idSkill, true, m_idTarget, - m_bForceAtk ? 1 : 0); - - if (!bRet) - { - // Skill failed, try next skill - StepCursor(false); - if (!IsStop()) - { - // Post message to continue combo - g_pGame->GetGameRun()->PostMessage(MSG_HST_CONTINUECOMBOSKILL, - MAN_PLAYER, 0, - bMeleeing ? 1 : 0, - m_iGroup); - } - else - { - // Combo finished - AP_ActionEvent(AP_EVENT_COMBOFINISH); - } - return false; - } - else - { - // Skill executed successfully - AP_ActionEvent(AP_EVENT_COMBOCONTINUE); - } - } - else if (idSkill == SID_ATTACK) // Normal attack (-1) - { - if (!bMeleeing && !m_bIgnoreAtkLoop) - { - bool bRet = m_pHost->CmdNormalAttack(false, true, m_idTarget, - m_bForceAtk ? 1 : 0); - if (!bRet) - { - StepCursor(false); - if (!IsStop()) - { - g_pGame->GetGameRun()->PostMessage(MSG_HST_CONTINUECOMBOSKILL, - MAN_PLAYER, 0, - bMeleeing ? 1 : 0, - m_iGroup); - } - return false; - } - } - } - - // Move cursor to next skill - StepCursor(false); - - return true; -} +**C#:** +```csharp +cmd_object_cast_skill pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); ``` -**Key Points**: -- Gets next skill ID from `m_cs.idSkill[m_iCursor]` -- Executes skill via `ApplySkillShortcut()` -- Moves cursor forward with `StepCursor(false)` -- If skill fails, posts message to try next skill - ---- - -### **STEP 7: StepCursor() - Move Through Sequence** -**File**: `EC_ComboSkill.cpp` (line 220-247) +**Status:** Acceptable - Different serialization approach, functionality preserved. +### 5. Switch Statement Syntax 鉁 +**C++:** ```cpp -void CECComboSkill::StepCursor(bool bFirst) +switch (Msg.dwParam2) { - if (bFirst) - m_iCursor = -1; // Start before first position - - while (1) - { - m_iCursor++; - - if (m_iCursor >= EC_COMBOSKILL_LEN) // Reached end - { - // If loop flag exists, jump back to loop start - if (m_iLoopStart >= 0 && !m_bIgnoreAtkLoop) - m_iCursor = m_iLoopStart; - else - { - m_bStop = true; // Combo finished - return; - } - } - else - { - int id = m_cs.idSkill[m_iCursor]; - // Find next valid skill (id > 0) or attack (id == SID_ATTACK) - if (id > 0 || (id == SID_ATTACK && !m_bIgnoreAtkLoop)) - break; // Found valid skill - } - } -} +case OBJECT_CAST_SKILL: ``` -**Key Points**: -- Moves cursor forward through skill array -- Skips empty slots (id == 0) -- If loop flag exists, jumps back to loop start -- Sets `m_bStop = true` when combo ends - ---- - -### **STEP 8: Continue Combo After Skill Finishes** -**File**: `EC_HostPlayer.cpp` (line 4129-4135, 6244-6252) - -When a skill finishes or melee state changes: - -```cpp -// After melee attack finishes -if (m_bMelee && m_pComboSkill && !m_pComboSkill->IsStop()) +**C#:** +```csharp +switch (Convert.ToInt32(Msg.dwParam2)) { - if (CECAutoPolicy::GetInstance().IsAutoPolicyEnabled()) - g_pGame->GetGameRun()->PostMessage(MSG_HST_CONTINUECOMBOSKILL, - MAN_PLAYER, 0, 1, - m_pComboSkill->GetGroupIndex()); - else - m_pComboSkill->Continue(true); -} +case int value2 when value2 == CommandID.OBJECT_CAST_SKILL: +``` -// After other actions finish +**Status:** Acceptable - C# pattern matching syntax, functionality preserved. + +## Post-Switch Code Comparison + +### Action Start Event 鉁 +**C++ (line 6241-6242):** +```cpp +if( bActionStartSkill ) + AP_ActionEvent(AP_EVENT_STARTSKILL, iActionTime); +``` + +**C# (line 1338-1339):** +```csharp +if (bActionStartSkill) + AP.AP_ActionEvent((int)AP_EVENT.AP_EVENT_STARTSKILL, iActionTime); +``` + +**Status:** 鉁 Complete - Properly converted and active. + +### Do Other Thing Logic 鉁 +**C++ (line 6244-6258):** +```cpp if (bDoOtherThing) { if (m_pComboSkill && !m_pComboSkill->IsStop()) { - if (CECAutoPolicy::GetInstance().IsAutoPolicyEnabled()) - g_pGame->GetGameRun()->PostMessage(MSG_HST_CONTINUECOMBOSKILL, - MAN_PLAYER, 0, 0, - m_pComboSkill->GetGroupIndex()); + if( CECAutoPolicy::GetInstance().IsAutoPolicyEnabled() ) + g_pGame->GetGameRun()->PostMessage(MSG_HST_CONTINUECOMBOSKILL, MAN_PLAYER, 0, 0, m_pComboSkill->GetGroupIndex()); else m_pComboSkill->Continue(false); } -} -``` - -**Key Points**: -- Posts `MSG_HST_CONTINUECOMBOSKILL` message to continue combo -- Message includes melee state and group index -- Allows combo to continue asynchronously - ---- - -### **STEP 9: OnMsgContinueComboSkill()** -**File**: `EC_HostPlayer.cpp` (line 6261-6268) - -```cpp -void CECHostPlayer::OnMsgContinueComboSkill(const ECMSG &Msg) -{ - bool bMeleeing = (Msg.dwParam1 == 1); - if (bMeleeing != m_bMelee) - bMeleeing = m_bMelee; // Use current melee state - - int iGroupID = (int)Msg.dwParam2; - - // Verify combo is still active and matches group - if (m_pComboSkill && - m_pComboSkill->GetGroupIndex() == iGroupID && - !m_pComboSkill->IsStop()) + else { - m_pComboSkill->Continue(bMeleeing); // Continue to next skill + if( idTarget && idTarget != m_PlayerInfo.cid ) + NormalAttackObject(idTarget, true); } } ``` -**Key Points**: -- Handles message to continue combo -- Verifies combo is still active -- Calls `Continue()` again to execute next skill - ---- - -### **STEP 10: Loop Until Complete** - -Steps 6-9 repeat until: -- All skills in sequence are executed -- Combo reaches end (no loop flag) -- Combo is stopped (`m_bStop = true`) -- Target changes (unless `bIgnoreAtkLoop` is true) - ---- - -## Key Data Structures - -### **EC_COMBOSKILL** -```cpp -struct EC_COMBOSKILL +**C# (line 1341-1357):** +```csharp +if (bDoOtherThing) { - BYTE nIcon; // Icon index (0-N) - short idSkill[EC_COMBOSKILL_LEN]; // Array of skill IDs -}; + if (m_pComboSkill != null && !m_pComboSkill.IsStop()) + { + if (CECAutoPolicy.GetInstance().IsAutoPolicyEnabled()) + EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_CONTINUECOMBOSKILL, MANAGER_INDEX.MAN_PLAYER, 0, 0, m_pComboSkill.GetGroupIndex()); + else + m_pComboSkill.Continue(false); + } + else + { + if (idTarget != 0 && idTarget != m_PlayerInfo.cid) + NormalAttackObject(idTarget, true); + } +} ``` -**Special Skill IDs**: -- `SID_ATTACK = -1`: Normal attack -- `SID_LOOPSTART = -2`: Loop start flag -- `0`: Empty slot (skipped) -- `> 0`: Regular skill ID +**Status:** 鉁 Complete - Properly converted with equivalent logic. -### **CECComboSkill Member Variables** -```cpp -CECHostPlayer* m_pHost; // Host player -EC_COMBOSKILL m_cs; // Combo skill data -int m_iGroup; // Group index (0-EC_COMBOSKILL_NUM-1) -int m_iCursor; // Current position in sequence -bool m_bStop; // Stop flag -int m_iLoopStart; // Loop start index (-1 if no loop) -int m_idTarget; // Attack target -bool m_bForceAtk; // Force attack flag -bool m_bIgnoreAtkLoop; // Ignore attack loop flag -``` +## Recommendations ---- - -## Important Files - -| File | Purpose | -|------|---------| -| `EC_GameUIEvent.cpp` | Handles mouse clicks on shortcuts | -| `EC_GameUIMan.cpp` | Handles keyboard shortcuts | -| `EC_Shortcut.cpp` | `CECSCSkillGrp::Execute()` - Entry point | -| `EC_HostPlayer.cpp` | `ApplyComboSkill()` - Creates and starts combo | -| `EC_ComboSkill.cpp` | `CECComboSkill` class - Manages combo sequence | -| `EC_Configs.cpp` | Stores combo skill data in `m_vs.comboSkill[]` | - ---- - -## For Unity Port - -To implement this in Unity: - -1. **Shortcut Click Handler**: +### High Priority +1. **Add missing assertion check** in `OBJECT_CAST_SKILL` case: ```csharp - public void OnShortcutClicked(int slotIndex) - { - CECShortcut shortcut = GetShortcut(slotIndex); - if (shortcut != null && shortcut.GetType() == SCT_SKILLGRP) - { - CECSCSkillGrp skillGrp = (CECSCSkillGrp)shortcut; - GetHostPlayer().ApplyComboSkill(skillGrp.GetGroupIndex()); - } - } + Debug.Assert(pCmd.caster == m_PlayerInfo.cid, "Caster ID mismatch"); ``` -2. **ApplyComboSkill**: - ```csharp - public bool ApplyComboSkill(int groupIndex) - { - ClearComboSkill(); - - m_comboSkill = new CECComboSkill(); - if (!m_comboSkill.Init(this, groupIndex, m_selectedTarget, - forceAttack, ignoreAtkLoop)) - return false; - - m_comboSkill.Continue(m_isMeleeing); - return true; - } - ``` +### Medium Priority +2. **Uncomment and verify** `AP_ActionEvent(AP_EVENT_STOPSKILL)` calls if the AP system is implemented in C#. +3. **Uncomment** `CECAutoPolicy::GetInstance().SendEvent_SkillInterrupt(skill_id)` if auto-policy is needed. -3. **Continue Combo**: - ```csharp - // After skill finishes - if (m_comboSkill != null && !m_comboSkill.IsStop()) - { - StartCoroutine(ContinueComboAfterDelay()); - } - ``` +### Low Priority +4. **Review** if `UpdateFollowCamera` is needed for `OBJECT_CAST_POS_SKILL` case. +5. **Consider** implementing `AddFixedMessage` system if UI notifications are needed for skill interruptions. ---- +## Conclusion -## Summary +**Conversion Completeness: ~90%** -**Complete Flow**: -1. Player clicks shortcut 鈫 `pSC->Execute()` -2. `CECSCSkillGrp::Execute()` 鈫 `ApplyComboSkill(groupIndex)` -3. `ApplyComboSkill()` 鈫 Creates `CECComboSkill` and calls `Init()` -4. `Init()` 鈫 Loads combo data from configs -5. `Continue()` 鈫 Executes first skill -6. After skill finishes 鈫 Posts `MSG_HST_CONTINUECOMBOSKILL` -7. `OnMsgContinueComboSkill()` 鈫 Calls `Continue()` again -8. Repeat until combo completes +The conversion is functionally complete with all major logic paths implemented. However, several safety checks and event notifications are commented out or missing, which may affect: +- Auto-policy system integration +- UI notifications for skill interruptions +- Camera behavior for position-based skills +- Safety validation (caster ID check) -**Key**: The combo skill data (`EC_COMBOSKILL`) is loaded from `EC_Configs::m_vs.comboSkill[groupIndex]`, which was loaded from server in `LoadUserConfigData()`. +These should be reviewed and either implemented or confirmed as intentionally disabled. diff --git a/Assets/PerfectWorld/Scripts/Skills/PlayerWrapper.cs b/Assets/PerfectWorld/Scripts/Skills/PlayerWrapper.cs index 42e4930baf..16bd63f5d6 100644 --- a/Assets/PerfectWorld/Scripts/Skills/PlayerWrapper.cs +++ b/Assets/PerfectWorld/Scripts/Skills/PlayerWrapper.cs @@ -3,7 +3,6 @@ using UnityEngine; namespace BrewMonster { - public class PlayerInfo { } public struct ComboArg diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs index d37631cb45..f0dc9954c4 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs @@ -403,17 +403,14 @@ namespace BrewMonster }*//**/ if (pSC != null) { - BMLogger.LogError("HoangDev: QuickBar Set Skil"); - - pCell.SetDataPtr(pSC, "ptr_CECShortcut"); if (pSC.GetType() == (int)CECShortcut.ShortcutType.SCT_SKILLGRP) { - BMLogger.LogError("HoangDev: QuickBar Set Skill Group Icon SCT_SKILLGRP"); EC_VIDEO_SETTING setting = EC_Game.GetConfigs().GetVideoSettings(); - /* pCell.SetCover(GetGameUIMan()->m_pA2DSpriteIcons[CECGameUIMan::ICONS_SKILLGRP], - setting.comboSkill[((CECSCSkillGrp)pSC).GetGroupIndex()].nIcon + 1); - setting.comboSkill[((CECSCSkillGrp)pSC).GetGroupIndex()].nIcon + 1;*/ - GetGameUIMan().SetCover(pCell, "unknown", EC_GAMEUI_ICONS.ICONS_SKILLGRP); + /* pCell.SetCover(GetGameUIMan()->m_pA2DSpriteIcons[CECGameUIMan::ICONS_SKILLGRP], + setting.comboSkill[((CECSCSkillGrp)pSC).GetGroupIndex()].nIcon + 1); + setting.comboSkill[((CECSCSkillGrp)pSC).GetGroupIndex()].nIcon + 1;*/ + // fix later now haven't skill group icon yet + GetGameUIMan().SetCover(pCell, "unknown", EC_GAMEUI_ICONS.ICONS_SKILL); } else { diff --git a/Assets/Scripts/CECGameRun.cs b/Assets/Scripts/CECGameRun.cs index 10f1a5d242..dd4c09a8e6 100644 --- a/Assets/Scripts/CECGameRun.cs +++ b/Assets/Scripts/CECGameRun.cs @@ -33,6 +33,8 @@ public partial class CECGameRun //[SerializeField] private Transform ground; CECHostPlayer hostPlayer; private CECWorld m_pWorld; + int m_iGameState; // Game state + protected CECUIManager m_pUIManager; // UI manager @@ -105,7 +107,7 @@ public partial class CECGameRun if (_npcServerPrefab == null) { BMLogger.LogError("CECGameRun::LoadPrefabs, Failed to load _npcServerPrefab prefab."); - } + } #endif } @@ -344,17 +346,17 @@ public partial class CECGameRun } } //TODO: flow in update fix later - /* Task.Run(() => - { - GameSession.Context.Post(_ => - { - if (m_pUIManager == null) - { - m_pUIManager = CECUIManager.Instance; - } - m_pUIManager.GetCDlgQuickBar().UpdateShortcuts(); - }, null); - });*/ + /* Task.Run(() => + { + GameSession.Context.Post(_ => + { + if (m_pUIManager == null) + { + m_pUIManager = CECUIManager.Instance; + } + m_pUIManager.GetCDlgQuickBar().UpdateShortcuts(); + }, null); + });*/ // TODO: Uncomment when UI manager is available // Load UI configs / 鍔犺浇UI閰嶇疆 @@ -525,4 +527,13 @@ public partial class CECGameRun } return szRet; } + public int GetGameState() { return m_iGameState; } + } +public enum GameState + +{ + GS_NONE = 0, // None + GS_LOGIN, // Login in state + GS_GAME, // In game +}; \ No newline at end of file diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index b5b371bbf8..a5ee906599 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -26,6 +26,7 @@ using Unity.VisualScripting; using UnityEngine; using UnityEngine.UI; using static BrewMonster.Scripts.Managers.EC_Inventory; +using static CECPlayerWrapper; using cmd_select_target = CSNetwork.GPDataType.cmd_select_target; using Host_work_ID = BrewMonster.Scripts.CECHPWork.Host_work_ID; using Trace_reason = BrewMonster.CECHPWorkTrace.Trace_reason; @@ -588,27 +589,36 @@ namespace BrewMonster case int value when value == EC_MsgDef.MSG_HST_COMBO_SKILL_PREPARE: OnMsgComboSkillPrepare(Msg); break; case int value when value == EC_MsgDef.MSG_PM_PLAYERFLY: OnMsgPlayerFly(Msg); break; case int value when value == EC_MsgDef.MSG_HST_EMBEDITEM: OnMsgHstEmbedItem(Msg); break; + case int value when value == EC_MsgDef.MSG_HST_CONTINUECOMBOSKILL: OnMsgContinueComboSkill(Msg); break; } + /*if (bActionStartSkill) + AP_ActionEvent(AP_EVENT_STARTSKILL, iActionTime); - /* if (bActionStartSkill) - AP_ActionEvent(AP_EVENT_STARTSKILL, iActionTime); + if (bDoOtherThing) + { + if (m_pComboSkill != null && !m_pComboSkill.IsStop()) + { + if (CECAutoPolicy.GetInstance().IsAutoPolicyEnabled()) + g_pGame.GetGameRun().PostMessage(MSG_HST_CONTINUECOMBOSKILL, MAN_PLAYER, 0, 0, m_pComboSkill.GetGroupIndex()); + else + m_pComboSkill.Continue(false); + } + else + { + if (idTarget != 0 && idTarget != m_PlayerInfo.cid) + NormalAttackObject(idTarget, true); + } + }*/ + } - if (bDoOtherThing) - { - if (m_pComboSkill != null && !m_pComboSkill.IsStop()) - { - if (CECAutoPolicy.GetInstance().IsAutoPolicyEnabled()) - g_pGame.GetGameRun().PostMessage(MSG_HST_CONTINUECOMBOSKILL, MAN_PLAYER, 0, 0, m_pComboSkill.GetGroupIndex()); - else - m_pComboSkill.Continue(false); - } - else - { - if (idTarget != 0 && idTarget != m_PlayerInfo.cid) - NormalAttackObject(idTarget, true); - } - }*/ + private void OnMsgContinueComboSkill(ECMSG Msg) + { + bool bMeleeing = ((int)Msg.dwParam1 == 1); + if (bMeleeing != m_bMelee) bMeleeing = m_bMelee; + int iGroupID = (int)Msg.dwParam2; + if (m_pComboSkill != null && m_pComboSkill.GetGroupIndex() == iGroupID && !m_pComboSkill.IsStop()) + m_pComboSkill.Continue(bMeleeing); } private void OnMsgComboSkillPrepare(ECMSG Msg) @@ -894,7 +904,7 @@ namespace BrewMonster bool bActionStartSkill = false; int iActionTime = 1000; - // CECPlayerWrapper* pWrapper = CECAutoPolicy::GetInstance().GetPlayerWrapper(); + CECPlayerWrapper pWrapper = CECAutoPolicy.GetInstance().GetPlayerWrapper(); switch (Convert.ToInt32(Msg.dwParam2)) { @@ -1012,7 +1022,7 @@ namespace BrewMonster Debug.Log("HOST_STOP_SKILL"); - //AP_ActionEvent(AP_EVENT_STOPSKILL); + AP.AP_ActionEvent((int)AP_EVENT.AP_EVENT_STOPSKILL); if (pSkillToMatch != null) { // m_pWorkMan涓殑褰撳墠浠讳綍Work涓烘渶楂樹紭鍏堢骇鎴栥佹垨 CECHPWorkSpell 澶勪簬鏈楂樹紭鍏堢骇涓旈槦鍒椾腑鏈塂elay鏃堕棿 @@ -1068,13 +1078,13 @@ namespace BrewMonster // Print a notify message // 鎵撳嵃鎻愮ず娑堟伅 - // g_pGame.GetGameRun().AddFixedMessage(FIXMSG_SKILLINTERRUPT); - Debug.Log("Skill interrupted!"); + //EC_Game.GetGameRun().AddFixedMessage(FIXMSG_SKILLINTERRUPT); + BMLogger.LogError("Skill interrupted!"); - //AP_ActionEvent(AP_EVENT_STOPSKILL); + AP.AP_ActionEvent((int)AP_EVENT. AP_EVENT_STOPSKILL); // 閫氱煡绛栫暐鎶鑳借鎵撴柇 | Notify policy that skill is interrupted - // CECAutoPolicy::GetInstance().SendEvent_SkillInterrupt(skill_id); + CECAutoPolicy.GetInstance().SendEvent_SkillInterrupt(skill_id); break; } case int value2 when value2 == CommandID.OBJECT_CAST_INSTANT_SKILL: @@ -1325,8 +1335,8 @@ namespace BrewMonster break; } - /* if (bActionStartSkill) - AP_ActionEvent(AP_EVENT_STARTSKILL, iActionTime);*/ + if (bActionStartSkill) + AP.AP_ActionEvent((int)AP_EVENT.AP_EVENT_STARTSKILL, iActionTime); if (bDoOtherThing) { @@ -1334,10 +1344,10 @@ namespace BrewMonster { // Continue combo skill // 缁х画杩炲嚮鎶鑳 - // if (CECAutoPolicy::GetInstance().IsAutoPolicyEnabled()) - // g_pGame.GetGameRun().PostMessage(MSG_HST_CONTINUECOMBOSKILL, MAN_PLAYER, 0, 0, m_pComboSkill.GetGroupIndex()); - // else - m_pComboSkill.Continue(false); + if (CECAutoPolicy.GetInstance().IsAutoPolicyEnabled()) + EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_CONTINUECOMBOSKILL, MANAGER_INDEX.MAN_PLAYER, 0, 0, m_pComboSkill.GetGroupIndex()); + else + m_pComboSkill.Continue(false); } else { @@ -6875,7 +6885,7 @@ namespace BrewMonster return true; } - void ClearComboSkill() + public void ClearComboSkill() { if (m_pComboSkill != null) { @@ -7266,6 +7276,13 @@ namespace BrewMonster { return m_pPetCorral; } + + public bool IsPlayerMoving() + { + return m_pWorkMan.IsMoving(); + } + public CECComboSkill GetComboSkill() { return m_pComboSkill; } + } public struct SkillShortCutConfig { diff --git a/Assets/Scripts/EC_Utility.cs b/Assets/Scripts/EC_Utility.cs index 91a2a40600..d04c53e898 100644 --- a/Assets/Scripts/EC_Utility.cs +++ b/Assets/Scripts/EC_Utility.cs @@ -69,6 +69,7 @@ public static class EC_Utility Marshal.FreeHGlobal(ptr); } } + public static A3DVECTOR3 glb_DecompressDirH(byte byDir) { const float fInter = 360.0f / 256.0f; diff --git a/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset b/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset index 0af81e6d95..4b25654fa2 100644 --- a/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset +++ b/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset @@ -215,8 +215,255 @@ MonoBehaviour: m_SourceFontFilePath: m_AtlasPopulationMode: 1 InternalDynamicOS: 0 - m_GlyphTable: [] - m_CharacterTable: [] + m_GlyphTable: + - m_Index: 370 + m_Metrics: + m_Width: 50 + m_Height: 46 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 45 + m_HorizontalAdvance: 58 + m_GlyphRect: + m_X: 10 + m_Y: 10 + m_Width: 50 + m_Height: 46 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 1735 + m_Metrics: + m_Width: 51 + m_Height: 64 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 63 + m_HorizontalAdvance: 56 + m_GlyphRect: + m_X: 10 + m_Y: 75 + m_Width: 51 + m_Height: 64 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 1677 + m_Metrics: + m_Width: 45 + m_Height: 66 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 65 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 10 + m_Y: 158 + m_Width: 45 + m_Height: 66 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 1731 + m_Metrics: + m_Width: 42 + m_Height: 75 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 10 + m_Y: 243 + m_Width: 42 + m_Height: 75 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 210 + m_Metrics: + m_Width: 58 + m_Height: 59 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 62 + m_GlyphRect: + m_X: 10 + m_Y: 337 + m_Width: 58 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 1675 + m_Metrics: + m_Width: 45 + m_Height: 59 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 46 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 71 + m_Y: 243 + m_Width: 45 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 1745 + m_Metrics: + m_Width: 38 + m_Height: 66 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 65 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 74 + m_Y: 158 + m_Width: 38 + m_Height: 66 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 1707 + m_Metrics: + m_Width: 43 + m_Height: 67 + m_HorizontalBearingX: 2 + m_HorizontalBearingY: 66 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 10 + m_Y: 415 + m_Width: 43 + m_Height: 67 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 299 + m_Metrics: + m_Width: 38 + m_Height: 62 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 61 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 72 + m_Y: 415 + m_Width: 38 + m_Height: 62 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 1763 + m_Metrics: + m_Width: 43 + m_Height: 79 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 61 + m_HorizontalAdvance: 43 + m_GlyphRect: + m_X: 80 + m_Y: 10 + m_Width: 43 + m_Height: 79 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 1679 + m_Metrics: + m_Width: 45 + m_Height: 67 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 66 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 87 + m_Y: 321 + m_Width: 45 + m_Height: 67 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 1741 + m_Metrics: + m_Width: 51 + m_Height: 59 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 46 + m_HorizontalAdvance: 56 + m_GlyphRect: + m_X: 129 + m_Y: 407 + m_Width: 51 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 355 + m_Metrics: + m_Width: 51 + m_Height: 47 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 46 + m_HorizontalAdvance: 56 + m_GlyphRect: + m_X: 131 + m_Y: 108 + m_Width: 51 + m_Height: 47 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + m_CharacterTable: + - m_ElementType: 1 + m_Unicode: 432 + m_GlyphIndex: 370 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 7901 + m_GlyphIndex: 1735 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 7843 + m_GlyphIndex: 1677 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 7897 + m_GlyphIndex: 1731 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 272 + m_GlyphIndex: 210 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 7841 + m_GlyphIndex: 1675 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 7911 + m_GlyphIndex: 1745 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 7873 + m_GlyphIndex: 1707 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 361 + m_GlyphIndex: 299 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 7929 + m_GlyphIndex: 1763 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 7845 + m_GlyphIndex: 1679 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 7907 + m_GlyphIndex: 1741 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 417 + m_GlyphIndex: 355 + m_Scale: 1 m_AtlasTextures: - {fileID: 28268798066460806} m_AtlasTextureIndex: 0 @@ -227,11 +474,111 @@ MonoBehaviour: m_AtlasHeight: 512 m_AtlasPadding: 9 m_AtlasRenderMode: 4169 - m_UsedGlyphRects: [] - m_FreeGlyphRects: + m_UsedGlyphRects: - m_X: 0 m_Y: 0 + m_Width: 69 + m_Height: 65 + - m_X: 0 + m_Y: 65 + m_Width: 70 + m_Height: 83 + - m_X: 0 + m_Y: 148 + m_Width: 64 + m_Height: 85 + - m_X: 0 + m_Y: 233 + m_Width: 61 + m_Height: 94 + - m_X: 0 + m_Y: 327 + m_Width: 77 + m_Height: 78 + - m_X: 61 + m_Y: 233 + m_Width: 64 + m_Height: 78 + - m_X: 64 + m_Y: 148 + m_Width: 57 + m_Height: 85 + - m_X: 0 + m_Y: 405 + m_Width: 62 + m_Height: 86 + - m_X: 62 + m_Y: 405 + m_Width: 57 + m_Height: 81 + - m_X: 70 + m_Y: 0 + m_Width: 62 + m_Height: 98 + - m_X: 77 + m_Y: 311 + m_Width: 64 + m_Height: 86 + - m_X: 119 + m_Y: 397 + m_Width: 70 + m_Height: 78 + - m_X: 121 + m_Y: 98 + m_Width: 70 + m_Height: 66 + m_FreeGlyphRects: + - m_X: 0 + m_Y: 491 m_Width: 511 + m_Height: 20 + - m_X: 62 + m_Y: 486 + m_Width: 449 + m_Height: 25 + - m_X: 69 + m_Y: 0 + m_Width: 1 + m_Height: 65 + - m_X: 61 + m_Y: 311 + m_Width: 16 + m_Height: 16 + - m_X: 77 + m_Y: 397 + m_Width: 42 + m_Height: 8 + - m_X: 119 + m_Y: 475 + m_Width: 392 + m_Height: 36 + - m_X: 70 + m_Y: 98 + m_Width: 51 + m_Height: 50 + - m_X: 121 + m_Y: 164 + m_Width: 390 + m_Height: 69 + - m_X: 125 + m_Y: 164 + m_Width: 386 + m_Height: 147 + - m_X: 132 + m_Y: 0 + m_Width: 379 + m_Height: 98 + - m_X: 141 + m_Y: 164 + m_Width: 370 + m_Height: 233 + - m_X: 189 + m_Y: 164 + m_Width: 322 + m_Height: 347 + - m_X: 191 + m_Y: 0 + m_Width: 320 m_Height: 511 m_FontFeatureTable: m_MultipleSubstitutionRecords: [] @@ -493,9 +840,9 @@ Texture2D: Hash: 00000000000000000000000000000000 m_IsAlphaChannelOptional: 0 serializedVersion: 3 - m_Width: 1 - m_Height: 1 - m_CompleteImageSize: 1 + m_Width: 512 + m_Height: 512 + m_CompleteImageSize: 262144 m_MipsStripped: 0 m_TextureFormat: 1 m_MipCount: 1 @@ -520,8 +867,8 @@ Texture2D: m_LightmapFormat: 0 m_ColorSpace: 0 m_PlatformBlob: - image data: 1 - _typelessdata: 00 + image data: 262144 + _typelessdata: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070a0d101112131312110f0d09060503000000000000060606060606060000000000000000000000000000000000000000000000000000000000000000020507080f111213131312100e0a06060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314171a1d1e1f20201f1e1c1a1613120f0b06000407071313131313131307070501000000000000000000000000000000000000000000000000000002090e1114141c1d1f1f20201f1d1a1613120f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13191d20212427292b2b2c2c2c2b292623201f1b17110d111314202020202020201413110d08020000000000000000000000000000000000000000000000050d14191e2021282a2b2c2d2c2b2a2723201f1c17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b151a1e24292d2e3134363738393938373533302d2b27221b191d202d2d2d2d2d2d2d2d21201d19130c04000000000000000000000000000000000000000000050e171f252a2d2e353738393939383634302d2b28221c140b080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a111720262b3035393a3d404344454646454442403c3937332d2924292c3939393939393939392d29241e160e0400000000000000000000000000000000000000020d17202930363a3b4244454646464543413d3938332d261d19130c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b141b222731373a4146474a4d505152535352514f4d4946443f38352f35394646464646464646463935302820160c0200000000000000000000000000000000000009141f29323b4246474f505252535352504d4946443f382f2a251e170e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151d262d333c42474c5254575a5c5e5e5f5f5f5e5c595653504945403a414553535353535353535346413a32281e13080000000000000000000000000000000000020e1925303b444d52545b5d5e5f605f5e5d5a5653504a423e36302920180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e272f383f444d53565d616467696a6b6c6c6b6a686663605b53514b444c525f606060606060605f524c443a3024190d010000000000000000000000000000000005111e2a36424d565e61686a6b6c6c6c6b696763605b545046413a322a21180f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273039414950575f62686d70737677787979787775736f6c65605d554f565d6c6c6c6c6c6c6c6c6c5d564c4135291d1105000000000000000000000000000000000714202d3a46525e696e757778797979787674706c66615a524c443c332a21170d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424b535b60696e747a7d808384858686858482807c78726d6760595d68767979797979797976685d5246392d201307000000000000000000000000000000000814212e3b4754616e7b8183858586868583807c78716c615e564d453c33291f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b545c656c737b81868a8d8f9191929292918f8c89847f79706b62606d7a868686868686867a6d6154473a2e211407000000000000000000000000000000000916222f3c4955626f7c88909192939291908d89847e756d685f574d453b31281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222c3845515c666d777f878e92989a9c9d9e9f9f9e9d9b9996918c847d726d616e7b87939393939386796c605346392d201306000000000000000000000000000000000916222f3c4955626f7c88959e9f9f9f9e9c9a95918a827a6e695f574d433a2f24190d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202c38444f59606d78818c93999fa3aaa9a8aaa29f9e9e9e9fa19e9691877f726d6e7b88959f9f9f928579655b5044372b1f1205000000000000000000000000000000000916222f3c4955626f7c88959e9e9fa3aba9a8a09d948f847b6e695e554c41352920160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c4854606b74818e939fa4ababa39f9b979892919192939a999d99938b7f726f7c8995a2ab9e9285786b5f493f33271b0f03000000000000000000000000000000000916222f3c4955626f7c889291919299999ea1a9a69e9691847b6e675d51453e32281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5863707d89939da5afa8a199928e8a878584848586888c90959e92877d707c8996a3ab9e9185786b5e52452d22170b00000000000000000000000000000000000916222f3c4955626f7c8685858586888c92979da4a8a0969184796d605a50443a2f24190d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a7683909da5afaaa1969187817d7a79787778797c7f838b919791857a7d8a96a3ab9e9184786b5e5145382b1e0600000000000000000000000000000000000713202d3a4653606d787a787878797b7f858d929fa4a9a0968e81756c61564c4135291f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c88959fabaea29891847c75706d686b6b666d6f73787e8591958e817e8a97a3ab9e9184786b5e5145382b1e12050000000000000000000000000000000006121f2c3844515c666d6d676b656c6f737a808b939aa4a89e938a7e71685d52453b3025190e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546673808c99a7b1ab9f92867c6f6a64615e56545c6062666c717b83919388808d9aa7aa9e9184776b5e5144382b1e11050000000000000000000000000000000004101c2834404a545c60605d555b6062676d747e88939fa5a59e91857a6d60564d42362a1e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667683909da9afa3998c80736a605854524c4a5153545b60696e7a8491938d929da9aa9e9184776b5e5144382b1e110500000000000000000000000000000000000c18232e39424a515353514b5053555d606c727f8b939ea8a1978d8073695e52463a3025190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facac9f92867a6d61584e4746414044464a50575e686f7c87929a9da4aeaa9e9184776b5e5144382b1e1105000000000000000000000000000000000007121c27303940444647454044464b515a626d74818e96a1a99f92867b6e61564c41362a1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8898a3aea99c908376685e52463c393634383a3f444d56606a73808d99a3afb7aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000b151e272e34383a3a3935373a4145515b606d7a84919ea7a2988d8074685e5246392e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996aab4a79a8d807467564c41342d2a282c2d333b444e58616e7b86929facb7aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000030c151c23282c2d2d2c292b2f353f45515d67717e8a959faa9f92867a6d61554b4034281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5988b7e7265584b3f30251d1c1f2228323d46525e6975828f9ba8b5aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000030b12181c1f2020201d1f242935414c55606c7883909da8a2988c7f73675c5145382c1f15090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b0a3978a7d7064574a3d312417101217202a36424d5764717e8b97a9b3aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000070c1012131413111319242f3a44505b65707d8a96a0aa9e9285796d6053463c31261a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5afa296897c6f6356493c30231609060e1a25303b4855626e7b8897a2adaa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000004060707060408131e27333f4953606c7884919eaba1978a7e7164574e42372b1c120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295897c6f6256493c2f231609000913202d394653606c7985929fabaa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000010b17222d3844505b66727f8c99a3a99c8f83766a5f5347392e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090005121f2b3744505b657784919daaaa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000006111b28333f4a54616d7a86929fac9f94887b6e62544a4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900030f1b27333f49536a7683909da9aa9e9184776b5e5144382b1e0802000000000000000000000000000000000000000000000000000000000000000b17222d3a4653606d7985919eaba69a8d8073665c5144382c1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900000b17222d424f5c6975828f9ca8aa9e9184776b5e5144382b19140d08010000000000000000000000000000000000000000000000000000000005121e2a36424d5764707d8a97a1adab9e9285796d6053463b30251a0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090000061c2935424f5c6875828f9ba8aa9e9184776b5e51442e2a251e19130c040000000000000000000000000000000000000000000000000000000714212d3a46535e6975828f9ca9b3ada1978a7d7164574d42362a1b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e513f38363029241e160d070000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939facb9b3a99c8f8276695e5246382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e504a46413b352f281f19100900000000000000000000000000000000000000000000000006121f2c3844505c6673808c99a4afb7b8ac9f93877b6e6153493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b605c54524c45413a312b231b120900000000000000000000000000000000000000000000000713202d3a4653606d7984919eabadababada4998c7f73655b5044372b1f130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e918477706d66615e56524c433d352d241b120800000000000000000000000000000000000000000005121e2a36424d5764707d8a96a1a8a19e9ea1a99e9184786c6053463a3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8ac9f9286817d79736e68605d564f473f362d241a0f0600000000000000000000000000000000000000000714212d3a46535e6976828f9ca9a196919297a1a196897d7063564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aea398928e8985807a746d68605950483f362c21180e0300000000000000000000000000000000000003101c28343f4a54616e7b87939fab9e918485929ea89b8e8175685e5246392d20150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8b2a8a09e9597928d86807a6f6b625a50483e332a20150900000000000000000000000000000000000006121f2c3844505c6673808d99a4a89a8d80808d9aa89f92867a6d6154473d32271b0f010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aca09691898d9297928d847d716c625a50463c31261a0f0500000000000000000000000000000000000713202d3a4653606d7985919eaba196897c7c8996a0a3988b7f7265584e43372b1d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e91847c80858b919691877e716c61584e43372b21170b0000000000000000000000000000000005121e2a36424d5764717d8a97a1ab9e9184787784919eaa9d9083776a605447392f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e91847774797f858e9392877e716a5f53473e33281c10020000000000000000000000000000000714212d3a46535f6976828f9ca9a8998d807373808c99a7a095897c6f62554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e918477676d727a818e9392867c6e62594f44392d1e1308000000000000000000000000000004101c2834404a54616e7b87939faca095887c6f6e7b88959fa79a8e8174675d5145392c1f150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b60686d78818e968f82766c6155493a3025190d010000000000000000000000000006121f2c3844515c6673808d9aa4aa9d9184776a697683909dab9f9285796d6053473c31261a0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b565d666d798491948a7d7064564c41362a1e1105000000000000000000000000000713202d3a4653606d7985929eaca7998c7f736665727f8b99a3a2988b7e7164574d42372b1c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e545c67717e8b998f8275685e5246392d20130700000000000000000000000006121e2b37424d5764717e8a97a1ab9f95887b6e62616d7a86929faa9c908376695f5347382e23170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e4b55606d7a869292867a6d6154473a2e2114070000000000000000000000000814212d3a47535f6976828f9ca9ab9d908377695f5e6876828f9caa9f94887b6e62544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e54565d67778390998a7d7064574a3d3124170a000000000000000000000004101c2834404b54616e7b87939faca4998c7f7265575664717e8b98a2a69a8d8073665c5044382c1f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5960636c6c75818e998d8073665a4d4033271a0d000000000000000000000006131f2c3845515c6673808d9aa4ac9f93877b6e615454606d7a86929fab9e9185796d6053463b30251a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b606b70797979818d9a8f8275695c4f4236291c0f00000000000000000000000713202d3a4653606d7985929eaca99c8f8276685e52515d6775828e9baaa1978a7d7064574d42362a1b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b63707d8686868d929d9083766a5d5043372a1d100000000000000000000006121e2b37424d5764717e8a97a1ada1978a7d7164564d4b5564707d8a98a2a99c8f8275695e5246382d22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b63707d8993939a9d9e9184776b5e5144382b1e11000000000000000000000814212e3a47535f6976838f9ca9ab9e9285796d6053464653606d7985929fab9f92867b6e6153493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b63707d89969fa7ab9e9185786b5e5245382b1f1200000000000000000004101c2834404b55626e7b88949faba79a8d8074665c514545515c6774818e9ba9a3998c7f73655b5044372b1f1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5aca295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b63707d8996a3acab9e9285786b5f5245382c1f1200000000000000000006131f2c3845515c6773808d9aa6ab9f95887c6f62544b40404b5563707d8997a1ab9e9184786c6053463a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b989f9f9f95887c6f6255493c2f22160900020f1c2935424f5c6875828f9b9f9f9e9184776b63707d89969f9f9f9e9285786b5f5245382c1f120000000000000000000713202d3a4653606d7985929eabaa9d9083766a5f5342393a4653606d7985929eaba096897d7063564c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b9393939393887c6f6255493c2f22160900020f1c2935424f5c6875828f939393939184776b63707d8993939393939285786b5f5245382c1f12000000000000000006121f2b37434e5864717e8a97a1ada2988b7e7265584e43303844505c6674818d9aa8a89b8e8175685d5245392c20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f868686868686867c6f6255493c2f22160900020f1c2935424f5c68758186868686868684776b63707d8686868686868685786b5f5245382c1f1200000000000000000814212e3a47535f6a7683909ca9ac9f92867a6d6054473c31343f4a54636f7c8996a1ac9f92867a6d6054473c32261b0f0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4a56626d7279797979797979766a5f53473b2e21150800020e1b2834414d59656f75797979797979777267606b70797979797979797873685d5044372b1e110000000000000004101c2934404b55626e7b88949faba89b8e8174675d5145392a2e394653606c7884919eaba3988b7f7265584e43372b1d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3a46515b62656c6c6c6c6c6c6c625f584e43372b1f130600000c1925313d49545d65686c6c6c6c6c6c6b67605960636c6c6c6c6c6c6c6b6861574c4034281c0f0000000000000006131f2c3845515c6774808d9aa6aca096897c7063554c4135292b3744505b6573808d99a8aa9d9083776a5f5447392f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e29343f495156586060606060606055534e463c32261b0f0300000915212c37424b54595c6060606060605e5c564f5456606060606060605f5d574f453b2f24180c000000000000000714202d3a4753606d7985929fabab9e9184786c6053463a2f2427333f4953626f7c8895a0aca095887c6f62554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18232d373f464a4c535353535353534947433c342a20150a00000004101b26303942494d4f535353535353514f4b44484a5353535353535352504c453d33291e130700000000000006121f2b37434e5864717e8b97a2ada3998c7f72655b504437281e222d3847535f6a7784919daaa79a8d8174675d5145382c1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b252d343a3e3f464646464646463c3b37322a22180e040000000009141e2730373d414246464646464644433f383c3d464646464646464544403b332b21170d020000000000000815212e3a47535f6a7683909ca9ac9f92867b6e6153493f3327161b2b37434e5866737f8c99a7ab9f9285796d6053473c31261a0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b23292e3132393939393939392f2e2b26201810060000000000020c151e262c3134353939393939393837332c2f30393939393939393837342f2921190f0600000000000004101d2935404b55626f7c88949faba99c8f8275695e5241382d22171b26323c4855616e7b88959faba2978a7e7164574d42372b1c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2d22211f1b150e0600000000000000030c141b212528292d2d2d2d2d2d2b2a272022232d2d2d2d2d2d2d2c2b28241e170f070000000000000006131f2c3945515d6774808d9aa6ada1978a7d7064564d422f261b1115212d3a47535f697783909daba99c8f8376695f5346382e23170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d12151819202020202020201615130f0a0400000000000000000002091015191b1c2020202020201e1d1b131617202020202020201f1e1c18130d0600000000000000000714202d3a4753606d7985929fabab9e9285796d6053463b3020140a121e2b37424d5765727f8c99a4ab9f94887b6e61544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c13131313131313090806030000000000000000000000000004090c0e0f13131313131311110e07090a1313131313131312110f0c0702000000000000000006121f2b37434e5864717e8b97a2ada69a8d8073665c5144382c1f12020e1a26313c4754616e7b87939faca6998d8073665c5044382c1f140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a7683909da9ab9f94887b6e62544a4034281c10040915202d3a46525e6976838f9cabab9e9184796d6053463b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0d0f11121313131211100e0c090806030000000000000000000000000000000000000000000000000000000000000004101d2935404b55626f7c88959fabaa9c9083766a5f5342392e23180c0005111e2a36424d5765727e8b99a3ada1978a7d7063564c41362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d101314171a1c1d1f1f20201f1e1d1b181615130f0a0502000000000000000000000000000000000000000000000000000000000613202c3945515d6774818d9aa7aea2988b7e7165584e4330271c120700020e1a25303b4754616d7a86929faca99b8f8275685e5246392d20160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1012181d20202326292a2c2c2d2c2c2b29282522211f1b15120e090300000000000000000000000000000000000000000000000000000714202d3a4753606d7985929fabac9f92857a6d6053473c3120150b0000000914202d3946525e6875828f9caaac9f92867a6e6154473d32271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c1d24292c2d303335373839393939383634322f2e2b26211e1a140e0903000000000000000000000000000000000000000000000006131f2b37434e5865717e8b98a2aea89a8e8174675d5145392c20130300000306111d2935414c5664717e8a98a2aea3998c7f7266594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c161b21272c2f35393a3d40424445464646454443413f3c3b37322d2b261f1a140d05000000000000000000000000000000000000000000000815222e3b47545f6a7783909daa9fa095897c6f63554b4035291d1104060b0f12131925303a4753606d7a86929f9f9f9e9184776b6054483b2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a111721272c3338394045474a4d4f50525253535251504e4b4947433c3a37312a251f170f060000000000000000000000000000000000000000000916222f3c4955626f7c8895939393939184776b6054433a2f24180d0c11171c1f2024282c3945515d6775828e9393939396897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c232832383d44484b515356595c5d5f5f605f5f5e5c5b5855534e4846423c3631292117110a03000000000000000000000000000000000000000e1b2834414e5b677480868686868686867f7265594f4331281d1311171c22282b2d30353835404b5564707e868686868686868174685b4e4135281b0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5855534d46423b3328231c150c030000000000000000000000000000000000000d1a2733404c58646e7479797979797979726d6257463d322b22171c23282d3338393d414446454955616c7079797979797979746f64594d4034271a0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615f57534d453f342e261e150c0200000000000000000000000000000000000b1824303c48535c64676c6c6c6c6c6c6c65625b5147433c342b23282e34383f44464a4e51525251505a61646c6c6c6c6c6c6c68645d53483c3024180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5751443f3830261e140a00000000000000000000000000000000000814202b36414a53585b6060606060606060606055544e463c322e34383f444a5053575b5e5f5f5e5a555557606060606060605b59534b41372b20140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625b504a423830261c110600000000000000000000000000000000030f1a252f3841484c4e535353535d65686c6c6c6260584e4337383f444a50545b6063686b6c6c6a67625f58525353535353534e4d4841392f251a0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b726d605c544a42382e23170d040000000000000000000000000000000008131d262f363c404146464d59656f75797979766a6054473f444a50545c60666c707477797877746f6a635c524a4646464641403c372f271d13090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99938e867f746d665c544a3f34281f160c01000000000000000000000000000000010b141d252b30333439424f5b6875818686867c6f62554b4a50545c60666d71787d8184858584807c736e645c52473d32393534302b251d150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a49f98928b81786d665c50443e31281d130700000000000000000000000000000000020b131a2024272833404d5a6673808d938c7f72675c54545b60666d71787e848a8e919292918d8780736e64594f44382c282724201a130b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f938e81786d605a50433a2f24180d010000000000000000000000000000000001080f14181825313e4b5864717e8b979184796d666364666c71787e848b91969b9e9f9f9d99928c80736b6054483c31261b18140f090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a59e938d80736c61554b4035291d120700000000000000000000000000000000000003080815222f3b4855626e7b8897968e817872707073787e848b91969da0a8a5a3a4aba39f93887d7063584e43372b1f12060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59d928a7d70675d5145392f24180c00000000000000000000000000000000000000000814212e3a47535f6a7885919e938e837f7d7d80848a91969ea1a49f9c9896979a9fa29a9083766a5f53473a2e211506000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49e9184796d60554b4035291d10040000000000000000000000000000000000000006121f2b37434e586774818d999d95908c8a8a8c91969ea0a69f9a938f8b898a8d92989f94887c6f6255483c2d22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6ada1968c7f73675d5145392c1f130700000000000000000000000000000000000000020f1a26313c4855626f7c87929fa09d989697999ea0a69f9c948f87827e7d7d81869197998c7f7366544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9285796d6053473a2f24180c00000000000000000000000000000000000000000a15212e3a47535f6a73808d959fa6a5a3a3a6a69f9c949089827c76727071747c85919c8f8376665b5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1978a7e7164554b4035291d10040000000000000000000000000000000000000006121f2b37434e58606d79838f949c9e9f9e9d99948f89837d766f6a6563646a707d8a969286796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea99c8f8275675d5145392c1f130600000000000000000000000000000000000000030f1b26313c45515d676d79828a8f919292908d88827c76706b625f585657616b77849198887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000a15202935404b555d676d777e8285868583807c766f6b636059534e4a4f596774808686867d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea399897d7063564a3d3023170a0000000000000000000000000000000000000000030d18242f3a434b555d656c717578797877736f6a636059544f47433e4c58646e74797979706b6155483c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b5ab998c807366594d4033261a0700000000000000000000000000000000000000000007131d28313a434b535b6064696b6c6b6a66625f58544f48443d373c48535c64676c6c6c6361594f44382c201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8275685b4f422f24180d010000000000000000000000000000000000000000010c161f28313a41495053575c5e5f5f5d5a55534e48443d38322b36414a53585a60606057554f473e33281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9184776a554b4035291d1004000000000000000000000000000000000000000000040d161f282f383f44464a4f525352504d4947433c38322c27252f3841484c4e5353534a48443e352c21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facac9f928579675d5145392c20130600000000000000000000000000000000000000000000040d161d262d3337393e4245464544403c3b37322c27211b1d262f363c40414646463d3c38332c231a10050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabaea298867a6d6053473a2d2014070000000000000000000000000000000000000000000000040b141b22272b2d313638393837332f2e2b26201b1610141d252b303334393939302f2c28211a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab4aa94877b6e6154483b2e211508000000000000000000000000000000000000000000000000020a11171b1f2024292b2c2c2a2722211f1b150f0b040b131a1f2427272d2d2d2423201c16100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f22140c0500000000000000000000000000000000000000000000000000060b0f1213171c1f201f1d1a1615130f0a04000001080f14181a1b202020171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2e261e170f0600000000000000000000000000000000000000000000000000000305060b0f121312110d0908060300000000000003080b0d0e1313130a09070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493f38302921180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9aea295887b6f6256504a423b332a21180f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0d0f11121313131211100e0c090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e68605c544d453c332a21170c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d101314171a1c1d1f1f20201f1e1d1b181615130f0a05020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab3a79a8d807a736d665e574e453c33291e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1012181d20202326292a2c2c2d2c2c2b29282522211f1b15120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaab7a99d928d867f786e695f574e453b30271c12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c1d24292c2d303335373839393939383634322f2e2b26211e1a140e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facafa59e9b98928c837b6e6a5f574d42392e23180c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c161b21272c2f35393a3d40424445464646454443413f3c3b37322d2b261f1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e938f8b929590847c6e695e544a4034281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a111721272c3338394045474a4d4f50525253535251504e4b4947433c3a37312a251f170f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89b8f817e85909591857b6e665c51443a3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c232832383d44484b515356595c5d5f5f605f5f5e5c5b5855534e4846423c3631292117110a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b5ab998c7f737b8390959083786d60564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5855534d46423b3328231c150c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7afa399897d706e798390958c7f73685e5246392d20150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615f57534d453f342e261e150c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabac9f92867a6d676e7b869292857a6d6154473c32271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5751443f3830261e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adaa9c8f8376675f6973808d988c807366584e43372b1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625b504a423830261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8aea2988b7e726557626e7b88969184776a6054473b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b726d605c544a42382e23170d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facaa9f92867a6d60575f6a78849196887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99938e867f746d665c544a3f34281f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea2988d81746861646c6c75828f988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a49f98928b81786d665c50443e31281d13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba69f92867b6e616c70797979818e9a8e8174675b4e4134281b0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f938e81786d605a50433a2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a89f948c7f726964707d8686868e939c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a59e938d80736c61554b4035291d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a8a0969082786d6064707d8a93939b9e9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59d928a7d70675d5145392f24180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313c44515c666e7a8490959ea5a79f99928e898583828181818385888d92989ea6a59e9691847a6d665c64707d8a979fa8aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49e9184796d60554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915202834404a545e686e7b838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a09e938f847b6e685e5464707d8a97a3acab9e9184786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6ada1968c7f73675d5145392c1f130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18232e39424c565e696e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918a827a6e695e565764707d8a979f9f9f9e9184786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9285796d6053473a2f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e756d685e574d5764707d8a93939393939184786b5e5145382b1e12000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1978a7e7164554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e78716c605d564d4a5764707d8686868686868684786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea99c8f8275675d5145392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a75716d66615a524c434955616c70797979797979797872685c5043372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f92867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e172029313940454f54596063676d70737576787879797978777573706d6764605c545045413a44505a61646c6c6c6c6c6c6c6b6860564b3f33271b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea399897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f272f353d44484f55555d606366686a6b6c6c6c6c6b6a686663605d5553504a423e35333e48505557606060606060605e5c564e443a2f23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b5ab998c807366594d4033261a070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d151d242933383d44484b515356595b5d5e5960636c6c6c6c64615a514b46443f3830292c363e44494a5353535353535351504b443c32281d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8275685b4f422f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c3338394045474a4c49505a626b7078797979716c6155493a38342e261e232c33393c3d4646464646464645433f3a322a20160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9184776a554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c161c21272c2f35383b434b535b606c717d858686867e7164574a3e3128231c141a22282d3031393939393939393837332f2820180f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facac9f928579675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10161c232c343c444d555d656c737e8792979083796d6053473a2d2017110a10171c2023242d2d2d2d2d2d2d2b2a27231d160f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabaea298867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c2328353e464e565e676d77808b929992867b6e675c5145382c1f130600050b10141617202020202020201e1d1b17120c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab4aa94877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161e262e343f474f585f686e79818d929f938a7e71695f554b4034291c100400000004080a0a1313131313131312110f0b070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f22140c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f171f2830383f445159616a6f7a838f939c958e81746c61574d43392f23180c00000000000000000606060606060605040200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2e261e170f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000710182129313a424a505b626b707c8490959e989083796d605a50453c31271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493f38302921180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222a333b434c545c606d727d8691969f9f92867b6e675c51483e332a1f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9aea295887b6f6256504a423b332a21180f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c454d565d666d747f879298a19d938a7e71695f554b40362c21180d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e68605c544d453c332a21170c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e575f686d78808c9399a2a0958e81746c61574d43392f241a0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab3a79a8d807a736d665e574e453c33291e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f696e7a828d929fa4a2989083796d605a50453c31271d120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaab7a99d928d867f786e695f574e453b30271c12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a6f7b838f949da4a59f92867b6e675d51483e332a1f150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facafa59e9b98928c837b6e6a5f574d42392e23180c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c85919593939393938a7e71695f554b40362c21180d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e938f8b929590847c6e695e544a4034281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f868686868686868681746c61574d43392f241a0f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89b8f817e85909591857b6e665c51443a3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4a57626d727979797979797979746f645a50453c31271d1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b5ab998c7f737b8390959083786d60564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222e3a46515b62656c6c6c6c6c6c6c6c67645c53483e332a1f150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7afa399897d706e798390958c7f73685e5246392d20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e29353f4951575960606060606060605b58534a41362c21180d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabac9f92867a6d676e7b869292857a6d6154473c32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18232d373f464a4c53535353535353534e4c4841382f241a0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adaa9c8f8376675f6973808d988c807366584e43372b1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111b252d353a3e3f464646464646464641403c362f261d120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8aea2988b7e726557626e7b88969184776a6054473b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131b23292e313239393939393939393433302b251d140b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facaa9f92867a6d60575f6a78849196887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a11181e2225262d2d2d2d2d2d2d2d282724201a130b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea2988d81746861646c6c75828f988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d1216181920202020202020201b1a18140f080100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba69f92867b6e616c70797979818e9a8e8174675b4e4134281b0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c13131313131313130e0d0b08030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a89f948c7f726964707d8686868e939c8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a8a0969082786d6064707d8a93939b9e9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111212131212100e0c0808060200000000000000010406070c101213131211100e0b0a0804000000000000000000000000000000000000000000010507070a0d101112131312110f0d0a070603000000000000060606060606060000000000000000000000000000030e1a26313c44515c666e7a8490959ea5a79f99928e898583828181818385888d92989ea6a59e9691847a6d665c64707d8a979fa8aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191514120e090400000001080d111314191c1f1f201f1e1d1a171714110c05000000000000000000000000000000000002080d111314171a1d1e1f20201f1e1c1a161312100c0600050707131313131313130707040100000000000000000000000915202834404a545e686e7b838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a09e938f847b6e685e5464707d8a97a3acab9e9184786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e212225282a2b2c2c2c2b2a282522211e1a15100c07040c13191d202126292b2c2c2c2b29272423211c171008000000000000000000000000000003090e13191d20212427292b2b2c2c2c2b292723201f1c17110d111314202020202020201413110d0802000000000000000000030c18232e39424c565e696e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918a827a6e695e565764707d8a979f9f9f9e9184786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c161b1f262a2d2e31353738393939383735322f2e2b261f1c18120d161e24292c2d32363839393838363431302d28221a1208000000000000000000000000060b151a1e25292d2e3134363738393938383633302d2c28231c191d20212d2d2d2d2d2d2d21201d19130c0400000000000000000007121c27303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e756d685e574d5764707d8a93939393939184786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c31363a3b3e4144454546454543413f3b3a37312c29231d1a1f282f35393a3f43454646454443413e3c39332c241a1005000000000000000000020a111720262b3035393a3d404344454646454442403d3a38342e2a25292d3939393939393939392c29241e160e040000000000000000000b151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e78716c605d564d4a5764707d8686868686868684786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151d232832383b4246484b4e505152535252504e4c4847423c38342f27232c313a4145474c4f5252535251504d4a49453e362c22170c0000000000000000030b141b222731373a4146474a4d505152535352514f4d4946443f38363035394646464646464646463935302820160c020000000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a75716d66615a524c434955616c70797979797979797872685c5043372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e5d5b5855534d474540393128353e434c5154595c5e5f5f5f5e5c5a575550483e33281c1104000000000000030d151d262d333c42474c5254575a5c5e5e5f5f5f5e5c5a5653504a46413a414653535353535353535345413a32281e1308000000000000000000050e172029313940454f54596063676d70737576787879797978777573706d6764605c545045413a44505a61646c6c6c6c6c6c6c6b6860564b3f33271b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d2114080000000000010b151f272f383f444e53565e616467696a6b6c6c6b6b696663605c54524c444c525f606060606060605f524c443a3024190d01000000000000000000050e171f272f353d44484f55555d606366686a6b6c6c6c6c6b6a686663605d5553504a423e35333e48505557606060606060605e5c564e443a2f23170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a000000000007121d273139414950575f62686d7073767778797978777573706d66615e5650565d6c6c6c6c6c6c6c6c6c5d564c4135291d110400000000000000000000050d151d242933383d44484b515356595b5d5e5f5f5f5f5e5d5c595754514b46443f3830292c363e44494a5353535353535351504b443c32281d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b00000000000c18232f39434b535b606a6e747a7d808384858686858482807c79736d68615a5d68767979797979797976685d5245392c2013070000000000000000000000030b121821272c3338394045474a4c4f50525253535252504f4d4a4745413a38342e261e232c33393c3d4646464646464645433f3a322a20160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e110000000004101c2934404b555c656c737b81868a8d8f9191929292918f8d8985807a716c64616d7a868686868686867a6d6054473a2d21140700000000000000000000000001070c161c21272c2f35383a3d4042434545464646454442403d3a39352f2b28231c141a22282d3031393939393939393837332f2820180f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e11000000040e18222c3845515c676d7780878e92999a9c9d9e9f9f9e9e9c9997928c857e736e616e7b88939393939386796c605346392d2013060000000000000000000000000000050b10161c1d24292c2d30333537383939393938373533302d2c29241f1c17110a10171c2023242d2d2d2d2d2d2d2b2a27231d160f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e110000000a15202c38444f59606d79818c939a9fa3aba9a8aaa29f9e9e9e9fa29e97928a80746e6f7b88959f9f9f928579655b5044372b1f120500000000000000000000000000000000050b1012181d1f202326282a2b2c2c2c2c2b2a29262421201d1813100b0600050b10141617202020202020201e1d1b17120c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e110000030f1b26323c4854606b74818e939fa4acaba39f9b979892919192939a999d9f928d80746f7c8996a2ab9e9285786b5f493f33271b0f0300000000000000000000000000000000000001070c10131417191c1d1f1f20201f1f1d1c1a171413110d0703000000000004080a0a1313131313131312110f0b070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a000006131f2b37434e5863707d89939da5afa8a199928e8a878584848586888c90959e928b7f727d8996a3ab9e9185786b5e52452d22170b000000000000000000000000000000000000000000000406070a0d0f10121213131312110f0d0a070604010000000000000000000000060606060606060504020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f22160900000815212e3b47535f6a7683909da5afaaa1969187817d7a79787778797c7f838b919792877c7d8a97a3ab9e9184786b5e5145382b1e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c20130700000916222f3c4955626f7c88959fabaea29891847c75706d686b6b666d6f73787e85919590837e8a97a4ab9e9184786b5e5145382b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b10040003101c28343f4a546673808d99a7b1ab9f92867c6f6a64615e56545c6062666c717b8391959083909daaaa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b000006121f2b3844505c667683909da9afa3998c80736a605854524c4a5153545b60696e7a8491959095a0abaa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f0400000713202d3a4653606d7986929facac9f92867a6d61584e4746414044464a50575e686f7c87929da0a7b1aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c27211911070000000815222e3b4855616e7b8898a3aea99c908376685e52463c393634383a3f444d56606a73808d99a3afb7aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f07000000000a1623303d495663707c8996aab4a79a8d807467564c41342d2a282c2d333b444e58616e7b86929facb7aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b0400000000000b1724313e4a5764717d8a97a4b0a5988b7e7265584b3f30251d1c1f2228323d46525e6975828f9ba8b5aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e211508000000000000000b1825323e4b5865717e8b98a4b0a3978a7d7064574a3d312417101217202a36424d5764717e8b97a9b3aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e211508000000000000000c1825323f4b5865727e8b98a5afa296897c6f6356493c30231609060e1a25303b4855626e7b8897a2adaa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295897c6f6256493c2f231609000913202d394653606c7985929fabaa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090005121f2b3744505b657784919daaaa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900030f1b27333f49536a7683909da9aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900000b17222d424f5c6975828f9ca8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090000061c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e211408000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e211407000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d201307000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f1306000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c1004000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c00000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d3023160700000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d20130700000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f120600000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c100300000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b0000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160906060f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c11060000000000000000000c1925323f4c5865727f8b98a5aca295887c6f6255493c2f22161313130f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a000000000000000000000c1925323f4c5865727f8b989f9f9f95887c6f6255493c2f22202020201c1c2935424f5c6875828f9b9f9f9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c02000000000000000000000c1925323f4c5865727f8b9393939393887c6f6255493c2f222d2d2d2d28272935424f5c6875828f939393939184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b00000000000000000000000c1925323f4c5865727f868686868686867c6f6255493c2f393939393935343135424f5c68758186868686868684776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c0300000000000000000000000b1824313e4a56626d7279797979797979766a5f53473b39464646464642403d37414d59656f757979797979797772675c4f43372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121c252e363e454d53585f62666a6f717375777878797979787675726f6d66625f58524d453d352c241a10070000000000000000000000000915222e3a46515b62656c6c6c6c6c6c6c625f584e43404553535353534f4d48413d49545d65686c6c6c6c6c6c6b6760564b3f33271b0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131c242c333b42464e5355585f626467696a6b6b6c6c6c6b6a686663605c54534e46423b332c231a12080000000000000000000000000006121e29343f495156586060606060606055534e46434b515f606060605b59534b41424b54595c6060606060605e5c564e44392e23170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a121a212931363c4347484e5355585f676a6c6c6c6b67605d5b595653514b47433c363029201a11080000000000000000000000000000010d18232d373f464a4c53535353535353494743404b555d6c6c6c6c6c68655d53484342494d4f535353535353514f4b443c32281d120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f171f252a31373a3c4347485b6771777979797772675753514b4645403937322a251f170e080000000000000000000000000000000006111b252d343a3e3f464646464646463c3b3945515d677679797979756f6556544f47433d4246464646464644433f39322a20160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a20262b2e313744515e6a778486868684776b63605c5450483f372b26201a140d0500000000000000000000000000000000000009131b23292e3132393939393939392f2d3a4753606d7986868686817568636059544e463d3539393939393837332e2820180e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e151a1f21263744515e6a7784919391847774706d66615a51493f342b20150a0200000000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2d222d3a4753606d7a8693938e8176736f6b6260584f473d32282d2d2d2b2a27231d160e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f171c2b3744515e6a7784919d928783817d79716c625b51463c32271b0f03000000000000000000000000000000000000000000060d1215181920202020202018202d3a4753606d7a86939f928682807c776f6a60594f443a302419201e1d1b17120c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d3744515e6a778491979992908d8a847e726d62584e43372b1f1306000000000000000000000000000000000000000000000106090b0c1313130d151d23292d3a4753606d7a86939798928f8d89837c706b60564c4135291d1111110e0b06010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1a232c33393c44515e6a7784888a8e92999a96918a7f726a6054473b2e22150700000000000000000000000000000000000000000000000000000006010b151f272f34383a4753606d7a86888b8f939c999590867d70685d5245392c201307040200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202c363e44494a4854616e7a7b7d8187929fa19e92877c6f6255493c2f24180d0100000000000000000000000000000000000000000000000000000007121d2731394045474a515d67767b7c7e828d929c9f9892857a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f29323e4850555754535e686e6f71747e8a98a2a3998f827568554b4135291d11040000000000000000000000000000000000000000000000000000000c18232f39434b51535754555e696e6f7175808d99aaa1978c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303b44505a6164615e575e6162646c7985929fab9f928578675d5145392c201306000000000000000000000000000000000000000000000000000004101c2934404b555c6064615e575e6162646e7b8895a1a99c8f8376695c504336291d10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414d56616c706e6968676666676d7a86929faca298877a6d6054473a2d211407000000000000000000000000000000000000000000000000000006131f2c3845515c676d716d686867666668707c8996a3aa9d9184776a5e5144372b1e1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e68707d7b78757473737479818e99a3ac9f9286796c605346392d20130600000000000000000000000000000000000000000000000000000714202d3a4753606d797d7a7775747373757a83909da9ab9d9083766a5d5043372a1d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b8887848281807f81858e939eaba59d908377665b5044382b1f120600000000000000000000000000000000000000000000000000030f1c28333f4a5463707d8a868482807f80818690959faba3998d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5465727e8b96918f8d8c8c8e92979ea5a19e938b7e7165544a3f33281c0f030000000000000000000000000000000000000000000000000006121f2b3844505b6674818e93908e8d8c8c8e92989fa7a09d92877c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6675828f989a9b9a99999a9e9e9c9a97928b81756c625642382d22170b00000000000000000000000000000000000000000000000000000613202d394653606c798591989b9b9a99999b9f9e9c9996918a7f726a5f53473b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884888b8e909192929292918f8d8a857f776c605a50452f261c110600000000000000000000000000000000000000000000000000000815222e3b4855616e7b86898c8e909192929292918f8d89847d726d62584e43372b1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c666d777c7e818384858686858483817d79726c655b50483f341d140a0000000000000000000000000000000000000000000000000000000814212d3a47535f696e787c7f818384858686858482807c78706c625b51463c32261b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c606a6f7274767778797978787674706d67605b53493f362d220b0200000000000000000000000000000000000000000000000000000006121e2b37424d575f666d6f7275767878797978777673706c66615a51493f342a20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424a50585f626567696b6c6c6c6c6b696764605d55504941382d241b1100000000000000000000000000000000000000000000000000000000020e1a26313c454d545c606365686a6b6c6c6c6c6b696663605b5450473f372d22180e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f444e5355585b5d5e5f5f5f5f5e5c5a5753514b443f382f261b1209000000000000000000000000000000000000000000000000000000000009151f2a333c424a505356595b5d5e5f5f5f5f5e5c5a5653504a423e352d251b100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e262e343c4347484b4e50515253535251504e4a47454039332d261d140a000000000000000000000000000000000000000000000000000000000000030e18212a30383f4446494c4e505152535352514f4d4946443f382f2c231b1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c141c232832373b3c3f414344454646454543413d3a38352f27221b140b0200000000000000000000000000000000000000000000000000000000000000060f181e262e34383a3c3f424345454646454443403d3938332d261d1a11090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a111720262b2e2f3234363839393939383634312d2c29241d17110a02000000000000000000000000000000000000000000000000000000000000000000060c151c23282c2d303235373839393939383633302d2b28221c140b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b151b1f212225282a2b2c2c2c2c2b292724201f1d18120b06000000000000000000000000000000000000000000000000000000000000000000000000030a11171c1f202326282a2b2c2c2c2c2b292723201f1c17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f121515181b1d1e1f20201f1e1d1b171413100c0701000000000000000000000000000000000000000000000000000000000000000000000000000000060c10121316191b1d1e1f20201f1e1c1a1613120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090c0e10111213131212100e0a0706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607090c0f10121213131211100d0a0606030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a131313131313130a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809131313131313130b0a08050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161720202020202020161613100b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151620202020202020181714110c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2322201b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f22232d2d2d2d2d2d2d2423211d17100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d303139393939393939302f2c2721191107000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f3939393939393931302d28221a12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33393c3d464646464646463d3b38322b23190f04000000000000000000000000000000000000000000000000000000000000000000000000040f19222b32383b3c464646464646463e3d39332c241a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a535353535353534948443d352b21160b0000000000000000000000000000000000000000000000000000000000000000000000000a16202b343d434749535353535353534b49453e362c22170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e485055576060606060606056544f473d32271b100400000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464e545660606060606060575550483e33281d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6360594f44382c2013070000000000000000000000000000000000000000000000000000000000000000000006131f2b38434e5860626c6c6c6c6c6c6c64615a5045392d211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c7079797979797979706b6054483b2f221609000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a6f79797979797979716c6155493d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d868686868686867d706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c868686868686867e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a9393939393897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8993939393938a7e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f96897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c89959f9f9f978a7e7164574b3e3124180b000003050606050503010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3aca396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000002050916232f3c4956626f7c8995a2aca4978a7e7164574b3e3124180b070c101213131211100e0b0a080400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f96897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000003090e121416232f3c4956626f7c89959f9f9f978a7e7164574b3e3124181314191c1f1f201f1e1d1a171714110c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1724313d4a5764707d8a9393939393897c706356493d3023160e09030000000000000000000000000000000000000000000000000000040a0f141a1e2122252f3c4956626f7c8993939393938a7e7164574b3e31241d202126292b2c2c2c2b29272423211c1710080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c24313d4a5764707d868686868686867d706356493d30231e1a140e09020000000000000000000000000000000000000000000000070c161b1f262a2d2e31353c4956626f7c868686868686867e7164574b3e3124292c2d32363839393838363431302d28221a1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c161b21272c2f3c4955616c7079797979797979706b6054483b322d2a251f19140d050000000000000000000000000000000000000000030b121821272c31363a3b3e41444754606a6f79797979797979716c6155493d302f35393a3f43454646454443413e3c39332c241a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a111721272c3338394045505a61646c6c6c6c6c6c6c6360594f47433c3a36312a251f170e06000000000000000000000000000000000000040c151d232832383b4246484b4e50514e5860626c6c6c6c6c6c6c64615a504539313a4145474c4f5252535251504d4a49453e362c22170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c232832383d44484b515356595c606060606060605c5b5855534e4846423b3630292017110a02000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e60606060606060575550483e353e434c5154595c5e5f5f5f5e5c5a575550483e33281c1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5854534d46423b3228221c140b0200000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615e57524d443f332d261d140b0200000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5650443f382f261d140a0000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625a504a42382f261c1106000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b716c605b544a42382d22170d03000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99928e867e746c665b544a3f33281f150b01000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a39f98928b80786c665b50443d31271d120700000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f928d81786c60594f43392f23180c00000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a49d938c80736b60554b4034291d120700000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59f93887d70675c5145392e23180c00000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49a9184796d60544b4034281c100400000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6aca0968c7f72665c5145382c1f13070000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9184796d6053463a2e23180c0000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1968a7d7164544b4034281c100400000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c2721191107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea89b8e8275665c5145382c1f130600000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f9286796d6053463a2d20130700000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea298897c6f6356493c3023160900000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b4aa998c7f7266594c3f3326190700000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8175685b4e422e23180c00000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9083776a554b4034281c1004000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facab9f928578675c5145382c1f13060004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabada29786796d6053463a2d20130700010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab3a994877b6e6154483b2e21150800000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f221508000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2f2216090000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493c2f23160900000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9afa295887c6f6255493c2f221609000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e6255483b2f2215080000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab4aa94887b6e6155483b2e22150800000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaaaea398877a6d6054473a2d2114070000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facac9f928579675d5145392c2013060000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e9184776b554b4135291d110400000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89c8f8275695c4f422f24180d010000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b1a69a8d8073675a4d4034271a0700000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7b1a7978a7d7164574a3e3124170b0000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabaca095877a6e6154473b2e211408000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adab9d908377685e5246392d201407000000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8afa4998c7f7366564d41362a1e1105000000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facab9f93877b6e6155483b3025190e02000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea4998f8275695f53463a2d1f1408000000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d302316070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba79f93877c6f62574d42362a1e0d020000000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a9a0958d80746a5f53453b31261a0e000000000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a9a1979183796d60584e4333291f14090000000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313c44505c666e7a8490959da5a79f99928e898583828181818385888d92989ea6a69f9791857c6e675d51463c3221170d0300000000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009152028343f4a545e686e7a838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a19e948f857c6f6a5f554b40342a200f060000000000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17232e38424c565e686e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918b827a6f6a5f574e43392f22180e00000000000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e776e685f584e453c31281d100600000000000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e79716c655e564e463c332a1f160c000000000000000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a76716d66605b534c443c342a21180d040000000000000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a242f3841474c4e4f54596063676d70727576787879797878777573706d6864605c545049413c342a22180f0600000000000000000000000000000009121c252e363e454d53585f62666a6f717375777878797979787675726f6d66625f58524d453d352c241a100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2b36414a52585a6060605f555d606366686a6b6c6c6c6c6b6a686663605d5660606055534e463c32261b0f03000000000000000000000000000000000a131c242c333b42464e5355585f626467696a6b6b6c6c6c6b6a686663605c54534e46423b332c231a1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724303c47525c64676c6c6c6c66605b54595b5d5e5f5f5f5f5e5d5c565e61696c6c6c6c625f584e43372b1f130600000000000000000000000000000000010a121a212931363c4347484e5355585a5c5d5e5f5f5f5f5e5d5b595653514b47433c363029201a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a26333f4c58646e7479797979726c665e57505052525353524a505960696e7679797979766a5f53473b2e211508000000000000000000000000000000000000080f171f252a31373a3c4347484b4d4f51515253535251504e4c494645403937322a251f170e080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a677480868686867f786e69615a514b4346444c545b606b707b83868686867c6f6255493c2f22160900000000000000000000000000000000000000050d141a20262b2e31373a3c3e40424445454646464543423f3c3a38342e2b26201a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b849198928c827b706c605d554e444f565e666c737d859094948e81746a5f53473b2e211508000000000000000000000000000000000000000003090e151a1f21262b2e2f31343637383839393938373533302d2c28231d1b150e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e696f7c869299948f857e746d675f58505960686d787f879297969082786d60584e43372b1f130600000000000000000000000000000000000000000000030a0f12151b1f21222527292a2b2c2c2c2c2b2a282623201f1c18120f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d575f6a707d87929f97928a81796f6a605b626b6f7a828c93999891847a6d665c51463c32261b0f0300000000000000000000000000000000000000000000000002060a0f121515181a1c1e1e1f20201f1e1d1b19161313100c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25303b454e58606b717e8b919c9e938e837c726c656d727d848f949f9992867c6e685e544b40342a20150a00000000000000000000000000000000000000000000000000000000030608090b0d0f11121213131312100f0c090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333c464f59616c737f8c939d9d9591867f776e757f8791969f9f92877d706a5f564c42392e22180e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17212a343d47505a636d74818e949ea099928c827b828c9299a19d928b7f726b60584e443a30271d100600000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111212131212100e0c0808060200000000000000010406070c101213131211100e0b0a08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18222b353e48515b606d78828f959fa39f948f888f939fa39f948d80746d62594f463c32281e150b00000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191514120e090400000001080d111314191c1f1f201f1e1d1a171714110c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061019232d364044505c666d79839096a1a69f9c959b9ea5a0958f82786d605b51473d342a20160c0300000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e212225282a2b2c2c2c2b2a282522211e1a15100c07040c13191d202126292b2c2c2c2b29272423211c1710080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111b2428343f4a545d676e7a849197a29f9f9f9f9fa19791837a6d665c50493f352c22180e0500000000000000000000000000000000000000000000000000000000000000000000000000070c161b1f262a2d2e31353738393939383735322f2e2b261f1c18120d161e24292c2d32363839393838363431302d28221a120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091217232e38424b555e686e7c85929893939393939992857b6e685d544a3f372d231a0f06000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c31363a3b3e4144454546454543413f3b3a37312c29231d1a1f282f35393a3f43454646454443413e3c39332c241a10050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c263039434c565f6a6f7d8686868686868686867d6f695f564c42382e251b1108000000000000000000000000000000000000000000000000000000000000000000000000040c151d232832383b4246484b4e505152535252504e4c4847423c38342f27232c313a4145474c4f5252535251504d4a49453e362c22170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e28313b444e57606b6f7979797979797979796f6b60574d433a30261c1309000000000000000000000000000000000000000000000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e5d5b5855534d474540393128353e434c5154595c5e5f5f5f5e5c5a575550483e33281c110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c161f29323c454f5960636c6c6c6c6c6c6c6c6c6360594f453b31281e150a010000000000000000000000000000000000000000000000000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17202a333d474f54565f606060606060605f56544f473d332a1f160c0300000000000000000000000000000000000000000000000000000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18212b353d4348495353535353535353534948443d352b21180d04000000000000000000000000000000000000000000000000000000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f19232b32383b3c4646464646464646463c3b38322b23190f06000000000000000000000000000000000000000000000000000000000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101921272c2f30393939393939393939302f2c27211911070000000000000000000000000000000000000000000000000000000000000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f22232c2d2d2d2d2d2d2d2c23221f1b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315162020202020202020201615130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003070909131313131313131313090907030000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080c10121213131313131313131313131313131313131313131313121211100e0b0907060400000000000000000000000000000000000000000000000000000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d13181c1e1f202020202020202020202020202020202020202020201f1e1e1d1a18161413100c07050100000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000710181f24282b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a29272523201f1d1813110d0802000000000000000000000000000000000000000000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061019222930353839393939393939393939393939393939393939393939393938373634322f2d2c2924201e19130f0a0400000000000000000000000000000000000000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d18222b343b4144454646464646464646464646464646464646464646464645454443413e3c3a39352f2d2a251e1b150f0a040000000000000000000000000000000000000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c272119110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131f29343d464c515253535353535353535353535353535353535353535353525151504d4b494745403a3936302b27201b160d0701000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1824303b464f575d5f6060606060606060606060606060606060606060605f5f5e5d5c5a585653514b4746413a37322c272118120c040000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2835414c5761696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a69676562605d5554524c47433c383229241d160d0700000000000000000000000000000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3844515d697378797979797979797979797979797979797979797979797878777674716f6d6765615e56544e48433d352f281f191108000000000000000000000000000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c78858686868686868686868686868686868686868686868685848483807e7c7a75716d68626058544e454039312b231a120a0100000000000000000000000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929393939393939393939393939393939393939399929291908f8d8b8986827e7a756f6a626058514b433d352c241b130a01000000000000000000000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9d9c9a9898928f8b87827c766f6a605d554f473e362d251b13090000000000000000000004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a6a6a7aaa9a7aaa39f9c99938e88827c746d67605950483f372d251b1108000000000000000000010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabb8ada39c9998989898989898989898989898999a9b9d9fa2aaaaacaba49f9b948f8780796f6b615a51493f372d231a0f060000000000000000000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabb8a79c918c8b8b8b8b8b8b8b8b8b8b8b8b8b8c8d8e909298999da0a7acaca69f9a938d847d716c625b51493f352c21180b02000000000000000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabb2a5998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818385888c90959b9fa4acaca49f9691877e726d625b51473e332a1d140a0000000000000000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a7272727272727272727272727273737477797c7f83888f939a9fa7afa8a19992887f726d62594f463c2f261c1106000000000000000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d656565656565656565656565666768666c6f73777c828790959fa3ababa39a938c7f726b61584e42382d22170b0200000000000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d615858585858585858585858595a545b6062666a6f757c838c9299a3aaaca49f92877d706a5f544a3f33281e1308000000000000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d61544c4c4c4c4c4c4c4c4c4c4c4d4a5053555860626a6f787f879298a2aaafa39992867c6e665b50443a3025190d0100000000000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473f3f3f3f3f3f3f3f3f40403f4446484e54585f666d737e869298a2aeaba2989083786c60564c41362a1e13080000000000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a3232323232323232332d3338393c43474e545c606c707d86929fa4aeaa9f958b7e72685e52463a2f24190d0000000000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e252525252525252622282b2d32373c424a505a616b717e8a929da8b1a79f92857a6d61564c4135291b1106000000000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e2119191919191919171c1f20272b30383f445059616c73808d96a0acada2978d8074685d5245382d22170b00000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e21140c0c0c0c0c060b0f12131b1e262e343e47505a606d7984919ea6b0a99f92857a6d6053493f33271b0f0300000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e21140700000000000003060a0c151c2328353e45515c66707d8a949fabaea2988c7f72655b5044372b1f12050000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e211407000000000000000000030a1117232834404b54616b76828f9ca8b2aa9e9184786c605346392d201308000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003121f2c3945525f6c7885929fabada094877a6d6154473a2e21140c0c0c0c0c0c0c0c07060400061118232e39424f5964707d8a96a1acaca096887c6f6255493c3024190d010000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f131f2c3945525f6c7885929fabada094877a6d6154473a2e211919191919191919191413110d0807121d27303e4653606d7984919eabb2a8998c7f7366564c4135291d11040000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b1f212c3945525f6c7885929fabada094877a6d6154473a2e2626262626262626262621201d19130c0b151f2b3844505c6673808c99aab3a99d908376685d5245392c2013070000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f3945525f6c7885929fabada094877a6d6154473a33333333333333333333332d2c29241e160d101c28343f4a54636f7c8998a2aeac9f93867a6d6054473a2d21140700000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d302316070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222a32373b3c3f45525f6c7885929fabada094877a6d6154473f3f3f3f3f3f3f3f3f3f3f3f3a39352f281f160b17232e3a4653606d7985929fabafa499897c6f6356493c30231609000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c4347494c4c525f6c7885929fabada094877a6d61544c4c4c4c4c4c4c4c4c4c4c4c4c4745413a31281e13121f2c3844505c6676828f9ca9b5ab988b7e7265584b3f3225180c000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e53555959595f6c7885929fabada094877a6d61595959595959595959595959595954524c433a2f2419101c28343f4a546774808d9aa7b3a79a8d8074675a4d4134271a0e0000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f62666666666c7885929fabada094877a6d666666666666666666666666666666605d564c4135291d1117232e3f4b5865727e8b98a5b1a99c8f8276695c4f4336291c1000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a6f72727272727885929fabada094877a727272727272727272727272727272726d685d5245392c20131723303d4a5663707d8996a3b0aa9d9083776a5d5044372a1d1100000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c7f7f7f7f7f7f86929facb3a6998c807f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7a6d6054473a2d211416222f3c4955626f7c8895a2afaa9d9184776a5e5144372b1e110000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b8c8c8c8c8c9298a3aeb4a89c928c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c877b6e6154483b2e211515222f3b4855626e7b8895a1aeab9e9185786b5e5245382b1f120000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98999999999fa3aab4b9aea49c99999999999999999999999999999994877b6e6154483b2e211515212e3b4854616e7b8794a1aeac9f9285796c5f5246392c1f13000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5a5a5a5acaeb4bcbfb6aea8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a194877b6e6154483b2e211514212e3b4754616e7a8794a1adac9f9285796c5f5246392c1f130000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b989f9f9f9fa0adb3bcbab0a8a3a09f9f9f9f9f9f9f9f9f9f9f9f9f9f94877b6e6154483b2e211515222e3b4855616e7b8894a1aeab9f9285786c5f5245392c1f12000000000000000009121c252e373f454d53585f62666a6f717375777878797979787675726f6d66625f58524d514c463d34291f1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b939393939393a2a9b3b3a89e9794939393939393939393939393939393877b6e6154483b2e211515222f3c4855626f7b8895a2aeab9e9185786b5e5245382b1f12000000000000000005111d29343f49515658606060585f626467696a6b6b6c6c6c6b6a686663605c546060605f5d574f463b3024180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8686868686868997a2adafa3978c87868686868686868686868686868686867b6e6154483b2e21151623303d495663707c8996a3afaa9d9184776a5e5144372b1e1100000000000000000915222e3a45515b62656c6c6c6c67605c555c5d5e5f5f5f5f5e5d5b595960636b6c6c6c6c6961574c4135281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313d4a56626d7279797979797985929fabada094877a7979797979797979797979797979797976695e53463a2d21141825313e4b5864717e8b97a4b1a99c8f8276695c4f4336291c1000000000000000000b1824313d4a56626d7279797979746d675f57505152535352514c535b606b6f787979797873695d5144382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3a45515b62656c6c6c6c6c7885929fabada094877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e574d42362a1e121b27333f49536673808c99a6b3a79a8e8174675b4e4134281b0e00000000000000000c1825323f4b5865727e8686868681796e69615a514b433f444e565e656c727d8486868685786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d29343f49515658606060606c7885929fabada094877a6d6160606060606060606060606060605f534d453b31251a121f2b3744505b6575828f9ca8b2a6998c7f7366594c403326190d00000000000000000714202d3a4753606d79839097928d837b716c605d554e49505860686d777f879196928b7e7165584b3e3225180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c18232d373f454a4b5353535f6c7885929fabada094877a6d6154535353535353535353535353534846423b33291f1413202d394653606c7985929eabb2a8968a7d7063574a3d3024170a00000000000000000613202c3945515d676e7b8591989590867e746d675f58535b606a6f7a828c9299938d80736c6256493d3024170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b242d343a3d3f4646525f6c7885929fabada094877a6d6154474646464646464646464646463b3a3631292117101c28343f4a54626f7c8897a1adaca096877a6d6154473a2e211407000000000000000004101d2935404b555e696f7c86929a98928a81796f6a625d656c727c848f949f958f82786c605a5045392d21150600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b23292e31323945525f6c7885929fabada094877a6d6154473a39393939393939393939392e2d2a251f170f18212b3844505c6673808c99a9b3aa9d918477685d5246392d2013070000000000000000010d18242f39434d57606a717e88939f9f938e837c716c686d777f8791969e979083796d665b50483f312a2217110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000911181d22242c3945525f6c7885929fabada094877a6d6154473a2e2d2d2d2d2d2d2d2d2d2d21211e1a140d162028343f4a54606d7884919eabb2a89a8d807367564c4135291d110500000000000000000007121d28313b454e58616c737f8c939e9d9591867e75707a828c9299a19891857b6e675d54514c433c3428231c140c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c11151f2c3945525f6c7885929fabada094877a6d6154473a2e212020202020202020201514120e0e171f28323a44505c66707d8a96a1acaca196897c6f6256493c3024190d01000000000000000000010c161f29333d46505a636d75818e959fa098928b817d848f949fa39a92867c6f696c68605d554e463e342e261e160e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105121f2c3945525f6c7885929fabada094877a6d6154473a2e21141313131313131313080a0f141a2029313a444d57606d7883909da8b2a99e9184786c605346392d2013080000000000000000000000040d17212b343e48515b606d79839096a1a29f938e8991969ea59f93887e77797979756d675f5850443f38302820191009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e21140c0c0c0c0d080d1114141b1f262a323b434c565f69727f8b95a0acada2978b7f72655b5044372b1f1205000000000000000000000000050f19222c364045515c676d7a849198a2a59e9b969ea1a79e938c7f778386868682796e6a615a504a423a322b221b120a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e211919191919191a191e2021272c31363e444d555d686e7b86929fa7b1a89f92857a6d6053493f33271b0f030000000000000000000000000007101a242834404b555e686f7c869299a39f9f9f9fa89f958e8175707d8a94938f847c716c605c544c443d342d241c130a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e2525252525262627252a2d2e32383b42464f565e676d7a839098a2aeaba0968c7f72675d5141382d22170b000000000000000000000000000000081218232e39434c565f6a707d8792939393939393969083796d6b75828f999691867e736d665e564e463f362d251c1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a3232323232323233343036393b3d44484d535961696e79829095a0aaafa4999184796d60554b412f261b11060000000000000000000000000000000007121d27303a444e58616b727f8686868686868686847a6d67626e7b87929f98928a80786d68605850483f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473f3f3f3f3f3f3f3f4040424146474a4f54575f616b707b8390949fa7b0a69f93877d70665c51433a2f1d140a0000000000000000000000000000000000000b151e29323c464f59626d727979797979797979786d685e5f6973808d97a19f928d827a6f6a625a51493f352a1e12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d61544c4c4c4c4c4c4c4c4c4c4d4e4c525457596063696e757d8590959fa6b0a69e948c7f736b60544b4031281d0b02000000000000000000000000000000000000030c17202a343e47515b62656c6c6c6c6c6c6c6c6b615e5657606d7a85919ea49d948f847c716c635b51463a2e2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6158585858585858585859595a5b565e6163676b6f747b818a91979fa7aea69f948f82786c60594f42392e1f160c0000000000000000000000000000000000000000050e18222c353f4951565860606060606060605e54524c515d67717e8b959393939691867e726d63574a3e3125180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d656565656565656565656566676869686e7074777c81878e939ea1a9ada49d948f82796d665b50473d30271d0d0400000000000000000000000000000000000000000006101a232d373f464a4c5353535353535353514746414b55606c778386868686868686867f7265594c3f3226190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a72727272727272727272727273737576787a7d8084898e92999ea5ada9a19e928d82796d675c544a3f352b1e150b000000000000000000000000000000000000000000000008111b252d343a3e3f4646464646464646453a393a44505b656c767979797979797979726d63574a3e3125180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabb2a5998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818385878a8d91969b9fa3abaca49f97928a80786d675d554b42382d23190c0300000000000000000000000000000000000000000000000009131b23292e31323939393939393939382e2d333f49535b606a6c6c6c6c6c6c6c6c65635b51463a2e2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabb8a79c918c8b8b8b8b8b8b8b8b8b8b8b8c8c8d8e8f9197969a9ea0a8acaca49f9a938e857e736d665d554b43392f261c110700000000000000000000000000000000000000000000000000010911181e2225252d2d2d2d2d2d2d2d2b21222d38414950535d6060606060606060595751493f352a1e12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabb8ada39c99989898989898989898989898999a9b9c9ea1a9a7aaa9a8a19e9a938e87817a716c605c544b433930271d140a00000000000000000000000000000000000000000000000000000000070d1216181920202020202020201e141b262f383f44465053535353535353534c4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a6a6a8a9a8a6aba39f9d9996918d87827c746d68615a504a423931271e150b0200000000000000000000000000000000000000000000000000000000000106090b0c1313131313131313120a141d262d3337394346464646464646463f3e3a352d251c1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9e9c9b9a979992908c8984807b756f6a615e5650443f3830271f150c030000000000000000000000000000000000000000000000000000000000000000000000060606060606060605020b141b22272b2d37393939393939393932312e2a231c130a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c788592939393939393939393939393939393939398929291918f8e8d8b888683807c79736e69625f58524c443e342e261e150d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f202a2d2d2d2d2d2d2d2d2625221e18110a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c788586868686868686868686868686868686868686868585848381807e7c7976736f6d66625f57534e46413a3228231c140c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131d2020202020202020191816120d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3844515d6973787979797979797979797979797979797979797979787877767573716f6d676663605c54534d47433c3530282017110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000305061013131313131313130c0c09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2835414c5761696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b6968676462605c555653504a47423c373129251e160e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1824303b464f575d5f606060606060606060606060606060606060605f5f5e5e5c5b5a585553514b4946443f3837312b262019130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809131313131313130b0a080500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131f29343d464c51525353535353535353535353535353535353535353525251504e4d4b494745403c3a38342e2b261f1b150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151620202020202020181715110c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d18222b343b41444546464646464646464646464646464646464646464545444342403e3c3a38342f2d2b28231c1a150f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b1f21222d2d2d2d2d2d2d2524211d171109000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000610192229303538393939393939393939393939393939393939393939393838363534312f2d2c2923201f1c17110e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f3939393939393931302d29221b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000710181f24282b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2b2928272522201f1c181312100b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222a32373b3c464646464646463e3d39342d241b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d13181c1e1f20202020202020202020202020202020202020201f1f1e1d1b1a18161413100c0706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c434749535353535353534b49453e362d22170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080c1012121313131313131313131313131313131313131313121211100f0d0b09070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e535560606060606060585650483e34291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f626c6c6c6c6c6c6c64625a5045392d2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090c0e10111213131212110f0d0b0807050200000000000000000000000000000000000000000000000000000000000000000000010507070a0d101112131312110f0d0a070603000000000000060606060606060000000000000000000000000000000000000000000000000000000815212e3b47535f6a7679797979797979716c6256493d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050a0f121515181b1d1e1f20201f1f1e1c1a181514120e090501000000000000000000000000000000000000000000000000000000000002080d111314171a1d1e1f20201f1e1c1a161312100c0600050707131313131313130707040100000000000000000000000000000000000000000000000916222f3c4955626f7c868686868686867e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12151b1f21222528292b2c2c2c2c2b2b29272521201e1a14110d08020000000000000000000000000000000000000000000000000003090e13191d20212427292b2b2c2c2c2b292723201f1c17110d111314202020202020201413110d08020000000000000000000000000000000000000000000916222f3c4955626f7c8893939393938b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d141a1e20262b2e2f323436383939393938373633312e2d2a25201d19130d080200000000000000000000000000000000000000000000060b151a1e25292d2e3134363738393938383633302d2c28231c191d20212d2d2d2d2d2d2d21201d19130c0400000000000000000000000000000000000000000916222f3c4955626f7c88959f9f9f978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d13191f252a2d31373a3c3f41434445464645454442403e3b3a36302d29251e19130c0400000000000000000000000000000000000000020a111720262b3035393a3d404344454646454442403d3a38342e2a25292d3939393939393939392c29241e160e04000000000000000000000000000000000000000916222f3c4955626f7c8895a2aca4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e171e252a30363a3c4347484b4e50515253535252514f4d4b4846423b39353029241e160e070000000000000000000000000000000000030b141b222731373a4146474a4d505152535352514f4d4946443f38363035394646464646464646463935302820160c020000000000000000000000000000000000000916222f3c4955626f7c88959f9f9f978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117202930363b4246484e5355585b5c5e5f5f5f5f5e5e5c5a5854524d4746413a35302820191109010000000000000000000000000000030d151d262d333c42474c5254575a5c5e5e5f5f5f5e5c5a5653504a46413a414653535353535353535345413a32281e13080000000000000000000000000000000000050b16222f3c4955626f7c8893939393938b7e7164584b3e3125180e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227323a41464d5254585f626567696b6c6c6c6c6b6a696664615e5754524c46413a322b231b130900000000000000000000000000010b151f272f383f444e53565e616467696a6b6c6c6b6b696663605c54524c444c525f606060606060605f524c443a3024190d010000000000000000000000000000040a0f161c222f3c4955626f7c868686868686867e7164584b3e31251e1a140e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141d262d333e444c52575e61666a6f727476777879797878777573716e6966615e56524c443d352d251b130900000000000000000000000007121d273139414950575f62686d7073767778797978777573706d66615e5650565d6c6c6c6c6c6c6c6c6c5d564c4135291d110400000000000000000000000000060c161b21272c2f3b47535f6a7679797979797979716c6256493d322d2b261f1a140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262f383f4450565e61696e73777b7e81838485868685858482807e7b77736d68615d564f473f372d251b110800000000000000000000000c18232f39434b535b606a6e747a7d808384858686858482807c79736d68615a5d68767979797979797976685d5245392c2013070000000000000000000000030a111721272c33383940454e585f626c6c6c6c6c6c6c64625a5047433c3a37312a251f170f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f384149505a61686d747b8084888b8e8f919292929291918f8d8b87837f7a736d68605951493f372d231a0e0400000000000000000004101c2934404b555c656c737b81868a8d8f9191929292918f8d8985807a716c64616d7a868686868686867a6d6054473a2d21140700000000000000000000040c151c232832383d44484b515356595c606060606060605c5b5855534e4846423c3631292117110a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d384149535b606c717a81868d9196989a9c9e9f9f9f9f9e9d9c999795908c86807a706b625b51493f352c20160c0200000000000000040e18222c3845515c676d7780878e92999a9c9d9e9f9f9e9e9c9997928c857e736e616e7b88939393939386796c605346392d201306000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5855534d46423b3328231c150c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e27333f49535b656c737e858e92999ea0a8a9a19e9d9c9b9c9d9fa2aaa7a09d98928d847d726d625b51473e32281e1308000000000000000a15202c38444f59606d79818c939a9fa3aba9a8aaa29f9e9e9e9fa29e97928a80746e6f7b88959f9f9f928579655b5044372b1f12050000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615f57534d453f342e261e150c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303944505b656c77808a92979fa3a8a19e999792908f8f8f909298999da0a7a29f9691877f726d62594f443a3024190d020000000000030f1b26323c4854606b74818e939fa4acaba39f9b979892919192939a999d9f928d80746f7c8996a2ab9e9285786b5f493f33271b0f0300000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5751443f3830261e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424f59606c77808d929fa2a9a39f96918c8885838282838385888c91959ea1a8a199938b7f726b61564c4135291f1409000000000006131f2b37434e5863707d89939da5afa8a199928e8a878584848586888c90959e928b7f727d8996a3ab9e9185786b5e52452d22170b000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625b504a423830261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54606b737f8c929da4a9a299928c847f7b787675757677797b7f848b9297a0a7a49f93887d70685d52453b30251a0e02000000000815212e3b47535f6a7683909da5afaaa1969187817d7a79787778797c7f838b919792877c7d8a97a3ab9e9184786b5e5145382b1e0600000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b726d605c544a42382e23170d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c66707d87939fa4aba29792877f79726e696a696869666c6e72787e859095a0a8a49a91847a6d60574d42362a1e1105000000000916222f3c4955626f7c88959fabaea29891847c75706d686b6b666d6f73787e85919590837e8a97a4ab9e9184786b5e5145382b1e12050000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99938e867f746d665c544a3f34281f160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54606d79849199a4aea39992857d726d67625f575c5c545b6062666c717b839095a0aaa1968e8174695e52463a2d20140700000003101c28343f4a546673808d99a7b1ab9f92867c6f6a64615e56545c6062666c717b8391959083909daaaa9e9184776b5e5144382b1e1105000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a49f98928b81786d665c50443e31281d13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c66727f8c96a0aba89f92877d6f6b605c55534d4f4f4a5053545b60696e7a839198a3a39f92867b6e6154473b2e21140800000006121f2b3844505c667683909da9afa3998c80736a605854524c4a5153545b60696e7a8491959095a0abaa9e9184776b5e5144382b1e110500000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f938e81786d605a50433a2f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919ea8aca1968c80736b6059514b474242423f44464a50575e686e7b86929a99928f8b8073665a4d4033271a0d0000000713202d3a4653606d7986929facac9f92867a6d61584e4746414044464a50575e686f7c87929da0a7b1aa9e9184776b5e5144382b1e11050000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a59e938d80736c61554b4035291d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5564717e8a96a1adaa9e9184796d60594f45403937312d3338393f444d565f6973808c8e8a86827f7b6e6155483b2e2215080000000815222e3b4855616e7b8898a3aea99c908376685e52463c393634383a3f444d56606a73808d99a3afb7aa9e9184776b5e5144382b1e1105000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59d928a7d70675d5145392f24180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6775828f9ca8aea2988b7e71675d51473d342e2b2622282b2d333b444d57616d7a84817d7a76726e695f53463a2d2114070000000a1623303d495663707c8996aab4a79a8d807467564c41342d2a282c2d333b444e58616e7b86929facb7aa9e9184776b5e5144382b1e110500000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49e9184796d60554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facac9f92857a6d60554b403528231d1a171c1f2228323c46525e686d7774706d6765615f574d42372b1e12050000000b1724313e4a5764717d8a97a4b0a5988b7e7265584b3f30251d1c1f2228323d46525e6975828f9ba8b5aa9e9184776b5e5144382b1e11050000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6ada1968c7f73675d5145392c1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a99a3aea89b8e8175675d5143392f23181d1d1d1d1d17202a36414c565e616b6764605d5555534d453c31261a0e020000000b1825323e4b5865717e8b98a4b0a3978a7d7064574a3d312417101217202a36424d5764717e8b97a9b3aa9e9184776b5e5144382b1e11050000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9285796d6053473a2f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aabb4aa978a7e7164554b4031272a2a2a2a2a2a2a2a2a25303a444c52545e5b5753514b4846423c332a1f1409000000000c1825323f4b5865727e8b98a5afa296897c6f6356493c30231609060e1a25303b4855626e7b8897a2adaa9e9184776b5e5144382b1e1105000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1978a7e7164554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556976828f9ca9aea298887b6e6255483b2f373737373737373737373737323a414647514e4a4745403b3a373128231c140c020000000c1925323f4c5865727f8b98a5afa295897c6f6256493c2f231609000913202d394653606c7985929fabaa9e9184776b5e5144382b1e110500000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea99c8f8275675d5145392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515d677885919eabac9f9285796c6053464444444444444444444444444444444444444444444444444444443a38342e261e140a0000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090005121f2b3744505b657784919daaaa9e9184776b5e5144382b1e110500000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8696a1adaa9d908377665b505050505050505050505050505050505050505050505050505050505046443f3830261c110600000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900030f1b27333f49536a7683909da9aa9e9184776b5e5144382b1e110500000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea399897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a9b2a99c8f837669545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d53504a42382e23170b00000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900000b17222d424f5c6975828f9ca8aa9e9184776b5e5144382b1e110500030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b5ab998c807366594d4033261a0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afa89b8f82756a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a605c544a3f34281c1003000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090000061c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8275685b4f422f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0a79b8e8177777777777777777777777777777777777777777777777777777777777777776d665c5044382b1f1206000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9184776a554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0ab9e92858383838383838383838383838383838383838383838383838383838383838383786d6053463a2d201307000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facac9f928579675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0ada197929090909090909090909090909090909090909090909090909090909090909086796c605346392d201306000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabaea298867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0b3a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d928679655b5044372b1f1205000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab4aa94877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0b8b0aba99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9faaaaaaaaaa9f9285786c5f493f33271b0f03000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f22140c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afb0a69f9c93939393939393939393939393939393939393939393939393a0a8b2ab9e9185786b5e52452d22170b00000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2e261e170f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895aab3ab9f948f8686868686868686868686868686868686868686868686868996a0acaa9d9083776a5d5044372a1d0600000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493f38302921180f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8798a2aea99c8f8279797979797979797979797979797979797979797979797984919eaaa99c8f8276695c4f4336291c1003000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9aea295887b6f6256504a423b332a21180f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d687885929fabaa9d9084776c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7986929faca79a8d8174675a4e4134271b0e01000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e68605c544d453c332a21170c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c566a7683909da9ab9f928578695e606060606060606060606060606060606060626e7b8899a3afab988b7f7265584c3f3225190c00000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab3a79a8d807a736d665e574e453c33291e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d192430414e5a6774818d9aabada297877b6e6154535353535353535353535353535353535764717d8a97abaea399897c706356493d3023160a00000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaab7a99d928d867f786e695f574e453b30271c12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081724313e4a5764717e8a99a4afa9978b7e7164564d41464646464646464646464646434f596774818e9aa7ac9f92867a6d6053473a2d20140700000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facafa59e9b98928c837b6e6a5f574d42392e23180c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86939faca89b8e8175685e52463c313939393939393939313a4854606b7884919eaba99d908376675d5145392c1f130600000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e938f8b929590847c6e695e544a4034281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6876838f9ca9ac9f92867b6e61584e433a322c292424292c323a434e58636f7c8996a1aca6998c7f7266554b4035291d100400000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89b8f817e85909591857b6e665c51443a3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5665717e8b97a1ada3998d80736a5f554c443d39352f2f35393d444c56606a75828f9ca8ab9f94887b6e6155483b2f24180c0000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b5ab998c7f737b8390959083786d60564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4753606d7985919ea8ab9f92867c6f675e564f47454041414045474e565d686f7c87939faca69c8f8276695f53463a2d1d12070000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7afa399897d706e798390958c7f73685e5246392d20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3845515c67727f8c96a0aba3989183796d68605953514b4e4e4b51535860686d7a84919aa4aa9f94897d7063574d42362a1e0b010000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabac9f92867a6d676e7b869292857a6d6154473c32271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55606d79849199a3aaa09590837a706b64605d555b5b555d60636a6f7a828f96a0aca3988f82766b6055453b31261a0e000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adaa9c8f8376675f6973808d988c807366584e43372b1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f3945515c67707d87929fa4a79f9590847d75706d6769676869676d70757c848f949fa8a49f92867c6f62594f44332a1f1409000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8aea2988b7e726557626e7b88969184776a6054473b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2834404b55606b727f8c929da4a79f969189827d7a7675747475777a7d828991969fa6a49d928b7f726a5f53473d3321180e03000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facaa9f92867a6d60575f6a78849196887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c18232e39434f59636d74808d929fa2a8a09e948f8a86838281818283868a8f949ea0a8a29f928d80746d62584e43352c210f0600000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea2988d81746861646c6c75828f988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303d47515b606c77808a92979fa3a69e9c9992908f8e8e8f9092999c9ea6a49f98928b80776c605b51463c31231a0f0000000000000c1925323f4c5865727f8b98a5aca295887c6f6255493c2f22160900040f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba69f92867b6e616c70797979818e9a8e8174675b4e4134281b0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2b353f44505b656c737e858e92999ea1a8a39f9d9c9a9b9c9d9fa3a9a19e9a938f867e746c655b50493f342a2011080000000000000c1925323f4c5865727f8b989f9f9f95887c6f6255493c2f2216090b10131c2935424f5c6875828f9b9f9f9e9184776b5e5144382b1e1105000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a89f948c7f726964707d8686868e939c8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c192327333f49535b606c717a81878d9196989b9c9e9f9f9f9f9e9c9b9897928d87827b716c605b53493f372d22180e000000000000000c1925323f4c5865727f8b9393939393887c6f6255493c2f22160f161c20222935424f5c6875828f939393939184776b5e5144382b1e11050000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a8a0969082786d6064707d8a93939b9e9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071117222d384149505a61686e747b8084888b8e90919292929291908e8c8985817b756e69625a504941382d251b1006000000000000000c1925323f4c5865727f868686868686867c6f6255493c2f22171b1f272c2f3035424f5c68758186868686868684776b5e5144382b1e110500000000030e1a26313c44515c666e7a8490959ea5a79f99928e898583828181818385888d92989ea6a59e9691847a6d665c64707d8a979fa8aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f4450565e61696e73787c7f818384858686858483817f7c79746e6a615e5750443f382f261b130900000000000000000b1824313e4a56626d7279797979797979766a5f53473b2e2122272b33383c3d41444d59656f757979797979797772675c4f43372a1d110400000000000915202834404a545e686e7b838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a09e938f847b6e685e5464707d8a97a3acab9e9184786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2c353d44484c52575e61656c6f7274767878797978787675726f6d66625f58534d5345413a32281e130800000000000000000915222e3a46515b62656c6c6c6c6c6c6c625f584e43372b272d33373d4448494e5152545d65686c6c6c6c6c6c6b6760564b3f33271b0e020000000000030c18232e39424c565e696e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918a827a6e695e565764707d8a979f9f9f9e9184786b5e5145382b1e12000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c27333d474f5556606060605b60626568696b6c6c6c6c6b69686562605c54606060605f524c443a3024190d010000000000000006121e29343f495156586060606060606057554f473e332d33383f44464f54565a5e5f5f5e5b5c6060606060605e5c564e44392e23170b0000000000000007121c27303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e756d685e574d5764707d8a93939393939184786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202c38444f5961636c6c6c6c69615d565b5d5e5f5f5f5f5e5d5b59575f616a6c6c6c6c6c5d564c4135291d110400000000000000010d18232d373f464a4c525c64676c6c6c6361594f4438383f44495053596063676a6c6c6b67626058504a5353514f4b443c32281d120600000000000000000b151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e78716c605d564d4a5764707d8686868686868684786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4855616b7079797979756d686058515152535352514b515a61696e777979797976685d5245392c201307000000000000000006111b252d343a3f4c58646e74797979706b6155483e414950535b60646b707477797977746f6a605c544a3f44433f39322a20160c010000000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a75716d66615a524c434955616c70797979797979797872685c5043372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d86868686827a6f6a625b524c4446464e555d606c717b83868686867a6d6054473a2d21140700000000000000000009131b232934414d5a6774808686867d7063564c4a4f535b60656c71777d8184858584817c746d665c50443e2f332e2820180e0400000000000000000000050e172029313940454f54596063676d70737576787879797978777573706d6764605c545045413a44505a61646c6c6c6c6c6c6c6b6860564b3f33271b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d78828f95948f847c726d605d564e4550585f676d747e869095938c8073685d5245392c2013070000000000000000000109111925323f4c5865727f8b938d8074685d55575961656c71787d83898d919292918e8780786d605a5041382d22170b0e06000000000000000000000000050e171f272f353d44484f55555d606366686a6b6c6c6c6c6b6a686663605d5553504a423e35333e48505557606060606060605e5c564e443a2f23170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c666d798390979691877f756d686058515a626a6f79818a9298958e81776c60564c4135291d110400000000000000000000000a1723303d4a5663707d899a92857a6d676363666b70787e848a90959a9d9f9f9e9a938d81756c6153493f33271b0f030000000000000000000000000000050d151d242933383d44484b515356595b5d5e5f5f5f5f5e5d5c595754514b46443f3830292c363e44494a5353535353535351504b443c32281d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545d676e7b85929899928c827a6f6a625d606c717c838e939f969083796d655b50443a3024190d0100000000000000000000000714212e3a4754616d7a8693978f827972707072777d838a91959da0a7a5a3a3aca49f938a7e71655b5044372b1f1205000000000000000000000000000000030b121821272c3338394045474a4c4f50525253535252504f4d4a4745413a38342e261e232c33393c3d4646464646464645433f3a322a20160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c151d232e38424c555f696f7d86929f9f938f847c726d676d757e8690959d9891847a6e675d53493f32281e13080000000000000000000000000713202d3946525e687783909d948f847f7d7d7f848a90959da0a79f9d9896979a9fa29e9184786c605346392d2013080000000000000000000000000000000001070c161c21272c2f35383a3d4042434545464646454442403d3a39352f2b28231c141a22282d3031393939393939393837332f2820180f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f171e272e343f464e5457606b717e8b929c9e9691877f757079818b9298a09992867c6f685e554b41382d20160c0200000000000000000000000005111d2935414c5666737f8c989e96918c8a8a8c91959da0a69f9c95908b8a8a8d9297a096897d7063564a3d3024190d010000000000000000000000000000000000050b10161c1d24292c2d30333537383939393938373533302d2c29241f1c17110a10171c2023242d2d2d2d2d2d2d2b2a27231d160f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001071119212930394045505860626b6c6c73808d939ea199928c827c848e939fa29f93877e706a5f564c43392f261b0e0400000000000000000000000000010d1925303b4754616e7b86929fa09e999696999da0a7a09d949089837f7d7d808591969a8d807467564c4135291d110500000000000000000000000000000000000000050b1012181d1f202326282a2b2c2c2c2c2b2a29262421201d1813100b0600050b10141617202020202020201e1d1b17120c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1218232b333b424b515a626a6f7879797979818e959fa39f938f8991969ea59d938c7f726c61584e443b31271d140a0000000000000000000000000000000814202d3a46525e69727f8c949ea5a5a3a3a5a69f9c95908a837c76727070737b84919a918477685d5246392d20130700000000000000000000000000000000000000000001070c10131417191c1d1f1f20201f1f1d1c1a171413110d0703000000000004080a0a1313131313131312110f0b0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d2429353d454d545c606c717c848686867f79839096a1a59e9b969ea0a89f948e81746d635a50463c32291f150b0200000000000000000000000000000005111e2a36424d57606d78828f939b9e9f9f9d9a94908a837d766f6b656364696f7c879395877a6d6154473a2e2114070000000000000000000000000000000000000000000000000406070a0d0f10121213131312110f0d0a070604010000000000000000000000060606060606060504020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f282f353f474f575e666d747e8691969184796e7b849198a29f9f9f9fa9a0968f82786d605b51473e342a20170d0300000000000000000000000000000000020e1a25303b44515c666d79818a8e919292908d89837d77706b6360595757606a76839093897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2831394045515960696e78818b9298958b7e71696f7c86929a93939393939791847a6d665c51493f352c22180e0500000000000000000000000000000000000009141f2834404a545c676d757d8284868584807c76706b636159544f4a4e5866737f8686867e7165584b3e3225180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f39434b515b626b707b838e939f9a9083786c606a707e8786868686868686857b6e685e544a40372d231a100600000000000000000000000000000000000000020c18232e39424b555c606b707578797877746f6b636159554f48443d4b57636d73797979716c62564a3d3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b555d606d727d8590959d9f93877c6f655b616c707979797979797979786e695f564c42392e251c110800000000000000000000000000000000000000000007121c273039434b51596163686b6c6c6a67636059554f48443e383b46525b63666c6c6c65625a50453a2e211509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d676d757f8792979fa2978e81746a60535a61646c6c6c6c6c6c6c6c6c625f574d443a30271c130a00000000000000000000000000000000000000000000000b151e27303940454f55575b5e5f5f5d5a56544f48443e38332c354049525759606060585650483f34291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d79818c929993939392857a6d61584e50555760606060606060605f55534d453c32281e150b010000000000000000000000000000000000000000000000030c151e272e343e44484a4f515352514d4948433d38332c28242e3740464b4c5353534b4a453f362d22170c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a778386868686868686867f72685e524644494a5353535353535353524847423c332a20160c0300000000000000000000000000000000000000000000000000030c151d232833383c3d4245464544413c3b38322c28211c1c252e353b3e404646463e3d3a342d241b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2936424f5b6671777979797979797979726d62564c41393c3d4646464646464646453b3a37312a21180e04000000000000000000000000000000000000000000000000000000030b121821282c2f30353839393734302f2c27211c1610131c242a2f323339393932312e29221b12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26333e4a555f666a6c6c6c6c6c6c6c6c65625b51443a3030313939393939393939392f2e2b2620180f06000000000000000000000000000000000000000000000000000000000000070c161c202324282b2c2c2a2723221f1b16100b050a12191e2325262d2d2d2524211d171109000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16222d39434d555b5d6060606060606060595751493f322923242d2d2d2d2d2d2d2d2c22211e1a150e060000000000000000000000000000000000000000000000000000000000000000050b101416171c1e201f1e1a1615130f0a04000000070d13161919202020181715110c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111c27313b434a4f5053535353535353534c4a463f372d20171720202020202020201f1514120e090300000000000000000000000000000000000000000000000000000000000000000000000407090a0f121312110e0909070300000000000002070a0c0d1313130b0b090501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151f2931393e424446464646464646463f3e3a352d251b0e0a131313131313131312080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d171f272d333637393939393939393932312e29231b13090006060606060606060600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d151c2226292a2d2d2d2d2d2d2d2d2625221e18110901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b11161a1d1d2020202020202020191816120d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0e101113131313131313130c0b0906010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 m_StreamData: serializedVersion: 2 offset: 0 From c22ca07a0fc510acceb61df3e4ed8865a9aa8e33 Mon Sep 17 00:00:00 2001 From: VDH Date: Tue, 27 Jan 2026 18:04:32 +0700 Subject: [PATCH 07/20] done skill combo --- .../{EC_IvtrArrow.cs => CECIvtrArrow.cs} | 46 +- .../Managers/EC_IvtrItem/CECIvtrArrow.cs.meta | 2 + .../{EC_IvtrWeapon.cs => CECIvtrWeapon.cs} | 46 +- ...trWeapon.cs.meta => CECIvtrWeapon.cs.meta} | 0 .../Managers/EC_IvtrItem/EC_IvtrArrow.cs.meta | 2 - .../Managers/EC_IvtrItem/EC_IvtrItem.cs | 202 ++--- .../Managers/EC_IvtrItem/EC_IvtrType.cs | 166 ++-- .../PerfectWorld/Scripts/Managers/EC_Skill.cs | 2 +- .../Scripts/ModelFiles/CECComboSkillState.cs | 16 + .../Scripts/Network/CSNetwork/GameSession.cs | 2 + .../Scripts/Objet/Shortcut/CECShortcutSet.cs | 2 +- .../Scripts/Skills/CECSCSkillGrp.cs | 3 + .../Scripts/Skills/ElementSkill.cs | 67 +- .../FLOW_CREATE_SKILL_GROUP_SHORTCUT.md | 820 ++++++++++++++++++ .../FLOW_CREATE_SKILL_GROUP_SHORTCUT.md.meta | 7 + Assets/PerfectWorld/Scripts/Skills/skill.cs | 1 + .../Scripts/UI/Dialogs/CDlgSkillSubOther.cs | 540 ++++++++++++ .../UI/Dialogs/CDlgSkillSubOther.cs.meta | 2 + .../Scripts/UI/GamePlay/AUIImagePicture.cs | 5 +- .../Scripts/UI/GamePlay/CdlgQuickBar.cs | 433 ++++----- Assets/Scripts/CECHostPlayer.cs | 198 +++-- .../LiberationSans SDF - Fallback.asset | 365 +------- 22 files changed, 2026 insertions(+), 901 deletions(-) rename Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/{EC_IvtrArrow.cs => CECIvtrArrow.cs} (79%) create mode 100644 Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/CECIvtrArrow.cs.meta rename Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/{EC_IvtrWeapon.cs => CECIvtrWeapon.cs} (94%) rename Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/{EC_IvtrWeapon.cs.meta => CECIvtrWeapon.cs.meta} (100%) delete mode 100644 Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArrow.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Skills/FLOW_CREATE_SKILL_GROUP_SHORTCUT.md create mode 100644 Assets/PerfectWorld/Scripts/Skills/FLOW_CREATE_SKILL_GROUP_SHORTCUT.md.meta create mode 100644 Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgSkillSubOther.cs create mode 100644 Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgSkillSubOther.cs.meta diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArrow.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/CECIvtrArrow.cs similarity index 79% rename from Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArrow.cs rename to Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/CECIvtrArrow.cs index b196cf02e4..6dd9d4b727 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArrow.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/CECIvtrArrow.cs @@ -17,9 +17,9 @@ namespace PerfectWorld.Scripts.Managers /// /// Arrow item class (cac loai mui ten) /// - public class EC_IvtrArrow : EC_IvtrEquip + public class CECIvtrArrow : EC_IvtrEquip { - protected IVTR_ESSENCE_ARROW m_Essence; // Arrow essence data + protected IVTR_ESSENCE_ARROW m_Essence; // Arrow essence data // Data in database protected PROJECTILE_TYPE m_pDBType; @@ -29,30 +29,30 @@ namespace PerfectWorld.Scripts.Managers /// /// Template id /// Expire date - public EC_IvtrArrow(int tid, int expire_date) : base(tid, expire_date) + public CECIvtrArrow(int tid, int expire_date) : base(tid, expire_date) { - m_iCID = (int)InventoryClassId.ICID_ARROW; + m_iCID = (int)InventoryClassId.ICID_ARROW; m_Essence = new IVTR_ESSENCE_ARROW(); // Get database data elementdataman pDB = ElementDataManProvider.GetElementDataMan(); DATA_TYPE DataType = DATA_TYPE.DT_INVALID; - m_pDBEssence = (PROJECTILE_ESSENCE)pDB.get_data_ptr((uint)tid, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); - m_pDBType = (PROJECTILE_TYPE)pDB.get_data_ptr((uint)m_pDBEssence.type, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); + m_pDBEssence = (PROJECTILE_ESSENCE)pDB.get_data_ptr((uint)tid, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); + m_pDBType = (PROJECTILE_TYPE)pDB.get_data_ptr((uint)m_pDBEssence.type, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); - m_iPileLimit = m_pDBEssence.pile_num_max; - m_iPrice = m_pDBEssence.price; - m_iShopPrice = m_pDBEssence.shop_price; - m_iProcType = (int)m_pDBEssence.proc_type; - m_i64EquipMask = EC_IvtrType.EQUIP_MASK64_PROJECTILE; + m_iPileLimit = m_pDBEssence.pile_num_max; + m_iPrice = m_pDBEssence.price; + m_iShopPrice = m_pDBEssence.shop_price; + m_iProcType = (int)m_pDBEssence.proc_type; + m_i64EquipMask = EC_IvtrType.EQUIP_MASK64_PROJECTILE; } - public EC_IvtrArrow(EC_IvtrArrow other) : base(other) + public CECIvtrArrow(CECIvtrArrow other) : base(other) { - m_pDBType = other.m_pDBType; - m_pDBEssence = other.m_pDBEssence; - m_Essence = other.m_Essence; + m_pDBType = other.m_pDBType; + m_pDBEssence = other.m_pDBEssence; + m_Essence = other.m_Essence; } public override bool SetItemInfo(byte[] pInfoData, int iDataLen) @@ -67,11 +67,11 @@ namespace PerfectWorld.Scripts.Managers CECDataReader dr = new CECDataReader(pInfoData, iDataLen); // Skip equip requirements and endurance - dr.Offset(5 * sizeof (int), CECDataReader.SEEK_CUR); + dr.Offset(5 * sizeof(int), CECDataReader.SEEK_CUR); int iEssenceSize = dr.ReadInt(); //ASSERT(iEssenceSize == sizeof (IVTR_ESSENCE_ARROW)); - + m_Essence = new IVTR_ESSENCE_ARROW(dr.ReadData(iEssenceSize)); } catch (Exception e) @@ -105,6 +105,8 @@ namespace PerfectWorld.Scripts.Managers } return base.GetName(); // Fallback to base class method } + public IVTR_ESSENCE_ARROW GetEssence() { return m_Essence; } + public PROJECTILE_TYPE GetDBSubType() { return m_pDBType; } // Get item description text protected override string GetNormalDesc(bool bRepair) @@ -128,22 +130,22 @@ namespace PerfectWorld.Scripts.Managers AddDescText(namecol, true, pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_NAMENUMBER), GetName(), m_iCount); else AddDescText(namecol, true, pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_NAME), GetName()); - + AddIDDescText(); AddExpireTimeDesc(); // Weapon requirement - AddDescText(white, true, pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_WEAPONREQ), m_Essence.iWeaponReqLow, + AddDescText(white, true, pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_WEAPONREQ), m_Essence.iWeaponReqLow, m_Essence.iWeaponReqHigh, m_pDBType.Name); // Damage enhance - if (m_pDBEssence.damage_enhance != 0) + if (m_pDBEssence.damage_enhance != 0) { AddDescText(-1, false, pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_ADDPHYDAMAGE)); AddDescText(-1, true, " %+d", m_pDBEssence.damage_enhance); } - + // Add addon properties if (strAddon.Length > 0) m_strDesc += strAddon; @@ -153,7 +155,7 @@ namespace PerfectWorld.Scripts.Managers // Suite description AddSuiteDesc(); - + // Extend description AddExtDescText(); diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/CECIvtrArrow.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/CECIvtrArrow.cs.meta new file mode 100644 index 0000000000..963f4d75ac --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/CECIvtrArrow.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f479e02d3a184f94bb046bc6cbf64ba1 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeapon.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/CECIvtrWeapon.cs similarity index 94% rename from Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeapon.cs rename to Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/CECIvtrWeapon.cs index 7236b8ed82..d8918cb70b 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeapon.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/CECIvtrWeapon.cs @@ -67,7 +67,7 @@ namespace PerfectWorld.Scripts.Managers /// /// Weapon item class (cac loai vu khi) /// - public class EC_IvtrWeapon : EC_IvtrEquip + public class CECIvtrWeapon : EC_IvtrEquip { //Attributes //Weapon essence data @@ -81,7 +81,7 @@ namespace PerfectWorld.Scripts.Managers /// Constructor for weapon item (cac loai vu khi) /// /// Template id - public EC_IvtrWeapon(int tid, int expire_date) : base(tid, expire_date) + public CECIvtrWeapon(int tid, int expire_date) : base(tid, expire_date) { m_iCID = (int)InventoryClassId.ICID_WEAPON; elementdataman pDB = ElementDataManProvider.GetElementDataMan(); @@ -99,7 +99,7 @@ namespace PerfectWorld.Scripts.Managers RepairFee = m_pDBEssence.repairfee; ReputationReq = m_pDBEssence.require_reputation; } - public EC_IvtrWeapon(EC_IvtrWeapon other) : base(other) + public CECIvtrWeapon(CECIvtrWeapon other) : base(other) { m_pDBEssence = other.m_pDBEssence; m_pDBMajorType = other.m_pDBMajorType; @@ -436,5 +436,45 @@ namespace PerfectWorld.Scripts.Managers { return m_Essence.weapon_level; } + + // Clone item + public override EC_IvtrItem Clone() + { + return new CECIvtrWeapon(this); + } + + // Get equipment type + public virtual int GetEquipmentType() + { + return 0; // EQUIP_WEAPON = 0 + } + + // The weapon is range weapon ? + public bool IsRangeWeapon() + { + return m_Essence.weapon_type == (int)WEAPON_TYPE.WEAPON_TYPE_RANGE; + } + + // Get essence data + public IVTR_ESSENCE_WEAPON GetEssence() + { + return m_Essence; + } + + // Get database data + public WEAPON_MAJOR_TYPE GetDBMajorType() + { + return m_pDBMajorType; + } + + public WEAPON_SUB_TYPE GetDBSubType() + { + return m_pDBSubType; + } + + public WEAPON_ESSENCE GetDBEssence() + { + return m_pDBEssence; + } } } \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeapon.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/CECIvtrWeapon.cs.meta similarity index 100% rename from Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeapon.cs.meta rename to Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/CECIvtrWeapon.cs.meta diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArrow.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArrow.cs.meta deleted file mode 100644 index c85739af4b..0000000000 --- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArrow.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: d252cb1fcb2e946688fd6836548fd0d4 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrItem.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrItem.cs index 6cd67acbdd..8c1f9465d0 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrItem.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrItem.cs @@ -42,7 +42,7 @@ namespace BrewMonster.Scripts.Managers if (edm == null) return CacheAndReturn(templateId, ""); uint id = unchecked((uint)templateId); DATA_TYPE dATA_TYPE = default; - object data = edm.get_data_ptr(id, ID_SPACE.ID_SPACE_ESSENCE,ref dATA_TYPE); + object data = edm.get_data_ptr(id, ID_SPACE.ID_SPACE_ESSENCE, ref dATA_TYPE); string name = ExtractNameFromElement(data); if (string.IsNullOrEmpty(name)) { @@ -107,15 +107,15 @@ namespace BrewMonster.Scripts.Managers private Sprite LoadIconSpriteByKey(string key) { if (string.IsNullOrEmpty(key)) return null; - + // Load multi-sprite atlas if not already loaded if (_multiSpriteAtlas == null) { LoadMultiSpriteAtlas(); } - + if (_multiSpriteAtlas == null) return null; - + // Try to find sprite by name in the atlas if (_spriteNameToIndexCache.TryGetValue(key, out var index)) { @@ -124,7 +124,7 @@ namespace BrewMonster.Scripts.Managers return _multiSpriteAtlas[index]; } } - + // Fallback: try to find by name directly in the atlas foreach (var sprite in _multiSpriteAtlas) { @@ -133,7 +133,7 @@ namespace BrewMonster.Scripts.Managers return sprite; } } - + // Try lowercase/uppercase variants as fallback foreach (var sprite in _multiSpriteAtlas) { @@ -143,10 +143,10 @@ namespace BrewMonster.Scripts.Managers return sprite; } } - + return null; } - + private void LoadMultiSpriteAtlas() { try @@ -156,7 +156,7 @@ namespace BrewMonster.Scripts.Managers if (atlasSprites != null && atlasSprites.Length > 0) { _multiSpriteAtlas = atlasSprites; - + // Build name-to-index cache for faster lookups _spriteNameToIndexCache.Clear(); for (int i = 0; i < atlasSprites.Length; i++) @@ -166,7 +166,7 @@ namespace BrewMonster.Scripts.Managers _spriteNameToIndexCache[atlasSprites[i].name] = i; } } - + } else { @@ -280,7 +280,7 @@ namespace BrewMonster.Scripts.Managers { if (data == null) return ""; var t = data.GetType(); - + // Debug: Log all available fields and properties // Debug.Log($"[Inventory] Data type: {t.Name}"); var fields = t.GetFields(BindingFlags.Public | BindingFlags.Instance); @@ -301,7 +301,7 @@ namespace BrewMonster.Scripts.Managers // Debug.Log($"[Inventory] Method: {m.Name} ({m.ReturnType.Name})"); // } // } - + // Prefer decoding the raw fields first to control encoding (Unicode for Vietnamese), // then fall back to any string properties if needed. var fieldName = t.GetField("name", BindingFlags.Public | BindingFlags.Instance); @@ -313,7 +313,7 @@ namespace BrewMonster.Scripts.Managers { var rawData = string.Join(",", arr.Take(Math.Min(10, arr.Length))); } - + // Vietnamese names are stored as wide chars; decode as Unicode first. var s = ByteToStringUtils.UshortArrayToUnicodeString(arr); // Debug log to see what we're getting @@ -476,62 +476,62 @@ namespace BrewMonster.Scripts.Managers return hex; } - public int GetPileLimit(int templateId) - { - if (templateId <= 0) return 1; - if (_pileLimitCache.TryGetValue(templateId, out var cached)) return cached; - int limit = 1; - try - { - var edm = ElementDataManProvider.GetElementDataMan(); - if (edm != null) - { - uint id = unchecked((uint)templateId); - DATA_TYPE dt = DATA_TYPE.DT_INVALID; - object data = edm.get_data_ptr(id, ID_SPACE.ID_SPACE_ESSENCE, ref dt); - limit = ExtractPileLimitFromElement(data); - } - } - catch { } - if (limit <= 0) limit = 1; - _pileLimitCache[templateId] = limit; - return limit; - } + public int GetPileLimit(int templateId) + { + if (templateId <= 0) return 1; + if (_pileLimitCache.TryGetValue(templateId, out var cached)) return cached; + int limit = 1; + try + { + var edm = ElementDataManProvider.GetElementDataMan(); + if (edm != null) + { + uint id = unchecked((uint)templateId); + DATA_TYPE dt = DATA_TYPE.DT_INVALID; + object data = edm.get_data_ptr(id, ID_SPACE.ID_SPACE_ESSENCE, ref dt); + limit = ExtractPileLimitFromElement(data); + } + } + catch { } + if (limit <= 0) limit = 1; + _pileLimitCache[templateId] = limit; + return limit; + } - private int ExtractPileLimitFromElement(object data) - { - if (data == null) return 1; - var t = data.GetType(); - // Common field/property names across item essences - string[] names = new[] - { - "pilelimit", "pile_limit", "pileLimit", "stack", "stack_max", "stackMax", "max_stack", "maxStack" - }; - foreach (var name in names) - { - var f = t.GetField(name, BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase); - if (f != null && (f.FieldType == typeof(int) || f.FieldType == typeof(uint) || f.FieldType == typeof(short) || f.FieldType == typeof(ushort) || f.FieldType == typeof(byte))) - { - try - { - var val = f.GetValue(data); - int limit = Convert.ToInt32(val); - if (limit > 0) return limit; - } - catch { } - } - var p = t.GetProperty(name, BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase); - if (p != null && (p.PropertyType == typeof(int) || p.PropertyType == typeof(uint) || p.PropertyType == typeof(short) || p.PropertyType == typeof(ushort) || p.PropertyType == typeof(byte))) - { - try - { - var val = p.GetValue(data, null); - int limit = Convert.ToInt32(val); - if (limit > 0) return limit; - } - catch { } - } - } + private int ExtractPileLimitFromElement(object data) + { + if (data == null) return 1; + var t = data.GetType(); + // Common field/property names across item essences + string[] names = new[] + { + "pilelimit", "pile_limit", "pileLimit", "stack", "stack_max", "stackMax", "max_stack", "maxStack" + }; + foreach (var name in names) + { + var f = t.GetField(name, BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase); + if (f != null && (f.FieldType == typeof(int) || f.FieldType == typeof(uint) || f.FieldType == typeof(short) || f.FieldType == typeof(ushort) || f.FieldType == typeof(byte))) + { + try + { + var val = f.GetValue(data); + int limit = Convert.ToInt32(val); + if (limit > 0) return limit; + } + catch { } + } + var p = t.GetProperty(name, BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase); + if (p != null && (p.PropertyType == typeof(int) || p.PropertyType == typeof(uint) || p.PropertyType == typeof(short) || p.PropertyType == typeof(ushort) || p.PropertyType == typeof(byte))) + { + try + { + var val = p.GetValue(data, null); + int limit = Convert.ToInt32(val); + if (limit > 0) return limit; + } + catch { } + } + } return 1; } } @@ -703,6 +703,7 @@ namespace BrewMonster.Scripts.Managers public string m_strDesc = ""; // Item description public bool m_bIsInNPCPack; // true, this item is in NPC package public bool m_bLocalDetailData; // true, data from GetDetailDataFromLocal + public int m_iCurEndurance; // Current endurance public EC_Inventory m_pDescIvtr; // Inventory only used to get item description @@ -735,6 +736,8 @@ namespace BrewMonster.Scripts.Managers m_bIsInNPCPack = false; m_bLocalDetailData = false; m_pDescIvtr = null; + m_iCurEndurance = 0; + } public EC_IvtrItem(int tid, int expire_date) @@ -808,13 +811,13 @@ namespace BrewMonster.Scripts.Managers DATA_TYPE DataType = DATA_TYPE.DT_INVALID; object data = ElementDataManProvider.GetElementDataMan().get_data_ptr((uint)tid, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); //Debug.Log("Create item data: DataType: " + DataType); - switch(DataType) + switch (DataType) { case DATA_TYPE.DT_WEAPON_ESSENCE: - pItem = new EC_IvtrWeapon(tid, expire_date); + pItem = new CECIvtrWeapon(tid, expire_date); break; case DATA_TYPE.DT_PROJECTILE_ESSENCE: - pItem = new EC_IvtrArrow(tid, expire_date); + pItem = new CECIvtrArrow(tid, expire_date); break; case DATA_TYPE.DT_ARMOR_ESSENCE: pItem = new EC_IvtrArmor(tid, expire_date); @@ -1258,6 +1261,7 @@ namespace BrewMonster.Scripts.Managers #endregion #region Simple property-style accessors (1:1 with C++) + public int GetCurEndurance() { return m_iCurEndurance; } public int GetClassID() => m_iCID; public int GetTemplateID() => m_tid; @@ -1342,7 +1346,7 @@ namespace BrewMonster.Scripts.Managers { //itemdataman* pItemDataMan = g_pGame->GetItemDataMan(); object pData_temp = itemdataman.get_item_for_sell((uint)m_tid); - if(pData_temp == null) + if (pData_temp == null) { SetItemInfo(null, 0); SetLocalProps(); @@ -1412,34 +1416,34 @@ namespace BrewMonster.Scripts.Managers } // use specific color for the item price - if((int)DescriptipionMsg.ITEMDESC_COL_WHITE == col) + if ((int)DescriptipionMsg.ITEMDESC_COL_WHITE == col) { - if( m_iPrice >= 100000000) // 100 million + if (m_iPrice >= 100000000) // 100 million col = (int)DescriptipionMsg.ITEMDESC_COL_GREEN; - else if ( m_iPrice >= 10000000) // 10 million + else if (m_iPrice >= 10000000) // 10 million col = (int)DescriptipionMsg.ITEMDESC_COL_DARKGOLD; - else if ( m_iPrice >= 1000000) // 1 million + else if (m_iPrice >= 1000000) // 1 million col = (int)DescriptipionMsg.ITEMDESC_COL_YELLOW; } - + CECStringTab pDescTab = EC_Game.GetItemDesc(); if (m_iScaleType == (int)ScaleType.SCALE_OFFLINESHOP) { AddDescText(col, false, pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_PRICE)); - string s1,s2; + string s1, s2; BuildPriceNumberStr(m_iPrice, out s1); - if (GetCount()>1) + if (GetCount() > 1) { - s2 = (m_iPrice * (long)GetCount()).ToString(); + s2 = (m_iPrice * (long)GetCount()).ToString(); AddDescText(-1, false, " %s (%s)", s1, s2); } else - AddDescText(-1, false, " %s", s1); + AddDescText(-1, false, " %s", s1); } else if (m_iScaleType == (int)ScaleType.SCALE_BOOTH || m_tid == 21652) // 21651: yinpiao { - string s1; + string s1; BuildPriceNumberStr(m_iPrice, out s1); AddDescText(col, false, pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_UNITPRICE)); @@ -1453,7 +1457,7 @@ namespace BrewMonster.Scripts.Managers AddDescText(col, false, pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_PRICE)); AddDescText(-1, false, " %s (%s)", s1, s2); - } + } else { string s1; @@ -1644,7 +1648,7 @@ namespace BrewMonster.Scripts.Managers var pDescTab = EC_Game.GetItemDesc(); // Note: ITEMDESC_COL2_BRIGHTBLUE constant - adjust based on actual string table / 娉ㄦ剰锛欼TEMDESC_COL2_BRIGHTBLUE甯搁噺 - 鏍规嵁瀹為檯瀛楃涓茶〃璋冩暣 int green = (int)DescriptipionMsg.ITEMDESC_COL2_BRIGHTBLUE; // ITEMDESC_COL2_BRIGHTBLUE placeholder - adjust this value - + if (m_iCID != (int)InventoryClassId.ICID_GOBLIN) // goblin does not need to display these special properties / 鍦扮簿涓嶉渶瑕佹樉绀鸿繖浜涚壒娈婂睘鎬 { // Exact C++ logic: (PROC_NO_USER_TRASH) || (!PROC_BINDING && (PROC_DROPWHENDIE || ...)) @@ -1675,7 +1679,7 @@ namespace BrewMonster.Scripts.Managers m_strDesc += "\\r"; if (pDescTab != null && pDescTab.IsInitialized()) { - string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_DEAD_PROTECT); + string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_DEAD_PROTECT); if (!string.IsNullOrEmpty(desc)) m_strDesc += desc; } @@ -1685,7 +1689,7 @@ namespace BrewMonster.Scripts.Managers m_strDesc += "\\r"; if (pDescTab != null && pDescTab.IsInitialized()) { - string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_NO_DROP); + string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_NO_DROP); if (!string.IsNullOrEmpty(desc)) m_strDesc += desc; } @@ -1695,7 +1699,7 @@ namespace BrewMonster.Scripts.Managers m_strDesc += "\\r"; if (pDescTab != null && pDescTab.IsInitialized()) { - string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_NO_TRADE); + string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_NO_TRADE); if (!string.IsNullOrEmpty(desc)) m_strDesc += desc; } @@ -1705,7 +1709,7 @@ namespace BrewMonster.Scripts.Managers m_strDesc += "\\r"; if (pDescTab != null && pDescTab.IsInitialized()) { - string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_NO_PLAYER_TRADE); + string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_NO_PLAYER_TRADE); if (!string.IsNullOrEmpty(desc)) m_strDesc += desc; } @@ -1715,7 +1719,7 @@ namespace BrewMonster.Scripts.Managers m_strDesc += "\\r"; if (pDescTab != null && pDescTab.IsInitialized()) { - string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_LEAVE_SCENE_DISAPEAR); + string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_LEAVE_SCENE_DISAPEAR); if (!string.IsNullOrEmpty(desc)) m_strDesc += desc; } @@ -1725,7 +1729,7 @@ namespace BrewMonster.Scripts.Managers m_strDesc += "\\r"; if (pDescTab != null && pDescTab.IsInitialized()) { - string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_USE_AFTER_PICK_UP); + string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_USE_AFTER_PICK_UP); if (!string.IsNullOrEmpty(desc)) m_strDesc += desc; } @@ -1735,7 +1739,7 @@ namespace BrewMonster.Scripts.Managers m_strDesc += "\\r"; if (pDescTab != null && pDescTab.IsInitialized()) { - string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_DROP_WHEN_DEAD); + string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_DROP_WHEN_DEAD); if (!string.IsNullOrEmpty(desc)) m_strDesc += desc; } @@ -1745,7 +1749,7 @@ namespace BrewMonster.Scripts.Managers m_strDesc += "\\r"; if (pDescTab != null && pDescTab.IsInitialized()) { - string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_DROP_WHEN_OFFLINE); + string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_DROP_WHEN_OFFLINE); if (!string.IsNullOrEmpty(desc)) m_strDesc += desc; } @@ -1755,7 +1759,7 @@ namespace BrewMonster.Scripts.Managers m_strDesc += "\\r"; if (pDescTab != null && pDescTab.IsInitialized()) { - string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_UNREPAIRABLE); + string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_UNREPAIRABLE); if (!string.IsNullOrEmpty(desc)) m_strDesc += desc; } @@ -1765,7 +1769,7 @@ namespace BrewMonster.Scripts.Managers m_strDesc += "\\r"; if (pDescTab != null && pDescTab.IsInitialized()) { - string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_NO_USER_TRASH); + string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_NO_USER_TRASH); if (!string.IsNullOrEmpty(desc)) m_strDesc += desc; } @@ -1806,10 +1810,10 @@ namespace BrewMonster.Scripts.Managers protected void AddIDDescText() { // Optional: show internal id for debugging - #if UNITY_EDITOR - AddDescText(0, true, "ID: {0}", m_tid); - #endif - +#if UNITY_EDITOR + AddDescText(0, true, "ID: {0}", m_tid); +#endif + } protected void AddBindDescText() @@ -1944,7 +1948,7 @@ namespace BrewMonster.Scripts.Managers public string GetExtendedDescText() { string result = string.Empty; - + // Get extended description from item_ext_desc.txt using tid / 浣跨敤tid浠巌tem_ext_desc.txt鑾峰彇鎵╁睍鎻忚堪 string szExtDesc = TryGetItemExtDesc(); // Note: Original C++ had early return commented out / 娉ㄦ剰锛氬師濮婥++浠g爜鐨勬棭鏈熻繑鍥炶娉ㄩ噴鎺変簡 diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrType.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrType.cs index 8271e33879..df359a2ed2 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrType.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrType.cs @@ -51,25 +51,25 @@ namespace BrewMonster.Scripts.Managers SIZE_GENERALCARD_EQUIPIVTR = SIZE_ALL_EQUIPIVTR - EQUIPIVTR_GENERALCARD1, } #region Inventory Essence Struct - #pragma pack(1) +#pragma pack(1) public struct IVTR_ESSENCE_WEAPON { - public short weapon_type; - public short weapon_dealy; - public int weapon_class; - public int weapon_level; - public int require_projectile; // 锟斤拷要锟斤拷药锟斤拷锟斤拷锟斤拷 - public int damage_low; // 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷小锟斤拷值 - public int damage_high; // 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷值 - public int magic_damage_low; // 魔锟斤拷锟斤拷锟斤拷 - public int magic_damage_high; // 魔锟斤拷锟斤拷锟斤拷 - // public int attack; // 锟斤拷锟斤拷锟斤拷 - public int attack_speed; - public float attack_range; - public float attack_short_range; - public IVTR_ESSENCE_WEAPON( byte[] data) + public short weapon_type; + public short weapon_dealy; + public int weapon_class; + public int weapon_level; + public int require_projectile; // 锟斤拷要锟斤拷药锟斤拷锟斤拷锟斤拷 + public int damage_low; // 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷小锟斤拷值 + public int damage_high; // 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷值 + public int magic_damage_low; // 魔锟斤拷锟斤拷锟斤拷 + public int magic_damage_high; // 魔锟斤拷锟斤拷锟斤拷 + // public int attack; // 锟斤拷锟斤拷锟斤拷 + public int attack_speed; + public float attack_range; + public float attack_short_range; + public IVTR_ESSENCE_WEAPON(byte[] data) { - CECDataReader dr = new (data, data.Length); + CECDataReader dr = new(data, data.Length); weapon_type = dr.ReadShort(); weapon_dealy = dr.ReadShort(); weapon_class = dr.ReadInt(); @@ -86,14 +86,14 @@ namespace BrewMonster.Scripts.Managers }; public struct IVTR_ESSENCE_ARROW { - public int dwBowMask; - public int iDamage; - public int iDamageScale; - public int iWeaponReqLow; - public int iWeaponReqHigh; + public int dwBowMask; + public int iDamage; + public int iDamageScale; + public int iWeaponReqLow; + public int iWeaponReqHigh; public IVTR_ESSENCE_ARROW(byte[] data) { - CECDataReader dr = new (data, data.Length); + CECDataReader dr = new(data, data.Length); dwBowMask = dr.ReadInt(); iDamage = dr.ReadInt(); iDamageScale = dr.ReadInt(); @@ -103,20 +103,20 @@ namespace BrewMonster.Scripts.Managers }; public struct IVTR_ESSENCE_DECORATION { - public int damage; - public int magic_damage; - public int defense; - public int armor; - public int[] resistance; + public int damage; + public int magic_damage; + public int defense; + public int armor; + public int[] resistance; public IVTR_ESSENCE_DECORATION(byte[] data) { - CECDataReader dr = new (data, data.Length); + CECDataReader dr = new(data, data.Length); damage = dr.ReadInt(); magic_damage = dr.ReadInt(); defense = dr.ReadInt(); armor = dr.ReadInt(); resistance = new int[InventoryConst.NUM_MAGICCLASS]; - for(int i = 0; i < InventoryConst.NUM_MAGICCLASS; i++) + for (int i = 0; i < InventoryConst.NUM_MAGICCLASS; i++) { resistance[i] = dr.ReadInt(); } @@ -134,12 +134,12 @@ namespace BrewMonster.Scripts.Managers { Debug.Log("IVTR_ESSENCE_ARMOR: data.Length: " + data.Length); resistance = new int[InventoryConst.NUM_MAGICCLASS]; - CECDataReader dr = new (data, data.Length); + CECDataReader dr = new(data, data.Length); defense = dr.ReadInt(); armor = dr.ReadInt(); mp_enhance = dr.ReadInt(); hp_enhance = dr.ReadInt(); - for(int i = 0; i < InventoryConst.NUM_MAGICCLASS; i++) + for (int i = 0; i < InventoryConst.NUM_MAGICCLASS; i++) { resistance[i] = dr.ReadInt(); } @@ -152,7 +152,7 @@ namespace BrewMonster.Scripts.Managers public ushort gender; public IVTR_ESSENCE_FASHION(byte[] data) { - CECDataReader dr = new (data, data.Length); + CECDataReader dr = new(data, data.Length); require_level = dr.ReadInt(); color = dr.ReadUShort(); gender = dr.ReadUShort(); @@ -160,18 +160,18 @@ namespace BrewMonster.Scripts.Managers }; public struct IVTR_ESSENCE_FLYSWORD { - public int cur_time; - public int max_time; - public short require_level; - public char level; - public char improve_level; - public int profession; - public int time_per_element; - public float speed_increase; - public float speed_increase2; + public int cur_time; + public int max_time; + public short require_level; + public char level; + public char improve_level; + public int profession; + public int time_per_element; + public float speed_increase; + public float speed_increase2; public IVTR_ESSENCE_FLYSWORD(byte[] data) { - CECDataReader dr = new (data, data.Length); + CECDataReader dr = new(data, data.Length); cur_time = dr.ReadInt(); max_time = dr.ReadInt(); require_level = dr.ReadShort(); @@ -193,46 +193,46 @@ namespace BrewMonster.Scripts.Managers }; public struct IVTR_ESSENCE_AUTOHP { - public int hp_left; + public int hp_left; public float trigger; public IVTR_ESSENCE_AUTOHP(byte[] data) { - CECDataReader dr = new (data, data.Length); + CECDataReader dr = new(data, data.Length); hp_left = dr.ReadInt(); trigger = dr.ReadFloat(); } }; public struct IVTR_ESSENCE_AUTOMP { - public int mp_left; + public int mp_left; public float trigger; public IVTR_ESSENCE_AUTOMP(byte[] data) { - CECDataReader dr = new (data, data.Length); + CECDataReader dr = new(data, data.Length); mp_left = dr.ReadInt(); trigger = dr.ReadFloat(); } }; public struct IVTR_ESSENCE_PETEGG { - public int req_level; - public int req_class; - public int honor_point; - public int pet_tid; - public int pet_vis_tid; - public int pet_egg_tid; - public int pet_class; - public short level; - public ushort color; - public int exp; - public int skill_point; - public ushort name_len; - public ushort skill_count; + public int req_level; + public int req_class; + public int honor_point; + public int pet_tid; + public int pet_vis_tid; + public int pet_egg_tid; + public int pet_class; + public short level; + public ushort color; + public int exp; + public int skill_point; + public ushort name_len; + public ushort skill_count; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] - public ushort[] name; + public ushort[] name; public IVTR_ESSENCE_PETEGG(byte[] data) { - CECDataReader dr = new (data, data.Length); + CECDataReader dr = new(data, data.Length); req_level = dr.ReadInt(); req_class = dr.ReadInt(); honor_point = dr.ReadInt(); @@ -247,7 +247,7 @@ namespace BrewMonster.Scripts.Managers name_len = dr.ReadUShort(); skill_count = dr.ReadUShort(); name = new ushort[8]; - for(int i = 0; i < 8; i++) + for (int i = 0; i < 8; i++) { name[i] = dr.ReadUShort(); } @@ -270,14 +270,14 @@ namespace BrewMonster.Scripts.Managers public short agility; public short vitality; public short energy; - public short total_genius; - public short[] genius ; + public short total_genius; + public short[] genius; public short refine_level; - public int stamina; - public int status_value; + public int stamina; + public int status_value; public _GOBLIN_DATA(byte[] data) { - CECDataReader dr = new (data, data.Length); + CECDataReader dr = new(data, data.Length); exp = dr.ReadUInt(); level = dr.ReadShort(); total_attribute = dr.ReadShort(); @@ -287,7 +287,7 @@ namespace BrewMonster.Scripts.Managers energy = dr.ReadShort(); total_genius = dr.ReadShort(); genius = new short[5]; - for(int i = 0; i < 5; i++) + for (int i = 0; i < 5; i++) { genius[i] = dr.ReadShort(); } @@ -301,7 +301,7 @@ namespace BrewMonster.Scripts.Managers public int skill_cnt; public IVTR_ESSENCE_GOBLIN(byte[] data) { - CECDataReader dr = new (data, data.Length); + CECDataReader dr = new(data, data.Length); // Calculate size manually: uint(4) + 7*short(14) + short[5](10) + short(2) + 2*int(8) = 40 bytes const int GOBLIN_DATA_SIZE = 40; this.data = new _GOBLIN_DATA(dr.ReadData(GOBLIN_DATA_SIZE)); @@ -357,8 +357,8 @@ namespace BrewMonster.Scripts.Managers // int exp; // int rebirth_times; }; - #pragma pack() - +#pragma pack() + #endregion public static class EC_IvtrType { @@ -728,9 +728,9 @@ namespace BrewMonster.Scripts.Managers { if (sub.id != armorSubTypeId) continue; uint mask = sub.equip_mask; - + // Check finger slots first - try to find an empty one - if ((mask & (1u << (int)IndexOfIteminEquipmentInventory.EQUIPIVTR_FINGER1)) != 0 || + if ((mask & (1u << (int)IndexOfIteminEquipmentInventory.EQUIPIVTR_FINGER1)) != 0 || (mask & (1u << (int)IndexOfIteminEquipmentInventory.EQUIPIVTR_FINGER2)) != 0) { var availableFingerSlot = GetAvailableFingerSlot(); @@ -739,7 +739,7 @@ namespace BrewMonster.Scripts.Managers return availableFingerSlot; } } - + // For other slots, return the first matching one (original behavior) if ((mask & (1u << (int)IndexOfIteminEquipmentInventory.EQUIPIVTR_HEAD)) != 0) return IndexOfIteminEquipmentInventory.EQUIPIVTR_HEAD; if ((mask & (1u << (int)IndexOfIteminEquipmentInventory.EQUIPIVTR_SHOULDER)) != 0) return IndexOfIteminEquipmentInventory.EQUIPIVTR_SHOULDER; @@ -764,9 +764,9 @@ namespace BrewMonster.Scripts.Managers { if (sub.id != decorationSubTypeId) continue; uint mask = sub.equip_mask; - + // Check finger slots first - try to find an empty one - if ((mask & (1u << (int)IndexOfIteminEquipmentInventory.EQUIPIVTR_FINGER1)) != 0 || + if ((mask & (1u << (int)IndexOfIteminEquipmentInventory.EQUIPIVTR_FINGER1)) != 0 || (mask & (1u << (int)IndexOfIteminEquipmentInventory.EQUIPIVTR_FINGER2)) != 0) { var availableFingerSlot = GetAvailableFingerSlot(); @@ -775,7 +775,7 @@ namespace BrewMonster.Scripts.Managers return availableFingerSlot; } } - + // For other slots, return the first matching one (original behavior) if ((mask & (1u << (int)IndexOfIteminEquipmentInventory.EQUIPIVTR_NECK)) != 0) return IndexOfIteminEquipmentInventory.EQUIPIVTR_NECK; if ((mask & (1u << (int)IndexOfIteminEquipmentInventory.EQUIPIVTR_WAIST)) != 0) return IndexOfIteminEquipmentInventory.EQUIPIVTR_WAIST; @@ -801,19 +801,25 @@ namespace BrewMonster.Scripts.Managers { return IndexOfIteminEquipmentInventory.EQUIPIVTR_FINGER1; } - + // Check if FINGER2 slot is empty var finger2Item = equipInv?.GetItem((int)IndexOfIteminEquipmentInventory.EQUIPIVTR_FINGER2, false); if (finger2Item == null) { return IndexOfIteminEquipmentInventory.EQUIPIVTR_FINGER2; } - + // Both slots are occupied, return FINGER1 as fallback (original behavior) return IndexOfIteminEquipmentInventory.EQUIPIVTR_FINGER1; } } - public enum InventoryType + // Weapon type + public enum WeaponType + { + WEAPONTYPE_MELEE = 0, + WEAPONTYPE_RANGE = 1, + }; + public enum InventoryType { IVTRTYPE_PACK = 0, // Normal pack IVTRTYPE_EQUIPPACK, // Equipment diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_Skill.cs b/Assets/PerfectWorld/Scripts/Managers/EC_Skill.cs index 6266bf6d04..9e747eadc3 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_Skill.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_Skill.cs @@ -194,7 +194,6 @@ namespace BrewMonster // iTotalTime: total cooling time, 0 means to use cooling time in database public void StartCooling(int iTotalTime, int iStartCnt) { - BMLogger.LogError($"StartCooling iTotalTime={iTotalTime}, iStartCnt={iStartCnt}"); m_iCoolTime = iTotalTime != 0 ? iTotalTime : GetCoreCoolingTime(); m_iCoolCnt = iStartCnt; m_bCooling = true; @@ -302,6 +301,7 @@ namespace BrewMonster { return m_pSkillCore != null ? m_pSkillCore.GetCoolingTime() : 0; } + public int GetComboSkPreSkill() { return m_pSkillCore.GetComboSkPreSkill(); } public int GetExecuteTime() { diff --git a/Assets/PerfectWorld/Scripts/ModelFiles/CECComboSkillState.cs b/Assets/PerfectWorld/Scripts/ModelFiles/CECComboSkillState.cs index 8dc883fb22..86aacf278f 100644 --- a/Assets/PerfectWorld/Scripts/ModelFiles/CECComboSkillState.cs +++ b/Assets/PerfectWorld/Scripts/ModelFiles/CECComboSkillState.cs @@ -68,6 +68,10 @@ namespace BrewMonster NotifyObservers(&change);*/ } } + public ComboSkillState GetComboSkillState() + { + return m_comboSkillState; + } void SetActiveComboSkills(Dictionary dic) { Dictionary newList = new Dictionary(); @@ -112,6 +116,18 @@ namespace BrewMonster } } } + public bool IsActiveComboSkill(uint skillID) + { + for (int i = 0; i < m_activeSkills.Count; i++) + { + if (m_activeSkills[i] == skillID && m_skillTimeOut[i] == false) + { + return true; + } + } + return false; + } + public bool IsComboPreSkill(uint skillID) { return m_preSkillSet.Contains(skillID); diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs index 583f865154..8fcc17459a 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs @@ -951,6 +951,8 @@ namespace CSNetwork else if (ISNPCID(pCmd3.caster)) EC_ManMessage.PostMessage(EC_MsgDef.MSG_NM_ENCHANTRESULT, MANAGER_INDEX.MAN_NPC, 0, pDataBuf, pCmdHeader); break; + case CommandID.HOST_STOP_SKILL: + case CommandID.SELF_SKILL_INTERRUPTED: case CommandID.SKILL_PERFORM: EC_ManMessage.PostMessage(EC_MsgDef.MSG_PM_CASTSKILL, MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader); break; diff --git a/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs b/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs index b1341287f6..49088daa56 100644 --- a/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs +++ b/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs @@ -759,7 +759,7 @@ namespace BrewMonster #region Placeholder Classes // These classes are referenced but not defined in the provided files // They should be implemented separately based on EC_Shortcut.h/cpp - + [Serializable] public class CECShortcut { protected int m_iSCType; diff --git a/Assets/PerfectWorld/Scripts/Skills/CECSCSkillGrp.cs b/Assets/PerfectWorld/Scripts/Skills/CECSCSkillGrp.cs index 059202bf6c..7b07fde110 100644 --- a/Assets/PerfectWorld/Scripts/Skills/CECSCSkillGrp.cs +++ b/Assets/PerfectWorld/Scripts/Skills/CECSCSkillGrp.cs @@ -2,13 +2,16 @@ using BrewMonster.Network; using BrewMonster.Scripts; using BrewMonster.Scripts.Skills; using CSNetwork.GPDataType; +using System; using System.Diagnostics; +using UnityEngine; namespace BrewMonster { /// /// Shortcut representing a combo skill group. /// + [Serializable] public class CECSCSkillGrp : CECShortcut { private int m_iGroupIdx; diff --git a/Assets/PerfectWorld/Scripts/Skills/ElementSkill.cs b/Assets/PerfectWorld/Scripts/Skills/ElementSkill.cs index 909ea84e0b..0f6b8ab222 100644 --- a/Assets/PerfectWorld/Scripts/Skills/ElementSkill.cs +++ b/Assets/PerfectWorld/Scripts/Skills/ElementSkill.cs @@ -100,8 +100,8 @@ namespace BrewMonster.Scripts.Skills public int move_env; //锟狡讹拷锟斤拷锟斤拷 // Movement environment public bool is_combat; //锟角凤拷战锟斤拷状态 // Whether in combat state public int hp; //锟斤拷前hp // Current HP - public int max_hp; //锟斤拷锟絟p // Maximum HP - // public ComboSkillState combo_state; //锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 // Combo skill state + public int max_hp; //锟斤拷锟絟p // Maximum HP + public ComboSkillState combo_state; //锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 // Combo skill state }; public struct GoblinUseRequirement @@ -242,11 +242,11 @@ namespace BrewMonster.Scripts.Skills } // 学习锟斤拷锟襟境斤拷燃锟? public virtual int GetRequiredRealmLevel() { return 0; } - + public virtual Dictionary GetRequiredSkill() => new Dictionary(); - + public virtual int GetShowOrder() { return 0; } - + public virtual int SetLevel(int level) { return 0; } public static int SetLevel(uint id, int level) @@ -398,13 +398,13 @@ namespace BrewMonster.Scripts.Skills skill = Skill.Create(id, ilevel); if (skill == null) return 5; - + int ret = 0; SkillWrapper wrapper = SkillWrapper.Instance; if (wrapper.IsOverridden(id)) return 11; - + int srank, prank; srank = skill.GetRank(); prank = info.rank; @@ -424,17 +424,17 @@ namespace BrewMonster.Scripts.Skills ret = 4; else if (info.level < skill.GetRequiredLevel()) ret = 2; - + if (ret != 0) { return ret; } - + if (info.sp < skill.GetRequiredSp()) ret = 1; else if (info.money < skill.GetRequiredMoney()) ret = 6; - + var pre_skills = skill.GetRequiredSkill(); foreach (var kvp in pre_skills) { @@ -454,69 +454,70 @@ namespace BrewMonster.Scripts.Skills if (ability > 0 && wrapper.GetAbility(id) < ability) ret = 10; } - + if (info.realm_level < skill.GetRequiredRealmLevel()) ret = 12; return ret; } // 0:锟缴癸拷 1:锟斤拷锟斤拷SP锟斤拷锟斤拷 2:锟斤拷锟斤拷锟届赋锟姐不锟斤拷 - // 3:锟斤拷锟斤拷 4:锟斤拷锟杰革拷锟斤拷锟斤拷锟斤拷 5:锟斤拷锟斤拷ID - // 6:锟斤拷钱锟斤拷锟斤拷 7:锟斤拷小锟斤拷锟介技锟斤拷 8:没锟叫硷拷锟斤拷锟斤拷 - // 9:锟饺硷拷锟斤拷锟斤拷 10:锟斤拷锟斤拷锟斤拷锟睫诧拷锟斤拷 11:职业锟斤拷匹锟斤拷 - // 12:锟斤拷锟斤拷锟斤拷锟睫诧拷锟姐,锟斤拷职业锟斤拷匹锟斤拷 + // 3:锟斤拷锟斤拷 4:锟斤拷锟杰革拷锟斤拷锟斤拷锟斤拷 5:锟斤拷锟斤拷ID + // 6:锟斤拷钱锟斤拷锟斤拷 7:锟斤拷小锟斤拷锟介技锟斤拷 8:没锟叫硷拷锟斤拷锟斤拷 + // 9:锟饺硷拷锟斤拷锟斤拷 10:锟斤拷锟斤拷锟斤拷锟睫诧拷锟斤拷 11:职业锟斤拷匹锟斤拷 + // 12:锟斤拷锟斤拷锟斤拷锟睫诧拷锟姐,锟斤拷职业锟斤拷匹锟斤拷 public static int GoblinLearn(uint id, GoblinRequirement info, int level) { Skill s = Skill.Create(id, level); - if(s == null) + if (s == null) return 5; - if(level<1 || level> s.GetMaxLevel()) + if (level < 1 || level > s.GetMaxLevel()) return 3; - if(s.GetCls() != 258) + if (s.GetCls() != 258) return 7; - + int ret = 0; - - int[] iReqGen = new int[5] {0, 0, 0, 0, 0}; + + int[] iReqGen = new int[5] { 0, 0, 0, 0, 0 }; int iReqLevel = s.GetRequiredLevel(); // iReqLevel为7位锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟轿晃拷燃锟斤拷锟角5位为锟届赋锟斤拷锟斤拷锟斤拷锟斤拷锟轿晃拷锟 - int iLevelRequirement = iReqLevel%100; - if(info.level < iLevelRequirement) + int iLevelRequirement = iReqLevel % 100; + if (info.level < iLevelRequirement) return 9; iReqLevel /= 100; int i; - for(i=0;i<5;i++) + for (i = 0; i < 5; i++) { - iReqGen[4-i] = iReqLevel%10; + iReqGen[4 - i] = iReqLevel % 10; iReqLevel /= 10; } - for(i=0;i<5;i++) + for (i = 0; i < 5; i++) { - if(info.genius[i] < iReqGen[4-i]) + if (info.genius[i] < iReqGen[4 - i]) return 2; } - - if(info.sp < s.GetRequiredSp()) + + if (info.sp < s.GetRequiredSp()) ret = 1; //else if(info.moneyGetRequiredMoney(id, level)) // ret = 6; - if(info.mp < s.GetMpCost() && + if (info.mp < s.GetMpCost() && ((s.GetCls() != 0) && (((1 << info.profession) & s.GetCls()) == 0))) ret = 12; - else if(info.mp < s.GetMpCost()) + else if (info.mp < s.GetMpCost()) ret = 10; - else if((s.GetCls() != 0) && (((1 << info.profession) & s.GetCls()) == 0)) + else if ((s.GetCls() != 0) && (((1 << info.profession) & s.GetCls()) == 0)) ret = 11; return ret; } + public virtual int GetComboSkPreSkill() { return 0; } public static int GetComboSkPreSkill(uint id) { - SkillStub s = SkillStub.GetStub(id); + SkillStub s = SkillStub.GetStub(id); if (s != null) { return s.combosk_preskill; diff --git a/Assets/PerfectWorld/Scripts/Skills/FLOW_CREATE_SKILL_GROUP_SHORTCUT.md b/Assets/PerfectWorld/Scripts/Skills/FLOW_CREATE_SKILL_GROUP_SHORTCUT.md new file mode 100644 index 0000000000..37b80513f6 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/FLOW_CREATE_SKILL_GROUP_SHORTCUT.md @@ -0,0 +1,820 @@ +# Flow: CreateSkillGroupShortcut - C++ Implementation + +## Overview +This document describes the complete flow for creating a skill combo group shortcut in the C++ codebase. A skill group shortcut (`CECSCSkillGrp`) represents a combo skill sequence that can be placed in the quick bar and executed with a single click. + +--- + +## Entry Points + +### 1. **From UI Drag & Drop** (DlgDragDrop.cpp:603) +When a user drags a combo skill icon from the combo skill panel to a shortcut slot: + +```cpp +// DlgDragDrop.cpp:595-604 +if (strstr(pObjSrc->GetName(), "Img_ConSkill")) // Combo skill icon +{ + int nCombo = pObjSrc->GetData(); // Get combo group index (1-based) + int iSlot = atoi(pObjOver->GetName() + strlen("Item_")); // Get target slot (1-based) + + CECShortcutSet *pSCS = CECGameUIMan::GetSCSByDlg(pDlgOver->GetName()); + if (!pSCS->GetShortcut(iSlot-1) || !g_pGame->GetConfigs()->GetGameSettings().bLockQuickBar) + pSCS->CreateSkillGroupShortcut(iSlot - 1, nCombo - 1); // Convert to 0-based +} +``` + +**Flow:** +1. User drags combo skill icon (`Img_ConSkill`) to shortcut slot +2. Extract combo group index from source object data (1-based) +3. Extract target slot number from destination object name (1-based) +4. Get the appropriate `CECShortcutSet` based on dialog +5. Check if slot is empty or quick bar is unlocked +6. Call `CreateSkillGroupShortcut` with 0-based indices + +--- + +## Detailed Analysis: UI Drag & Drop Flow + +### **Step 1: Combo Skill Icon Creation & Data Initialization** + +**Location:** `DlgSkillSubOther.cpp:71-99` - `UpdateComboSkill()` + +This function is called when the skill dialog is shown (`OnShowDialog()` at line 193) and creates/updates all combo skill icons: + +```cpp +// DlgSkillSubOther.cpp:71-99 +void CDlgSkillSubOther::UpdateComboSkill() { + EC_VIDEO_SETTING setting = GetGame()->GetConfigs()->GetVideoSettings(); + + // Loop through all possible combo skill groups (typically 8-12) + for(int i = 0; i < EC_COMBOSKILL_NUM; i++) + { + // Create icon name: "Img_ConSkill01", "Img_ConSkill02", etc. + AString strName; + strName.Format("Img_ConSkill%02d", i + 1); + + // Get the image picture object from dialog + PAUIIMAGEPICTURE pImage = static_cast(GetDlgItem(strName)); + if( pImage ) + { + // Check if this combo skill group is configured (has an icon) + if( setting.comboSkill[i].nIcon != 0 ) + { + // Set the icon image from sprite sheet + pImage->SetCover( + GetGameUIMan()->m_pA2DSpriteIcons[CECGameUIMan::ICONS_SKILLGRP], + setting.comboSkill[i].nIcon + 1); + + // 猸 KEY: Store the combo group index (1-based) in the icon's data + // i is 0-based (0, 1, 2, ...), so i+1 is 1-based (1, 2, 3, ...) + pImage->SetData(i + 1); + + // Set a flag pointer (just indicates this is a valid combo skill) + pImage->SetDataPtr((void*)1); + + // Set tooltip/hint text + ACString strText; + strText.Format(GetStringFromTable(804), i); + pImage->SetHint(strText); + } + else + { + // Empty/invalid combo skill - clear the icon + pImage->SetCover(NULL, -1); + pImage->SetData(0); // No data = invalid + pImage->SetDataPtr(NULL); + pImage->SetHint(_AL("")); + } + } + } +} +``` + +**Key Points:** +- **Icon Naming:** Icons are named `"Img_ConSkill%02d"` where `%02d` is the 1-based index (01, 02, 03, ...) +- **Data Storage:** The combo group index is stored via `SetData(i + 1)`: + - `i` is 0-based array index (0, 1, 2, ...) + - `i + 1` is 1-based group number (1, 2, 3, ...) + - This 1-based value is what gets retrieved during drag & drop +- **Validation:** If `nIcon == 0`, the combo skill doesn't exist, so `SetData(0)` marks it as invalid +- **Icon Source:** Icon image comes from `ICONS_SKILLGRP` sprite sheet at index `nIcon + 1` + +--- + +### **Step 2: User Initiates Drag Operation** + +**Location:** `DlgSkillSubOther.cpp:219-232` - `OnEventLButtonDownCombo()` + +When user clicks and holds on a combo skill icon: + +```cpp +// DlgSkillSubOther.cpp:219-232 +void CDlgSkillSubOther::OnEventLButtonDownCombo(WPARAM wParam, LPARAM lParam, AUIObject * pObj) { + // 猸 Validation: Check if icon has valid data (combo skill exists) + if( pObj->GetData() == 0 ) + return; // No combo skill configured, can't drag + + // Get viewport coordinates + A3DVIEWPORTPARAM *p = m_pA3DEngine->GetActiveViewport()->GetParam(); + POINT pt = + { + GET_X_LPARAM(lParam) - p->X, + GET_Y_LPARAM(lParam) - p->Y, + }; + + // Store drag start position + GetGameUIMan()->m_ptLButtonDown = pt; + + // 猸 Start drag & drop operation + // This passes the source object (pObj) which contains the data + GetGameUIMan()->InvokeDragDrop(this, pObj, pt); +} +``` + +**Key Points:** +- **Event Mapping:** The event is mapped via `AUI_ON_EVENT("Img_ConSkill*", WM_LBUTTONDOWN, OnEventLButtonDownCombo)` (line 19) +- **Validation:** Checks `GetData() == 0` to ensure combo skill exists before allowing drag +- **Data Preservation:** The `pObj` (icon object) is passed to `InvokeDragDrop()`, preserving the data stored in Step 1 + +--- + +### **Step 3: Drag & Drop Processing** + +**Location:** `DlgDragDrop.cpp:79-127` - `OnEventLButtonUp()` + +When user releases mouse button, the drag & drop system processes the drop: + +```cpp +// DlgDragDrop.cpp:79-127 (simplified) +void CDlgDragDrop::OnEventLButtonUp(WPARAM wParam, LPARAM lParam, AUIObject *pObj) +{ + // Get the source object that was being dragged + PAUIOBJECT pObjSrc = (PAUIOBJECT)pItem->GetDataPtr("ptr_AUIObject"); + if( !pObjSrc ) + return; + + // Get destination (where mouse was released) + PAUIDIALOG pDlgOver; + PAUIOBJECT pObjOver; + // ... hit test to find what's under the mouse ... + GetGameUIMan()->HitTest(x, y, &pDlgOver, &pObjOver, this); + + // Route to appropriate handler based on source dialog + // ... routing logic ... + + // For skill-related drags, calls: + OnSkillDragDrop(pDlgSrc, pObjSrc, pDlgOver, pObjOver, pIvtrSrc); +} +``` + +--- + +### **Step 4: Skill Drag & Drop Handler** + +**Location:** `DlgDragDrop.cpp:589-627` - `OnSkillDragDrop()` + +This is where the combo skill icon data is extracted and used: + +```cpp +// DlgDragDrop.cpp:589-627 +void CDlgDragDrop::OnSkillDragDrop(PAUIDIALOG pDlgSrc, PAUIOBJECT pObjSrc, + PAUIDIALOG pDlgOver, PAUIOBJECT pObjOver, CECIvtrItem* pIvtrSrc) +{ + // Check if dropping on quick bar dialog + if( pDlgOver && strstr(pDlgOver->GetName(), "Win_Quickbar") + && pObjOver && strstr(pObjOver->GetName(), "Item_") ) + { + // 猸 Check if source is a combo skill icon + if( strstr(pObjSrc->GetName(), "Img_ConSkill") ) + { + // 猸 Extract combo group index from icon's stored data (1-based) + int nCombo = pObjSrc->GetData(); // Returns the value set in UpdateComboSkill() + + // Extract target slot number from destination object name + // Destination name format: "Item_1", "Item_2", etc. (1-based) + int iSlot = atoi(pObjOver->GetName() + strlen("Item_")); // "Item_1" -> 1 + + // Get the shortcut set for this dialog + CECShortcutSet *pSCS = CECGameUIMan::GetSCSByDlg(pDlgOver->GetName()); + + // Check if slot is empty or quick bar is unlocked + if( !pSCS->GetShortcut(iSlot-1) || + !g_pGame->GetConfigs()->GetGameSettings().bLockQuickBar ) + { + // 猸 Create skill group shortcut + // Convert both indices to 0-based: + // - iSlot: 1-based -> 0-based (slot 1 -> index 0) + // - nCombo: 1-based -> 0-based (group 1 -> index 0) + pSCS->CreateSkillGroupShortcut(iSlot - 1, nCombo - 1); + } + } + // Handle regular skill drag (not combo) + else + { + CECSkill *pSkill = (CECSkill *)pObjSrc->GetDataPtr("ptr_CECSkill"); + // ... create regular skill shortcut ... + } + } +} +``` + +**Key Points:** +- **Icon Identification:** `strstr(pObjSrc->GetName(), "Img_ConSkill")` identifies combo skill icons +- **Data Retrieval:** `pObjSrc->GetData()` retrieves the 1-based group index stored in Step 1 +- **Slot Extraction:** Destination slot is extracted from object name `"Item_N"` where N is 1-based +- **Index Conversion:** Both indices are converted from 1-based to 0-based before calling `CreateSkillGroupShortcut()` + +--- + +### **Complete Data Flow Diagram** + +``` +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 STEP 1: Icon Creation (UpdateComboSkill) 鈹 +鈹 Location: DlgSkillSubOther.cpp:71-99 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 + 鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 For each combo skill group (i=0..N): 鈹 + 鈹 鈹 + 鈹 1. Create icon name: 鈹 + 鈹 "Img_ConSkill%02d" (i+1) 鈹 + 鈹 鈹 + 鈹 2. If combo exists (nIcon != 0): 鈹 + 鈹 - Set icon image 鈹 + 鈹 - 猸 SetData(i + 1) 鈹 + 鈹 (stores 1-based group index) 鈹 + 鈹 - SetDataPtr((void*)1) 鈹 + 鈹 - Set hint text 鈹 + 鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 + 鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 Icon Object Created 鈹 + 鈹 - Name: "Img_ConSkill01", etc. 鈹 + 鈹 - Data: 1, 2, 3, ... (1-based) 鈹 + 鈹 - DataPtr: (void*)1 鈹 + 鈹 - Icon: Sprite sheet image 鈹 + 鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈹 (User clicks and drags) + 鈻 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 STEP 2: Drag Initiation (OnEventLButtonDownCombo) 鈹 +鈹 Location: DlgSkillSubOther.cpp:219-232 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 + 鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 1. Validate: GetData() != 0 鈹 + 鈹 2. Get mouse position 鈹 + 鈹 3. InvokeDragDrop(this, pObj, pt) 鈹 + 鈹 (pObj contains the data!) 鈹 + 鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈹 (User drags to quick bar) + 鈻 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 STEP 3: Drop Processing (OnEventLButtonUp) 鈹 +鈹 Location: DlgDragDrop.cpp:79-127 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 + 鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 1. Get source object (pObjSrc) 鈹 + 鈹 2. Hit test to find destination 鈹 + 鈹 3. Route to OnSkillDragDrop() 鈹 + 鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 STEP 4: Skill Drag Handler (OnSkillDragDrop) 鈹 +鈹 Location: DlgDragDrop.cpp:589-627 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 + 鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 1. Check: strstr(name, "Img_ConSkill")鈹 + 鈹 2. 猸 Extract: nCombo = GetData() 鈹 + 鈹 (retrieves 1-based group index) 鈹 + 鈹 3. Extract: iSlot from "Item_N" 鈹 + 鈹 4. Get shortcut set 鈹 + 鈹 5. Validate slot/quick bar 鈹 + 鈹 6. CreateSkillGroupShortcut( 鈹 + 鈹 iSlot-1, nCombo-1) 鈹 + 鈹 (convert to 0-based) 鈹 + 鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 + 鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 CreateSkillGroupShortcut() 鈹 + 鈹 Creates CECSCSkillGrp with 鈹 + 鈹 group index (0-based) 鈹 + 鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +``` + +--- + +### **Data Storage Summary** + +| Component | Storage Method | Value Type | Example | +|-----------|---------------|------------|---------| +| **Combo Group Index** | `AUIObject::SetData(int)` | 1-based integer | 1, 2, 3, ... | +| **Icon Name** | Object name | String pattern | "Img_ConSkill01", "Img_ConSkill02" | +| **Icon Image** | `SetCover()` | Sprite sheet index | `nIcon + 1` | +| **Validation Flag** | `SetDataPtr((void*)1)` | Pointer flag | `(void*)1` = valid, `NULL` = invalid | + +**Important Notes:** +1. **The icon DOES contain the data needed** - it's stored via `SetData(i + 1)` during icon creation +2. **The data is 1-based** - stored as 1, 2, 3, ... but converted to 0-based (0, 1, 2, ...) when creating the shortcut +3. **Data is validated** - `GetData() == 0` means no combo skill, so drag is prevented +4. **Icon name pattern** - `"Img_ConSkill*"` is used to identify combo skill icons during drag & drop + +--- + +### 2. **From Config Data Loading** (EC_ShortcutSet.cpp:600-616) +When loading shortcut configuration from server/save file: + +```cpp +// EC_ShortcutSet.cpp:600-616 +case CECShortcut::SCT_SKILLGRP: +{ + if (dwVer >= 3) // Version check - skill groups added in version 3 + { + int iGroupIdx = *(int*)pData; // Read group index from config data + pData += sizeof(int); + + if (iGroupIdx >= 0) + CreateSkillGroupShortcut(iSlot, iGroupIdx); + } + else + { + ASSERT(0); + return false; + } + break; +} +``` + +**Flow:** +1. Read shortcut type from config data +2. If type is `SCT_SKILLGRP` and version >= 3: + - Read group index from binary data + - Validate group index (>= 0) + - Call `CreateSkillGroupShortcut` + +--- + +### 3. **From AssignSkillGrpShortcut** (EC_HostPlayer.cpp:7934-7941) +When assigning skill group shortcuts from configuration array: + +```cpp +// EC_HostPlayer.cpp:7934-7941 +void CECHostPlayer::AssignSkillGrpShortcut( + const std::vector & skillGrpSCConfigArray, + CECShortcutSet** aSCSets) +{ + std::vector::const_iterator it; + for (it = skillGrpSCConfigArray.begin(); it != skillGrpSCConfigArray.end(); it++) + { + if(it->groupIndex != -1) // -1 means invalid/empty + aSCSets[it->setNum]->CreateSkillGroupShortcut(it->slotNum, it->groupIndex); + } +} +``` + +**Flow:** +1. Iterate through skill group shortcut configuration array +2. For each valid config (groupIndex != -1): + - Get the appropriate shortcut set by `setNum` + - Call `CreateSkillGroupShortcut` with slot and group index + +**Note:** Before calling this, `ConvertSkillGrpShortcut` is called to validate combo skills exist: +```cpp +// EC_HostPlayer.cpp:7915-7923 +void CECHostPlayer::ConvertSkillGrpShortcut(std::vector & skillGrpSCConfigArray) +{ + std::vector::iterator it; + for (it = skillGrpSCConfigArray.begin(); it != skillGrpSCConfigArray.end(); it++) + { + EC_VIDEO_SETTING vs = g_pGame->GetConfigs()->GetVideoSettings(); + if (vs.comboSkill[it->groupIndex].nIcon == 0) // Combo skill doesn't exist + it->groupIndex = -1; // Mark as invalid + } +} +``` + +--- + +## Core Implementation + +### **CreateSkillGroupShortcut** (EC_ShortcutSet.cpp:135-150) + +```cpp +// EC_ShortcutSet.cpp:135-150 +bool CECShortcutSet::CreateSkillGroupShortcut(int iSlot, int iGroupIdx) +{ + // 1. Create new CECSCSkillGrp object + CECSCSkillGrp* pSkillGrpSC = new CECSCSkillGrp; + if (!pSkillGrpSC) + return false; + + // 2. Initialize with group index + if (!pSkillGrpSC->Init(iGroupIdx)) + { + delete pSkillGrpSC; + a_LogOutput(1, "CECShortcutSet::CreateSkillGroupShortcut, Failed to initialize skill group shortcut"); + return false; + } + + // 3. Set shortcut in slot (replaces any existing shortcut at this slot) + SetShortcut(iSlot, pSkillGrpSC); + return true; +} +``` + +**Flow:** +1. **Allocate** new `CECSCSkillGrp` object +2. **Initialize** with group index +3. **Set** shortcut in the specified slot (automatically releases old shortcut if exists) + +--- + +## CECSCSkillGrp Class + +### **Class Definition** (EC_Shortcut.h:282-309) + +```cpp +class CECSCSkillGrp : public CECShortcut +{ +public: + CECSCSkillGrp(); + CECSCSkillGrp(const CECSCSkillGrp& src); + virtual ~CECSCSkillGrp() {} + + // Initialize object + bool Init(int iGroupIdx); + + // Virtual functions from CECShortcut + virtual CECShortcut* Clone(); + virtual bool Execute(); // Executes the combo skill + virtual const char* GetIconFile(); + virtual const wchar_t* GetDesc(); + virtual int GetCoolTime(int* piMax=NULL); + +private: + int m_iGroupIdx; // Combo skill group index (0-based) + CECString m_strDesc; // Description text +}; +``` + +### **Initialization** (EC_Shortcut.cpp:696-703) + +```cpp +// EC_Shortcut.cpp:696-703 +bool CECSCSkillGrp::Init(int iGroupIdx) +{ + m_iGroupIdx = iGroupIdx; // Store group index + + // Format description: "Skill Group {index}" + CECStringTab* pStrTab = g_pGame->GetItemDesc(); + m_strDesc.Format(pStrTab->GetWideString(CMDDESC_SKILLGROUP), m_iGroupIdx); + return true; +} +``` + +**Flow:** +1. Store group index +2. Format description string from string table +3. Return success + +### **Execution** (EC_Shortcut.cpp:712-717) + +```cpp +// EC_Shortcut.cpp:712-717 +bool CECSCSkillGrp::Execute() +{ + CECHostPlayer* pHost = g_pGame->GetGameRun()->GetHostPlayer(); + pHost->ApplyComboSkill(m_iGroupIdx); // Apply combo skill with stored group index + return true; +} +``` + +**Flow:** +1. Get host player instance +2. Call `ApplyComboSkill` with the stored group index +3. This triggers the combo skill sequence execution + +--- + +## ApplyComboSkill Flow + +### **ApplyComboSkill** (EC_HostPlayer.cpp:7710-7737) + +```cpp +// EC_HostPlayer.cpp:7710-7737 +bool CECHostPlayer::ApplyComboSkill(int iGroup, bool bIgnoreAtkLoop, int iForceAtk) +{ + a_LogOutput(1, "HoangDEv: ApplyComboSkill - Applying combo skill, group=%d, target=%d, ignoreAtkLoop=%d, forceAtk=%d", + iGroup, m_idSelTarget, bIgnoreAtkLoop, iForceAtk); + + // 1. Clear current combo skill if exists + ClearComboSkill(); + + // 2. Create new combo skill object + if (!(m_pComboSkill = new CECComboSkill)) + { + ASSERT(0); + return false; + } + + // 3. Initialize combo skill + bool bForceAttack = (iForceAtk != 0); + if (!(m_pComboSkill->Init(this, iGroup, m_idSelTarget, bForceAttack, bIgnoreAtkLoop))) + { + delete m_pComboSkill; + m_pComboSkill = NULL; + return false; + } + + // 4. Start combo skill execution + m_pComboSkill->Continue(m_bMelee); + return true; +} +``` + +**Flow:** +1. **Clear** any existing combo skill +2. **Create** new `CECComboSkill` object +3. **Initialize** with: + - Host player (this) + - Group index + - Target ID + - Force attack flag + - Ignore attack loop flag +4. **Start** combo skill execution with `Continue()` + +--- + +## Combo Skill Data Structure + +### **EC_COMBOSKILL Structure** + +Combo skills are stored in `EC_VIDEO_SETTING`: + +```cpp +// From configs/video settings +struct EC_COMBOSKILL +{ + int nIcon; // Icon ID (0 = empty/invalid) + int idSkill[EC_COMBOSKILL_LEN]; // Array of skill IDs in combo sequence + // ... other fields +}; + +EC_VIDEO_SETTING vs; +vs.comboSkill[EC_COMBOSKILL_NUM]; // Array of combo skill groups +``` + +**Constants:** +- `EC_COMBOSKILL_NUM`: Number of combo skill groups (typically 8-12) +- `EC_COMBOSKILL_LEN`: Maximum number of skills in a combo sequence + +### **Combo Skill Initialization** (EC_ComboSkill.cpp:74-92) + +```cpp +// EC_ComboSkill.cpp:74-92 +bool CECComboSkill::Init(CECHostPlayer* pHost, int iGroup, int idTarget, + bool bForceAttack, bool bIgnoreAtkLoop) +{ + // 1. Validate group index + if (iGroup < 0 || iGroup >= EC_COMBOSKILL_NUM) + { + ASSERT(0); + return false; + } + + // 2. Store parameters + m_pHost = pHost; + m_iGroup = iGroup; + m_iCursor = 0; // Start at first skill in combo + m_bStop = false; + m_idTarget = idTarget; + m_bForceAtk = bForceAttack; + m_bIgnoreAtkLoop = bIgnoreAtkLoop; + + // 3. Load combo skill data from config + CECConfigs* pCfg = g_pGame->GetConfigs(); + m_cs = pCfg->GetVideoSettings().comboSkill[iGroup]; + + // 4. Find loop start position (if any) + // ... (finds SID_LOOPSTART marker) + + return true; +} +``` + +--- + +## Complete Flow Diagram + +``` +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 USER ACTION / CONFIG LOAD 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 + 鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 Entry Point Selection 鈹 + 鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹粹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 鈹 + 鈻 鈻 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 UI Drag&Drop 鈹 鈹 LoadConfigData 鈹 +鈹 (DlgDragDrop)鈹 鈹 (EC_ShortcutSet) 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹 鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 鈹 + 鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 + 鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 CreateSkillGroupShortcut 鈹 + 鈹 (EC_ShortcutSet) 鈹 + 鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 + 鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 new CECSCSkillGrp 鈹 + 鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 + 鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 CECSCSkillGrp::Init(iGroup) 鈹 + 鈹 - Store group index 鈹 + 鈹 - Format description 鈹 + 鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 + 鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 SetShortcut(iSlot, pSC) 鈹 + 鈹 - Replace old shortcut 鈹 + 鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 + 鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 SHORTCUT CREATED 鈹 + 鈹 Ready for execution 鈹 + 鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈹 (When user clicks shortcut) + 鈻 + 鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 CECSCSkillGrp::Execute() 鈹 + 鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 + 鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 ApplyComboSkill(iGroup) 鈹 + 鈹 (EC_HostPlayer) 鈹 + 鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 + 鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 new CECComboSkill 鈹 + 鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 + 鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 CECComboSkill::Init() 鈹 + 鈹 - Load combo data from config鈹 + 鈹 - Set cursor to start 鈹 + 鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 + 鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 CECComboSkill::Continue() 鈹 + 鈹 - Execute first skill 鈹 + 鈹 - Chain to next skills 鈹 + 鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +``` + +--- + +## Key Data Structures + +### **SkillGrpShortCutConfig** + +```cpp +struct SkillGrpShortCutConfig +{ + int setNum; // Shortcut set number (which quick bar) + int slotNum; // Slot index within the set (0-based) + int groupIndex; // Combo skill group index (0-based, -1 = invalid) +}; +``` + +### **CECSCSkillGrp Members** + +```cpp +class CECSCSkillGrp : public CECShortcut +{ + int m_iGroupIdx; // Combo skill group index (0-based) + CECString m_strDesc; // Description: "Skill Group {index}" +}; +``` + +--- + +## Validation & Error Handling + +### **Group Index Validation** + +1. **In CreateSkillGroupShortcut:** + - No explicit validation (assumes caller validates) + - `Init()` may fail if group index is invalid + +2. **In ConvertSkillGrpShortcut:** + ```cpp + if (vs.comboSkill[it->groupIndex].nIcon == 0) + it->groupIndex = -1; // Mark as invalid + ``` + +3. **In CECComboSkill::Init:** + ```cpp + if (iGroup < 0 || iGroup >= EC_COMBOSKILL_NUM) + { + ASSERT(0); + return false; + } + ``` + +### **Slot Validation** + +- Slot index must be within bounds of shortcut set size +- `SetShortcut()` handles slot bounds checking internally + +--- + +## Related Functions + +### **ClearComboSkill** (EC_HostPlayer.cpp:7740-7747) + +```cpp +void CECHostPlayer::ClearComboSkill() +{ + if (m_pComboSkill) + { + delete m_pComboSkill; + m_pComboSkill = NULL; + } +} +``` + +### **GetGroupIndex** (EC_Shortcut.h) + +```cpp +int GetGroupIndex() const { return m_iGroupIdx; } +``` + +Used to retrieve the group index from a shortcut for UI display or validation. + +--- + +## Summary + +**CreateSkillGroupShortcut Flow:** + +1. **Entry Points:** + - UI drag & drop operation + - Config data loading from server/save + - Programmatic assignment from config array + +2. **Core Process:** + - Create `CECSCSkillGrp` object + - Initialize with group index + - Store in shortcut set at specified slot + +3. **Execution:** + - When shortcut is clicked, `Execute()` is called + - Calls `ApplyComboSkill()` on host player + - Creates and initializes `CECComboSkill` object + - Starts combo skill sequence execution + +4. **Data Source:** + - Combo skill definitions stored in `EC_VIDEO_SETTING.comboSkill[]` + - Each combo group contains array of skill IDs + - Group index (0-based) references position in array + +--- + +## Conversion Notes for C# + +When converting to C#: +- Replace `new`/`delete` with C# object allocation +- Use `List<>` instead of `std::vector` +- Use `string` instead of `CECString` +- Use nullable types for optional values +- Use `IDisposable` pattern for cleanup +- Consider using events/delegates for shortcut execution diff --git a/Assets/PerfectWorld/Scripts/Skills/FLOW_CREATE_SKILL_GROUP_SHORTCUT.md.meta b/Assets/PerfectWorld/Scripts/Skills/FLOW_CREATE_SKILL_GROUP_SHORTCUT.md.meta new file mode 100644 index 0000000000..b56817b9a0 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/FLOW_CREATE_SKILL_GROUP_SHORTCUT.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f3fdcd3d58e16de40b0541be0d654c69 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Scripts/Skills/skill.cs b/Assets/PerfectWorld/Scripts/Skills/skill.cs index cfab50c224..df9817d41a 100644 --- a/Assets/PerfectWorld/Scripts/Skills/skill.cs +++ b/Assets/PerfectWorld/Scripts/Skills/skill.cs @@ -89,6 +89,7 @@ namespace BrewMonster.Scripts.Skills return 0; return 1; } + public override int GetComboSkPreSkill() { return stub.combosk_preskill; } public override byte GetType() { return stub.type; } public override int GetCommonCoolDown() { return stub.commoncooldown; } diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgSkillSubOther.cs b/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgSkillSubOther.cs new file mode 100644 index 0000000000..17ebfb9e2b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgSkillSubOther.cs @@ -0,0 +1,540 @@ +using System.Collections.Generic; +using BrewMonster; +using BrewMonster.Scripts.Skills; +using BrewMonster.UI; +using UnityEngine; +using UnityEngine.UI; +using TMPro; +using BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay; +using BrewMonster.Network; + +namespace BrewMonster.UI +{ + /// + /// Skill dialog sub-other panel - displays combo skills, fixed skills, item skills, and produce skills + /// Converted from DlgSkillSubOther.cpp/h + /// + [DisallowMultipleComponent] + public class CDlgSkillSubOther : AUIDialog + { + private const int ITEM_SKILL_MAX_COUNT = 8; + private const int FIXED_SKILL_MAX_COUNT = 4; + + [Header("Combo Skill Images")] + [SerializeField] private List m_comboSkillImages = new List(); + + [Header("Fixed Skill Components")] + [SerializeField] private List m_fixedImgPics = new List(); + [SerializeField] private List m_fixedTxts = new List(); + + [Header("Item Skill Images")] + [SerializeField] private List m_itemSkillImages = new List(); + + [Header("Produce Skill Components")] + [SerializeField] private List m_produceImgIcons = new List(); + [SerializeField] private List m_produceNameLabels = new List(); + [SerializeField] private List m_produceSkilledTxtLabels = new List(); + [SerializeField] private List m_produceSkilledExpLabels = new List(); + [SerializeField] private List m_produceLevelLabels = new List(); + + [Header("Buttons")] + [SerializeField] private Button m_btnEdit; + [SerializeField] private Button m_btnDelete; + [SerializeField] private Button m_btnNew; + + private int m_nComboSelect = 0; + + private readonly List m_fixedSkills = new List(); + private readonly List m_produceSkills = new List(); + + private void Awake() + { + // Initialize fixed skills - 167 is return skill + m_fixedSkills.Add(167); + + // Initialize produce skills - respectively: weapon crafting, armor crafting, accessory crafting, alchemy + m_produceSkills.Add(158); + m_produceSkills.Add(159); + m_produceSkills.Add(160); + m_produceSkills.Add(161); + + // Setup button listeners + if (m_btnEdit != null) + m_btnEdit.onClick.AddListener(OnCommandEdit); + if (m_btnDelete != null) + m_btnDelete.onClick.AddListener(OnCommandDelete); + if (m_btnNew != null) + m_btnNew.onClick.AddListener(OnCommandNew); + } + + public override void OnShowDialogue() + { + base.OnShowDialogue(); + Debug.Log("CDlgSkillSubOther::OnShowDialog()"); + UpdateComboSkill(); + UpdateFixedSkill(); + UpdateItemSkill(); + UpdateProduceSkill(); + } + + /*public override bool Render() + { + if (!base.Render()) + return false; + + if (!gameObject.activeInHierarchy) + return true; + + // Item skills and produce skills may change, update them + UpdateItemSkill(); + UpdateProduceSkill(); + + // Update fixed skill cooldowns + CECHostPlayer host = GetHostPlayer(); + for (int i = 0; i < m_fixedSkills.Count && i < m_fixedImgPics.Count; i++) + { + if (m_fixedImgPics[i] != null && host != null) + { + CECSkill pSkill = host.GetPositiveSkillByID(m_fixedSkills[i]); + UpdateImagePictureCD(m_fixedImgPics[i], pSkill); + } + } + + // Update item skill cooldowns + int equipSkillNum = host != null ? host.GetEquipSkillNum() : 0; + for (int i = 0; i < equipSkillNum && i < ITEM_SKILL_MAX_COUNT && i < m_itemSkillImages.Count; i++) + { + if (m_itemSkillImages[i] != null && host != null) + { + CECSkill pSkill = host.GetEquipSkillByIndex(i); + UpdateImagePictureCD(m_itemSkillImages[i], pSkill); + } + } + + return true; + }*/ + + // Edit combo skill - called from DlgSkill + public void OnCommandEdit() + { + // TODO: Implement DlgSkillEdit equivalent + // GetGameUIMan()->m_pDlgSkillEdit->SetData(m_nComboSelect); + // GetGameUIMan()->m_pDlgSkillEdit->Show(true); + Debug.Log($"OnCommandEdit: combo select = {m_nComboSelect}"); + } + + // New combo skill - called from DlgSkill + public void OnCommandNew() + { + // TODO: Implement DlgSkillEdit equivalent + // GetGameUIMan()->m_pDlgSkillEdit->SetData(0); + // GetGameUIMan()->m_pDlgSkillEdit->Show(true); + Debug.Log("OnCommandNew"); + } + + // Delete combo skill - called from DlgSkill + public void OnCommandDelete() + { + if (m_nComboSelect < 0 || m_nComboSelect > EC_ConfigConstants.EC_COMBOSKILL_NUM) + return; + + CECConfigs configs = EC_Game.GetConfigs(); + if (configs == null) + return; + + EC_VIDEO_SETTING setting = configs.GetVideoSettings(); + setting.comboSkill[m_nComboSelect - 1].nIcon = 0; + m_nComboSelect = 0; + configs.SetVideoSettings(setting); + UpdateComboSkill(); + } + + // Helper dictionary to store combo skill data + private Dictionary m_comboSkillData = new Dictionary(); + + // Helper dictionary to store skill data for images + private Dictionary m_skillData = new Dictionary(); + + // Update combo skill icons - called from DlgSkill + public void UpdateComboSkill() + { + CECConfigs configs = EC_Game.GetConfigs(); + if (configs == null) + return; + + EC_VIDEO_SETTING setting = configs.GetVideoSettings(); + CECGameUIMan gameUIMan = GetGameUIMan(); + + for (int i = 0; i < EC_ConfigConstants.EC_COMBOSKILL_NUM; i++) + { + AUIImagePicture pImage = m_comboSkillImages[i]; + if (pImage != null) + { + if (setting.comboSkill[i].nIcon != 0) + { + // TODO: Set icon from sprite sheet + //pImage->SetCover(GetGameUIMan()->m_pA2DSpriteIcons[CECGameUIMan::ICONS_SKILLGRP], + // setting.comboSkill[i].nIcon + 1); + m_comboSkillData[pImage] = (uint)(i + 1); + //pImage.SetDataPtr(new object(), "ptr_Valid"); // Equivalent to (void*)1 + + string hintText = GetStringFromTable(804); + if (!string.IsNullOrEmpty(hintText)) + { + hintText = string.Format(hintText, i); + // TODO: Set hint text + // pImage->SetHint(hintText); + } + } + else + { + // TODO: Clear icon + // pImage->SetCover(NULL, -1); + m_comboSkillData[pImage] = 0; + pImage.SetDataPtr(null); + // pImage->SetHint(""); + } + } + } + } + + // Update fixed skill display + public void UpdateFixedSkill() + { + // First hide all fixed skill components + /*for (int i = 0; i < FIXED_SKILL_MAX_COUNT; i++) + { + if (i < m_fixedImgPics.Count && m_fixedImgPics[i] != null) + m_fixedImgPics[i].gameObject.SetActive(false); + if (i < m_fixedTxts.Count && m_fixedTxts[i] != null) + m_fixedTxts[i].gameObject.SetActive(false); + } + + Debug.Assert(m_fixedSkills.Count <= FIXED_SKILL_MAX_COUNT, "Fixed skills count exceeds max"); + + CECHostPlayer host = GetHostPlayer(); + for (int i = 0; i < m_fixedSkills.Count; i++) + { + if (i < m_fixedImgPics.Count && m_fixedImgPics[i] != null) + m_fixedImgPics[i].gameObject.SetActive(true); + if (i < m_fixedTxts.Count && m_fixedTxts[i] != null) + m_fixedTxts[i].gameObject.SetActive(true); + + CECSkill pSkill = host?.GetPositiveSkillByID(m_fixedSkills[i]); + if (pSkill != null) + { + SetImage(m_fixedImgPics[i], pSkill); + if (i < m_fixedTxts.Count && m_fixedTxts[i] != null) + m_fixedTxts[i].text = pSkill.GetNameDisplay(); + } + else + { + if (i < m_fixedImgPics.Count && m_fixedImgPics[i] != null) + { + m_fixedImgPics[i].gameObject.SetActive(false); + SetImage(m_fixedImgPics[i], null); + } + if (i < m_fixedTxts.Count && m_fixedTxts[i] != null) + m_fixedTxts[i].gameObject.SetActive(false); + } + }*/ + } + + // Update item skill display + public void UpdateItemSkill() + { + CECHostPlayer host = GetHostPlayer(); + if (host == null) + return; + + int equipSkillNum = host.GetEquipSkillNum(); + for (int i = 0; i < ITEM_SKILL_MAX_COUNT && i < m_itemSkillImages.Count; i++) + { + AUIImagePicture pImgPic = m_itemSkillImages[i]; + if (pImgPic != null) + { + if (i < equipSkillNum) + { + CECSkill pSkill = host.GetEquipSkillByIndex(i); + SetImage(pImgPic, pSkill); + } + else + { + SetImage(pImgPic, null); + } + } + } + } + + // Update produce skill display + public void UpdateProduceSkill() + { + CECHostPlayer host = GetHostPlayer(); + if (host == null) + return; + + for (int i = 0; i < m_produceSkills.Count; i++) + { + AUIImagePicture imgIcon = i < m_produceImgIcons.Count ? m_produceImgIcons[i] : null; + TextMeshProUGUI lblName = i < m_produceNameLabels.Count ? m_produceNameLabels[i] : null; + TextMeshProUGUI lblSkilledTxt = i < m_produceSkilledTxtLabels.Count ? m_produceSkilledTxtLabels[i] : null; + TextMeshProUGUI lblSkilledExp = i < m_produceSkilledExpLabels.Count ? m_produceSkilledExpLabels[i] : null; + TextMeshProUGUI lblLevel = i < m_produceLevelLabels.Count ? m_produceLevelLabels[i] : null; + + if (imgIcon != null) + imgIcon.gameObject.SetActive(true); + if (lblName != null) + lblName.gameObject.SetActive(true); + + //CECSkill pSkill = host.GetPassiveSkillByID(m_produceSkills[i]); + /* if (pSkill == null) + { + if (lblSkilledTxt != null) + lblSkilledTxt.gameObject.SetActive(false); + if (lblSkilledExp != null) + lblSkilledExp.gameObject.SetActive(false); + if (lblLevel != null) + lblLevel.gameObject.SetActive(false); + + if (imgIcon != null) + { + // Set gray color + Image img = imgIcon.GetComponent(); + if (img != null) + img.color = new Color(0.5f, 0.5f, 0.5f, 1f); // RGB(128, 128, 128) + } + + CECSkill tmpSkill = new CECSkill(m_produceSkills[i], 1); + SetImage(imgIcon, tmpSkill); + if (lblName != null) + lblName.text = tmpSkill.GetNameDisplay(); + } + else + { + if (lblSkilledTxt != null) + lblSkilledTxt.gameObject.SetActive(true); + if (lblSkilledExp != null) + lblSkilledExp.gameObject.SetActive(true); + if (lblLevel != null) + lblLevel.gameObject.SetActive(true); + + if (imgIcon != null) + { + // Set white color + Image img = imgIcon.GetComponent(); + if (img != null) + img.color = Color.white; // RGB(255, 255, 255) + } + + SetImage(imgIcon, pSkill); + if (lblName != null) + lblName.text = pSkill.GetNameDisplay();*/ + + /* int maxAbility = ElementSkill.GetMaxAbility(m_produceSkills[i], pSkill.GetSkillLevel()); + int ability = ElementSkill.GetAbility(m_produceSkills[i]);*/ + + /* if (lblSkilledExp != null) + lblSkilledExp.text = $"{ability}/{maxAbility}";*/ + /*if (lblLevel != null) + { + string levelFormat = GetStringFromTable(11323); + if (!string.IsNullOrEmpty(levelFormat)) + lblLevel.text = string.Format(levelFormat, pSkill.GetSkillLevel()); + }*/ + //} + } + } + + // Get combo skill data for an image + private uint GetComboSkillData(AUIImagePicture pImage) + { + if (pImage == null) + return 0; + return m_comboSkillData.TryGetValue(pImage, out uint data) ? data : 0; + } + + // Handle combo skill icon click for drag - called from DlgSkill + public void OnEventLButtonDownCombo(AUIImagePicture pObj) + { + uint data = GetComboSkillData(pObj); + if (pObj == null || data == 0) + return; + + // TODO: Implement drag and drop + // A3DVIEWPORTPARAM *p = m_pA3DEngine->GetActiveViewport()->GetParam(); + // POINT pt = { GET_X_LPARAM(lParam) - p->X, GET_Y_LPARAM(lParam) - p->Y }; + // GetGameUIMan()->m_ptLButtonDown = pt; + // GetGameUIMan()->InvokeDragDrop(this, pObj, pt); + Debug.Log($"OnEventLButtonDownCombo: combo skill {data}"); + } + + // Handle fixed skill icon click for drag + public void OnEventLButtonDownFixed(AUIImagePicture pObj) + { + if (pObj == null) + return; + + /* CECSkill skill = GetSkillFromImage(pObj); + if (skill == null) + return;*/ + + // TODO: Implement drag and drop + // GetGameUIMan()->m_ptLButtonDown = ...; + // GetGameUIMan()->InvokeDragDrop(this, pObj, GetGameUIMan()->m_ptLButtonDown); + Debug.Log("OnEventLButtonDownFixed"); + } + + // Handle item skill icon click for drag + public void OnEventLButtonDownItem(AUIImagePicture pObj) + { + if (pObj == null) + return; + + /* CECSkill skill = GetSkillFromImage(pObj); + if (skill == null) + return;*/ + + // TODO: Implement drag and drop + // GetGameUIMan()->m_ptLButtonDown = ...; + // GetGameUIMan()->InvokeDragDrop(this, pObj, GetGameUIMan()->m_ptLButtonDown); + Debug.Log("OnEventLButtonDownItem"); + } + + // Select combo skill - called from DlgSkill + public void SelectComboSkill(int n) + { + if (n < 1 || n > m_comboSkillImages.Count) + return; + + if (m_nComboSelect == n) + { + // Deselect + AUIImagePicture pImage = m_comboSkillImages[n - 1]; + if (pImage != null) + { + Image img = pImage.GetComponent(); + if (img != null) + img.color = Color.white; // RGB(255, 255, 255) + } + m_nComboSelect = 0; + } + else + { + // Deselect previous + if (m_nComboSelect != 0 && m_nComboSelect <= m_comboSkillImages.Count) + { + AUIImagePicture pImage = m_comboSkillImages[m_nComboSelect - 1]; + if (pImage != null) + { + Image img = pImage.GetComponent(); + if (img != null) + img.color = Color.white; // RGB(255, 255, 255) + } + } + + // Select new + m_nComboSelect = n; + AUIImagePicture pNewImage = m_comboSkillImages[n - 1]; + if (pNewImage != null) + { + Image img = pNewImage.GetComponent(); + if (img != null) + img.color = new Color(0.627f, 0.627f, 0.627f, 1f); // RGB(160, 160, 160) + } + } + } + + // Set image for an AUIImagePicture with a skill - called from DlgSkill + public void SetImage(AUIImagePicture pImage, CECSkill pSkill) + { + if (pImage == null) + return; + + if (pSkill != null) + { + // TODO: Set icon from sprite sheet + // AString strFile; + // af_GetFileTitle(pSkill->GetIconFile(), strFile); + // strFile.MakeLower(); + // pImage->SetCover( + // GetGameUIMan()->m_pA2DSpriteIcons[CECGameUIMan::ICONS_SKILL], + // GetGameUIMan()->m_IconMap[CECGameUIMan::ICONS_SKILL][strFile]); + + // Store skill in dictionary for retrieval + m_skillData[pImage] = pSkill; + + // Try to set as shortcut if possible + /* if (pSkill is CECShortcut shortcut) + pImage.SetDataPtr(shortcut, "ptr_CECSkill");*/ + // TODO: Set hint + // pImage->SetHint(pSkill->GetDesc()); + } + else + { + // TODO: Clear icon + // pImage->SetCover(NULL, -1); + m_skillData.Remove(pImage); + pImage.SetDataPtr(null); + // pImage->SetHint(""); + } + } + + // Get skill from image + /* private CECSkill GetSkillFromImage(AUIImagePicture pImage) + { + if (pImage == null) + return null; + + // Try dictionary first + if (m_skillData.TryGetValue(pImage, out CECSkill skill)) + return skill; + + // Try shortcut + CECShortcut shortcut = pImage.GetDataPtr(); + return shortcut as CECSkill; + }*/ + + // Update image picture cooldown display + private void UpdateImagePictureCD(AUIImagePicture pImgPic, CECSkill pSkill) + { + if (pImgPic == null) + return; + + CECHostPlayer pHost = GetHostPlayer(); + if (pHost == null) + return; + + AUIClockIcon pClock = pImgPic.GetClockIcon(); + if (pClock == null) + return; + + Image img = pImgPic.GetComponent(); + if (img == null) + return; + + if (pSkill != null && pSkill.ReadyToCast() && pHost.GetPrepSkill() != pSkill) + { + if (pHost.CheckSkillCastCondition(pSkill) == 0) + img.color = Color.white; // RGB(255, 255, 255) + else + img.color = new Color(0.5f, 0.5f, 0.5f, 1f); // RGB(128, 128, 128) + } + else + { + // Set clock color + Image clockImg = pClock.GetClockIcon(); + if (clockImg != null) + clockImg.color = new Color(0, 0, 0, 0.5f); // RGBA(0, 0, 0, 128) + } + + if (pSkill != null && (pSkill.GetCoolingTime() > 0 || pHost.GetPrepSkill() == pSkill)) + { + pClock.SetProgressRange(0, pSkill.GetCoolingTime()); + if (pHost.GetPrepSkill() == pSkill) + pClock.SetProgressPos(0); + else + pClock.SetProgressPos(pSkill.GetCoolingTime() - pSkill.GetCoolingCnt()); + } + } + } +} diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgSkillSubOther.cs.meta b/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgSkillSubOther.cs.meta new file mode 100644 index 0000000000..168af860c5 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgSkillSubOther.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 27624565938535e4593764faffe78bbf \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIImagePicture.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIImagePicture.cs index 95668d7038..9360876c95 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIImagePicture.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIImagePicture.cs @@ -12,8 +12,8 @@ namespace BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay { public class AUIImagePicture : MonoBehaviour { - CECShortcut pSC; [Header("AUIImagePicture")] + [SerializeField] CECShortcut pSC; [SerializeField] Button skillbutton; [SerializeField] protected Image skillImage; [SerializeField] GameObject borderImage; @@ -28,10 +28,11 @@ namespace BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay } skillbutton.onClick.AddListener(Execute); } - public void SetDataPtr(CECShortcut pvData, string strName) + public void SetDataPtr(CECShortcut pvData, string strName = null) { pSC = pvData; } + public CECShortcut GetDataPtr() => pSC; public void Execute() { if (pSC != null) diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs index f0dc9954c4..5a717386ea 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs @@ -1,4 +1,6 @@ -锘縰sing BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay; +锘//#define Applyforalicense + +using BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay; using BrewMonster.Network; using BrewMonster.Scripts; using BrewMonster.Scripts.Skills; @@ -23,6 +25,225 @@ namespace BrewMonster /// Apply for a license remove later /// /// + + + +#if !Applyforalicense + public bool UpdateShortcuts() + { + CECShortcut pSC; + Image skillImage; + CECSCSkill pSCSkill; + int iIconFile, nMax; + AUIImagePicture pCell; + CECSkill pSkill = new CECSkill(-1, -1); + AUIClockIcon pClock; + + + int nCurPanel9 = GetCurPanel1(); + int nCurPanel8 = GetCurPanel2(); + + CECHostPlayer pHost = EC_Game.GetGameRun().GetHostPlayer(); + if (pHost == null) return false; + var a_pSCS = new List(); + var a_pszPanel = new List(); + GetQuickBarNameAndSC(pHost, a_pszPanel, a_pSCS, nCurPanel9, nCurPanel8); + + for (int i = 0; i <= 1/*(int)a_pSCS.Count*/; i++) + { + if (a_pSCS[i] == null) + continue; + + //*//*CDlgQuickBar* pQuickBar = dynamic_cast(GetGameUIMan()->GetDialog(a_pszPanel[i])); + //if (!pQuickBar || !pQuickBar->IsShow()) continue;*//* + + for (int j = 0; j < AUIImagePictureList.Count; j++) + { + pCell = AUIImagePictureList[j]; + pSC = a_pSCS[i].GetShortcut(j); + pClock = pCell.GetClockIcon(); + pClock.SetProgressRange(0, 1); + pClock.SetProgressPos(1); + if (pSC != null) + { + if (pSC.GetType() == (int)CECShortcut.ShortcutType.SCT_SKILL) + { + iIconFile = (int)EC_GAMEUI_ICONS.ICONS_SKILL; + pSCSkill = (CECSCSkill)pSC; + pSkill = pSCSkill.GetSkill(); + if (false/*m_bDelGoblinSkillSC && GNET::ElementSkill::IsGoblinSkill(pSkill->GetSkillID())*/) + { + /* a_pSCS[i]->SetShortcut(j, NULL); + pSC = NULL;*/ + } + else + { + if (pSkill != null && pSkill.ReadyToCast() && pHost.GetPrepSkill() != pSkill) + { + if (ElementSkill.IsGoblinSkill((uint)pSkill.GetSkillID())) + { + /* if (pHostGoblin && !pHostGoblin->CheckSkillCastCondition(pSkill)) + { + pCell->SetColor(A3DCOLORRGB(255, 255, 255)); + } + else + { + pCell->SetColor(A3DCOLORRGB(128, 128, 128)); + }*/ + } + else + { + if (pHost.CheckSkillCastCondition(pSkill) == 0) + { + //pCell.SetColor(A3DCOLORRGB(255, 255, 255)); + } + else + { + //pCell.SetColor(A3DCOLORRGB(128, 128, 128)); + } + } + } + /*else + pClock.SetColor(A3DCOLORRGBA(0, 0, 0, 128));*/ + if (pSkill != null && (pSkill.GetCoolingTime() > 0 || + pHost.GetPrepSkill() == pSkill)) + { + pClock.SetProgressRange(0, pSkill.GetCoolingTime()); + if (pHost.GetPrepSkill() == pSkill) + { + pClock.SetProgressPos(0); + } + else + { + pClock.SetProgressPos(pSkill.GetCoolingTime() - pSkill.GetCoolingCnt()); + } + } + } + } + /*else if (pSC->GetType() == CECShortcut::SCT_ITEM) + { + iIconFile = CECGameUIMan::ICONS_INVENTORY; + pCell->SetColor(A3DCOLORRGB(255, 255, 255)); + pSCItem = (CECSCItem*)pSC; + pIvtr = GetHostPlayer()->GetPack(pSCItem->GetInventory()); + pItem = pIvtr->GetItem(pSCItem->GetIvtrSlot()); + if (pItem && pItem->GetCoolTime(&nMax) > 0) + { + pClock->SetProgressRange(0, nMax); + pClock->SetProgressPos(nMax - pItem->GetCoolTime()); + pClock->SetColor(A3DCOLORRGBA(0, 0, 0, 128)); + } + if (pSCItem->GetInventory() == IVTRTYPE_EQUIPPACK) + pCell->SetColor(A3DCOLORRGBA(128, 128, 255, 128)); + } + else if (pSC->GetType() == CECShortcut::SCT_PET) + { + pSCPet = (CECSCPet*)pSC; + CECPetData* pPet = pPetCorral->GetPetData(pSCPet->GetPetIndex()); + iIconFile = CECGameUIMan::ICONS_INVENTORY; + pCell->SetColor(A3DCOLORRGB(255, 255, 255)); + if (pPet) + { + // dead combat pet + if ((pPet->GetClass() == GP_PET_CLASS_COMBAT || pPet->GetClass() == GP_PET_CLASS_EVOLUTION) && pPet->GetHPFactor() == 0.0f) + { + pCell->SetColor(A3DCOLORRGB(128, 128, 128)); + } + // current active pet + else if (pSCPet->IsActivePet()) + { + pCell->SetColor(A3DCOLORRGB(255, 255, 0)); + } + } + } + else if (pSC->GetType() == CECShortcut::SCT_AUTOFASHION) + { + iIconFile = CECGameUIMan::ICONS_SUITE; + fashionCoolTime = pHost->GetCoolTime(GP_CT_EQUIP_FASHION_ITEM, &fashionCoolTimeMax); + pCell->SetColor(A3DCOLORRGB(255, 255, 255)); + if (fashionCoolTimeMax > 0) + { + pClock->SetProgressRange(0, fashionCoolTimeMax); + pClock->SetProgressPos(fashionCoolTimeMax - fashionCoolTime); + pClock->SetColor(A3DCOLORRGBA(0, 0, 0, 175)); + } + } + else + { + iIconFile = CECGameUIMan::ICONS_ACTION; + if (pSC->GetType() == CECShortcut::SCT_COMMAND) + { + CECSCCommand* pCommandSC = (CECSCCommand*)pSC; + if (GetHostPlayer()->IsInvisible()) + { + if (pCommandSC->GetCommandID() == CECSCCommand::CMD_STARTTRADE || + pCommandSC->GetCommandID() == CECSCCommand::CMD_SELLBOOTH || + pCommandSC->GetCommandID() == CECSCCommand::CMD_BINDBUDDY) + { + pCell->SetColor(A3DCOLORRGB(128, 128, 128)); + } + else + { + pCell->SetColor(A3DCOLORRGB(255, 255, 255)); + } + } + else + { + pCell->SetColor(A3DCOLORRGB(255, 255, 255)); + } + } + + if (pSC->GetCoolTime(&nMax) > 0) + { + pClock->SetProgressRange(0, nMax); + pClock->SetProgressPos(nMax - pSC->GetCoolTime()); + pClock->SetColor(A3DCOLORRGBA(0, 0, 0, 128)); + } + }*//**/ + if (pSC != null) + { + if(pCell.GetDataPtr() == pSC) + { + continue; + } + pCell.SetDataPtr(pSC); + if (pSC.GetType() == (int)CECShortcut.ShortcutType.SCT_SKILLGRP) + { + EC_VIDEO_SETTING setting = EC_Game.GetConfigs().GetVideoSettings(); + /* pCell.SetCover(GetGameUIMan()->m_pA2DSpriteIcons[CECGameUIMan::ICONS_SKILLGRP], + setting.comboSkill[((CECSCSkillGrp)pSC).GetGroupIndex()].nIcon + 1); + setting.comboSkill[((CECSCSkillGrp)pSC).GetGroupIndex()].nIcon + 1;*/ + // fix later now haven't skill group icon yet + GetGameUIMan().SetCover(pCell, "unknown", EC_GAMEUI_ICONS.ICONS_SKILL); + } + else + { + if (pSkill != null) + { + pCell.gameObject.SetActive(true); + //BMLogger.Log("HoangDev: QuickBar Set Skill Icon: " + (uint)pSkill.GetSkillID() + " : " + ElementSkill.GetIcon((uint)pSkill.GetSkillID())); + var nameskill = ElementSkill.GetIcon((uint)pSkill.GetSkillID()); + GetGameUIMan().SetCover(pCell, nameskill, EC_GAMEUI_ICONS.ICONS_SKILL); + } + /* af_GetFileTitle(pSC->GetIconFile(), strFile); + strFile.MakeLower(); + pCell->SetCover(GetGameUIMan()->m_pA2DSpriteIcons[iIconFile], + GetGameUIMan()->m_IconMap[iIconFile][strFile]); */ + } + } + } + else + { + /* pCell->SetCover(NULL, -1); + pCell->SetText(_AL("")); + pCell->SetDataPtr(NULL); + pCell->SetColor(A3DCOLORRGB(255, 255, 255)); */ + } + } + } + return true; + } +#else //public bool UpdateShortcuts() //{ // CECShortcut pSC; @@ -230,215 +451,7 @@ namespace BrewMonster // } // return true; //} - public bool UpdateShortcuts() - { - CECShortcut pSC; - Image skillImage; - CECSCSkill pSCSkill; - int iIconFile, nMax; - AUIImagePicture pCell; - CECSkill pSkill = new CECSkill(-1, -1); - AUIClockIcon pClock; - - - int nCurPanel9 = GetCurPanel1(); - int nCurPanel8 = GetCurPanel2(); - - CECHostPlayer pHost = EC_Game.GetGameRun().GetHostPlayer(); - if (pHost == null) return false; - var a_pSCS = new List(); - var a_pszPanel = new List(); - GetQuickBarNameAndSC(pHost, a_pszPanel, a_pSCS, nCurPanel9, nCurPanel8); - - for (int i = 0; i <= 1/*(int)a_pSCS.Count*/; i++) - { - if (a_pSCS[i] == null) - continue; - - //*//*CDlgQuickBar* pQuickBar = dynamic_cast(GetGameUIMan()->GetDialog(a_pszPanel[i])); - //if (!pQuickBar || !pQuickBar->IsShow()) continue;*//* - - for (int j = 0; j < AUIImagePictureList.Count; j++) - { - pCell = AUIImagePictureList[j]; - pSC = a_pSCS[i].GetShortcut(j); - pClock = pCell.GetClockIcon(); - pClock.SetProgressRange(0, 1); - pClock.SetProgressPos(1); - if (pSC != null) - { - if (pSC.GetType() == (int)CECShortcut.ShortcutType.SCT_SKILL) - { - iIconFile = (int)EC_GAMEUI_ICONS.ICONS_SKILL; - pSCSkill = (CECSCSkill)pSC; - pSkill = pSCSkill.GetSkill(); - if (false/*m_bDelGoblinSkillSC && GNET::ElementSkill::IsGoblinSkill(pSkill->GetSkillID())*/) - { - /* a_pSCS[i]->SetShortcut(j, NULL); - pSC = NULL;*/ - } - else - { - if (pSkill != null && pSkill.ReadyToCast() && pHost.GetPrepSkill() != pSkill) - { - if (ElementSkill.IsGoblinSkill((uint)pSkill.GetSkillID())) - { - /* if (pHostGoblin && !pHostGoblin->CheckSkillCastCondition(pSkill)) - { - pCell->SetColor(A3DCOLORRGB(255, 255, 255)); - } - else - { - pCell->SetColor(A3DCOLORRGB(128, 128, 128)); - }*/ - } - else - { - if (pHost.CheckSkillCastCondition(pSkill) == 0) - { - //pCell.SetColor(A3DCOLORRGB(255, 255, 255)); - } - else - { - //pCell.SetColor(A3DCOLORRGB(128, 128, 128)); - } - } - } - /*else - pClock.SetColor(A3DCOLORRGBA(0, 0, 0, 128));*/ - if (pSkill != null && (pSkill.GetCoolingTime() > 0 || - pHost.GetPrepSkill() == pSkill)) - { - pClock.SetProgressRange(0, pSkill.GetCoolingTime()); - if (pHost.GetPrepSkill() == pSkill) - { - pClock.SetProgressPos(0); - } - else - { - pClock.SetProgressPos(pSkill.GetCoolingTime() - pSkill.GetCoolingCnt()); - } - } - } - } - /*else if (pSC->GetType() == CECShortcut::SCT_ITEM) - { - iIconFile = CECGameUIMan::ICONS_INVENTORY; - pCell->SetColor(A3DCOLORRGB(255, 255, 255)); - pSCItem = (CECSCItem*)pSC; - pIvtr = GetHostPlayer()->GetPack(pSCItem->GetInventory()); - pItem = pIvtr->GetItem(pSCItem->GetIvtrSlot()); - if (pItem && pItem->GetCoolTime(&nMax) > 0) - { - pClock->SetProgressRange(0, nMax); - pClock->SetProgressPos(nMax - pItem->GetCoolTime()); - pClock->SetColor(A3DCOLORRGBA(0, 0, 0, 128)); - } - if (pSCItem->GetInventory() == IVTRTYPE_EQUIPPACK) - pCell->SetColor(A3DCOLORRGBA(128, 128, 255, 128)); - } - else if (pSC->GetType() == CECShortcut::SCT_PET) - { - pSCPet = (CECSCPet*)pSC; - CECPetData* pPet = pPetCorral->GetPetData(pSCPet->GetPetIndex()); - iIconFile = CECGameUIMan::ICONS_INVENTORY; - pCell->SetColor(A3DCOLORRGB(255, 255, 255)); - if (pPet) - { - // dead combat pet - if ((pPet->GetClass() == GP_PET_CLASS_COMBAT || pPet->GetClass() == GP_PET_CLASS_EVOLUTION) && pPet->GetHPFactor() == 0.0f) - { - pCell->SetColor(A3DCOLORRGB(128, 128, 128)); - } - // current active pet - else if (pSCPet->IsActivePet()) - { - pCell->SetColor(A3DCOLORRGB(255, 255, 0)); - } - } - } - else if (pSC->GetType() == CECShortcut::SCT_AUTOFASHION) - { - iIconFile = CECGameUIMan::ICONS_SUITE; - fashionCoolTime = pHost->GetCoolTime(GP_CT_EQUIP_FASHION_ITEM, &fashionCoolTimeMax); - pCell->SetColor(A3DCOLORRGB(255, 255, 255)); - if (fashionCoolTimeMax > 0) - { - pClock->SetProgressRange(0, fashionCoolTimeMax); - pClock->SetProgressPos(fashionCoolTimeMax - fashionCoolTime); - pClock->SetColor(A3DCOLORRGBA(0, 0, 0, 175)); - } - } - else - { - iIconFile = CECGameUIMan::ICONS_ACTION; - if (pSC->GetType() == CECShortcut::SCT_COMMAND) - { - CECSCCommand* pCommandSC = (CECSCCommand*)pSC; - if (GetHostPlayer()->IsInvisible()) - { - if (pCommandSC->GetCommandID() == CECSCCommand::CMD_STARTTRADE || - pCommandSC->GetCommandID() == CECSCCommand::CMD_SELLBOOTH || - pCommandSC->GetCommandID() == CECSCCommand::CMD_BINDBUDDY) - { - pCell->SetColor(A3DCOLORRGB(128, 128, 128)); - } - else - { - pCell->SetColor(A3DCOLORRGB(255, 255, 255)); - } - } - else - { - pCell->SetColor(A3DCOLORRGB(255, 255, 255)); - } - } - - if (pSC->GetCoolTime(&nMax) > 0) - { - pClock->SetProgressRange(0, nMax); - pClock->SetProgressPos(nMax - pSC->GetCoolTime()); - pClock->SetColor(A3DCOLORRGBA(0, 0, 0, 128)); - } - }*//**/ - if (pSC != null) - { - if (pSC.GetType() == (int)CECShortcut.ShortcutType.SCT_SKILLGRP) - { - EC_VIDEO_SETTING setting = EC_Game.GetConfigs().GetVideoSettings(); - /* pCell.SetCover(GetGameUIMan()->m_pA2DSpriteIcons[CECGameUIMan::ICONS_SKILLGRP], - setting.comboSkill[((CECSCSkillGrp)pSC).GetGroupIndex()].nIcon + 1); - setting.comboSkill[((CECSCSkillGrp)pSC).GetGroupIndex()].nIcon + 1;*/ - // fix later now haven't skill group icon yet - GetGameUIMan().SetCover(pCell, "unknown", EC_GAMEUI_ICONS.ICONS_SKILL); - } - else - { - if (pSkill != null) - { - pCell.gameObject.SetActive(true); - //BMLogger.Log("HoangDev: QuickBar Set Skill Icon: " + (uint)pSkill.GetSkillID() + " : " + ElementSkill.GetIcon((uint)pSkill.GetSkillID())); - var nameskill = ElementSkill.GetIcon((uint)pSkill.GetSkillID()); - GetGameUIMan().SetCover(pCell, nameskill, EC_GAMEUI_ICONS.ICONS_SKILL); - } - /* af_GetFileTitle(pSC->GetIconFile(), strFile); - strFile.MakeLower(); - pCell->SetCover(GetGameUIMan()->m_pA2DSpriteIcons[iIconFile], - GetGameUIMan()->m_IconMap[iIconFile][strFile]); */ - } - } - } - else - { - /* pCell->SetCover(NULL, -1); - pCell->SetText(_AL("")); - pCell->SetDataPtr(NULL); - pCell->SetColor(A3DCOLORRGB(255, 255, 255)); */ - } - } - } - return true; - } +#endif private void GetQuickBarNameAndSC(CECHostPlayer pHost, List pszPanel, List pSCS, int panel9, int panel8) { string dlgName; diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index cdee997e32..d86883aaf3 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -3,7 +3,6 @@ using BrewMonster.Assets.PerfectWorld.Scripts.Players; using BrewMonster.Managers; using BrewMonster.Network; using BrewMonster.PerfectWorld.Scripts.Vfx; -using BrewMonster.PerfectWorld.Scripts.Vfx; using BrewMonster.Scripts; using BrewMonster.Scripts.Managers; using BrewMonster.Scripts.Skills; @@ -22,6 +21,7 @@ using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; +using PerfectWorld.Scripts.Managers; using Unity.VisualScripting; using UnityEngine; using UnityEngine.UI; @@ -691,8 +691,6 @@ namespace BrewMonster private void OnMsgHstSetCoolTime(ECMSG Msg) { - BMLogger.LogError("HoangDev : OnMsgHstSetCoolTime "); - cmd_set_cooldown pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); if (pCmd.cooldown_index < 0) @@ -904,7 +902,7 @@ namespace BrewMonster bool bActionStartSkill = false; int iActionTime = 1000; - CECPlayerWrapper pWrapper = CECAutoPolicy.GetInstance().GetPlayerWrapper(); + CECPlayerWrapper pWrapper = CECAutoPolicy.GetInstance().GetPlayerWrapper(); switch (Convert.ToInt32(Msg.dwParam2)) { @@ -968,7 +966,7 @@ namespace BrewMonster bActionStartSkill = true; iActionTime = iWaitTime; Debug.Log($"Cast skill({m_pCurSkill.GetSkillID()})"); - + // Special logging for return-to-town skill (167) // 鍥炲煄鎶鑳(167)鐨勭壒娈婃棩蹇 if (m_pCurSkill.GetSkillID() == ID_RETURNTOWN_SKILL) @@ -999,12 +997,9 @@ namespace BrewMonster } case int value2 when value2 == CommandID.HOST_STOP_SKILL: { - // Host stop skill - // 涓昏鍋滄鎶鑳 m_pPrepSkill = null; - CECSkill - pSkillToMatch = m_pCurSkill; // 淇濆瓨鎸囬拡鍊硷紝鐢ㄥ湪鍚庨潰鍑芥暟璋冪敤涓 | Save pointer value for later function call + CECSkill pSkillToMatch = m_pCurSkill; if (m_pCurSkill != null) { ClearComActFlagAllRankNodes(true); @@ -1078,13 +1073,13 @@ namespace BrewMonster // Print a notify message // 鎵撳嵃鎻愮ず娑堟伅 - //EC_Game.GetGameRun().AddFixedMessage(FIXMSG_SKILLINTERRUPT); + //EC_Game.GetGameRun().AddFixedMessage(FIXMSG_SKILLINTERRUPT); BMLogger.LogError("Skill interrupted!"); - AP.AP_ActionEvent((int)AP_EVENT. AP_EVENT_STOPSKILL); + AP.AP_ActionEvent((int)AP_EVENT.AP_EVENT_STOPSKILL); // 閫氱煡绛栫暐鎶鑳借鎵撴柇 | Notify policy that skill is interrupted - CECAutoPolicy.GetInstance().SendEvent_SkillInterrupt(skill_id); + CECAutoPolicy.GetInstance().SendEvent_SkillInterrupt(skill_id); break; } case int value2 when value2 == CommandID.OBJECT_CAST_INSTANT_SKILL: @@ -1469,7 +1464,7 @@ namespace BrewMonster CECUIManager.Instance.UpdateSkillRelatedUI(); } } - public void AssignSkillGrpShortcut( List skillGrpSCConfigArray, CECShortcutSet[] aSCSets) + public void AssignSkillGrpShortcut(List skillGrpSCConfigArray, CECShortcutSet[] aSCSets) { for (int i = 0; i < skillGrpSCConfigArray.Count; i++) { @@ -2671,12 +2666,12 @@ namespace BrewMonster // p1 鏄竴涓 byte[] 缂撳啿鍖猴紱瑙f瀽涓 cmd_notify_hostpos 鐒跺悗璁剧疆浣嶇疆 byte[] buf = (byte[])Msg.dwParam1; cmd_notify_hostpos pCmd = GPDataTypeHelper.FromBytes(buf); - + int idInst = pCmd.tag; Vector3 vPos = new Vector3(pCmd.vPos.x, pCmd.vPos.y, pCmd.vPos.z); int iLine = pCmd.line; - - + + // Call Goto method to properly handle teleportation // 璋冪敤 Goto 鏂规硶鏉ユ纭鐞嗕紶閫 if (!Goto(idInst, vPos, iLine)) @@ -2685,7 +2680,7 @@ namespace BrewMonster return; } } - + // Return to a target town through skill // 閫氳繃鎶鑳借繑鍥炵洰鏍囧煄闀 // This method implements the Goto logic from the original C++ code @@ -2701,7 +2696,7 @@ namespace BrewMonster // Debug.LogError($"CECHostPlayer::Goto, Failed to jump to instance {idInst}"); // return false; // } - + // Stop all current work and goto specified position // 鍋滄鎵鏈夊綋鍓嶅伐浣滃苟杞埌鎸囧畾浣嶇疆 if (m_pWorkMan != null) @@ -2710,33 +2705,33 @@ namespace BrewMonster // 濡傛灉姝e湪鑷姩绉诲姩鍒欏仠姝 // Note: IsAutoMoving check would go here if available // 娉ㄦ剰锛氬鏋滃彲鐢紝IsAutoMoving 妫鏌ュ皢鏀惧湪杩欓噷 - + // Finish all work // 瀹屾垚鎵鏈夊伐浣 m_pWorkMan.FinishAllWork(true); } - + // Add a little height to ensure player's AABB won't embed with building // 澧炲姞涓鐐归珮搴︿互纭繚鐜╁鐨 AABB 涓嶄細宓屽叆寤虹瓚鐗 vPos.y += 0.1f; - + // Ensure we are not under ground (terrain height check would go here) // 纭繚鎴戜滑涓嶄細鍦ㄥ湴涓嬶紙鍦板舰楂樺害妫鏌ュ皢鏀惧湪杩欓噷锛 // Note: Terrain height check is skipped for now as it requires world access // 娉ㄦ剰锛氭殏鏃惰烦杩囧湴褰㈤珮搴︽鏌ワ紝鍥犱负瀹冮渶瑕佷笘鐣岃闂 - + // Set position // 璁剧疆浣嶇疆 SetPos(vPos); - + // Reset jump state if available // 濡傛灉鍙敤鍒欓噸缃烦璺冪姸鎬 // ResetJump(); // Uncomment if ResetJump method exists - + // Update camera if available // 濡傛灉鍙敤鍒欐洿鏂扮浉鏈 // UpdateFollowCamera(false, 10); // Uncomment if UpdateFollowCamera method exists - + return true; } @@ -3713,10 +3708,10 @@ namespace BrewMonster return false; if (!bCombo) - //ClearComboSkill(); + ClearComboSkill(); - if (idSelTarget == 0) - idSelTarget = m_idSelTarget; + if (idSelTarget == 0) + idSelTarget = m_idSelTarget; CECSkill pSkill = GetPositiveSkillByID(idSkill); if (pSkill == null) pSkill = GetEquipSkillByID(idSkill); @@ -3736,12 +3731,12 @@ namespace BrewMonster return true; } - //int iCon = CheckSkillCastCondition(pSkill); - //if (iCon) - //{ - // ProcessSkillCondition(iCon); - // return false; - //} + int iCon = CheckSkillCastCondition(pSkill); + if (iCon != 0) + { + ProcessSkillCondition(iCon); + return false; + } //// Get force attack flag bool bForceAttack = false; @@ -3751,20 +3746,20 @@ namespace BrewMonster bForceAttack = iForceAtk > 0 ? true : false; //// Check negative effect skill - //if (pSkill.GetType() == (int)skill_type.TYPE_ATTACK || pSkill.GetType() == (int)skill_type.TYPE_CURSE) - //{ - // if (idSelTarget == m_PlayerInfo.cid) - // { - // // Host cannot spell negative effect magic to himself. - // EC_Game.GetGameRun().AddFixedChannelMsg(FIXMSG_TARGETWRONG, GP_CHAT_FIGHT); - // return false; - // } - // else if (idSelTarget != 0) - // { - // if (AttackableJudge(idSelTarget, bForceAttack) != 1) - // return false; - // } - //} + if (pSkill.GetType() == (int)skill_type.TYPE_ATTACK || pSkill.GetType() == (int)skill_type.TYPE_CURSE) + { + if (idSelTarget == m_PlayerInfo.cid) + { + // Host cannot spell negative effect magic to himself. + //EC_Game.GetGameRun().AddFixedChannelMsg(FIXMSG_TARGETWRONG, GP_CHAT_FIGHT); + return false; + } + else if (idSelTarget != 0) + { + if (AttackableJudge(idSelTarget, bForceAttack) != 1) + return false; + } + } //// Check whether target type match int idCastTarget = idSelTarget; @@ -3876,7 +3871,7 @@ namespace BrewMonster else if (iTargetType == 2) iAliveFlag = 2; - /*CECObject pObject = EC_Game.GetGameRun().GetWorld().GetObject(idCastTarget, iAliveFlag); + /* CECObject pObject = EC_Game.GetGameRun().GetWorld().GetObject(idCastTarget, iAliveFlag); if (!pObject) return false;*/ } @@ -3890,8 +3885,8 @@ namespace BrewMonster if (!pSkill.IsInstant() && pSkill.GetType() != (int)Skilltype.TYPE_FLASHMOVE) { - /* if (!NaturallyStopMoving()) - return false; */ // Couldn't stop naturally, so cancel casting skill + if (!NaturallyStopMoving()) + return false; // Couldn't stop naturally, so cancel casting skill } else if (pSkill.GetType() == (int)Skilltype.TYPE_FLASHMOVE) { @@ -3925,9 +3920,9 @@ namespace BrewMonster { bool bTraceOK = false; bool bUseAutoPF = false; - /* CECPlayerWrapper pWrapper = CECAutoPolicy::GetInstance().GetPlayerWrapper(); - if (CECAutoPolicy::GetInstance().IsAutoPolicyEnabled() && pWrapper.GetAttackError() >= 2) - bUseAutoPF = true;*/ + CECPlayerWrapper pWrapper = CECAutoPolicy.GetInstance().GetPlayerWrapper(); + if (CECAutoPolicy.GetInstance().IsAutoPolicyEnabled() && pWrapper.GetAttackError() >= 2) + bUseAutoPF = true; if (idCastTarget == 0) { @@ -4134,7 +4129,24 @@ namespace BrewMonster Buffer.BlockCopy(buffer, index + contentBytes, tail, 0, trailing); } } + public bool NaturallyStopMoving() + { + // if (!m_MoveCtrl.IsStop()) + if (!IsPlayerMoving()) + return true; // Host has been stopped + if (m_iMoveMode == (int)MoveMode.MOVE_FREEFALL || InSlidingState() || IsJumping()) + return false; // Host couldn't stop naturally + + if (!m_pWorkMan.IsStanding()) + { + m_pWorkMan.FinishAllWork(true); + } + + m_MoveCtrl.SendStopMoveCmd(); + + return true; + } public bool CastSkill(int idTarget, bool bForceAttack, CECObject pTarget = null) { // Check if prep skill is valid, ready to cast, and not currently spelling magic @@ -4393,7 +4405,7 @@ namespace BrewMonster // 閫氳繃鎶鑳借繑鍥炵洰鏍囧煄闀 private bool ReturnToTargetTown(int idTarget, bool bCombo = false) { - + if (!CanDo(ActionCanDo.CANDO_SPELLMAGIC)) { return false; @@ -4407,7 +4419,7 @@ namespace BrewMonster Debug.LogError("ReturnToTargetTown: Skill 167 not found"); return false; } - + if (!bCombo) { @@ -4443,7 +4455,7 @@ namespace BrewMonster m_pPrepSkill = pSkill; byte byPVPMask = glb_BuildPVPMask(false); - + // Call c2s_CmdCastSkill with target parameter // 浣跨敤鐩爣鍙傛暟璋冪敤 c2s_CmdCastSkill int targets = 1; @@ -4667,19 +4679,13 @@ namespace BrewMonster } } - // Check combo skill prerequisite (for night shadow continuous skills) - // Note: GetComboSkPreSkill and IsActiveComboSkill methods need to be implemented - // TODO: Implement GetComboSkPreSkill in ElementSkill/CECSkill - // TODO: Implement IsActiveComboSkill in CECComboSkillState - /* if (pSkill.GetComboSkPreSkill() != 0) { - if (!CECComboSkillState.Instance.IsActiveComboSkill(pSkill.GetSkillID())) + if (!CECComboSkillState.Instance.IsActiveComboSkill((uint)pSkill.GetSkillID())) { return 13; // Combo skill not active } } - */ // Build UseRequirement info UseRequirement Info = new UseRequirement(); @@ -4691,35 +4697,24 @@ namespace BrewMonster Info.is_combat = IsFighting(); Info.hp = m_BasicProps.iCurHP; Info.max_hp = m_ExtProps.bs.max_hp; - // Info.combo_state = CECComboSkillState.Instance.GetComboSkillState(); // TODO: Implement GetComboSkillState + Info.combo_state = CECComboSkillState.Instance.GetComboSkillState(); // TODO: Implement GetComboSkillState - // Get weapon's major class ID - // Equipment inventory slot constants from CECPlayer.IndexOfIteminEquipmentInventory - const int EQUIPIVTR_WEAPON = 0; // Weapon slot - const int EQUIPIVTR_PROJECTILE = 4; // Projectile slot (arrows) + // Get weapon's major class ID + int iReason = 0; - Info.weapon = 0; - Info.arrow = 0; - - EC_IvtrItem pWeaponItem = m_pEquipPack.GetItem(EQUIPIVTR_WEAPON); - if (pWeaponItem != null && pWeaponItem is EC_IvtrEquip pWeaponEquip) - { - // Check if weapon has endurance - if (pWeaponEquip.CurEndurance > 0) - { - // TODO: Implement CanUseEquipment method to check level/class requirements - // For now, use the template ID as weapon type - Info.weapon = pWeaponItem.GetTemplateID(); - } - } + CECIvtrWeapon pWeapon = (CECIvtrWeapon)m_pEquipPack.GetItem((int)IndexOfIteminEquipmentInventory.EQUIPIVTR_WEAPON); + if (pWeapon == null || pWeapon.GetCurEndurance() == 0) + Info.weapon = 0; + else if (!CanUseEquipment(pWeapon, ref iReason)) + Info.weapon = (iReason == 5) ? (int)pWeapon.GetDBMajorType().id : 0; + else + Info.weapon = (int)pWeapon.GetDBMajorType().id; // Get remaining arrow number - EC_IvtrItem pArrowItem = m_pEquipPack.GetItem(EQUIPIVTR_PROJECTILE); - if (pArrowItem != null) + CECIvtrArrow pArrow = (CECIvtrArrow)m_pEquipPack.GetItem((int)IndexOfIteminEquipmentInventory.EQUIPIVTR_PROJECTILE); + if (pArrow != null && CanUseProjectile(pArrow)) { - // TODO: Implement CanUseProjectile method to check requirements - // For now, use the item count - Info.arrow = pArrowItem.GetCount(); + Info.arrow = pArrow.GetCount(); } // Call ElementSkill Condition check @@ -4760,7 +4755,26 @@ namespace BrewMonster return iMsg >= 0; } + public bool CanUseProjectile(CECIvtrArrow pArrow) + { + if (pArrow == null) + return false; + CECIvtrWeapon pWeapon = (CECIvtrWeapon)m_pEquipPack.GetItem((int)IndexOfIteminEquipmentInventory.EQUIPIVTR_WEAPON); + if (pWeapon == null) + return false; + + IVTR_ESSENCE_WEAPON we = pWeapon.GetEssence(); + if (we.weapon_type != (int)WeaponType.WEAPONTYPE_RANGE) + return false; + + IVTR_ESSENCE_ARROW ae = pArrow.GetEssence(); + if (we.require_projectile != (int)pArrow.GetDBSubType().id || + we.weapon_level < ae.iWeaponReqLow || we.weapon_level > ae.iWeaponReqHigh) + return false; + + return true; + } bool CanSelectTarget(int idTarget) { if (idTarget == 0 || idTarget == this.GetCharacterID()) @@ -6885,7 +6899,7 @@ namespace BrewMonster return true; } - public void ClearComboSkill() + public void ClearComboSkill() { if (m_pComboSkill != null) { @@ -7166,7 +7180,7 @@ namespace BrewMonster for (i = 0; i < m_pEquipPack.GetSize(); i++) { var pItem = m_pEquipPack.GetItem(i); - if(pItem == null) + if (pItem == null) { continue; } @@ -7277,11 +7291,11 @@ namespace BrewMonster return m_pPetCorral; } - public bool IsPlayerMoving() + public bool IsPlayerMoving() { return m_pWorkMan.IsMoving(); } - public CECComboSkill GetComboSkill() { return m_pComboSkill; } + public CECComboSkill GetComboSkill() { return m_pComboSkill; } } public struct SkillShortCutConfig diff --git a/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset b/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset index 4b25654fa2..0af81e6d95 100644 --- a/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset +++ b/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset @@ -215,255 +215,8 @@ MonoBehaviour: m_SourceFontFilePath: m_AtlasPopulationMode: 1 InternalDynamicOS: 0 - m_GlyphTable: - - m_Index: 370 - m_Metrics: - m_Width: 50 - m_Height: 46 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 45 - m_HorizontalAdvance: 58 - m_GlyphRect: - m_X: 10 - m_Y: 10 - m_Width: 50 - m_Height: 46 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1735 - m_Metrics: - m_Width: 51 - m_Height: 64 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 63 - m_HorizontalAdvance: 56 - m_GlyphRect: - m_X: 10 - m_Y: 75 - m_Width: 51 - m_Height: 64 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1677 - m_Metrics: - m_Width: 45 - m_Height: 66 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 65 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 10 - m_Y: 158 - m_Width: 45 - m_Height: 66 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1731 - m_Metrics: - m_Width: 42 - m_Height: 75 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 10 - m_Y: 243 - m_Width: 42 - m_Height: 75 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 210 - m_Metrics: - m_Width: 58 - m_Height: 59 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 62 - m_GlyphRect: - m_X: 10 - m_Y: 337 - m_Width: 58 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1675 - m_Metrics: - m_Width: 45 - m_Height: 59 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 71 - m_Y: 243 - m_Width: 45 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1745 - m_Metrics: - m_Width: 38 - m_Height: 66 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 65 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 74 - m_Y: 158 - m_Width: 38 - m_Height: 66 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1707 - m_Metrics: - m_Width: 43 - m_Height: 67 - m_HorizontalBearingX: 2 - m_HorizontalBearingY: 66 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 10 - m_Y: 415 - m_Width: 43 - m_Height: 67 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 299 - m_Metrics: - m_Width: 38 - m_Height: 62 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 61 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 72 - m_Y: 415 - m_Width: 38 - m_Height: 62 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1763 - m_Metrics: - m_Width: 43 - m_Height: 79 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 61 - m_HorizontalAdvance: 43 - m_GlyphRect: - m_X: 80 - m_Y: 10 - m_Width: 43 - m_Height: 79 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1679 - m_Metrics: - m_Width: 45 - m_Height: 67 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 66 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 87 - m_Y: 321 - m_Width: 45 - m_Height: 67 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1741 - m_Metrics: - m_Width: 51 - m_Height: 59 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 56 - m_GlyphRect: - m_X: 129 - m_Y: 407 - m_Width: 51 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 355 - m_Metrics: - m_Width: 51 - m_Height: 47 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 56 - m_GlyphRect: - m_X: 131 - m_Y: 108 - m_Width: 51 - m_Height: 47 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - m_CharacterTable: - - m_ElementType: 1 - m_Unicode: 432 - m_GlyphIndex: 370 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7901 - m_GlyphIndex: 1735 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7843 - m_GlyphIndex: 1677 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7897 - m_GlyphIndex: 1731 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 272 - m_GlyphIndex: 210 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7841 - m_GlyphIndex: 1675 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7911 - m_GlyphIndex: 1745 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7873 - m_GlyphIndex: 1707 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 361 - m_GlyphIndex: 299 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7929 - m_GlyphIndex: 1763 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7845 - m_GlyphIndex: 1679 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7907 - m_GlyphIndex: 1741 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 417 - m_GlyphIndex: 355 - m_Scale: 1 + m_GlyphTable: [] + m_CharacterTable: [] m_AtlasTextures: - {fileID: 28268798066460806} m_AtlasTextureIndex: 0 @@ -474,111 +227,11 @@ MonoBehaviour: m_AtlasHeight: 512 m_AtlasPadding: 9 m_AtlasRenderMode: 4169 - m_UsedGlyphRects: - - m_X: 0 - m_Y: 0 - m_Width: 69 - m_Height: 65 - - m_X: 0 - m_Y: 65 - m_Width: 70 - m_Height: 83 - - m_X: 0 - m_Y: 148 - m_Width: 64 - m_Height: 85 - - m_X: 0 - m_Y: 233 - m_Width: 61 - m_Height: 94 - - m_X: 0 - m_Y: 327 - m_Width: 77 - m_Height: 78 - - m_X: 61 - m_Y: 233 - m_Width: 64 - m_Height: 78 - - m_X: 64 - m_Y: 148 - m_Width: 57 - m_Height: 85 - - m_X: 0 - m_Y: 405 - m_Width: 62 - m_Height: 86 - - m_X: 62 - m_Y: 405 - m_Width: 57 - m_Height: 81 - - m_X: 70 - m_Y: 0 - m_Width: 62 - m_Height: 98 - - m_X: 77 - m_Y: 311 - m_Width: 64 - m_Height: 86 - - m_X: 119 - m_Y: 397 - m_Width: 70 - m_Height: 78 - - m_X: 121 - m_Y: 98 - m_Width: 70 - m_Height: 66 + m_UsedGlyphRects: [] m_FreeGlyphRects: - m_X: 0 - m_Y: 491 + m_Y: 0 m_Width: 511 - m_Height: 20 - - m_X: 62 - m_Y: 486 - m_Width: 449 - m_Height: 25 - - m_X: 69 - m_Y: 0 - m_Width: 1 - m_Height: 65 - - m_X: 61 - m_Y: 311 - m_Width: 16 - m_Height: 16 - - m_X: 77 - m_Y: 397 - m_Width: 42 - m_Height: 8 - - m_X: 119 - m_Y: 475 - m_Width: 392 - m_Height: 36 - - m_X: 70 - m_Y: 98 - m_Width: 51 - m_Height: 50 - - m_X: 121 - m_Y: 164 - m_Width: 390 - m_Height: 69 - - m_X: 125 - m_Y: 164 - m_Width: 386 - m_Height: 147 - - m_X: 132 - m_Y: 0 - m_Width: 379 - m_Height: 98 - - m_X: 141 - m_Y: 164 - m_Width: 370 - m_Height: 233 - - m_X: 189 - m_Y: 164 - m_Width: 322 - m_Height: 347 - - m_X: 191 - m_Y: 0 - m_Width: 320 m_Height: 511 m_FontFeatureTable: m_MultipleSubstitutionRecords: [] @@ -840,9 +493,9 @@ Texture2D: Hash: 00000000000000000000000000000000 m_IsAlphaChannelOptional: 0 serializedVersion: 3 - m_Width: 512 - m_Height: 512 - m_CompleteImageSize: 262144 + m_Width: 1 + m_Height: 1 + m_CompleteImageSize: 1 m_MipsStripped: 0 m_TextureFormat: 1 m_MipCount: 1 @@ -867,8 +520,8 @@ Texture2D: m_LightmapFormat: 0 m_ColorSpace: 0 m_PlatformBlob: - image data: 262144 - _typelessdata: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070a0d101112131312110f0d09060503000000000000060606060606060000000000000000000000000000000000000000000000000000000000000000020507080f111213131312100e0a06060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314171a1d1e1f20201f1e1c1a1613120f0b06000407071313131313131307070501000000000000000000000000000000000000000000000000000002090e1114141c1d1f1f20201f1d1a1613120f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13191d20212427292b2b2c2c2c2b292623201f1b17110d111314202020202020201413110d08020000000000000000000000000000000000000000000000050d14191e2021282a2b2c2d2c2b2a2723201f1c17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b151a1e24292d2e3134363738393938373533302d2b27221b191d202d2d2d2d2d2d2d2d21201d19130c04000000000000000000000000000000000000000000050e171f252a2d2e353738393939383634302d2b28221c140b080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a111720262b3035393a3d404344454646454442403c3937332d2924292c3939393939393939392d29241e160e0400000000000000000000000000000000000000020d17202930363a3b4244454646464543413d3938332d261d19130c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b141b222731373a4146474a4d505152535352514f4d4946443f38352f35394646464646464646463935302820160c0200000000000000000000000000000000000009141f29323b4246474f505252535352504d4946443f382f2a251e170e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151d262d333c42474c5254575a5c5e5e5f5f5f5e5c595653504945403a414553535353535353535346413a32281e13080000000000000000000000000000000000020e1925303b444d52545b5d5e5f605f5e5d5a5653504a423e36302920180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e272f383f444d53565d616467696a6b6c6c6b6a686663605b53514b444c525f606060606060605f524c443a3024190d010000000000000000000000000000000005111e2a36424d565e61686a6b6c6c6c6b696763605b545046413a322a21180f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273039414950575f62686d70737677787979787775736f6c65605d554f565d6c6c6c6c6c6c6c6c6c5d564c4135291d1105000000000000000000000000000000000714202d3a46525e696e757778797979787674706c66615a524c443c332a21170d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424b535b60696e747a7d808384858686858482807c78726d6760595d68767979797979797976685d5246392d201307000000000000000000000000000000000814212e3b4754616e7b8183858586868583807c78716c615e564d453c33291f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b545c656c737b81868a8d8f9191929292918f8c89847f79706b62606d7a868686868686867a6d6154473a2e211407000000000000000000000000000000000916222f3c4955626f7c88909192939291908d89847e756d685f574d453b31281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222c3845515c666d777f878e92989a9c9d9e9f9f9e9d9b9996918c847d726d616e7b87939393939386796c605346392d201306000000000000000000000000000000000916222f3c4955626f7c88959e9f9f9f9e9c9a95918a827a6e695f574d433a2f24190d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202c38444f59606d78818c93999fa3aaa9a8aaa29f9e9e9e9fa19e9691877f726d6e7b88959f9f9f928579655b5044372b1f1205000000000000000000000000000000000916222f3c4955626f7c88959e9e9fa3aba9a8a09d948f847b6e695e554c41352920160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c4854606b74818e939fa4ababa39f9b979892919192939a999d99938b7f726f7c8995a2ab9e9285786b5f493f33271b0f03000000000000000000000000000000000916222f3c4955626f7c889291919299999ea1a9a69e9691847b6e675d51453e32281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5863707d89939da5afa8a199928e8a878584848586888c90959e92877d707c8996a3ab9e9185786b5e52452d22170b00000000000000000000000000000000000916222f3c4955626f7c8685858586888c92979da4a8a0969184796d605a50443a2f24190d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a7683909da5afaaa1969187817d7a79787778797c7f838b919791857a7d8a96a3ab9e9184786b5e5145382b1e0600000000000000000000000000000000000713202d3a4653606d787a787878797b7f858d929fa4a9a0968e81756c61564c4135291f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c88959fabaea29891847c75706d686b6b666d6f73787e8591958e817e8a97a3ab9e9184786b5e5145382b1e12050000000000000000000000000000000006121f2c3844515c666d6d676b656c6f737a808b939aa4a89e938a7e71685d52453b3025190e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546673808c99a7b1ab9f92867c6f6a64615e56545c6062666c717b83919388808d9aa7aa9e9184776b5e5144382b1e11050000000000000000000000000000000004101c2834404a545c60605d555b6062676d747e88939fa5a59e91857a6d60564d42362a1e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667683909da9afa3998c80736a605854524c4a5153545b60696e7a8491938d929da9aa9e9184776b5e5144382b1e110500000000000000000000000000000000000c18232e39424a515353514b5053555d606c727f8b939ea8a1978d8073695e52463a3025190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facac9f92867a6d61584e4746414044464a50575e686f7c87929a9da4aeaa9e9184776b5e5144382b1e1105000000000000000000000000000000000007121c27303940444647454044464b515a626d74818e96a1a99f92867b6e61564c41362a1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8898a3aea99c908376685e52463c393634383a3f444d56606a73808d99a3afb7aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000b151e272e34383a3a3935373a4145515b606d7a84919ea7a2988d8074685e5246392e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996aab4a79a8d807467564c41342d2a282c2d333b444e58616e7b86929facb7aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000030c151c23282c2d2d2c292b2f353f45515d67717e8a959faa9f92867a6d61554b4034281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5988b7e7265584b3f30251d1c1f2228323d46525e6975828f9ba8b5aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000030b12181c1f2020201d1f242935414c55606c7883909da8a2988c7f73675c5145382c1f15090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b0a3978a7d7064574a3d312417101217202a36424d5764717e8b97a9b3aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000070c1012131413111319242f3a44505b65707d8a96a0aa9e9285796d6053463c31261a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5afa296897c6f6356493c30231609060e1a25303b4855626e7b8897a2adaa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000004060707060408131e27333f4953606c7884919eaba1978a7e7164574e42372b1c120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295897c6f6256493c2f231609000913202d394653606c7985929fabaa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000010b17222d3844505b66727f8c99a3a99c8f83766a5f5347392e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090005121f2b3744505b657784919daaaa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000006111b28333f4a54616d7a86929fac9f94887b6e62544a4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900030f1b27333f49536a7683909da9aa9e9184776b5e5144382b1e0802000000000000000000000000000000000000000000000000000000000000000b17222d3a4653606d7985919eaba69a8d8073665c5144382c1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900000b17222d424f5c6975828f9ca8aa9e9184776b5e5144382b19140d08010000000000000000000000000000000000000000000000000000000005121e2a36424d5764707d8a97a1adab9e9285796d6053463b30251a0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090000061c2935424f5c6875828f9ba8aa9e9184776b5e51442e2a251e19130c040000000000000000000000000000000000000000000000000000000714212d3a46535e6975828f9ca9b3ada1978a7d7164574d42362a1b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e513f38363029241e160d070000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939facb9b3a99c8f8276695e5246382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e504a46413b352f281f19100900000000000000000000000000000000000000000000000006121f2c3844505c6673808c99a4afb7b8ac9f93877b6e6153493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b605c54524c45413a312b231b120900000000000000000000000000000000000000000000000713202d3a4653606d7984919eabadababada4998c7f73655b5044372b1f130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e918477706d66615e56524c433d352d241b120800000000000000000000000000000000000000000005121e2a36424d5764707d8a96a1a8a19e9ea1a99e9184786c6053463a3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8ac9f9286817d79736e68605d564f473f362d241a0f0600000000000000000000000000000000000000000714212d3a46535e6976828f9ca9a196919297a1a196897d7063564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aea398928e8985807a746d68605950483f362c21180e0300000000000000000000000000000000000003101c28343f4a54616e7b87939fab9e918485929ea89b8e8175685e5246392d20150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8b2a8a09e9597928d86807a6f6b625a50483e332a20150900000000000000000000000000000000000006121f2c3844505c6673808d99a4a89a8d80808d9aa89f92867a6d6154473d32271b0f010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aca09691898d9297928d847d716c625a50463c31261a0f0500000000000000000000000000000000000713202d3a4653606d7985919eaba196897c7c8996a0a3988b7f7265584e43372b1d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e91847c80858b919691877e716c61584e43372b21170b0000000000000000000000000000000005121e2a36424d5764717d8a97a1ab9e9184787784919eaa9d9083776a605447392f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e91847774797f858e9392877e716a5f53473e33281c10020000000000000000000000000000000714212d3a46535f6976828f9ca9a8998d807373808c99a7a095897c6f62554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e918477676d727a818e9392867c6e62594f44392d1e1308000000000000000000000000000004101c2834404a54616e7b87939faca095887c6f6e7b88959fa79a8e8174675d5145392c1f150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b60686d78818e968f82766c6155493a3025190d010000000000000000000000000006121f2c3844515c6673808d9aa4aa9d9184776a697683909dab9f9285796d6053473c31261a0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b565d666d798491948a7d7064564c41362a1e1105000000000000000000000000000713202d3a4653606d7985929eaca7998c7f736665727f8b99a3a2988b7e7164574d42372b1c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e545c67717e8b998f8275685e5246392d20130700000000000000000000000006121e2b37424d5764717e8a97a1ab9f95887b6e62616d7a86929faa9c908376695f5347382e23170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e4b55606d7a869292867a6d6154473a2e2114070000000000000000000000000814212d3a47535f6976828f9ca9ab9d908377695f5e6876828f9caa9f94887b6e62544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e54565d67778390998a7d7064574a3d3124170a000000000000000000000004101c2834404b54616e7b87939faca4998c7f7265575664717e8b98a2a69a8d8073665c5044382c1f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5960636c6c75818e998d8073665a4d4033271a0d000000000000000000000006131f2c3845515c6673808d9aa4ac9f93877b6e615454606d7a86929fab9e9185796d6053463b30251a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b606b70797979818d9a8f8275695c4f4236291c0f00000000000000000000000713202d3a4653606d7985929eaca99c8f8276685e52515d6775828e9baaa1978a7d7064574d42362a1b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b63707d8686868d929d9083766a5d5043372a1d100000000000000000000006121e2b37424d5764717e8a97a1ada1978a7d7164564d4b5564707d8a98a2a99c8f8275695e5246382d22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b63707d8993939a9d9e9184776b5e5144382b1e11000000000000000000000814212e3a47535f6976838f9ca9ab9e9285796d6053464653606d7985929fab9f92867b6e6153493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b63707d89969fa7ab9e9185786b5e5245382b1f1200000000000000000004101c2834404b55626e7b88949faba79a8d8074665c514545515c6774818e9ba9a3998c7f73655b5044372b1f1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5aca295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b63707d8996a3acab9e9285786b5f5245382c1f1200000000000000000006131f2c3845515c6773808d9aa6ab9f95887c6f62544b40404b5563707d8997a1ab9e9184786c6053463a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b989f9f9f95887c6f6255493c2f22160900020f1c2935424f5c6875828f9b9f9f9e9184776b63707d89969f9f9f9e9285786b5f5245382c1f120000000000000000000713202d3a4653606d7985929eabaa9d9083766a5f5342393a4653606d7985929eaba096897d7063564c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b9393939393887c6f6255493c2f22160900020f1c2935424f5c6875828f939393939184776b63707d8993939393939285786b5f5245382c1f12000000000000000006121f2b37434e5864717e8a97a1ada2988b7e7265584e43303844505c6674818d9aa8a89b8e8175685d5245392c20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f868686868686867c6f6255493c2f22160900020f1c2935424f5c68758186868686868684776b63707d8686868686868685786b5f5245382c1f1200000000000000000814212e3a47535f6a7683909ca9ac9f92867a6d6054473c31343f4a54636f7c8996a1ac9f92867a6d6054473c32261b0f0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4a56626d7279797979797979766a5f53473b2e21150800020e1b2834414d59656f75797979797979777267606b70797979797979797873685d5044372b1e110000000000000004101c2934404b55626e7b88949faba89b8e8174675d5145392a2e394653606c7884919eaba3988b7f7265584e43372b1d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3a46515b62656c6c6c6c6c6c6c625f584e43372b1f130600000c1925313d49545d65686c6c6c6c6c6c6b67605960636c6c6c6c6c6c6c6b6861574c4034281c0f0000000000000006131f2c3845515c6774808d9aa6aca096897c7063554c4135292b3744505b6573808d99a8aa9d9083776a5f5447392f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e29343f495156586060606060606055534e463c32261b0f0300000915212c37424b54595c6060606060605e5c564f5456606060606060605f5d574f453b2f24180c000000000000000714202d3a4753606d7985929fabab9e9184786c6053463a2f2427333f4953626f7c8895a0aca095887c6f62554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18232d373f464a4c535353535353534947433c342a20150a00000004101b26303942494d4f535353535353514f4b44484a5353535353535352504c453d33291e130700000000000006121f2b37434e5864717e8b97a2ada3998c7f72655b504437281e222d3847535f6a7784919daaa79a8d8174675d5145382c1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b252d343a3e3f464646464646463c3b37322a22180e040000000009141e2730373d414246464646464644433f383c3d464646464646464544403b332b21170d020000000000000815212e3a47535f6a7683909ca9ac9f92867b6e6153493f3327161b2b37434e5866737f8c99a7ab9f9285796d6053473c31261a0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b23292e3132393939393939392f2e2b26201810060000000000020c151e262c3134353939393939393837332c2f30393939393939393837342f2921190f0600000000000004101d2935404b55626f7c88949faba99c8f8275695e5241382d22171b26323c4855616e7b88959faba2978a7e7164574d42372b1c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2d22211f1b150e0600000000000000030c141b212528292d2d2d2d2d2d2b2a272022232d2d2d2d2d2d2d2c2b28241e170f070000000000000006131f2c3945515d6774808d9aa6ada1978a7d7064564d422f261b1115212d3a47535f697783909daba99c8f8376695f5346382e23170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d12151819202020202020201615130f0a0400000000000000000002091015191b1c2020202020201e1d1b131617202020202020201f1e1c18130d0600000000000000000714202d3a4753606d7985929fabab9e9285796d6053463b3020140a121e2b37424d5765727f8c99a4ab9f94887b6e61544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c13131313131313090806030000000000000000000000000004090c0e0f13131313131311110e07090a1313131313131312110f0c0702000000000000000006121f2b37434e5864717e8b97a2ada69a8d8073665c5144382c1f12020e1a26313c4754616e7b87939faca6998d8073665c5044382c1f140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a7683909da9ab9f94887b6e62544a4034281c10040915202d3a46525e6976838f9cabab9e9184796d6053463b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0d0f11121313131211100e0c090806030000000000000000000000000000000000000000000000000000000000000004101d2935404b55626f7c88959fabaa9c9083766a5f5342392e23180c0005111e2a36424d5765727e8b99a3ada1978a7d7063564c41362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d101314171a1c1d1f1f20201f1e1d1b181615130f0a0502000000000000000000000000000000000000000000000000000000000613202c3945515d6774818d9aa7aea2988b7e7165584e4330271c120700020e1a25303b4754616d7a86929faca99b8f8275685e5246392d20160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1012181d20202326292a2c2c2d2c2c2b29282522211f1b15120e090300000000000000000000000000000000000000000000000000000714202d3a4753606d7985929fabac9f92857a6d6053473c3120150b0000000914202d3946525e6875828f9caaac9f92867a6e6154473d32271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c1d24292c2d303335373839393939383634322f2e2b26211e1a140e0903000000000000000000000000000000000000000000000006131f2b37434e5865717e8b98a2aea89a8e8174675d5145392c20130300000306111d2935414c5664717e8a98a2aea3998c7f7266594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c161b21272c2f35393a3d40424445464646454443413f3c3b37322d2b261f1a140d05000000000000000000000000000000000000000000000815222e3b47545f6a7783909daa9fa095897c6f63554b4035291d1104060b0f12131925303a4753606d7a86929f9f9f9e9184776b6054483b2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a111721272c3338394045474a4d4f50525253535251504e4b4947433c3a37312a251f170f060000000000000000000000000000000000000000000916222f3c4955626f7c8895939393939184776b6054433a2f24180d0c11171c1f2024282c3945515d6775828e9393939396897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c232832383d44484b515356595c5d5f5f605f5f5e5c5b5855534e4846423c3631292117110a03000000000000000000000000000000000000000e1b2834414e5b677480868686868686867f7265594f4331281d1311171c22282b2d30353835404b5564707e868686868686868174685b4e4135281b0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5855534d46423b3328231c150c030000000000000000000000000000000000000d1a2733404c58646e7479797979797979726d6257463d322b22171c23282d3338393d414446454955616c7079797979797979746f64594d4034271a0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615f57534d453f342e261e150c0200000000000000000000000000000000000b1824303c48535c64676c6c6c6c6c6c6c65625b5147433c342b23282e34383f44464a4e51525251505a61646c6c6c6c6c6c6c68645d53483c3024180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5751443f3830261e140a00000000000000000000000000000000000814202b36414a53585b6060606060606060606055544e463c322e34383f444a5053575b5e5f5f5e5a555557606060606060605b59534b41372b20140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625b504a423830261c110600000000000000000000000000000000030f1a252f3841484c4e535353535d65686c6c6c6260584e4337383f444a50545b6063686b6c6c6a67625f58525353535353534e4d4841392f251a0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b726d605c544a42382e23170d040000000000000000000000000000000008131d262f363c404146464d59656f75797979766a6054473f444a50545c60666c707477797877746f6a635c524a4646464641403c372f271d13090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99938e867f746d665c544a3f34281f160c01000000000000000000000000000000010b141d252b30333439424f5b6875818686867c6f62554b4a50545c60666d71787d8184858584807c736e645c52473d32393534302b251d150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a49f98928b81786d665c50443e31281d130700000000000000000000000000000000020b131a2024272833404d5a6673808d938c7f72675c54545b60666d71787e848a8e919292918d8780736e64594f44382c282724201a130b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f938e81786d605a50433a2f24180d010000000000000000000000000000000001080f14181825313e4b5864717e8b979184796d666364666c71787e848b91969b9e9f9f9d99928c80736b6054483c31261b18140f090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a59e938d80736c61554b4035291d120700000000000000000000000000000000000003080815222f3b4855626e7b8897968e817872707073787e848b91969da0a8a5a3a4aba39f93887d7063584e43372b1f12060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59d928a7d70675d5145392f24180c00000000000000000000000000000000000000000814212e3a47535f6a7885919e938e837f7d7d80848a91969ea1a49f9c9896979a9fa29a9083766a5f53473a2e211506000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49e9184796d60554b4035291d10040000000000000000000000000000000000000006121f2b37434e586774818d999d95908c8a8a8c91969ea0a69f9a938f8b898a8d92989f94887c6f6255483c2d22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6ada1968c7f73675d5145392c1f130700000000000000000000000000000000000000020f1a26313c4855626f7c87929fa09d989697999ea0a69f9c948f87827e7d7d81869197998c7f7366544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9285796d6053473a2f24180c00000000000000000000000000000000000000000a15212e3a47535f6a73808d959fa6a5a3a3a6a69f9c949089827c76727071747c85919c8f8376665b5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1978a7e7164554b4035291d10040000000000000000000000000000000000000006121f2b37434e58606d79838f949c9e9f9e9d99948f89837d766f6a6563646a707d8a969286796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea99c8f8275675d5145392c1f130600000000000000000000000000000000000000030f1b26313c45515d676d79828a8f919292908d88827c76706b625f585657616b77849198887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000a15202935404b555d676d777e8285868583807c766f6b636059534e4a4f596774808686867d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea399897d7063564a3d3023170a0000000000000000000000000000000000000000030d18242f3a434b555d656c717578797877736f6a636059544f47433e4c58646e74797979706b6155483c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b5ab998c807366594d4033261a0700000000000000000000000000000000000000000007131d28313a434b535b6064696b6c6b6a66625f58544f48443d373c48535c64676c6c6c6361594f44382c201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8275685b4f422f24180d010000000000000000000000000000000000000000010c161f28313a41495053575c5e5f5f5d5a55534e48443d38322b36414a53585a60606057554f473e33281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9184776a554b4035291d1004000000000000000000000000000000000000000000040d161f282f383f44464a4f525352504d4947433c38322c27252f3841484c4e5353534a48443e352c21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facac9f928579675d5145392c20130600000000000000000000000000000000000000000000040d161d262d3337393e4245464544403c3b37322c27211b1d262f363c40414646463d3c38332c231a10050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabaea298867a6d6053473a2d2014070000000000000000000000000000000000000000000000040b141b22272b2d313638393837332f2e2b26201b1610141d252b303334393939302f2c28211a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab4aa94877b6e6154483b2e211508000000000000000000000000000000000000000000000000020a11171b1f2024292b2c2c2a2722211f1b150f0b040b131a1f2427272d2d2d2423201c16100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f22140c0500000000000000000000000000000000000000000000000000060b0f1213171c1f201f1d1a1615130f0a04000001080f14181a1b202020171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2e261e170f0600000000000000000000000000000000000000000000000000000305060b0f121312110d0908060300000000000003080b0d0e1313130a09070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493f38302921180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9aea295887b6f6256504a423b332a21180f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0d0f11121313131211100e0c090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e68605c544d453c332a21170c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d101314171a1c1d1f1f20201f1e1d1b181615130f0a05020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab3a79a8d807a736d665e574e453c33291e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1012181d20202326292a2c2c2d2c2c2b29282522211f1b15120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaab7a99d928d867f786e695f574e453b30271c12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c1d24292c2d303335373839393939383634322f2e2b26211e1a140e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facafa59e9b98928c837b6e6a5f574d42392e23180c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c161b21272c2f35393a3d40424445464646454443413f3c3b37322d2b261f1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e938f8b929590847c6e695e544a4034281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a111721272c3338394045474a4d4f50525253535251504e4b4947433c3a37312a251f170f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89b8f817e85909591857b6e665c51443a3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c232832383d44484b515356595c5d5f5f605f5f5e5c5b5855534e4846423c3631292117110a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b5ab998c7f737b8390959083786d60564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5855534d46423b3328231c150c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7afa399897d706e798390958c7f73685e5246392d20150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615f57534d453f342e261e150c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabac9f92867a6d676e7b869292857a6d6154473c32271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5751443f3830261e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adaa9c8f8376675f6973808d988c807366584e43372b1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625b504a423830261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8aea2988b7e726557626e7b88969184776a6054473b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b726d605c544a42382e23170d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facaa9f92867a6d60575f6a78849196887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99938e867f746d665c544a3f34281f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea2988d81746861646c6c75828f988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a49f98928b81786d665c50443e31281d13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba69f92867b6e616c70797979818e9a8e8174675b4e4134281b0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f938e81786d605a50433a2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a89f948c7f726964707d8686868e939c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a59e938d80736c61554b4035291d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a8a0969082786d6064707d8a93939b9e9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59d928a7d70675d5145392f24180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313c44515c666e7a8490959ea5a79f99928e898583828181818385888d92989ea6a59e9691847a6d665c64707d8a979fa8aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49e9184796d60554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915202834404a545e686e7b838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a09e938f847b6e685e5464707d8a97a3acab9e9184786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6ada1968c7f73675d5145392c1f130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18232e39424c565e696e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918a827a6e695e565764707d8a979f9f9f9e9184786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9285796d6053473a2f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e756d685e574d5764707d8a93939393939184786b5e5145382b1e12000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1978a7e7164554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e78716c605d564d4a5764707d8686868686868684786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea99c8f8275675d5145392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a75716d66615a524c434955616c70797979797979797872685c5043372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f92867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e172029313940454f54596063676d70737576787879797978777573706d6764605c545045413a44505a61646c6c6c6c6c6c6c6b6860564b3f33271b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea399897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f272f353d44484f55555d606366686a6b6c6c6c6c6b6a686663605d5553504a423e35333e48505557606060606060605e5c564e443a2f23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b5ab998c807366594d4033261a070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d151d242933383d44484b515356595b5d5e5960636c6c6c6c64615a514b46443f3830292c363e44494a5353535353535351504b443c32281d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8275685b4f422f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c3338394045474a4c49505a626b7078797979716c6155493a38342e261e232c33393c3d4646464646464645433f3a322a20160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9184776a554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c161c21272c2f35383b434b535b606c717d858686867e7164574a3e3128231c141a22282d3031393939393939393837332f2820180f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facac9f928579675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10161c232c343c444d555d656c737e8792979083796d6053473a2d2017110a10171c2023242d2d2d2d2d2d2d2b2a27231d160f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabaea298867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c2328353e464e565e676d77808b929992867b6e675c5145382c1f130600050b10141617202020202020201e1d1b17120c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab4aa94877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161e262e343f474f585f686e79818d929f938a7e71695f554b4034291c100400000004080a0a1313131313131312110f0b070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f22140c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f171f2830383f445159616a6f7a838f939c958e81746c61574d43392f23180c00000000000000000606060606060605040200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2e261e170f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000710182129313a424a505b626b707c8490959e989083796d605a50453c31271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493f38302921180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222a333b434c545c606d727d8691969f9f92867b6e675c51483e332a1f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9aea295887b6f6256504a423b332a21180f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c454d565d666d747f879298a19d938a7e71695f554b40362c21180d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e68605c544d453c332a21170c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e575f686d78808c9399a2a0958e81746c61574d43392f241a0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab3a79a8d807a736d665e574e453c33291e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f696e7a828d929fa4a2989083796d605a50453c31271d120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaab7a99d928d867f786e695f574e453b30271c12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a6f7b838f949da4a59f92867b6e675d51483e332a1f150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facafa59e9b98928c837b6e6a5f574d42392e23180c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c85919593939393938a7e71695f554b40362c21180d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e938f8b929590847c6e695e544a4034281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f868686868686868681746c61574d43392f241a0f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89b8f817e85909591857b6e665c51443a3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4a57626d727979797979797979746f645a50453c31271d1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b5ab998c7f737b8390959083786d60564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222e3a46515b62656c6c6c6c6c6c6c6c67645c53483e332a1f150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7afa399897d706e798390958c7f73685e5246392d20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e29353f4951575960606060606060605b58534a41362c21180d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabac9f92867a6d676e7b869292857a6d6154473c32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18232d373f464a4c53535353535353534e4c4841382f241a0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adaa9c8f8376675f6973808d988c807366584e43372b1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111b252d353a3e3f464646464646464641403c362f261d120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8aea2988b7e726557626e7b88969184776a6054473b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131b23292e313239393939393939393433302b251d140b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facaa9f92867a6d60575f6a78849196887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a11181e2225262d2d2d2d2d2d2d2d282724201a130b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea2988d81746861646c6c75828f988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d1216181920202020202020201b1a18140f080100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba69f92867b6e616c70797979818e9a8e8174675b4e4134281b0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c13131313131313130e0d0b08030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a89f948c7f726964707d8686868e939c8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a8a0969082786d6064707d8a93939b9e9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111212131212100e0c0808060200000000000000010406070c101213131211100e0b0a0804000000000000000000000000000000000000000000010507070a0d101112131312110f0d0a070603000000000000060606060606060000000000000000000000000000030e1a26313c44515c666e7a8490959ea5a79f99928e898583828181818385888d92989ea6a59e9691847a6d665c64707d8a979fa8aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191514120e090400000001080d111314191c1f1f201f1e1d1a171714110c05000000000000000000000000000000000002080d111314171a1d1e1f20201f1e1c1a161312100c0600050707131313131313130707040100000000000000000000000915202834404a545e686e7b838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a09e938f847b6e685e5464707d8a97a3acab9e9184786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e212225282a2b2c2c2c2b2a282522211e1a15100c07040c13191d202126292b2c2c2c2b29272423211c171008000000000000000000000000000003090e13191d20212427292b2b2c2c2c2b292723201f1c17110d111314202020202020201413110d0802000000000000000000030c18232e39424c565e696e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918a827a6e695e565764707d8a979f9f9f9e9184786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c161b1f262a2d2e31353738393939383735322f2e2b261f1c18120d161e24292c2d32363839393838363431302d28221a1208000000000000000000000000060b151a1e25292d2e3134363738393938383633302d2c28231c191d20212d2d2d2d2d2d2d21201d19130c0400000000000000000007121c27303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e756d685e574d5764707d8a93939393939184786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c31363a3b3e4144454546454543413f3b3a37312c29231d1a1f282f35393a3f43454646454443413e3c39332c241a1005000000000000000000020a111720262b3035393a3d404344454646454442403d3a38342e2a25292d3939393939393939392c29241e160e040000000000000000000b151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e78716c605d564d4a5764707d8686868686868684786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151d232832383b4246484b4e505152535252504e4c4847423c38342f27232c313a4145474c4f5252535251504d4a49453e362c22170c0000000000000000030b141b222731373a4146474a4d505152535352514f4d4946443f38363035394646464646464646463935302820160c020000000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a75716d66615a524c434955616c70797979797979797872685c5043372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e5d5b5855534d474540393128353e434c5154595c5e5f5f5f5e5c5a575550483e33281c1104000000000000030d151d262d333c42474c5254575a5c5e5e5f5f5f5e5c5a5653504a46413a414653535353535353535345413a32281e1308000000000000000000050e172029313940454f54596063676d70737576787879797978777573706d6764605c545045413a44505a61646c6c6c6c6c6c6c6b6860564b3f33271b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d2114080000000000010b151f272f383f444e53565e616467696a6b6c6c6b6b696663605c54524c444c525f606060606060605f524c443a3024190d01000000000000000000050e171f272f353d44484f55555d606366686a6b6c6c6c6c6b6a686663605d5553504a423e35333e48505557606060606060605e5c564e443a2f23170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a000000000007121d273139414950575f62686d7073767778797978777573706d66615e5650565d6c6c6c6c6c6c6c6c6c5d564c4135291d110400000000000000000000050d151d242933383d44484b515356595b5d5e5f5f5f5f5e5d5c595754514b46443f3830292c363e44494a5353535353535351504b443c32281d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b00000000000c18232f39434b535b606a6e747a7d808384858686858482807c79736d68615a5d68767979797979797976685d5245392c2013070000000000000000000000030b121821272c3338394045474a4c4f50525253535252504f4d4a4745413a38342e261e232c33393c3d4646464646464645433f3a322a20160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e110000000004101c2934404b555c656c737b81868a8d8f9191929292918f8d8985807a716c64616d7a868686868686867a6d6054473a2d21140700000000000000000000000001070c161c21272c2f35383a3d4042434545464646454442403d3a39352f2b28231c141a22282d3031393939393939393837332f2820180f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e11000000040e18222c3845515c676d7780878e92999a9c9d9e9f9f9e9e9c9997928c857e736e616e7b88939393939386796c605346392d2013060000000000000000000000000000050b10161c1d24292c2d30333537383939393938373533302d2c29241f1c17110a10171c2023242d2d2d2d2d2d2d2b2a27231d160f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e110000000a15202c38444f59606d79818c939a9fa3aba9a8aaa29f9e9e9e9fa29e97928a80746e6f7b88959f9f9f928579655b5044372b1f120500000000000000000000000000000000050b1012181d1f202326282a2b2c2c2c2c2b2a29262421201d1813100b0600050b10141617202020202020201e1d1b17120c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e110000030f1b26323c4854606b74818e939fa4acaba39f9b979892919192939a999d9f928d80746f7c8996a2ab9e9285786b5f493f33271b0f0300000000000000000000000000000000000001070c10131417191c1d1f1f20201f1f1d1c1a171413110d0703000000000004080a0a1313131313131312110f0b070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a000006131f2b37434e5863707d89939da5afa8a199928e8a878584848586888c90959e928b7f727d8996a3ab9e9185786b5e52452d22170b000000000000000000000000000000000000000000000406070a0d0f10121213131312110f0d0a070604010000000000000000000000060606060606060504020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f22160900000815212e3b47535f6a7683909da5afaaa1969187817d7a79787778797c7f838b919792877c7d8a97a3ab9e9184786b5e5145382b1e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c20130700000916222f3c4955626f7c88959fabaea29891847c75706d686b6b666d6f73787e85919590837e8a97a4ab9e9184786b5e5145382b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b10040003101c28343f4a546673808d99a7b1ab9f92867c6f6a64615e56545c6062666c717b8391959083909daaaa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b000006121f2b3844505c667683909da9afa3998c80736a605854524c4a5153545b60696e7a8491959095a0abaa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f0400000713202d3a4653606d7986929facac9f92867a6d61584e4746414044464a50575e686f7c87929da0a7b1aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c27211911070000000815222e3b4855616e7b8898a3aea99c908376685e52463c393634383a3f444d56606a73808d99a3afb7aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f07000000000a1623303d495663707c8996aab4a79a8d807467564c41342d2a282c2d333b444e58616e7b86929facb7aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b0400000000000b1724313e4a5764717d8a97a4b0a5988b7e7265584b3f30251d1c1f2228323d46525e6975828f9ba8b5aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e211508000000000000000b1825323e4b5865717e8b98a4b0a3978a7d7064574a3d312417101217202a36424d5764717e8b97a9b3aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e211508000000000000000c1825323f4b5865727e8b98a5afa296897c6f6356493c30231609060e1a25303b4855626e7b8897a2adaa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295897c6f6256493c2f231609000913202d394653606c7985929fabaa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090005121f2b3744505b657784919daaaa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900030f1b27333f49536a7683909da9aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900000b17222d424f5c6975828f9ca8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090000061c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e211508000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e211408000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e211407000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d201307000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f1306000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c1004000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c00000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d3023160700000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d20130700000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f120600000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c100300000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b0000000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160906060f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c11060000000000000000000c1925323f4c5865727f8b98a5aca295887c6f6255493c2f22161313130f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a000000000000000000000c1925323f4c5865727f8b989f9f9f95887c6f6255493c2f22202020201c1c2935424f5c6875828f9b9f9f9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c02000000000000000000000c1925323f4c5865727f8b9393939393887c6f6255493c2f222d2d2d2d28272935424f5c6875828f939393939184776b5e5144382b1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b00000000000000000000000c1925323f4c5865727f868686868686867c6f6255493c2f393939393935343135424f5c68758186868686868684776b5e5144382b1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c0300000000000000000000000b1824313e4a56626d7279797979797979766a5f53473b39464646464642403d37414d59656f757979797979797772675c4f43372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121c252e363e454d53585f62666a6f717375777878797979787675726f6d66625f58524d453d352c241a10070000000000000000000000000915222e3a46515b62656c6c6c6c6c6c6c625f584e43404553535353534f4d48413d49545d65686c6c6c6c6c6c6b6760564b3f33271b0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131c242c333b42464e5355585f626467696a6b6b6c6c6c6b6a686663605c54534e46423b332c231a12080000000000000000000000000006121e29343f495156586060606060606055534e46434b515f606060605b59534b41424b54595c6060606060605e5c564e44392e23170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a121a212931363c4347484e5355585f676a6c6c6c6b67605d5b595653514b47433c363029201a11080000000000000000000000000000010d18232d373f464a4c53535353535353494743404b555d6c6c6c6c6c68655d53484342494d4f535353535353514f4b443c32281d120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f171f252a31373a3c4347485b6771777979797772675753514b4645403937322a251f170e080000000000000000000000000000000006111b252d343a3e3f464646464646463c3b3945515d677679797979756f6556544f47433d4246464646464644433f39322a20160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a20262b2e313744515e6a778486868684776b63605c5450483f372b26201a140d0500000000000000000000000000000000000009131b23292e3132393939393939392f2d3a4753606d7986868686817568636059544e463d3539393939393837332e2820180e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e151a1f21263744515e6a7784919391847774706d66615a51493f342b20150a0200000000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2d222d3a4753606d7a8693938e8176736f6b6260584f473d32282d2d2d2b2a27231d160e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f171c2b3744515e6a7784919d928783817d79716c625b51463c32271b0f03000000000000000000000000000000000000000000060d1215181920202020202018202d3a4753606d7a86939f928682807c776f6a60594f443a302419201e1d1b17120c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d3744515e6a778491979992908d8a847e726d62584e43372b1f1306000000000000000000000000000000000000000000000106090b0c1313130d151d23292d3a4753606d7a86939798928f8d89837c706b60564c4135291d1111110e0b06010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1a232c33393c44515e6a7784888a8e92999a96918a7f726a6054473b2e22150700000000000000000000000000000000000000000000000000000006010b151f272f34383a4753606d7a86888b8f939c999590867d70685d5245392c201307040200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202c363e44494a4854616e7a7b7d8187929fa19e92877c6f6255493c2f24180d0100000000000000000000000000000000000000000000000000000007121d2731394045474a515d67767b7c7e828d929c9f9892857a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f29323e4850555754535e686e6f71747e8a98a2a3998f827568554b4135291d11040000000000000000000000000000000000000000000000000000000c18232f39434b51535754555e696e6f7175808d99aaa1978c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303b44505a6164615e575e6162646c7985929fab9f928578675d5145392c201306000000000000000000000000000000000000000000000000000004101c2934404b555c6064615e575e6162646e7b8895a1a99c8f8376695c504336291d10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414d56616c706e6968676666676d7a86929faca298877a6d6054473a2d211407000000000000000000000000000000000000000000000000000006131f2c3845515c676d716d686867666668707c8996a3aa9d9184776a5e5144372b1e1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e68707d7b78757473737479818e99a3ac9f9286796c605346392d20130600000000000000000000000000000000000000000000000000000714202d3a4753606d797d7a7775747373757a83909da9ab9d9083766a5d5043372a1d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b8887848281807f81858e939eaba59d908377665b5044382b1f120600000000000000000000000000000000000000000000000000030f1c28333f4a5463707d8a868482807f80818690959faba3998d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5465727e8b96918f8d8c8c8e92979ea5a19e938b7e7165544a3f33281c0f030000000000000000000000000000000000000000000000000006121f2b3844505b6674818e93908e8d8c8c8e92989fa7a09d92877c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6675828f989a9b9a99999a9e9e9c9a97928b81756c625642382d22170b00000000000000000000000000000000000000000000000000000613202d394653606c798591989b9b9a99999b9f9e9c9996918a7f726a5f53473b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884888b8e909192929292918f8d8a857f776c605a50452f261c110600000000000000000000000000000000000000000000000000000815222e3b4855616e7b86898c8e909192929292918f8d89847d726d62584e43372b1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c666d777c7e818384858686858483817d79726c655b50483f341d140a0000000000000000000000000000000000000000000000000000000814212d3a47535f696e787c7f818384858686858482807c78706c625b51463c32261b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c606a6f7274767778797978787674706d67605b53493f362d220b0200000000000000000000000000000000000000000000000000000006121e2b37424d575f666d6f7275767878797978777673706c66615a51493f342a20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424a50585f626567696b6c6c6c6c6b696764605d55504941382d241b1100000000000000000000000000000000000000000000000000000000020e1a26313c454d545c606365686a6b6c6c6c6c6b696663605b5450473f372d22180e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f444e5355585b5d5e5f5f5f5f5e5c5a5753514b443f382f261b1209000000000000000000000000000000000000000000000000000000000009151f2a333c424a505356595b5d5e5f5f5f5f5e5c5a5653504a423e352d251b100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e262e343c4347484b4e50515253535251504e4a47454039332d261d140a000000000000000000000000000000000000000000000000000000000000030e18212a30383f4446494c4e505152535352514f4d4946443f382f2c231b1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c141c232832373b3c3f414344454646454543413d3a38352f27221b140b0200000000000000000000000000000000000000000000000000000000000000060f181e262e34383a3c3f424345454646454443403d3938332d261d1a11090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a111720262b2e2f3234363839393939383634312d2c29241d17110a02000000000000000000000000000000000000000000000000000000000000000000060c151c23282c2d303235373839393939383633302d2b28221c140b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b151b1f212225282a2b2c2c2c2c2b292724201f1d18120b06000000000000000000000000000000000000000000000000000000000000000000000000030a11171c1f202326282a2b2c2c2c2c2b292723201f1c17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f121515181b1d1e1f20201f1e1d1b171413100c0701000000000000000000000000000000000000000000000000000000000000000000000000000000060c10121316191b1d1e1f20201f1e1c1a1613120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090c0e10111213131212100e0a0706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607090c0f10121213131211100d0a0606030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a131313131313130a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809131313131313130b0a08050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161720202020202020161613100b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151620202020202020181714110c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2322201b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f22232d2d2d2d2d2d2d2423211d17100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d303139393939393939302f2c2721191107000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f3939393939393931302d28221a12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33393c3d464646464646463d3b38322b23190f04000000000000000000000000000000000000000000000000000000000000000000000000040f19222b32383b3c464646464646463e3d39332c241a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a535353535353534948443d352b21160b0000000000000000000000000000000000000000000000000000000000000000000000000a16202b343d434749535353535353534b49453e362c22170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e485055576060606060606056544f473d32271b100400000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464e545660606060606060575550483e33281d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6360594f44382c2013070000000000000000000000000000000000000000000000000000000000000000000006131f2b38434e5860626c6c6c6c6c6c6c64615a5045392d211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c7079797979797979706b6054483b2f221609000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a6f79797979797979716c6155493d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d868686868686867d706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c868686868686867e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a9393939393897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8993939393938a7e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f96897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c89959f9f9f978a7e7164574b3e3124180b000003050606050503010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3aca396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000002050916232f3c4956626f7c8995a2aca4978a7e7164574b3e3124180b070c101213131211100e0b0a080400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f96897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000003090e121416232f3c4956626f7c89959f9f9f978a7e7164574b3e3124181314191c1f1f201f1e1d1a171714110c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1724313d4a5764707d8a9393939393897c706356493d3023160e09030000000000000000000000000000000000000000000000000000040a0f141a1e2122252f3c4956626f7c8993939393938a7e7164574b3e31241d202126292b2c2c2c2b29272423211c1710080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c24313d4a5764707d868686868686867d706356493d30231e1a140e09020000000000000000000000000000000000000000000000070c161b1f262a2d2e31353c4956626f7c868686868686867e7164574b3e3124292c2d32363839393838363431302d28221a1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c161b21272c2f3c4955616c7079797979797979706b6054483b322d2a251f19140d050000000000000000000000000000000000000000030b121821272c31363a3b3e41444754606a6f79797979797979716c6155493d302f35393a3f43454646454443413e3c39332c241a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a111721272c3338394045505a61646c6c6c6c6c6c6c6360594f47433c3a36312a251f170e06000000000000000000000000000000000000040c151d232832383b4246484b4e50514e5860626c6c6c6c6c6c6c64615a504539313a4145474c4f5252535251504d4a49453e362c22170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c232832383d44484b515356595c606060606060605c5b5855534e4846423b3630292017110a02000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e60606060606060575550483e353e434c5154595c5e5f5f5f5e5c5a575550483e33281c1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5854534d46423b3228221c140b0200000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615e57524d443f332d261d140b0200000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5650443f382f261d140a0000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625a504a42382f261c1106000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b716c605b544a42382d22170d03000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99928e867e746c665b544a3f33281f150b01000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a39f98928b80786c665b50443d31271d120700000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f928d81786c60594f43392f23180c00000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a49d938c80736b60554b4034291d120700000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59f93887d70675c5145392e23180c00000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49a9184796d60544b4034281c100400000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6aca0968c7f72665c5145382c1f13070000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9184796d6053463a2e23180c0000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1968a7d7164544b4034281c100400000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c2721191107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea89b8e8275665c5145382c1f130600000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f9286796d6053463a2d20130700000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea298897c6f6356493c3023160900000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b4aa998c7f7266594c3f3326190700000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8175685b4e422e23180c00000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9083776a554b4034281c1004000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facab9f928578675c5145382c1f13060004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabada29786796d6053463a2d20130700010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab3a994877b6e6154483b2e21150800000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f221508000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2f2216090000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493c2f23160900000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9afa295887c6f6255493c2f221609000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e6255483b2f2215080000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab4aa94887b6e6155483b2e22150800000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaaaea398877a6d6054473a2d2114070000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facac9f928579675d5145392c2013060000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e9184776b554b4135291d110400000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89c8f8275695c4f422f24180d010000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b1a69a8d8073675a4d4034271a0700000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7b1a7978a7d7164574a3e3124170b0000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabaca095877a6e6154473b2e211408000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adab9d908377685e5246392d201407000000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8afa4998c7f7366564d41362a1e1105000000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facab9f93877b6e6155483b3025190e02000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea4998f8275695f53463a2d1f1408000000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d302316070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba79f93877c6f62574d42362a1e0d020000000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a9a0958d80746a5f53453b31261a0e000000000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a9a1979183796d60584e4333291f14090000000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313c44505c666e7a8490959da5a79f99928e898583828181818385888d92989ea6a69f9791857c6e675d51463c3221170d0300000000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009152028343f4a545e686e7a838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a19e948f857c6f6a5f554b40342a200f060000000000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17232e38424c565e686e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918b827a6f6a5f574e43392f22180e00000000000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e776e685f584e453c31281d100600000000000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e79716c655e564e463c332a1f160c000000000000000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a76716d66605b534c443c342a21180d040000000000000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a242f3841474c4e4f54596063676d70727576787879797878777573706d6864605c545049413c342a22180f0600000000000000000000000000000009121c252e363e454d53585f62666a6f717375777878797979787675726f6d66625f58524d453d352c241a100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2b36414a52585a6060605f555d606366686a6b6c6c6c6c6b6a686663605d5660606055534e463c32261b0f03000000000000000000000000000000000a131c242c333b42464e5355585f626467696a6b6b6c6c6c6b6a686663605c54534e46423b332c231a1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724303c47525c64676c6c6c6c66605b54595b5d5e5f5f5f5f5e5d5c565e61696c6c6c6c625f584e43372b1f130600000000000000000000000000000000010a121a212931363c4347484e5355585a5c5d5e5f5f5f5f5e5d5b595653514b47433c363029201a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a26333f4c58646e7479797979726c665e57505052525353524a505960696e7679797979766a5f53473b2e211508000000000000000000000000000000000000080f171f252a31373a3c4347484b4d4f51515253535251504e4c494645403937322a251f170e080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a677480868686867f786e69615a514b4346444c545b606b707b83868686867c6f6255493c2f22160900000000000000000000000000000000000000050d141a20262b2e31373a3c3e40424445454646464543423f3c3a38342e2b26201a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b849198928c827b706c605d554e444f565e666c737d859094948e81746a5f53473b2e211508000000000000000000000000000000000000000003090e151a1f21262b2e2f31343637383839393938373533302d2c28231d1b150e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e696f7c869299948f857e746d675f58505960686d787f879297969082786d60584e43372b1f130600000000000000000000000000000000000000000000030a0f12151b1f21222527292a2b2c2c2c2c2b2a282623201f1c18120f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d575f6a707d87929f97928a81796f6a605b626b6f7a828c93999891847a6d665c51463c32261b0f0300000000000000000000000000000000000000000000000002060a0f121515181a1c1e1e1f20201f1e1d1b19161313100c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25303b454e58606b717e8b919c9e938e837c726c656d727d848f949f9992867c6e685e544b40342a20150a00000000000000000000000000000000000000000000000000000000030608090b0d0f11121213131312100f0c090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333c464f59616c737f8c939d9d9591867f776e757f8791969f9f92877d706a5f564c42392e22180e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17212a343d47505a636d74818e949ea099928c827b828c9299a19d928b7f726b60584e443a30271d100600000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111212131212100e0c0808060200000000000000010406070c101213131211100e0b0a08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18222b353e48515b606d78828f959fa39f948f888f939fa39f948d80746d62594f463c32281e150b00000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191514120e090400000001080d111314191c1f1f201f1e1d1a171714110c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061019232d364044505c666d79839096a1a69f9c959b9ea5a0958f82786d605b51473d342a20160c0300000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e212225282a2b2c2c2c2b2a282522211e1a15100c07040c13191d202126292b2c2c2c2b29272423211c1710080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111b2428343f4a545d676e7a849197a29f9f9f9f9fa19791837a6d665c50493f352c22180e0500000000000000000000000000000000000000000000000000000000000000000000000000070c161b1f262a2d2e31353738393939383735322f2e2b261f1c18120d161e24292c2d32363839393838363431302d28221a120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091217232e38424b555e686e7c85929893939393939992857b6e685d544a3f372d231a0f06000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c31363a3b3e4144454546454543413f3b3a37312c29231d1a1f282f35393a3f43454646454443413e3c39332c241a10050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c263039434c565f6a6f7d8686868686868686867d6f695f564c42382e251b1108000000000000000000000000000000000000000000000000000000000000000000000000040c151d232832383b4246484b4e505152535252504e4c4847423c38342f27232c313a4145474c4f5252535251504d4a49453e362c22170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e28313b444e57606b6f7979797979797979796f6b60574d433a30261c1309000000000000000000000000000000000000000000000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e5d5b5855534d474540393128353e434c5154595c5e5f5f5f5e5c5a575550483e33281c110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c161f29323c454f5960636c6c6c6c6c6c6c6c6c6360594f453b31281e150a010000000000000000000000000000000000000000000000000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17202a333d474f54565f606060606060605f56544f473d332a1f160c0300000000000000000000000000000000000000000000000000000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18212b353d4348495353535353535353534948443d352b21180d04000000000000000000000000000000000000000000000000000000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f19232b32383b3c4646464646464646463c3b38322b23190f06000000000000000000000000000000000000000000000000000000000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101921272c2f30393939393939393939302f2c27211911070000000000000000000000000000000000000000000000000000000000000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f22232c2d2d2d2d2d2d2d2c23221f1b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315162020202020202020201615130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003070909131313131313131313090907030000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080c10121213131313131313131313131313131313131313131313121211100e0b0907060400000000000000000000000000000000000000000000000000000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d13181c1e1f202020202020202020202020202020202020202020201f1e1e1d1a18161413100c07050100000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000710181f24282b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a29272523201f1d1813110d0802000000000000000000000000000000000000000000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061019222930353839393939393939393939393939393939393939393939393938373634322f2d2c2924201e19130f0a0400000000000000000000000000000000000000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d18222b343b4144454646464646464646464646464646464646464646464645454443413e3c3a39352f2d2a251e1b150f0a040000000000000000000000000000000000000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c272119110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131f29343d464c515253535353535353535353535353535353535353535353525151504d4b494745403a3936302b27201b160d0701000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1824303b464f575d5f6060606060606060606060606060606060606060605f5f5e5d5c5a585653514b4746413a37322c272118120c040000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2835414c5761696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a69676562605d5554524c47433c383229241d160d0700000000000000000000000000000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3844515d697378797979797979797979797979797979797979797979797878777674716f6d6765615e56544e48433d352f281f191108000000000000000000000000000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c78858686868686868686868686868686868686868686868685848483807e7c7a75716d68626058544e454039312b231a120a0100000000000000000000000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929393939393939393939393939393939393939399929291908f8d8b8986827e7a756f6a626058514b433d352c241b130a01000000000000000000000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9d9c9a9898928f8b87827c766f6a605d554f473e362d251b13090000000000000000000004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a6a6a7aaa9a7aaa39f9c99938e88827c746d67605950483f372d251b1108000000000000000000010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabb8ada39c9998989898989898989898989898999a9b9d9fa2aaaaacaba49f9b948f8780796f6b615a51493f372d231a0f060000000000000000000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabb8a79c918c8b8b8b8b8b8b8b8b8b8b8b8b8b8c8d8e909298999da0a7acaca69f9a938d847d716c625b51493f352c21180b02000000000000000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabb2a5998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818385888c90959b9fa4acaca49f9691877e726d625b51473e332a1d140a0000000000000000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a7272727272727272727272727273737477797c7f83888f939a9fa7afa8a19992887f726d62594f463c2f261c1106000000000000000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d656565656565656565656565666768666c6f73777c828790959fa3ababa39a938c7f726b61584e42382d22170b0200000000000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d615858585858585858585858595a545b6062666a6f757c838c9299a3aaaca49f92877d706a5f544a3f33281e1308000000000000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d61544c4c4c4c4c4c4c4c4c4c4c4d4a5053555860626a6f787f879298a2aaafa39992867c6e665b50443a3025190d0100000000000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473f3f3f3f3f3f3f3f3f40403f4446484e54585f666d737e869298a2aeaba2989083786c60564c41362a1e13080000000000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a3232323232323232332d3338393c43474e545c606c707d86929fa4aeaa9f958b7e72685e52463a2f24190d0000000000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e252525252525252622282b2d32373c424a505a616b717e8a929da8b1a79f92857a6d61564c4135291b1106000000000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e2119191919191919171c1f20272b30383f445059616c73808d96a0acada2978d8074685d5245382d22170b00000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e21140c0c0c0c0c060b0f12131b1e262e343e47505a606d7984919ea6b0a99f92857a6d6053493f33271b0f0300000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e21140700000000000003060a0c151c2328353e45515c66707d8a949fabaea2988c7f72655b5044372b1f12050000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e211407000000000000000000030a1117232834404b54616b76828f9ca8b2aa9e9184786c605346392d201308000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003121f2c3945525f6c7885929fabada094877a6d6154473a2e21140c0c0c0c0c0c0c0c07060400061118232e39424f5964707d8a96a1acaca096887c6f6255493c3024190d010000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f131f2c3945525f6c7885929fabada094877a6d6154473a2e211919191919191919191413110d0807121d27303e4653606d7984919eabb2a8998c7f7366564c4135291d11040000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b1f212c3945525f6c7885929fabada094877a6d6154473a2e2626262626262626262621201d19130c0b151f2b3844505c6673808c99aab3a99d908376685d5245392c2013070000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f3945525f6c7885929fabada094877a6d6154473a33333333333333333333332d2c29241e160d101c28343f4a54636f7c8998a2aeac9f93867a6d6054473a2d21140700000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d302316070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222a32373b3c3f45525f6c7885929fabada094877a6d6154473f3f3f3f3f3f3f3f3f3f3f3f3a39352f281f160b17232e3a4653606d7985929fabafa499897c6f6356493c30231609000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c4347494c4c525f6c7885929fabada094877a6d61544c4c4c4c4c4c4c4c4c4c4c4c4c4745413a31281e13121f2c3844505c6676828f9ca9b5ab988b7e7265584b3f3225180c000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e53555959595f6c7885929fabada094877a6d61595959595959595959595959595954524c433a2f2419101c28343f4a546774808d9aa7b3a79a8d8074675a4d4134271a0e0000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f62666666666c7885929fabada094877a6d666666666666666666666666666666605d564c4135291d1117232e3f4b5865727e8b98a5b1a99c8f8276695c4f4336291c1000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a6f72727272727885929fabada094877a727272727272727272727272727272726d685d5245392c20131723303d4a5663707d8996a3b0aa9d9083776a5d5044372a1d1100000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c7f7f7f7f7f7f86929facb3a6998c807f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7a6d6054473a2d211416222f3c4955626f7c8895a2afaa9d9184776a5e5144372b1e110000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b8c8c8c8c8c9298a3aeb4a89c928c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c877b6e6154483b2e211515222f3b4855626e7b8895a1aeab9e9185786b5e5245382b1f120000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98999999999fa3aab4b9aea49c99999999999999999999999999999994877b6e6154483b2e211515212e3b4854616e7b8794a1aeac9f9285796c5f5246392c1f13000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5a5a5a5acaeb4bcbfb6aea8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a194877b6e6154483b2e211514212e3b4754616e7a8794a1adac9f9285796c5f5246392c1f130000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b989f9f9f9fa0adb3bcbab0a8a3a09f9f9f9f9f9f9f9f9f9f9f9f9f9f94877b6e6154483b2e211515222e3b4855616e7b8894a1aeab9f9285786c5f5245392c1f12000000000000000009121c252e373f454d53585f62666a6f717375777878797979787675726f6d66625f58524d514c463d34291f1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b939393939393a2a9b3b3a89e9794939393939393939393939393939393877b6e6154483b2e211515222f3c4855626f7b8895a2aeab9e9185786b5e5245382b1f12000000000000000005111d29343f49515658606060585f626467696a6b6b6c6c6c6b6a686663605c546060605f5d574f463b3024180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8686868686868997a2adafa3978c87868686868686868686868686868686867b6e6154483b2e21151623303d495663707c8996a3afaa9d9184776a5e5144372b1e1100000000000000000915222e3a45515b62656c6c6c6c67605c555c5d5e5f5f5f5f5e5d5b595960636b6c6c6c6c6961574c4135281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313d4a56626d7279797979797985929fabada094877a7979797979797979797979797979797976695e53463a2d21141825313e4b5864717e8b97a4b1a99c8f8276695c4f4336291c1000000000000000000b1824313d4a56626d7279797979746d675f57505152535352514c535b606b6f787979797873695d5144382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3a45515b62656c6c6c6c6c7885929fabada094877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e574d42362a1e121b27333f49536673808c99a6b3a79a8e8174675b4e4134281b0e00000000000000000c1825323f4b5865727e8686868681796e69615a514b433f444e565e656c727d8486868685786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d29343f49515658606060606c7885929fabada094877a6d6160606060606060606060606060605f534d453b31251a121f2b3744505b6575828f9ca8b2a6998c7f7366594c403326190d00000000000000000714202d3a4753606d79839097928d837b716c605d554e49505860686d777f879196928b7e7165584b3e3225180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c18232d373f454a4b5353535f6c7885929fabada094877a6d6154535353535353535353535353534846423b33291f1413202d394653606c7985929eabb2a8968a7d7063574a3d3024170a00000000000000000613202c3945515d676e7b8591989590867e746d675f58535b606a6f7a828c9299938d80736c6256493d3024170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b242d343a3d3f4646525f6c7885929fabada094877a6d6154474646464646464646464646463b3a3631292117101c28343f4a54626f7c8897a1adaca096877a6d6154473a2e211407000000000000000004101d2935404b555e696f7c86929a98928a81796f6a625d656c727c848f949f958f82786c605a5045392d21150600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b23292e31323945525f6c7885929fabada094877a6d6154473a39393939393939393939392e2d2a251f170f18212b3844505c6673808c99a9b3aa9d918477685d5246392d2013070000000000000000010d18242f39434d57606a717e88939f9f938e837c716c686d777f8791969e979083796d665b50483f312a2217110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000911181d22242c3945525f6c7885929fabada094877a6d6154473a2e2d2d2d2d2d2d2d2d2d2d21211e1a140d162028343f4a54606d7884919eabb2a89a8d807367564c4135291d110500000000000000000007121d28313b454e58616c737f8c939e9d9591867e75707a828c9299a19891857b6e675d54514c433c3428231c140c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c11151f2c3945525f6c7885929fabada094877a6d6154473a2e212020202020202020201514120e0e171f28323a44505c66707d8a96a1acaca196897c6f6256493c3024190d01000000000000000000010c161f29333d46505a636d75818e959fa098928b817d848f949fa39a92867c6f696c68605d554e463e342e261e160e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105121f2c3945525f6c7885929fabada094877a6d6154473a2e21141313131313131313080a0f141a2029313a444d57606d7883909da8b2a99e9184786c605346392d2013080000000000000000000000040d17212b343e48515b606d79839096a1a29f938e8991969ea59f93887e77797979756d675f5850443f38302820191009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e21140c0c0c0c0d080d1114141b1f262a323b434c565f69727f8b95a0acada2978b7f72655b5044372b1f1205000000000000000000000000050f19222c364045515c676d7a849198a2a59e9b969ea1a79e938c7f778386868682796e6a615a504a423a322b221b120a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e211919191919191a191e2021272c31363e444d555d686e7b86929fa7b1a89f92857a6d6053493f33271b0f030000000000000000000000000007101a242834404b555e686f7c869299a39f9f9f9fa89f958e8175707d8a94938f847c716c605c544c443d342d241c130a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e2525252525262627252a2d2e32383b42464f565e676d7a839098a2aeaba0968c7f72675d5141382d22170b000000000000000000000000000000081218232e39434c565f6a707d8792939393939393969083796d6b75828f999691867e736d665e564e463f362d251c1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a3232323232323233343036393b3d44484d535961696e79829095a0aaafa4999184796d60554b412f261b11060000000000000000000000000000000007121d27303a444e58616b727f8686868686868686847a6d67626e7b87929f98928a80786d68605850483f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473f3f3f3f3f3f3f3f4040424146474a4f54575f616b707b8390949fa7b0a69f93877d70665c51433a2f1d140a0000000000000000000000000000000000000b151e29323c464f59626d727979797979797979786d685e5f6973808d97a19f928d827a6f6a625a51493f352a1e12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d61544c4c4c4c4c4c4c4c4c4c4d4e4c525457596063696e757d8590959fa6b0a69e948c7f736b60544b4031281d0b02000000000000000000000000000000000000030c17202a343e47515b62656c6c6c6c6c6c6c6c6b615e5657606d7a85919ea49d948f847c716c635b51463a2e2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6158585858585858585859595a5b565e6163676b6f747b818a91979fa7aea69f948f82786c60594f42392e1f160c0000000000000000000000000000000000000000050e18222c353f4951565860606060606060605e54524c515d67717e8b959393939691867e726d63574a3e3125180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d656565656565656565656566676869686e7074777c81878e939ea1a9ada49d948f82796d665b50473d30271d0d0400000000000000000000000000000000000000000006101a232d373f464a4c5353535353535353514746414b55606c778386868686868686867f7265594c3f3226190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada094877a72727272727272727272727273737576787a7d8084898e92999ea5ada9a19e928d82796d675c544a3f352b1e150b000000000000000000000000000000000000000000000008111b252d343a3e3f4646464646464646453a393a44505b656c767979797979797979726d63574a3e3125180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabb2a5998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818385878a8d91969b9fa3abaca49f97928a80786d675d554b42382d23190c0300000000000000000000000000000000000000000000000009131b23292e31323939393939393939382e2d333f49535b606a6c6c6c6c6c6c6c6c65635b51463a2e2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabb8a79c918c8b8b8b8b8b8b8b8b8b8b8b8c8c8d8e8f9197969a9ea0a8acaca49f9a938e857e736d665d554b43392f261c110700000000000000000000000000000000000000000000000000010911181e2225252d2d2d2d2d2d2d2d2b21222d38414950535d6060606060606060595751493f352a1e12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabb8ada39c99989898989898989898989898999a9b9c9ea1a9a7aaa9a8a19e9a938e87817a716c605c544b433930271d140a00000000000000000000000000000000000000000000000000000000070d1216181920202020202020201e141b262f383f44465053535353535353534c4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a6a6a8a9a8a6aba39f9d9996918d87827c746d68615a504a423931271e150b0200000000000000000000000000000000000000000000000000000000000106090b0c1313131313131313120a141d262d3337394346464646464646463f3e3a352d251c1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9e9c9b9a979992908c8984807b756f6a615e5650443f3830271f150c030000000000000000000000000000000000000000000000000000000000000000000000060606060606060605020b141b22272b2d37393939393939393932312e2a231c130a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c788592939393939393939393939393939393939398929291918f8e8d8b888683807c79736e69625f58524c443e342e261e150d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f202a2d2d2d2d2d2d2d2d2625221e18110a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c788586868686868686868686868686868686868686868585848381807e7c7976736f6d66625f57534e46413a3228231c140c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131d2020202020202020191816120d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3844515d6973787979797979797979797979797979797979797979787877767573716f6d676663605c54534d47433c3530282017110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000305061013131313131313130c0c09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2835414c5761696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b6968676462605c555653504a47423c373129251e160e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1824303b464f575d5f606060606060606060606060606060606060605f5f5e5e5c5b5a585553514b4946443f3837312b262019130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809131313131313130b0a080500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131f29343d464c51525353535353535353535353535353535353535353525251504e4d4b494745403c3a38342e2b261f1b150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151620202020202020181715110c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d18222b343b41444546464646464646464646464646464646464646464545444342403e3c3a38342f2d2b28231c1a150f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b1f21222d2d2d2d2d2d2d2524211d171109000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000610192229303538393939393939393939393939393939393939393939393838363534312f2d2c2923201f1c17110e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f3939393939393931302d29221b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000710181f24282b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2b2928272522201f1c181312100b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222a32373b3c464646464646463e3d39342d241b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d13181c1e1f20202020202020202020202020202020202020201f1f1e1d1b1a18161413100c0706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c434749535353535353534b49453e362d22170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080c1012121313131313131313131313131313131313131313121211100f0d0b09070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e535560606060606060585650483e34291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f626c6c6c6c6c6c6c64625a5045392d2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090c0e10111213131212110f0d0b0807050200000000000000000000000000000000000000000000000000000000000000000000010507070a0d101112131312110f0d0a070603000000000000060606060606060000000000000000000000000000000000000000000000000000000815212e3b47535f6a7679797979797979716c6256493d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050a0f121515181b1d1e1f20201f1f1e1c1a181514120e090501000000000000000000000000000000000000000000000000000000000002080d111314171a1d1e1f20201f1e1c1a161312100c0600050707131313131313130707040100000000000000000000000000000000000000000000000916222f3c4955626f7c868686868686867e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12151b1f21222528292b2c2c2c2c2b2b29272521201e1a14110d08020000000000000000000000000000000000000000000000000003090e13191d20212427292b2b2c2c2c2b292723201f1c17110d111314202020202020201413110d08020000000000000000000000000000000000000000000916222f3c4955626f7c8893939393938b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d141a1e20262b2e2f323436383939393938373633312e2d2a25201d19130d080200000000000000000000000000000000000000000000060b151a1e25292d2e3134363738393938383633302d2c28231c191d20212d2d2d2d2d2d2d21201d19130c0400000000000000000000000000000000000000000916222f3c4955626f7c88959f9f9f978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d13191f252a2d31373a3c3f41434445464645454442403e3b3a36302d29251e19130c0400000000000000000000000000000000000000020a111720262b3035393a3d404344454646454442403d3a38342e2a25292d3939393939393939392c29241e160e04000000000000000000000000000000000000000916222f3c4955626f7c8895a2aca4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e171e252a30363a3c4347484b4e50515253535252514f4d4b4846423b39353029241e160e070000000000000000000000000000000000030b141b222731373a4146474a4d505152535352514f4d4946443f38363035394646464646464646463935302820160c020000000000000000000000000000000000000916222f3c4955626f7c88959f9f9f978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117202930363b4246484e5355585b5c5e5f5f5f5f5e5e5c5a5854524d4746413a35302820191109010000000000000000000000000000030d151d262d333c42474c5254575a5c5e5e5f5f5f5e5c5a5653504a46413a414653535353535353535345413a32281e13080000000000000000000000000000000000050b16222f3c4955626f7c8893939393938b7e7164584b3e3125180e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227323a41464d5254585f626567696b6c6c6c6c6b6a696664615e5754524c46413a322b231b130900000000000000000000000000010b151f272f383f444e53565e616467696a6b6c6c6b6b696663605c54524c444c525f606060606060605f524c443a3024190d010000000000000000000000000000040a0f161c222f3c4955626f7c868686868686867e7164584b3e31251e1a140e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141d262d333e444c52575e61666a6f727476777879797878777573716e6966615e56524c443d352d251b130900000000000000000000000007121d273139414950575f62686d7073767778797978777573706d66615e5650565d6c6c6c6c6c6c6c6c6c5d564c4135291d110400000000000000000000000000060c161b21272c2f3b47535f6a7679797979797979716c6256493d322d2b261f1a140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262f383f4450565e61696e73777b7e81838485868685858482807e7b77736d68615d564f473f372d251b110800000000000000000000000c18232f39434b535b606a6e747a7d808384858686858482807c79736d68615a5d68767979797979797976685d5245392c2013070000000000000000000000030a111721272c33383940454e585f626c6c6c6c6c6c6c64625a5047433c3a37312a251f170f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f384149505a61686d747b8084888b8e8f919292929291918f8d8b87837f7a736d68605951493f372d231a0e0400000000000000000004101c2934404b555c656c737b81868a8d8f9191929292918f8d8985807a716c64616d7a868686868686867a6d6054473a2d21140700000000000000000000040c151c232832383d44484b515356595c606060606060605c5b5855534e4846423c3631292117110a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d384149535b606c717a81868d9196989a9c9e9f9f9f9f9e9d9c999795908c86807a706b625b51493f352c20160c0200000000000000040e18222c3845515c676d7780878e92999a9c9d9e9f9f9e9e9c9997928c857e736e616e7b88939393939386796c605346392d201306000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5855534d46423b3328231c150c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e27333f49535b656c737e858e92999ea0a8a9a19e9d9c9b9c9d9fa2aaa7a09d98928d847d726d625b51473e32281e1308000000000000000a15202c38444f59606d79818c939a9fa3aba9a8aaa29f9e9e9e9fa29e97928a80746e6f7b88959f9f9f928579655b5044372b1f12050000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615f57534d453f342e261e150c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303944505b656c77808a92979fa3a8a19e999792908f8f8f909298999da0a7a29f9691877f726d62594f443a3024190d020000000000030f1b26323c4854606b74818e939fa4acaba39f9b979892919192939a999d9f928d80746f7c8996a2ab9e9285786b5f493f33271b0f0300000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5751443f3830261e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424f59606c77808d929fa2a9a39f96918c8885838282838385888c91959ea1a8a199938b7f726b61564c4135291f1409000000000006131f2b37434e5863707d89939da5afa8a199928e8a878584848586888c90959e928b7f727d8996a3ab9e9185786b5e52452d22170b000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625b504a423830261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54606b737f8c929da4a9a299928c847f7b787675757677797b7f848b9297a0a7a49f93887d70685d52453b30251a0e02000000000815212e3b47535f6a7683909da5afaaa1969187817d7a79787778797c7f838b919792877c7d8a97a3ab9e9184786b5e5145382b1e0600000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b726d605c544a42382e23170d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c66707d87939fa4aba29792877f79726e696a696869666c6e72787e859095a0a8a49a91847a6d60574d42362a1e1105000000000916222f3c4955626f7c88959fabaea29891847c75706d686b6b666d6f73787e85919590837e8a97a4ab9e9184786b5e5145382b1e12050000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99938e867f746d665c544a3f34281f160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54606d79849199a4aea39992857d726d67625f575c5c545b6062666c717b839095a0aaa1968e8174695e52463a2d20140700000003101c28343f4a546673808d99a7b1ab9f92867c6f6a64615e56545c6062666c717b8391959083909daaaa9e9184776b5e5144382b1e1105000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a49f98928b81786d665c50443e31281d13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c66727f8c96a0aba89f92877d6f6b605c55534d4f4f4a5053545b60696e7a839198a3a39f92867b6e6154473b2e21140800000006121f2b3844505c667683909da9afa3998c80736a605854524c4a5153545b60696e7a8491959095a0abaa9e9184776b5e5144382b1e110500000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f938e81786d605a50433a2f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919ea8aca1968c80736b6059514b474242423f44464a50575e686e7b86929a99928f8b8073665a4d4033271a0d0000000713202d3a4653606d7986929facac9f92867a6d61584e4746414044464a50575e686f7c87929da0a7b1aa9e9184776b5e5144382b1e11050000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a59e938d80736c61554b4035291d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5564717e8a96a1adaa9e9184796d60594f45403937312d3338393f444d565f6973808c8e8a86827f7b6e6155483b2e2215080000000815222e3b4855616e7b8898a3aea99c908376685e52463c393634383a3f444d56606a73808d99a3afb7aa9e9184776b5e5144382b1e1105000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59d928a7d70675d5145392f24180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6775828f9ca8aea2988b7e71675d51473d342e2b2622282b2d333b444d57616d7a84817d7a76726e695f53463a2d2114070000000a1623303d495663707c8996aab4a79a8d807467564c41342d2a282c2d333b444e58616e7b86929facb7aa9e9184776b5e5144382b1e110500000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49e9184796d60554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facac9f92857a6d60554b403528231d1a171c1f2228323c46525e686d7774706d6765615f574d42372b1e12050000000b1724313e4a5764717d8a97a4b0a5988b7e7265584b3f30251d1c1f2228323d46525e6975828f9ba8b5aa9e9184776b5e5144382b1e11050000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6ada1968c7f73675d5145392c1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a99a3aea89b8e8175675d5143392f23181d1d1d1d1d17202a36414c565e616b6764605d5555534d453c31261a0e020000000b1825323e4b5865717e8b98a4b0a3978a7d7064574a3d312417101217202a36424d5764717e8b97a9b3aa9e9184776b5e5144382b1e11050000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9285796d6053473a2f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aabb4aa978a7e7164554b4031272a2a2a2a2a2a2a2a2a25303a444c52545e5b5753514b4846423c332a1f1409000000000c1825323f4b5865727e8b98a5afa296897c6f6356493c30231609060e1a25303b4855626e7b8897a2adaa9e9184776b5e5144382b1e1105000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1978a7e7164554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556976828f9ca9aea298887b6e6255483b2f373737373737373737373737323a414647514e4a4745403b3a373128231c140c020000000c1925323f4c5865727f8b98a5afa295897c6f6256493c2f231609000913202d394653606c7985929fabaa9e9184776b5e5144382b1e110500000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea99c8f8275675d5145392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515d677885919eabac9f9285796c6053464444444444444444444444444444444444444444444444444444443a38342e261e140a0000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090005121f2b3744505b657784919daaaa9e9184776b5e5144382b1e110500000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8696a1adaa9d908377665b505050505050505050505050505050505050505050505050505050505046443f3830261c110600000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900030f1b27333f49536a7683909da9aa9e9184776b5e5144382b1e110500000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea399897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a9b2a99c8f837669545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d53504a42382e23170b00000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900000b17222d424f5c6975828f9ca8aa9e9184776b5e5144382b1e110500030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b5ab998c807366594d4033261a0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afa89b8f82756a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a605c544a3f34281c1003000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f2216090000061c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8275685b4f422f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0a79b8e8177777777777777777777777777777777777777777777777777777777777777776d665c5044382b1f1206000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9184776a554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0ab9e92858383838383838383838383838383838383838383838383838383838383838383786d6053463a2d201307000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facac9f928579675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0ada197929090909090909090909090909090909090909090909090909090909090909086796c605346392d201306000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabaea298867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0b3a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d928679655b5044372b1f1205000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab4aa94877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0b8b0aba99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9faaaaaaaaaa9f9285786c5f493f33271b0f03000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f22140c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afb0a69f9c93939393939393939393939393939393939393939393939393a0a8b2ab9e9185786b5e52452d22170b00000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2e261e170f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895aab3ab9f948f8686868686868686868686868686868686868686868686868996a0acaa9d9083776a5d5044372a1d0600000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493f38302921180f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8798a2aea99c8f8279797979797979797979797979797979797979797979797984919eaaa99c8f8276695c4f4336291c1003000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9aea295887b6f6256504a423b332a21180f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d687885929fabaa9d9084776c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7986929faca79a8d8174675a4e4134271b0e01000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e68605c544d453c332a21170c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c566a7683909da9ab9f928578695e606060606060606060606060606060606060626e7b8899a3afab988b7f7265584c3f3225190c00000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab3a79a8d807a736d665e574e453c33291e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d192430414e5a6774818d9aabada297877b6e6154535353535353535353535353535353535764717d8a97abaea399897c706356493d3023160a00000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaab7a99d928d867f786e695f574e453b30271c12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081724313e4a5764717e8a99a4afa9978b7e7164564d41464646464646464646464646434f596774818e9aa7ac9f92867a6d6053473a2d20140700000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facafa59e9b98928c837b6e6a5f574d42392e23180c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86939faca89b8e8175685e52463c313939393939393939313a4854606b7884919eaba99d908376675d5145392c1f130600000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e938f8b929590847c6e695e544a4034281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6876838f9ca9ac9f92867b6e61584e433a322c292424292c323a434e58636f7c8996a1aca6998c7f7266554b4035291d100400000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89b8f817e85909591857b6e665c51443a3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5665717e8b97a1ada3998d80736a5f554c443d39352f2f35393d444c56606a75828f9ca8ab9f94887b6e6155483b2f24180c0000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b5ab998c7f737b8390959083786d60564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4753606d7985919ea8ab9f92867c6f675e564f47454041414045474e565d686f7c87939faca69c8f8276695f53463a2d1d12070000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7afa399897d706e798390958c7f73685e5246392d20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3845515c67727f8c96a0aba3989183796d68605953514b4e4e4b51535860686d7a84919aa4aa9f94897d7063574d42362a1e0b010000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabac9f92867a6d676e7b869292857a6d6154473c32271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55606d79849199a3aaa09590837a706b64605d555b5b555d60636a6f7a828f96a0aca3988f82766b6055453b31261a0e000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adaa9c8f8376675f6973808d988c807366584e43372b1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f3945515c67707d87929fa4a79f9590847d75706d6769676869676d70757c848f949fa8a49f92867c6f62594f44332a1f1409000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e1105000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8aea2988b7e726557626e7b88969184776a6054473b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2834404b55606b727f8c929da4a79f969189827d7a7675747475777a7d828991969fa6a49d928b7f726a5f53473d3321180e03000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facaa9f92867a6d60575f6a78849196887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c18232e39434f59636d74808d929fa2a8a09e948f8a86838281818283868a8f949ea0a8a29f928d80746d62584e43352c210f0600000000000c1925323f4c5865727f8b98a5afa295887c6f6255493c2f22160900020f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e11050000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea2988d81746861646c6c75828f988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303d47515b606c77808a92979fa3a69e9c9992908f8e8e8f9092999c9ea6a49f98928b80776c605b51463c31231a0f0000000000000c1925323f4c5865727f8b98a5aca295887c6f6255493c2f22160900040f1c2935424f5c6875828f9ba8aa9e9184776b5e5144382b1e110500000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba69f92867b6e616c70797979818e9a8e8174675b4e4134281b0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2b353f44505b656c737e858e92999ea1a8a39f9d9c9a9b9c9d9fa3a9a19e9a938f867e746c655b50493f342a2011080000000000000c1925323f4c5865727f8b989f9f9f95887c6f6255493c2f2216090b10131c2935424f5c6875828f9b9f9f9e9184776b5e5144382b1e1105000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a89f948c7f726964707d8686868e939c8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c192327333f49535b606c717a81878d9196989b9c9e9f9f9f9f9e9c9b9897928d87827b716c605b53493f372d22180e000000000000000c1925323f4c5865727f8b9393939393887c6f6255493c2f22160f161c20222935424f5c6875828f939393939184776b5e5144382b1e11050000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a8a0969082786d6064707d8a93939b9e9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071117222d384149505a61686e747b8084888b8e90919292929291908e8c8985817b756e69625a504941382d251b1006000000000000000c1925323f4c5865727f868686868686867c6f6255493c2f22171b1f272c2f3035424f5c68758186868686868684776b5e5144382b1e110500000000030e1a26313c44515c666e7a8490959ea5a79f99928e898583828181818385888d92989ea6a59e9691847a6d665c64707d8a979fa8aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f4450565e61696e73787c7f818384858686858483817f7c79746e6a615e5750443f382f261b130900000000000000000b1824313e4a56626d7279797979797979766a5f53473b2e2122272b33383c3d41444d59656f757979797979797772675c4f43372a1d110400000000000915202834404a545e686e7b838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a09e938f847b6e685e5464707d8a97a3acab9e9184786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2c353d44484c52575e61656c6f7274767878797978787675726f6d66625f58534d5345413a32281e130800000000000000000915222e3a46515b62656c6c6c6c6c6c6c625f584e43372b272d33373d4448494e5152545d65686c6c6c6c6c6c6b6760564b3f33271b0e020000000000030c18232e39424c565e696e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918a827a6e695e565764707d8a979f9f9f9e9184786b5e5145382b1e12000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c27333d474f5556606060605b60626568696b6c6c6c6c6b69686562605c54606060605f524c443a3024190d010000000000000006121e29343f495156586060606060606057554f473e332d33383f44464f54565a5e5f5f5e5b5c6060606060605e5c564e44392e23170b0000000000000007121c27303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e756d685e574d5764707d8a93939393939184786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202c38444f5961636c6c6c6c69615d565b5d5e5f5f5f5f5e5d5b59575f616a6c6c6c6c6c5d564c4135291d110400000000000000010d18232d373f464a4c525c64676c6c6c6361594f4438383f44495053596063676a6c6c6b67626058504a5353514f4b443c32281d120600000000000000000b151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e78716c605d564d4a5764707d8686868686868684786b5e5145382b1e1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4855616b7079797979756d686058515152535352514b515a61696e777979797976685d5245392c201307000000000000000006111b252d343a3f4c58646e74797979706b6155483e414950535b60646b707477797977746f6a605c544a3f44433f39322a20160c010000000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a75716d66615a524c434955616c70797979797979797872685c5043372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d86868686827a6f6a625b524c4446464e555d606c717b83868686867a6d6054473a2d21140700000000000000000009131b232934414d5a6774808686867d7063564c4a4f535b60656c71777d8184858584817c746d665c50443e2f332e2820180e0400000000000000000000050e172029313940454f54596063676d70737576787879797978777573706d6764605c545045413a44505a61646c6c6c6c6c6c6c6b6860564b3f33271b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d78828f95948f847c726d605d564e4550585f676d747e869095938c8073685d5245392c2013070000000000000000000109111925323f4c5865727f8b938d8074685d55575961656c71787d83898d919292918e8780786d605a5041382d22170b0e06000000000000000000000000050e171f272f353d44484f55555d606366686a6b6c6c6c6c6b6a686663605d5553504a423e35333e48505557606060606060605e5c564e443a2f23170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c666d798390979691877f756d686058515a626a6f79818a9298958e81776c60564c4135291d110400000000000000000000000a1723303d4a5663707d899a92857a6d676363666b70787e848a90959a9d9f9f9e9a938d81756c6153493f33271b0f030000000000000000000000000000050d151d242933383d44484b515356595b5d5e5f5f5f5f5e5d5c595754514b46443f3830292c363e44494a5353535353535351504b443c32281d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545d676e7b85929899928c827a6f6a625d606c717c838e939f969083796d655b50443a3024190d0100000000000000000000000714212e3a4754616d7a8693978f827972707072777d838a91959da0a7a5a3a3aca49f938a7e71655b5044372b1f1205000000000000000000000000000000030b121821272c3338394045474a4c4f50525253535252504f4d4a4745413a38342e261e232c33393c3d4646464646464645433f3a322a20160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c151d232e38424c555f696f7d86929f9f938f847c726d676d757e8690959d9891847a6e675d53493f32281e13080000000000000000000000000713202d3946525e687783909d948f847f7d7d7f848a90959da0a79f9d9896979a9fa29e9184786c605346392d2013080000000000000000000000000000000001070c161c21272c2f35383a3d4042434545464646454442403d3a39352f2b28231c141a22282d3031393939393939393837332f2820180f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f171e272e343f464e5457606b717e8b929c9e9691877f757079818b9298a09992867c6f685e554b41382d20160c0200000000000000000000000005111d2935414c5666737f8c989e96918c8a8a8c91959da0a69f9c95908b8a8a8d9297a096897d7063564a3d3024190d010000000000000000000000000000000000050b10161c1d24292c2d30333537383939393938373533302d2c29241f1c17110a10171c2023242d2d2d2d2d2d2d2b2a27231d160f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001071119212930394045505860626b6c6c73808d939ea199928c827c848e939fa29f93877e706a5f564c43392f261b0e0400000000000000000000000000010d1925303b4754616e7b86929fa09e999696999da0a7a09d949089837f7d7d808591969a8d807467564c4135291d110500000000000000000000000000000000000000050b1012181d1f202326282a2b2c2c2c2c2b2a29262421201d1813100b0600050b10141617202020202020201e1d1b17120c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1218232b333b424b515a626a6f7879797979818e959fa39f938f8991969ea59d938c7f726c61584e443b31271d140a0000000000000000000000000000000814202d3a46525e69727f8c949ea5a5a3a3a5a69f9c95908a837c76727070737b84919a918477685d5246392d20130700000000000000000000000000000000000000000001070c10131417191c1d1f1f20201f1f1d1c1a171413110d0703000000000004080a0a1313131313131312110f0b0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d2429353d454d545c606c717c848686867f79839096a1a59e9b969ea0a89f948e81746d635a50463c32291f150b0200000000000000000000000000000005111e2a36424d57606d78828f939b9e9f9f9d9a94908a837d766f6b656364696f7c879395877a6d6154473a2e2114070000000000000000000000000000000000000000000000000406070a0d0f10121213131312110f0d0a070604010000000000000000000000060606060606060504020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f282f353f474f575e666d747e8691969184796e7b849198a29f9f9f9fa9a0968f82786d605b51473e342a20170d0300000000000000000000000000000000020e1a25303b44515c666d79818a8e919292908d89837d77706b6360595757606a76839093897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2831394045515960696e78818b9298958b7e71696f7c86929a93939393939791847a6d665c51493f352c22180e0500000000000000000000000000000000000009141f2834404a545c676d757d8284868584807c76706b636159544f4a4e5866737f8686867e7165584b3e3225180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f39434b515b626b707b838e939f9a9083786c606a707e8786868686868686857b6e685e544a40372d231a100600000000000000000000000000000000000000020c18232e39424b555c606b707578797877746f6b636159554f48443d4b57636d73797979716c62564a3d3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b555d606d727d8590959d9f93877c6f655b616c707979797979797979786e695f564c42392e251c110800000000000000000000000000000000000000000007121c273039434b51596163686b6c6c6a67636059554f48443e383b46525b63666c6c6c65625a50453a2e211509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d676d757f8792979fa2978e81746a60535a61646c6c6c6c6c6c6c6c6c625f574d443a30271c130a00000000000000000000000000000000000000000000000b151e27303940454f55575b5e5f5f5d5a56544f48443e38332c354049525759606060585650483f34291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d79818c929993939392857a6d61584e50555760606060606060605f55534d453c32281e150b010000000000000000000000000000000000000000000000030c151e272e343e44484a4f515352514d4948433d38332c28242e3740464b4c5353534b4a453f362d22170c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a778386868686868686867f72685e524644494a5353535353535353524847423c332a20160c0300000000000000000000000000000000000000000000000000030c151d232833383c3d4245464544413c3b38322c28211c1c252e353b3e404646463e3d3a342d241b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2936424f5b6671777979797979797979726d62564c41393c3d4646464646464646453b3a37312a21180e04000000000000000000000000000000000000000000000000000000030b121821282c2f30353839393734302f2c27211c1610131c242a2f323339393932312e29221b12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26333e4a555f666a6c6c6c6c6c6c6c6c65625b51443a3030313939393939393939392f2e2b2620180f06000000000000000000000000000000000000000000000000000000000000070c161c202324282b2c2c2a2723221f1b16100b050a12191e2325262d2d2d2524211d171109000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16222d39434d555b5d6060606060606060595751493f322923242d2d2d2d2d2d2d2d2c22211e1a150e060000000000000000000000000000000000000000000000000000000000000000050b101416171c1e201f1e1a1615130f0a04000000070d13161919202020181715110c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111c27313b434a4f5053535353535353534c4a463f372d20171720202020202020201f1514120e090300000000000000000000000000000000000000000000000000000000000000000000000407090a0f121312110e0909070300000000000002070a0c0d1313130b0b090501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151f2931393e424446464646464646463f3e3a352d251b0e0a131313131313131312080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d171f272d333637393939393939393932312e29231b13090006060606060606060600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d151c2226292a2d2d2d2d2d2d2d2d2625221e18110901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b11161a1d1d2020202020202020191816120d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0e101113131313131313130c0b0906010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + image data: 1 + _typelessdata: 00 m_StreamData: serializedVersion: 2 offset: 0 From 6dbc5431883d96e91e7c28b1f3fadd2c4aa2057e Mon Sep 17 00:00:00 2001 From: VDH Date: Wed, 28 Jan 2026 16:40:29 +0700 Subject: [PATCH 08/20] done create new skill combo --- .../PerfectWorld/Scripts/Common/EC_Configs.cs | 5 + .../FLOW_CREATE_SKILL_COMBO_DRAG_DROP.md | 625 ++++++++++++++++++ .../FLOW_CREATE_SKILL_COMBO_DRAG_DROP.md.meta | 7 + .../Scripts/UI/Dialogs/CDlgDragDrop.cs | 28 + .../Scripts/UI/Dialogs/CDlgDragDrop.cs.meta | 2 + .../Scripts/UI/Dialogs/CDlgSkillSubOther.cs | 4 +- .../Scripts/UI/GamePlay/CdlgQuickBar.cs | 7 +- .../Scripts/UI/GamePlay/EC_GameUIMan.cs | 21 +- .../Scripts/UI/SkillUI/CDlgSkillEdit.cs | 80 +++ .../Scripts/UI/SkillUI/CDlgSkillEdit.cs.meta | 2 + Assets/Scenes/a61.unity | 4 +- Assets/Scripts/CECGameRun.cs | 5 +- Assets/Scripts/CECUIManager.cs | 1 + 13 files changed, 780 insertions(+), 11 deletions(-) create mode 100644 Assets/PerfectWorld/Scripts/Skills/FLOW_CREATE_SKILL_COMBO_DRAG_DROP.md create mode 100644 Assets/PerfectWorld/Scripts/Skills/FLOW_CREATE_SKILL_COMBO_DRAG_DROP.md.meta create mode 100644 Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgDragDrop.cs create mode 100644 Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgDragDrop.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/UI/SkillUI/CDlgSkillEdit.cs create mode 100644 Assets/PerfectWorld/Scripts/UI/SkillUI/CDlgSkillEdit.cs.meta diff --git a/Assets/PerfectWorld/Scripts/Common/EC_Configs.cs b/Assets/PerfectWorld/Scripts/Common/EC_Configs.cs index e39c5b680a..e740bb2b4b 100644 --- a/Assets/PerfectWorld/Scripts/Common/EC_Configs.cs +++ b/Assets/PerfectWorld/Scripts/Common/EC_Configs.cs @@ -787,6 +787,11 @@ namespace BrewMonster public void DefaultUserSettings(ref EC_SYSTEM_SETTING pss, ref EC_VIDEO_SETTING pvs, ref EC_GAME_SETTING pgs, ref EC_BLACKLIST_SETTING pbs, ref EC_COMPUTER_AIDED_SETTING pcas) { + pss = new EC_SYSTEM_SETTING(); + pvs = new EC_VIDEO_SETTING(); + pgs = new EC_GAME_SETTING(); + pbs = new EC_BLACKLIST_SETTING(); + pcas = new EC_COMPUTER_AIDED_SETTING(); pss.Reset(); pvs.Reset(); pgs.Reset(); diff --git a/Assets/PerfectWorld/Scripts/Skills/FLOW_CREATE_SKILL_COMBO_DRAG_DROP.md b/Assets/PerfectWorld/Scripts/Skills/FLOW_CREATE_SKILL_COMBO_DRAG_DROP.md new file mode 100644 index 0000000000..8088d4dfa3 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/FLOW_CREATE_SKILL_COMBO_DRAG_DROP.md @@ -0,0 +1,625 @@ +# Flow: Create Skill Combo by Drag-Drop - C++ Implementation + +## Overview +This document describes the complete flow for creating a skill combo by drag-dropping individual skills into the combo skill list in the skill edit dialog. This is the process of building a combo skill sequence that can later be placed in the quick bar. + +--- + +## Entry Points + +### 1. **Open Skill Edit Dialog** + +**Location:** `DlgSkillSubOther.cpp:49-57` + +The user can open the skill edit dialog in two ways: + +#### **A. Create New Combo Skill** (Button: "Btn_ConNew") +```cpp +// DlgSkillSubOther.cpp:54-57 +void CDlgSkillSubOther::OnCommandNew(const char * szCommand) { + GetGameUIMan()->m_pDlgSkillEdit->SetData(0); // 0 = new combo + GetGameUIMan()->m_pDlgSkillEdit->Show(true); +} +``` + +#### **B. Edit Existing Combo Skill** (Button: "Btn_ConEdi") +```cpp +// DlgSkillSubOther.cpp:49-52 +void CDlgSkillSubOther::OnCommandEdit(const char * szCommand) { + GetGameUIMan()->m_pDlgSkillEdit->SetData(m_nComboSelect); // 1-based combo index + GetGameUIMan()->m_pDlgSkillEdit->Show(true); +} +``` + +**Flow:** +1. User clicks "New" or "Edit" button +2. Set combo skill index (0 for new, 1-based for existing) +3. Show skill edit dialog (`Win_SkillEdit`) + +--- + +## Detailed Flow: Drag-Drop Skill to Combo List + +### **Step 1: Skill Edit Dialog Initialization** + +**Location:** `DlgSkillEdit.cpp:143-231` - `OnShowDialog()` + +When the skill edit dialog is shown, it initializes the combo skill list: + +```cpp +// DlgSkillEdit.cpp:143-207 +void CDlgSkillEdit::OnShowDialog() { + EC_VIDEO_SETTING setting = GetGame()->GetConfigs()->GetVideoSettings(); + + // If creating new combo (GetData() == 0), find first empty slot + if( GetData() == 0 ) { + for (i = 0; i < EC_COMBOSKILL_NUM; i++) + if( setting.comboSkill[i].nIcon == 0 ) { + SetData(i + 1); // Set to 1-based index + break; + } + } + + // Load existing combo skill data if editing + if( setting.comboSkill[GetData() - 1].nIcon != 0 ) { + // Load existing skills from config + for (i = 0; i < EC_COMBOSKILL_LEN; i++) { + int idSkill = setting.comboSkill[GetData() - 1].idSkill[i]; + if( idSkill > 0 ) { + CECSkill *pSkill = GetHostPlayer()->GetNormalSkill(idSkill); + if (!pSkill) pSkill = GetHostPlayer()->GetEquipSkillByID(idSkill); + GetGameUIMan()->m_pDlgSkillSubOther->SetImage(pImage, pSkill); + } + else { + // Special icons (Attack, Loop Start) + int iType = -idSkill; + SetSpecialIcon(pImage, iType); + } + } + } +} +``` + +**Key Points:** +- Dialog displays empty slots (`Item_1`, `Item_2`, ..., `Item_N`) for combo skill list +- Each slot can hold a skill or special icon (Attack, Loop Start) +- Existing combo skills are loaded from `EC_VIDEO_SETTING.comboSkill[]` + +--- + +### **Step 2: User Drags Skill from Skill List** + +**Location:** `DlgSkillSubOther.cpp:235-253` - `OnEventLButtonDownFixed()` / `OnEventLButtonDownItem()` + +Skills can be dragged from multiple sources: + +#### **A. Fixed Skills** (`Img_InSkill*`) +```cpp +// DlgSkillSubOther.cpp:235-243 +void CDlgSkillSubOther::OnEventLButtonDownFixed(WPARAM wParam, LPARAM lParam, AUIObject * pObj) { + if (pObj->GetDataPtr("ptr_CECSkill") == 0) { + return; // No skill data + } + + A3DVIEWPORTPARAM *p = m_pA3DEngine->GetActiveViewport()->GetParam(); + GetGameUIMan()->m_ptLButtonDown.x = GET_X_LPARAM(lParam) - p->X; + GetGameUIMan()->m_ptLButtonDown.y = GET_Y_LPARAM(lParam) - p->Y; + GetGameUIMan()->InvokeDragDrop(this, pObj, GetGameUIMan()->m_ptLButtonDown); +} +``` + +#### **B. Item Skills** (`Img_ItemSkill*`) +```cpp +// DlgSkillSubOther.cpp:245-253 +void CDlgSkillSubOther::OnEventLButtonDownItem(WPARAM wParam, LPARAM lParam, AUIObject * pObj) { + if (pObj->GetDataPtr("ptr_CECSkill") == 0) { + return; // No skill data + } + + A3DVIEWPORTPARAM *p = m_pA3DEngine->GetActiveViewport()->GetParam(); + GetGameUIMan()->m_ptLButtonDown.x = GET_X_LPARAM(lParam) - p->X; + GetGameUIMan()->m_ptLButtonDown.y = GET_Y_LPARAM(lParam) - p->Y; + GetGameUIMan()->InvokeDragDrop(this, pObj, GetGameUIMan()->m_ptLButtonDown); +} +``` + +**Key Points:** +- Skill data is stored via `SetDataPtr(pSkill, "ptr_CECSkill")` when skill icon is created +- Mouse position is captured for drag operation +- `InvokeDragDrop()` initiates the drag-drop system + +--- + +### **Step 3: Drag-Drop System Routes to Handler** + +**Location:** `DlgDragDrop.cpp:79-124` - `OnEventLButtonUp()` + +When user releases mouse button, the drag-drop system processes the drop: + +```cpp +// DlgDragDrop.cpp:79-124 +void CDlgDragDrop::OnEventLButtonUp(WPARAM wParam, LPARAM lParam, AUIObject *pObj) { + PAUIOBJECT pObjSrc = (PAUIOBJECT)pItem->GetDataPtr("ptr_AUIObject"); + if( !pObjSrc ) return; + + // Get destination dialog and object via hit test + PAUIDIALOG pDlgOver; + PAUIOBJECT pObjOver; + GetGameUIMan()->HitTest(x, y, &pDlgOver, &pObjOver, this); + + PAUIDIALOG pDlgSrc = pObjSrc->GetParent(); + + // Route to appropriate handler + OnGeneralScene(pDlgSrc, pObjSrc, pDlgOver, pObjOver, pIvtrSrc); +} +``` + +**Flow:** +1. Get source object from drag item +2. Hit test to find destination dialog and object +3. Route to `OnGeneralScene()` for processing + +--- + +### **Step 4: Skill Drag-Drop Handler** + +**Location:** `DlgDragDrop.cpp:589-627` - `OnSkillDragDrop()` + +The handler checks if drop is on skill edit dialog: + +```cpp +// DlgDragDrop.cpp:589-627 +void CDlgDragDrop::OnSkillDragDrop(PAUIDIALOG pDlgSrc, PAUIOBJECT pObjSrc, + PAUIDIALOG pDlgOver, PAUIOBJECT pObjOver, + CECIvtrItem* pIvtrSrc) { + // Check if dropped on skill edit dialog + if( pDlgOver && stricmp(pDlgOver->GetName(), "Win_SkillEdit") == 0 + && pObjOver && strstr(pObjOver->GetName(), "Item_") + && !strstr(pObjSrc->GetName(), "Img_ConSkill")) // Don't allow combo icons + { + GetGameUIMan()->m_pDlgSkillEdit->DragDropItem(pDlgSrc, pObjSrc, pObjOver); + } + // ... other handlers (quick bar, auto policy, etc.) +} +``` + +**Key Points:** +- Only processes drops on `Win_SkillEdit` dialog +- Destination must be an `Item_*` slot (combo skill list slot) +- Prevents dragging combo skill icons into combo list (prevents recursion) + +--- + +### **Step 5: Add Skill to Combo List** + +**Location:** `DlgSkillEdit.cpp:249-293` - `DragDropItem()` + +This is the core function that adds the skill to the combo list: + +```cpp +// DlgSkillEdit.cpp:249-293 +void CDlgSkillEdit::DragDropItem(PAUIDIALOG pDlgSrc, PAUIOBJECT pObjSrc, PAUIOBJECT pObjOver) { + if( pObjSrc == pObjOver ) + return; // Same object, do nothing + + if( !pObjOver ) { + // Dropped outside - remove skill from source + if( !(pDlgSrc == this && strstr(pObjSrc->GetName(), "Special")) ) + GetGameUIMan()->m_pDlgSkillSubOther->SetImage((PAUIIMAGEPICTURE)pObjSrc, NULL); + } + else { + // Extract target slot number (1-based) + int iSlot = atoi(pObjOver->GetName() + strlen("Item_")); + + // Check if source is special icon (Attack, Loop Start) + if( strstr(pObjSrc->GetName(), "Special_") ) { + int iType = atoi(pObjSrc->GetName() + strlen("Special_")); + SetSpecialIcon((PAUIIMAGEPICTURE)pObjOver, iType); + } + else { + // Regular skill drag-drop + CECSkill *pSkill = (CECSkill *)pObjSrc->GetDataPtr("ptr_CECSkill"); + int iType = pObjSrc->GetData(); + + if( pDlgSrc != this ) { + // Dragging from external dialog (skill list) + if( iType != 0) + SetSpecialIcon((PAUIIMAGEPICTURE)pObjOver, iType); + else + GetGameUIMan()->m_pDlgSkillSubOther->SetImage((PAUIIMAGEPICTURE)pObjOver, pSkill); + } + else { + // Dragging within skill edit dialog (reordering) + CECSkill *pSkill1 = (CECSkill *)pObjOver->GetDataPtr("ptr_CECSkill"); + int iType1 = pObjOver->GetData(); + + // Swap skills + if( iType != 0) + SetSpecialIcon((PAUIIMAGEPICTURE)pObjOver, iType); + else + GetGameUIMan()->m_pDlgSkillSubOther->SetImage((PAUIIMAGEPICTURE)pObjOver, pSkill); + + if( iType1 != 0) + SetSpecialIcon((PAUIIMAGEPICTURE)pObjSrc, iType1); + else + GetGameUIMan()->m_pDlgSkillSubOther->SetImage((PAUIIMAGEPICTURE)pObjSrc, pSkill1); + } + } + } +} +``` + +**Key Points:** +- **External Drag (from skill list):** Adds skill to target slot, clears source if needed +- **Internal Drag (within dialog):** Swaps skills between slots (reordering) +- **Special Icons:** Can add Attack (`Special_1`) or Loop Start (`Special_2`) icons +- Uses `SetImage()` to display skill icon in target slot +- Skill data is stored via `SetDataPtr(pSkill, "ptr_CECSkill")` + +--- + +### **Step 6: Save Combo Skill Configuration (Local)** + +**Location:** `DlgSkillEdit.cpp:56-85` - `OnCommandConfirm()` + +When user clicks "Confirm" button, the combo skill is saved locally: + +```cpp +// DlgSkillEdit.cpp:56-85 +void CDlgSkillEdit::OnCommandConfirm(const char *szCommand) { + EC_VIDEO_SETTING setting = GetGame()->GetConfigs()->GetVideoSettings(); + + // Save icon index + setting.comboSkill[GetData() - 1].nIcon = m_nIcon; + + // Save skill sequence + int i; + int j = 0; + for (i = 0; ; i++) { + AString strName; + strName.Format("Item_%d", i + 1); + PAUIIMAGEPICTURE pImage = static_cast(GetDlgItem(strName)); + if (!pImage) break; + + CECSkill *pSkill = (CECSkill *)pImage->GetDataPtr("ptr_CECSkill"); + int iType = pImage->GetData(); + + if( iType == 0 && pSkill ) { + // Regular skill + setting.comboSkill[GetData() - 1].idSkill[j] = pSkill->GetSkillID(); + j++; + } + else { + // Special icon (Attack = -1, Loop Start = -2) + setting.comboSkill[GetData() - 1].idSkill[j] = -iType; + j++; + } + } + + // Save to local config (does NOT send to server immediately) + GetGame()->GetConfigs()->SetVideoSettings(setting); + Show(false); + + // Update combo skill display + GetGameUIMan()->m_pDlgSkillSubOther->UpdateComboSkill(); +} +``` + +**Key Points:** +- Saves icon index (`nIcon`) for combo skill +- Saves skill sequence to `idSkill[]` array: + - **Positive values:** Skill IDs + - **Negative values:** Special icons (-1 = Attack, -2 = Loop Start) +- Updates combo skill icons in main skill dialog +- **Note:** This only saves to local memory (`m_vs`), does NOT send to server yet + +--- + +### **Step 7: Send Combo Skill to Server** + +**Location:** `EC_GameRun.cpp:1942-2061` - `SaveConfigsToServer()` + +Combo skill data is sent to server as part of the user configuration when: +- Player logs out +- Periodically during gameplay +- When explicitly triggered (e.g., via UI command) + +```cpp +// EC_GameRun.cpp:1942-2061 +DWORD CECGameRun::SaveConfigsToServer() { + // ... validation checks ... + + // Calculate total size needed + int iTotalSize = 0; + iTotalSize += sizeof(DWORD); // Version + + // Host player config (shortcuts, etc.) + int iHostSize = 0; + pHost->SaveConfigData(NULL, &iHostSize); + iTotalSize += sizeof(int) + iHostSize; + + // UI layout config + DWORD dwUISize = 0; + pGameUI->GetUserLayout(NULL, dwUISize); + iTotalSize += sizeof(int) + (int)dwUISize; + + // User settings config (INCLUDES COMBO SKILLS!) + int iSettingSize = 0; + g_pGame->GetConfigs()->SaveUserConfigData(NULL, &iSettingSize); + iTotalSize += sizeof(int) + iSettingSize; + + // Allocate buffer and pack data + void* pDataBuf = a_malloctemp(iTotalSize); + // ... pack all data ... + + // Compress and send to server + g_pGame->GetGameSession()->SaveConfigData(pCompBuf, dwCompLen+iVerLen); +} +``` + +**Key Function:** `EC_Configs::SaveUserConfigData()` + +**Location:** `EC_Configs.cpp:569-615` + +```cpp +// EC_Configs.cpp:569-615 +bool CECConfigs::SaveUserConfigData(void* pDataBuf, int* piSize) { + int iTotalSize = 0; + BYTE* pData = (BYTE*)pDataBuf; + + // Version + iTotalSize += sizeof(DWORD); + if (pDataBuf) { + *((DWORD*)pData) = EC_CONFIG_VERSION; + pData += sizeof(DWORD); + } + + // 猸 SAVE VIDEO SETTINGS (INCLUDES COMBO SKILLS!) + iTotalSize += sizeof(EC_VIDEO_SETTING); + if (pDataBuf) { + *((EC_VIDEO_SETTING*)pData) = m_vs; // Contains comboSkill[] array! + pData += sizeof(EC_VIDEO_SETTING); + } + + // ... other settings (game, blacklist, computer aided) ... +} +``` + +**Key Points:** +- **Entire `EC_VIDEO_SETTING` structure is sent**, which includes: + - `comboSkill[EC_COMBOSKILL_NUM]` array + - Each combo skill contains `nIcon` and `idSkill[]` array +- **Data is compressed** before sending to reduce network traffic +- **Sent asynchronously** - not immediately when combo is saved +- **Server stores** this data and sends it back when player logs in + +--- + +### **Step 8: Server Receives and Stores Combo Skill Data** + +**Location:** Server-side (not in client codebase) + +When server receives the config data: +1. Server decompresses the data +2. Server parses `EC_VIDEO_SETTING` structure +3. Server extracts `comboSkill[]` array +4. Server stores combo skill data in player's account/profile +5. Server sends combo skill data back to client on next login + +**Note:** The server does NOT validate or execute combo skills - they are purely client-side UI configurations. The server only stores them for persistence across sessions. + +--- + +## Complete Flow Diagram + +``` +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 STEP 1: Open Skill Edit Dialog 鈹 +鈹 Location: DlgSkillSubOther.cpp:49-57 鈹 +鈹 - User clicks "New" or "Edit" button 鈹 +鈹 - SetData(0) for new, SetData(n) for existing 鈹 +鈹 - Show Win_SkillEdit dialog 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 STEP 2: Dialog Initialization 鈹 +鈹 Location: DlgSkillEdit.cpp:143-231 鈹 +鈹 - Load existing combo skill if editing 鈹 +鈹 - Display empty slots (Item_1, Item_2, ...) 鈹 +鈹 - Show special icons (Attack, Loop Start) 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈹 (User drags skill from skill list) + 鈻 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 STEP 3: Drag Initiation 鈹 +鈹 Location: DlgSkillSubOther.cpp:235-253 鈹 +鈹 - OnEventLButtonDownFixed() or OnEventLButtonDownItem() 鈹 +鈹 - Capture mouse position 鈹 +鈹 - InvokeDragDrop(this, pObj, pt) 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈹 (User drags to combo list slot) + 鈻 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 STEP 4: Drop Processing 鈹 +鈹 Location: DlgDragDrop.cpp:79-124 鈹 +鈹 - OnEventLButtonUp() detects drop 鈹 +鈹 - Hit test to find destination 鈹 +鈹 - Route to OnSkillDragDrop() 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 STEP 5: Skill Drag Handler 鈹 +鈹 Location: DlgDragDrop.cpp:589-627 鈹 +鈹 - Check: pDlgOver == "Win_SkillEdit" 鈹 +鈹 - Check: pObjOver name contains "Item_" 鈹 +鈹 - Call DragDropItem() 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 STEP 6: Add Skill to Combo List 鈹 +鈹 Location: DlgSkillEdit.cpp:249-293 鈹 +鈹 - Extract target slot: atoi("Item_N") 鈹 +鈹 - Get skill: pObjSrc->GetDataPtr("ptr_CECSkill") 鈹 +鈹 - SetImage(pObjOver, pSkill) 鈹 +鈹 - Store skill data in slot 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈹 (User can drag more skills) + 鈹 (User can reorder by dragging within dialog) + 鈹 + 鈹 (User clicks "Confirm" button) + 鈻 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 STEP 6: Save Configuration (Local) 鈹 +鈹 Location: DlgSkillEdit.cpp:56-85 鈹 +鈹 - Loop through all Item_* slots 鈹 +鈹 - Extract skill IDs or special icon types 鈹 +鈹 - Save to setting.comboSkill[n].idSkill[] 鈹 +鈹 - Save icon: setting.comboSkill[n].nIcon 鈹 +鈹 - SetVideoSettings(setting) 鈫 saves to m_vs (local only) 鈹 +鈹 - UpdateComboSkill() to refresh display 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈹 (Later: on logout, periodically, or explicit save) + 鈻 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 STEP 7: Send to Server 鈹 +鈹 Location: EC_GameRun.cpp:1942-2061 鈹 +鈹 - SaveConfigsToServer() called 鈹 +鈹 - SaveUserConfigData() includes entire EC_VIDEO_SETTING 鈹 +鈹 - Combo skills included in m_vs.comboSkill[] 鈹 +鈹 - Data compressed and sent via SaveConfigData() 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 + 鈹 + 鈻 +鈹屸攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +鈹 STEP 8: Server Storage 鈹 +鈹 Location: Server-side (not in client code) 鈹 +鈹 - Server receives compressed config data 鈹 +鈹 - Server decompresses and parses EC_VIDEO_SETTING 鈹 +鈹 - Server stores comboSkill[] in player account 鈹 +鈹 - Server sends back on next login 鈹 +鈹斺攢鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹鈹 +``` + +--- + +## Data Structures + +### **EC_VIDEO_SETTING.comboSkill[]** +```cpp +struct COMBO_SKILL { + short nIcon; // Icon index (1-based, 0 = empty) + short idSkill[EC_COMBOSKILL_LEN]; // Skill sequence array + // idSkill values: + // > 0: Skill ID + // -1: Attack (SID_ATTACK) + // -2: Loop Start (SID_LOOPSTART) + // 0: Empty slot +}; +``` + +### **Skill Storage in UI Objects** +- **Skill Pointer:** `pImage->SetDataPtr(pSkill, "ptr_CECSkill")` +- **Special Icon Type:** `pImage->SetData(iType)` where `iType = 1` (Attack) or `2` (Loop Start) +- **Regular Skill:** `pImage->SetData(0)` + +--- + +## Key Constants + +- **EC_COMBOSKILL_NUM:** Maximum number of combo skill groups (typically 8-12) +- **EC_COMBOSKILL_LEN:** Maximum number of skills per combo (typically 8-16) +- **SID_ATTACK:** Special skill ID for normal attack (typically -1) +- **SID_LOOPSTART:** Special skill ID for loop start marker (typically -2) + +--- + +## Important Notes + +1. **Index Conversion:** + - Combo group index is **1-based** in UI (`GetData()` returns 1, 2, 3, ...) + - Array index is **0-based** in config (`comboSkill[GetData() - 1]`) + +2. **Skill Sources:** + - Skills can be dragged from: + - `Win_SkillSubOther` (Fixed skills, Item skills) + - `Win_SkillSubPool` (Skill pool) + - `Win_SkillSubListSkillItem` (Skill list items) + +3. **Special Icons:** + - Attack icon (`Special_1`) = Normal attack in combo + - Loop Start icon (`Special_2`) = Marks where combo should loop back + +4. **Reordering:** + - Users can drag skills within the skill edit dialog to reorder + - `DragDropItem()` handles swapping when `pDlgSrc == this` + +5. **Validation:** + - Combo skill icons cannot be dragged into combo list (prevents recursion) + - Empty slots are allowed (stored as 0 in `idSkill[]`) + +--- + +## Related Files + +- **DlgSkillEdit.cpp/h:** Skill edit dialog implementation +- **DlgSkillSubOther.cpp/h:** Skill sub-other panel (source of skills) +- **DlgDragDrop.cpp/h:** Drag-drop system handler +- **EC_Configs.cpp/h:** Configuration management (stores combo skills locally) +- **EC_GameRun.cpp/h:** Game run logic (saves configs to server) +- **EC_GameSession.cpp/h:** Network session (sends config data to server) +- **EC_ComboSkill.cpp/h:** Combo skill execution logic + +--- + +## Network Protocol Details + +### **Protocol Command** +- **Command:** `SaveConfigData` (via `EC_GameSession::SaveConfigData()`) +- **Data Format:** Compressed binary blob containing: + 1. Version (DWORD) + 2. Host player config (shortcuts, etc.) + 3. UI layout config + 4. **User settings config (includes combo skills)** + +### **Data Structure Sent** +```cpp +struct USER_CONFIG_DATA { + DWORD version; // USERCFG_VERSION + int hostConfigSize; + BYTE hostConfig[hostConfigSize]; // Host player shortcuts, etc. + int uiLayoutSize; + BYTE uiLayout[uiLayoutSize]; // UI window positions, etc. + int settingsSize; + BYTE settings[settingsSize]; // EC_VIDEO_SETTING + other settings +}; + +// Inside settings: +struct EC_VIDEO_SETTING { + // ... other video settings ... + EC_COMBOSKILL comboSkill[EC_COMBOSKILL_NUM]; // 猸 COMBO SKILLS HERE! +}; + +struct EC_COMBOSKILL { + short nIcon; // Icon index (0 = empty) + short idSkill[EC_COMBOSKILL_LEN]; // Skill sequence +}; +``` + +### **When Data is Sent** +1. **On Logout:** `DlgExit.cpp` triggers `SaveConfigsToServer()` +2. **Periodically:** Game may auto-save configs during gameplay +3. **Explicit Save:** UI commands can trigger save (e.g., `EC_GameUICommand.cpp:143`) +4. **Pending Actions:** Various pending actions append save requests + +### **Important Notes** +- **Combo skills are NOT sent immediately** when saved - they're queued for next config save +- **Server does NOT validate combo skills** - they're client-side UI configurations +- **Combo skills are NOT executed on server** - execution is purely client-side +- **Server only stores for persistence** - so player's combo skills persist across sessions diff --git a/Assets/PerfectWorld/Scripts/Skills/FLOW_CREATE_SKILL_COMBO_DRAG_DROP.md.meta b/Assets/PerfectWorld/Scripts/Skills/FLOW_CREATE_SKILL_COMBO_DRAG_DROP.md.meta new file mode 100644 index 0000000000..4e70ea6673 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Skills/FLOW_CREATE_SKILL_COMBO_DRAG_DROP.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4abca7ea223861b47b89d130f6902111 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgDragDrop.cs b/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgDragDrop.cs new file mode 100644 index 0000000000..53dec1542c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgDragDrop.cs @@ -0,0 +1,28 @@ +锘縰sing BrewMonster.Network; +using BrewMonster.UI; +using UnityEngine; + +namespace BrewMonster +{ + public class CDlgDragDrop : MonoBehaviour + { +#if UNITY_EDITOR + private void Update() + { + if (Input.GetKeyDown(KeyCode.S)) + OnSkillDragDrop(); + } +#endif + public void OnSkillDragDrop() + { + var iSlot = 2; + var nCombo = 2; + CECShortcutSet pSCS = CECUIManager.Instance.GetInGameUIMan().GetSCSByDlg(1); + if (pSCS.GetShortcut(iSlot - 1) == null || !EC_Game.GetConfigs().GetGameSettings().bLockQuickBar) + pSCS.CreateSkillGroupShortcut(iSlot - 1, nCombo - 1); + } + } +} + +/*AString s = WC2AS(*pstr); // convert wide -> ansi/utf8 t霉y macro b岷 膽峄媙h ngh末a +a_LogOutput(0, "HoangDev: 1 n=%d, pstr=%s", n, static_cast (s));*/ \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgDragDrop.cs.meta b/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgDragDrop.cs.meta new file mode 100644 index 0000000000..40e16805bb --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgDragDrop.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ad855801e0cddfe46a48b448016ee952 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgSkillSubOther.cs b/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgSkillSubOther.cs index 17ebfb9e2b..eb60b4192b 100644 --- a/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgSkillSubOther.cs +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgSkillSubOther.cs @@ -158,7 +158,7 @@ namespace BrewMonster.UI // Update combo skill icons - called from DlgSkill public void UpdateComboSkill() { - CECConfigs configs = EC_Game.GetConfigs(); + /*CECConfigs configs = EC_Game.GetConfigs(); if (configs == null) return; @@ -195,7 +195,7 @@ namespace BrewMonster.UI // pImage->SetHint(""); } } - } + }*/ } // Update fixed skill display diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs index 5a717386ea..b76ae95487 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs @@ -32,9 +32,7 @@ namespace BrewMonster public bool UpdateShortcuts() { CECShortcut pSC; - Image skillImage; CECSCSkill pSCSkill; - int iIconFile, nMax; AUIImagePicture pCell; CECSkill pSkill = new CECSkill(-1, -1); AUIClockIcon pClock; @@ -68,7 +66,6 @@ namespace BrewMonster { if (pSC.GetType() == (int)CECShortcut.ShortcutType.SCT_SKILL) { - iIconFile = (int)EC_GAMEUI_ICONS.ICONS_SKILL; pSCSkill = (CECSCSkill)pSC; pSkill = pSCSkill.GetSkill(); if (false/*m_bDelGoblinSkillSC && GNET::ElementSkill::IsGoblinSkill(pSkill->GetSkillID())*/) @@ -504,11 +501,11 @@ namespace BrewMonster pszPanel.Add(dlgName); } } - private int GetCurPanel1() + public int GetCurPanel1() { return m_nCurPanel1; } - private int GetCurPanel2() + public int GetCurPanel2() { return m_nCurPanel2; } diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs index d21d1c050c..f8579c4dcd 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; +using Unity.VisualScripting; using UnityEngine; +using static UnityEngine.Rendering.DebugUI; namespace BrewMonster.UI { @@ -60,7 +62,24 @@ namespace BrewMonster.UI } m_pDlgNPC.PopupNPCDialog(pTalk); } - + public CECShortcutSet GetSCSByDlg(int indexPanel) + { + CECHostPlayer pHost = CECGameRun.Instance.GetHostPlayer(); + CDlgQuickBar cDlgQuickBar = CECUIManager.Instance.GetCDlgQuickBar(); + CECShortcutSet pSCS = null; + int index = (0); + if (indexPanel == 1) + { + int panel = (index < 0 ? cDlgQuickBar.GetCurPanel1() : index) - 1; + pSCS = pHost.GetShortcutSet1(0); + } + else + { + int panel = (index < 0 ? cDlgQuickBar.GetCurPanel2() : index) - 1; + pSCS = pHost.GetShortcutSet2(panel); + } + return pSCS; + } // 寮瑰嚭浠诲姟瀹屾垚瀵硅瘽妗嗭紙鍒拌揪/绂诲紑鍦扮偣绛夎Е鍙戯級 // Popup task-finish dialog (reach/leave site, etc.) // C++: pTask->PopupTaskFinishDialog(taskId, &awardTalk); then OnUIDialogEnd() notifies server. public bool PopupTaskFinishDialog(uint taskId, talk_proc pTalk) diff --git a/Assets/PerfectWorld/Scripts/UI/SkillUI/CDlgSkillEdit.cs b/Assets/PerfectWorld/Scripts/UI/SkillUI/CDlgSkillEdit.cs new file mode 100644 index 0000000000..9a76761aa2 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/SkillUI/CDlgSkillEdit.cs @@ -0,0 +1,80 @@ +using Animancer; +using BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay; +using BrewMonster.Network; +using BrewMonster.UI; +using System; +using UnityEngine; + +namespace BrewMonster +{ + public class CDlgSkillEdit : AUIDialog + { + int m_nIcon; + + // Start is called once before the first execution of Update after the MonoBehaviour is created + public override void Start() + { + m_nIcon = 1; + } +#if UNITY_EDITOR + public override void Update() + { + if (Input.GetKeyDown(KeyCode.T)) + { + OnShowDialog(); + OnCommandConfirm(); + } + } +#endif + public void OnShowDialog() + { + EC_VIDEO_SETTING setting = EC_Game.GetConfigs().GetVideoSettings(); + if (GetData() == 0) + { + for (uint i = 0; i < EC_ConfigConstants.EC_COMBOSKILL_NUM; i++) + { + if (setting.comboSkill[i].nIcon == 0) + { + SetData(i + 1); + break; + } + } + if (GetData() == 0) + { + //Show(false); + return; + } + } + } + public void OnCommandConfirm() + { + EC_VIDEO_SETTING setting = EC_Game.GetConfigs().GetVideoSettings(); + setting.comboSkill[GetData() - 1].nIcon = (byte)m_nIcon; + int i; + int j = 0; + for (i = 0; i < 2; i++) + { + /* AString strName; + strName.Format("Item_%d", i + 1); + PAUIIMAGEPICTURE pImage = static_cast(GetDlgItem(strName)); + if (!pImage) break;*/ + + //CECSkill pSkill = (CECSkill)pImage.GetDataPtr("ptr_CECSkill"); + //int iType = pImage->GetData(); + if (true/*iType == 0 && pSkill != null*/) + { + setting.comboSkill[GetData() - 1].idSkill[j] = (short)(i +1) /*pSkill.GetSkillID()*/; + j++; + } + else + { + //setting.comboSkill[GetData() - 1].idSkill[j] = -iType; + j++; + } + } + EC_Game.GetConfigs().SetVideoSettings(setting); + //Show(false); + CECUIManager.Instance.m_pDlgSkillSubOther.UpdateComboSkill(); + } + } +} diff --git a/Assets/PerfectWorld/Scripts/UI/SkillUI/CDlgSkillEdit.cs.meta b/Assets/PerfectWorld/Scripts/UI/SkillUI/CDlgSkillEdit.cs.meta new file mode 100644 index 0000000000..427f5ad1e3 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/SkillUI/CDlgSkillEdit.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: b46a84d2ff078524f974fb6d60019d8c \ No newline at end of file diff --git a/Assets/Scenes/a61.unity b/Assets/Scenes/a61.unity index c4f8966cc0..53c3655cc3 100644 --- a/Assets/Scenes/a61.unity +++ b/Assets/Scenes/a61.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:def3c6a4f58ef9b5c9558210328e5b6f3ed11bfee5b577271ee43fa110616b82 -size 200521689 +oid sha256:80d98663fdebe84a0752357c66954e1834c6d78f1e61ca61df0122a35b5116c7 +size 200524021 diff --git a/Assets/Scripts/CECGameRun.cs b/Assets/Scripts/CECGameRun.cs index dd4c09a8e6..f0ebb28181 100644 --- a/Assets/Scripts/CECGameRun.cs +++ b/Assets/Scripts/CECGameRun.cs @@ -528,7 +528,10 @@ public partial class CECGameRun return szRet; } public int GetGameState() { return m_iGameState; } - + public void SaveConfigsToServer() + { + + } } public enum GameState diff --git a/Assets/Scripts/CECUIManager.cs b/Assets/Scripts/CECUIManager.cs index aa099bab68..3812ccae20 100644 --- a/Assets/Scripts/CECUIManager.cs +++ b/Assets/Scripts/CECUIManager.cs @@ -25,6 +25,7 @@ public class CECUIManager : MonoSingleton [SerializeField] private UnityEngine.UI.Button btnSecondClick; [SerializeField] CDlgQuickBar m_pDlgQuickBar1; + public CDlgSkillSubOther m_pDlgSkillSubOther; CDlgMessageBox m_pDlgMessageBox; public CDlgSkillAction m_pDlgSkillAction; From e2e63b83f24cf8fade7006033943bfb90c2cdcad Mon Sep 17 00:00:00 2001 From: VDH Date: Thu, 29 Jan 2026 19:24:42 +0700 Subject: [PATCH 09/20] convert ui code --- .../Scripts/Common/EC_Resource.cs | 5 + .../Scripts/Common/EC_Resource.cs.meta | 2 + .../Scripts/Network/CSNetwork/GameSession.cs | 2 - .../Scripts/Objet/Shortcut/CECShortcutSet.cs | 410 ++++++++++++------ Assets/PerfectWorld/Scripts/UI/Action.meta | 8 + .../Scripts/UI/Action/CDlgSkillSubAction.cs | 72 +++ .../UI/Action/CDlgSkillSubAction.cs.meta | 2 + Assets/PerfectWorld/Scripts/UI/Emote.meta | 8 + .../Scripts/UI/Emote/CDlgTaskAction.cs | 15 + .../Scripts/UI/Emote/CDlgTaskAction.cs.meta | 2 + .../Scripts/UI/GamePlay/EC_GameUIMan.cs | 5 +- Assets/Scripts/CECHostPlayer.cs | 7 - Assets/Scripts/Utilities/EC_Resource.cs | 86 +++- 13 files changed, 473 insertions(+), 151 deletions(-) create mode 100644 Assets/PerfectWorld/Scripts/Common/EC_Resource.cs create mode 100644 Assets/PerfectWorld/Scripts/Common/EC_Resource.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/UI/Action.meta create mode 100644 Assets/PerfectWorld/Scripts/UI/Action/CDlgSkillSubAction.cs create mode 100644 Assets/PerfectWorld/Scripts/UI/Action/CDlgSkillSubAction.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/UI/Emote.meta create mode 100644 Assets/PerfectWorld/Scripts/UI/Emote/CDlgTaskAction.cs create mode 100644 Assets/PerfectWorld/Scripts/UI/Emote/CDlgTaskAction.cs.meta diff --git a/Assets/PerfectWorld/Scripts/Common/EC_Resource.cs b/Assets/PerfectWorld/Scripts/Common/EC_Resource.cs new file mode 100644 index 0000000000..e699ac5919 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Common/EC_Resource.cs @@ -0,0 +1,5 @@ +using UnityEngine; + +namespace BrewMonster +{ +} diff --git a/Assets/PerfectWorld/Scripts/Common/EC_Resource.cs.meta b/Assets/PerfectWorld/Scripts/Common/EC_Resource.cs.meta new file mode 100644 index 0000000000..0ae7e1884c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Common/EC_Resource.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1c12399ff0e62e146b5951b866e5ab91 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs index 9b8592ffa2..ec28f2f135 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs @@ -960,7 +960,6 @@ namespace CSNetwork EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_SETCOOLTIME, MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader); break; case CommandID.COMBO_SKILL_PREPARE: - BMLogger.LogError("### GameDataSend: COMBO_SKILL_PREPARE"); EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_COMBO_SKILL_PREPARE, MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader, dwDataSize); break; case CommandID.PLAYER_EXT_PROP_BASE: @@ -1675,7 +1674,6 @@ namespace CSNetwork { gamedatasend gamedatasend = new gamedatasend(); gamedatasend.Data = C2SCommandFactory.CreateTaskNotifyCmd(pData, dwDataSize); - BMLogger.Log($"[MH Task] c2s_SendCmdTaskNotify Command ID : {pData[0]} Size: {dwDataSize}"); SendProtocol(gamedatasend); } diff --git a/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs b/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs index 49088daa56..3df3048ca5 100644 --- a/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs +++ b/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs @@ -10,15 +10,22 @@ * * Copyright (c) 2005 Archosaur Studio, All Rights Reserved. */ - +using static BrewMonster.CECSCCommand.CommandID; +using static BrewMonster.Scripts.RoleExpression; +using static BrewMonster.Scripts.DescriptipionMsg; using BrewMonster.Assets.PerfectWorld.Scripts.Skills; using BrewMonster.Network; +using BrewMonster.Scripts; using BrewMonster.Scripts.Skills; +using CSNetwork.C2SCommand; using CSNetwork.GPDataType; +using CSNetwork.S2CCommand; using System; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; +using static BrewMonster.EC_Resource; +using static BrewMonster.IconResourceType; namespace BrewMonster { @@ -636,28 +643,28 @@ namespace BrewMonster break; } -/* case CECShortcut.ShortcutType.SCT_ITEM: - { - int iPack = BitConverter.ToInt32(pDataBuf, offset); - offset += sizeof(int); - int iIvtrSlot = BitConverter.ToInt32(pDataBuf, offset); - offset += sizeof(int); - int idItem = BitConverter.ToInt32(pDataBuf, offset); - offset += sizeof(int); + /* case CECShortcut.ShortcutType.SCT_ITEM: + { + int iPack = BitConverter.ToInt32(pDataBuf, offset); + offset += sizeof(int); + int iIvtrSlot = BitConverter.ToInt32(pDataBuf, offset); + offset += sizeof(int); + int idItem = BitConverter.ToInt32(pDataBuf, offset); + offset += sizeof(int); - CECInventory pPack = pHost.GetPack(iPack); - if (pPack == null) - { - Debug.LogError("CECShortcutSet::LoadConfigData - Invalid inventory"); - return false; - } + CECInventory pPack = pHost.GetPack(iPack); + if (pPack == null) + { + Debug.LogError("CECShortcutSet::LoadConfigData - Invalid inventory"); + return false; + } - CECIvtrItem pItem = pPack.GetItem(iIvtrSlot); - if (pItem != null) - CreateItemShortcut(iSlot, iPack, iIvtrSlot, pItem); + CECIvtrItem pItem = pPack.GetItem(iIvtrSlot); + if (pItem != null) + CreateItemShortcut(iSlot, iPack, iIvtrSlot, pItem); - break; - }*/ + break; + }*/ case CECShortcut.ShortcutType.SCT_SKILLGRP: { @@ -677,59 +684,59 @@ namespace BrewMonster break; } - /*case CECShortcut.ShortcutType.SCT_PET: - { - if (dwVer >= 4) + /*case CECShortcut.ShortcutType.SCT_PET: { - int iPetIndex = BitConverter.ToInt32(pDataBuf, offset); - offset += sizeof(int); + if (dwVer >= 4) + { + int iPetIndex = BitConverter.ToInt32(pDataBuf, offset); + offset += sizeof(int); - if (iPetIndex >= 0) - CreatePetShortcut(iSlot, iPetIndex); + if (iPetIndex >= 0) + CreatePetShortcut(iSlot, iPetIndex); + } + else + { + Debug.LogError("CECShortcutSet::LoadConfigData - Invalid version for pet"); + return false; + } + break; } - else - { - Debug.LogError("CECShortcutSet::LoadConfigData - Invalid version for pet"); - return false; - } - break; - } - case CECShortcut.ShortcutType.SCT_AUTOFASHION: - { - if (dwVer >= 5) + case CECShortcut.ShortcutType.SCT_AUTOFASHION: { - int iAutoFashionIndex = BitConverter.ToInt32(pDataBuf, offset); - offset += sizeof(int); + if (dwVer >= 5) + { + int iAutoFashionIndex = BitConverter.ToInt32(pDataBuf, offset); + offset += sizeof(int); - if (iAutoFashionIndex >= 0) - CreateAutoFashionShortcut(iSlot, iAutoFashionIndex); + if (iAutoFashionIndex >= 0) + CreateAutoFashionShortcut(iSlot, iAutoFashionIndex); + } + else + { + Debug.LogError("CECShortcutSet::LoadConfigData - Invalid version for auto fashion"); + return false; + } + break; } - else - { - Debug.LogError("CECShortcutSet::LoadConfigData - Invalid version for auto fashion"); - return false; - } - break; - } - case CECShortcut.ShortcutType.SCT_SYSMODULE: - { - if (dwVer > 10) + case CECShortcut.ShortcutType.SCT_SYSMODULE: { - int iSys = BitConverter.ToInt32(pDataBuf, offset); - offset += sizeof(int); + if (dwVer > 10) + { + int iSys = BitConverter.ToInt32(pDataBuf, offset); + offset += sizeof(int); - if (iSys >= 0) - CreateSystemModuleShortcut(iSlot, iSys); - } - else - { - Debug.LogError("CECShortcutSet::LoadConfigData - Invalid version for system module"); - return false; - } - break; - }*/ + if (iSys >= 0) + CreateSystemModuleShortcut(iSlot, iSys); + } + else + { + Debug.LogError("CECShortcutSet::LoadConfigData - Invalid version for system module"); + return false; + } + break; + }*/ /* default: //TODO: uncomment @@ -781,15 +788,22 @@ namespace BrewMonster { return m_iSCType; } + public virtual string GetDesc() { return ""; } public virtual CECShortcut Clone() { return new CECShortcut(); } public virtual bool Execute() { return true; } + // Get icon file + public virtual string GetIconFile() + { + // Return a default icon file name + return "unknown"; + } } // Shortcut type - public enum ShortcutType + public enum ShortcutType { SCT_UNKNOWN = -1, @@ -814,7 +828,7 @@ namespace BrewMonster CMD_FINDTARGET, CMD_ASSISTATTACK, CMD_INVITETOTEAM, - CMD_LEAVETEAM, + CMD_LEAVETEAM, CMD_KICKTEAMMEM, CMD_FINDTEAM, CMD_STARTTRADE, @@ -830,25 +844,93 @@ namespace BrewMonster } public CECSCCommand(int iCommand) { - m_iSCType = (int)ShortcutType.SCT_COMMAND; + m_iSCType = (int)ShortcutType.SCT_COMMAND; m_iCommand = iCommand; - m_dwParam = 0; + m_dwParam = 0; } + public override string GetDesc() + { + CECStringTab pDescTab = EC_Game.GetItemDesc(); + string szDesc = (""); + switch ((CommandID)m_iCommand) + { + case CMD_SITDOWN: szDesc = pDescTab.GetWideString((int)CMDDESC_SITDOWN); break; + case CMD_WALKRUN: szDesc = pDescTab.GetWideString((int)CMDDESC_WALKRUN); break; + case CMD_NORMALATTACK: szDesc = pDescTab.GetWideString((int)CMDDESC_NORMALATTACK); break; + case CMD_FINDTARGET: szDesc = pDescTab.GetWideString((int)CMDDESC_FINDTARGET); break; + case CMD_ASSISTATTACK: szDesc = pDescTab.GetWideString((int)CMDDESC_ASSISTATTACK); break; + case CMD_INVITETOTEAM: szDesc = pDescTab.GetWideString((int)CMDDESC_INVITETOTEAM); break; + case CMD_LEAVETEAM: szDesc = pDescTab.GetWideString((int)CMDDESC_LEAVETEAM); break; + case CMD_KICKTEAMMEM: szDesc = pDescTab.GetWideString((int)CMDDESC_KICKTEAMMEM); break; + case CMD_FINDTEAM: szDesc = pDescTab.GetWideString((int)CMDDESC_FINDTEAM); break; + case CMD_STARTTRADE: szDesc = pDescTab.GetWideString((int)CMDDESC_STARTTRADE); break; + case CMD_SELLBOOTH: szDesc = pDescTab.GetWideString((int)CMDDESC_SELLBOOTH); break; + case CMD_BUYBOOTH: szDesc = pDescTab.GetWideString((int)CMDDESC_BUYBOOTH); break; + case CMD_INVITETOFACTION: szDesc = pDescTab.GetWideString((int)CMDDESC_INVITETOFACTION); break; + case CMD_FLY: szDesc = pDescTab.GetWideString((int)CMDDESC_FLY); break; + case CMD_PICKUP: szDesc = pDescTab.GetWideString((int)CMDDESC_PICKUP); break; + case CMD_GATHER: szDesc = pDescTab.GetWideString((int)CMDDESC_GATHER); break; + case CMD_RUSHFLY: szDesc = pDescTab.GetWideString((int)CMDDESC_RUSHFLY); break; + case CMD_BINDBUDDY: szDesc = pDescTab.GetWideString((int)CMDDESC_BINDBUDDY); break; + + case CMD_PLAYPOSE: + { + switch ((RoleExpression)m_dwParam) + { + case ROLEEXP_WAVE: szDesc = pDescTab.GetWideString((int)FACEDESC_WAVEHAND); break; + case ROLEEXP_NOD: szDesc = pDescTab.GetWideString((int)FACEDESC_NOD); break; + case ROLEEXP_SHAKEHEAD: szDesc = pDescTab.GetWideString((int)FACEDESC_SHADEHEAD); break; + case ROLEEXP_SHRUG: szDesc = pDescTab.GetWideString((int)FACEDESC_SHRUG); break; + case ROLEEXP_LAUGH: szDesc = pDescTab.GetWideString((int)FACEDESC_LAUGH); break; + case ROLEEXP_ANGRY: szDesc = pDescTab.GetWideString((int)FACEDESC_ANGRY); break; + case ROLEEXP_STUN: szDesc = pDescTab.GetWideString((int)FACEDESC_FAINT); break; + case ROLEEXP_DEPRESSED: szDesc = pDescTab.GetWideString((int)FACEDESC_SAD); break; + case ROLEEXP_KISSHAND: szDesc = pDescTab.GetWideString((int)FACEDESC_KISSHAND); break; + case ROLEEXP_SHY: szDesc = pDescTab.GetWideString((int)FACEDESC_SHY); break; + case ROLEEXP_SALUTE: szDesc = pDescTab.GetWideString((int)FACEDESC_SALUTE); break; + case ROLEEXP_SITDOWN: szDesc = pDescTab.GetWideString((int)FACEDESC_SITDOWN); break; + case ROLEEXP_ASSAULT: szDesc = pDescTab.GetWideString((int)FACEDESC_CHARGE); break; + case ROLEEXP_THINK: szDesc = pDescTab.GetWideString((int)FACEDESC_THINK); break; + case ROLEEXP_DEFIANCE: szDesc = pDescTab.GetWideString((int)FACEDESC_CHALLENGE); break; + case ROLEEXP_VICTORY: szDesc = pDescTab.GetWideString((int)FACEDESC_WIN); break; + case ROLEEXP_GAPE: szDesc = pDescTab.GetWideString((int)FACEDESC_GAPE); break; + case ROLEEXP_KISS: szDesc = pDescTab.GetWideString((int)FACEDESC_KISS); break; + case ROLEEXP_FIGHT: szDesc = pDescTab.GetWideString((int)FACEDESC_FIGHT); break; + case ROLEEXP_ATTACK1: szDesc = pDescTab.GetWideString((int)FACEDESC_ATTACK1); break; + case ROLEEXP_ATTACK2: szDesc = pDescTab.GetWideString((int)FACEDESC_ATTACK2); break; + case ROLEEXP_ATTACK3: szDesc = pDescTab.GetWideString((int)FACEDESC_ATTACK3); break; + case ROLEEXP_ATTACK4: szDesc = pDescTab.GetWideString((int)FACEDESC_ATTACK4); break; + case ROLEEXP_DEFENCE: szDesc = pDescTab.GetWideString((int)FACEDESC_DEFENCE); break; + case ROLEEXP_FALL: szDesc = pDescTab.GetWideString((int)FACEDESC_FALL); break; + case ROLEEXP_FALLONGROUND: szDesc = pDescTab.GetWideString((int)FACEDESC_FALLONGROUND); break; + case ROLEEXP_LOOKAROUND: szDesc = pDescTab.GetWideString((int)FACEDESC_LOOKAROUND); break; + case ROLEEXP_DANCE: szDesc = pDescTab.GetWideString((int)FACEDESC_DANCE); break; + case ROLEEXP_FASHIONWEAPON: szDesc = pDescTab.GetWideString((int)FACEDESC_FASHIONWEAPON); break; + default: + break; + } + + break; + } + default: + return (""); + } + + return szDesc; + } public CECSCCommand(CECSCCommand src) { m_iCommand = src.m_iCommand; - m_dwParam = src.m_dwParam; + m_dwParam = src.m_dwParam; } - public const int CMD_PLAYPOSE = 1; // Example constant - // public override ShortcutType GetType() => ShortcutType.SCT_COMMAND; public override CECShortcut Clone() => new CECSCCommand(this); public int GetCommandID() => 0; public int GetParam() => 0; - + // Set / Get command parameter public void SetParam(uint dwParam) { m_dwParam = dwParam; } - + // Execute shortcut public override bool Execute() { @@ -864,44 +946,112 @@ namespace BrewMonster // // if (bForbidCmd) // { - // g_pGame->GetGameRun()->AddFixedMessage(FIXMSG_CMD_INCOOLTIME); + // g_pGame.GetGameRun().AddFixedMessage(FIXMSG_CMD_INCOOLTIME); // return false; // } // } switch (m_iCommand) { - // case CMD_SITDOWN: pHost->CmdSitDown(!pHost->IsSitting()); break; - // case CMD_WALKRUN: pHost->CmdWalkRun(!pHost->GetWalkRunFlag()); break; - // case CMD_NORMALATTACK: pHost->CmdNormalAttack(); break; - // case CMD_FINDTARGET: pHost->CmdFindTarget(); break; - // case CMD_ASSISTATTACK: pHost->CmdAssistAttack(); break; - // case CMD_INVITETOTEAM: pHost->CmdInviteToTeam(); break; - // case CMD_LEAVETEAM: pHost->CmdLeaveTeam(); break; - // case CMD_KICKTEAMMEM: pHost->CmdKickTeamMember(); break; - // case CMD_FINDTEAM: pHost->CmdFindTeam(); break; - // case CMD_STARTTRADE: pHost->CmdStartTrade(); break; - // case CMD_SELLBOOTH: pHost->CmdSellBooth(); break; - // case CMD_BUYBOOTH: pHost->CmdBuyBooth(); break; + // case CMD_SITDOWN: pHost.CmdSitDown(!pHost.IsSitting()); break; + // case CMD_WALKRUN: pHost.CmdWalkRun(!pHost.GetWalkRunFlag()); break; + // case CMD_NORMALATTACK: pHost.CmdNormalAttack(); break; + // case CMD_FINDTARGET: pHost.CmdFindTarget(); break; + // case CMD_ASSISTATTACK: pHost.CmdAssistAttack(); break; + // case CMD_INVITETOTEAM: pHost.CmdInviteToTeam(); break; + // case CMD_LEAVETEAM: pHost.CmdLeaveTeam(); break; + // case CMD_KICKTEAMMEM: pHost.CmdKickTeamMember(); break; + // case CMD_FINDTEAM: pHost.CmdFindTeam(); break; + // case CMD_STARTTRADE: pHost.CmdStartTrade(); break; + // case CMD_SELLBOOTH: pHost.CmdSellBooth(); break; + // case CMD_BUYBOOTH: pHost.CmdBuyBooth(); break; case (int)CommandID.CMD_PLAYPOSE: pHost.CmdStartPose((int)m_dwParam); break; - // case CMD_INVITETOFACTION: pHost->CmdInviteToFaction(); break; + // case CMD_INVITETOFACTION: pHost.CmdInviteToFaction(); break; // case CMD_FLY: // { // // 脠莽鹿没脝茂鲁脣脪陋路脡脨脨拢卢脭貌脮芒脨漏 action switcher拢卢路帽脭貌 CmdFly - // if (!pHost->GetActionSwitcher() || !pHost->GetActionSwitcher()->OnRideToFlyAction()) - // pHost->CmdFly(); + // if (!pHost.GetActionSwitcher() || !pHost.GetActionSwitcher().OnRideToFlyAction()) + // pHost.CmdFly(); // break; // } - // case CMD_PICKUP: pHost->CmdPickup(); break; - // case CMD_GATHER: pHost->CmdGather(); break; - // case CMD_RUSHFLY: pHost->CmdRushFly(); break; - // case CMD_BINDBUDDY: pHost->CmdBindBuddy(pHost->GetSelectedTarget()); break; + // case CMD_PICKUP: pHost.CmdPickup(); break; + // case CMD_GATHER: pHost.CmdGather(); break; + // case CMD_RUSHFLY: pHost.CmdRushFly(); break; + // case CMD_BINDBUDDY: pHost.CmdBindBuddy(pHost.GetSelectedTarget()); break; default: return false; } return true; } - + public override string GetIconFile() + { + string szIconFile = ""; + switch ((CommandID)m_iCommand) + { + case CommandID.CMD_SITDOWN: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_SITDOWN); break; + case CommandID.CMD_WALKRUN: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_WALKRUN); break; + case CommandID.CMD_NORMALATTACK: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_NORMALATTACK); break; + case CommandID.CMD_FINDTARGET: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_FINDTARGET); break; + case CommandID.CMD_ASSISTATTACK: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_ASSISTATTACK); break; + case CommandID.CMD_INVITETOTEAM: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_INVITETOTEAM); break; + case CommandID.CMD_LEAVETEAM: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_LEAVETEAM); break; + case CommandID.CMD_KICKTEAMMEM: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_KICKTEAMMEM); break; + case CommandID.CMD_FINDTEAM: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_FINDTEAM); break; + case CommandID.CMD_STARTTRADE: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_STARTTRADE); break; + case CommandID.CMD_SELLBOOTH: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_SELLBOOTH); break; + case CommandID.CMD_BUYBOOTH: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_BUYBOOTH); break; + case CommandID.CMD_INVITETOFACTION: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_INVITETOFACTION); break; + case CommandID.CMD_FLY: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_FLY); break; + case CommandID.CMD_PICKUP: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_PICKUP); break; + case CommandID.CMD_GATHER: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_GATHER); break; + case CommandID.CMD_RUSHFLY: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_RUSHFLY); break; + case CommandID.CMD_BINDBUDDY: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_BINDBUDDY); break; + + case CommandID.CMD_PLAYPOSE: + { + switch ((RoleExpression)m_dwParam) + { + case RoleExpression.ROLEEXP_WAVE: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_WAVE); break; + case RoleExpression.ROLEEXP_NOD: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_NOD); break; + case RoleExpression.ROLEEXP_SHAKEHEAD: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_SHAKEHEAD); break; + case RoleExpression.ROLEEXP_SHRUG: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_SHRUG); break; + case RoleExpression.ROLEEXP_LAUGH: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_LAUGH); break; + case RoleExpression.ROLEEXP_ANGRY: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_ANGRY); break; + case RoleExpression.ROLEEXP_STUN: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_STUN); break; + case RoleExpression.ROLEEXP_DEPRESSED: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_DEPRESSED); break; + case RoleExpression.ROLEEXP_KISSHAND: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_KISSHAND); break; + case RoleExpression.ROLEEXP_SHY: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_SHY); break; + case RoleExpression.ROLEEXP_SALUTE: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_SALUTE); break; + case RoleExpression.ROLEEXP_SITDOWN: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_SITDOWN); break; + case RoleExpression.ROLEEXP_ASSAULT: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_ASSAULT); break; + case RoleExpression.ROLEEXP_THINK: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_THINK); break; + case RoleExpression.ROLEEXP_DEFIANCE: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_DEFIANCE); break; + case RoleExpression.ROLEEXP_VICTORY: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_VICTORY); break; + case RoleExpression.ROLEEXP_GAPE: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_GAPE); break; + case RoleExpression.ROLEEXP_KISS: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_KISS); break; + case RoleExpression.ROLEEXP_FIGHT: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_FIGHT); break; + case RoleExpression.ROLEEXP_ATTACK1: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_ATTACK1); break; + case RoleExpression.ROLEEXP_ATTACK2: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_ATTACK2); break; + case RoleExpression.ROLEEXP_ATTACK3: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_ATTACK3); break; + case RoleExpression.ROLEEXP_ATTACK4: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_ATTACK4); break; + case RoleExpression.ROLEEXP_DEFENCE: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_DEFENCE); break; + case RoleExpression.ROLEEXP_FALL: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_FALL); break; + case RoleExpression.ROLEEXP_FALLONGROUND: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_FALLONGROUND); break; + case RoleExpression.ROLEEXP_LOOKAROUND: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_LOOKAROUND); break; + case RoleExpression.ROLEEXP_DANCE: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_DANCE); break; + case RoleExpression.ROLEEXP_FASHIONWEAPON: szIconFile = res_IconFile((int)IconResourceType.RES_ICON_CMD_EXP_FASHIONWEAPON); break; + default: + break; + } + + break; + } + default: + return ""; + } + + return szIconFile; + } // Get item cool time int GetCoolTime(ref int piMax/* NULL */) { @@ -921,15 +1071,15 @@ namespace BrewMonster break; case CommandID.CMD_BINDBUDDY: - { - // CECCounter& cnt = pHost->GetBindCmdCoolCnt(); - // iTime = cnt.GetPeriod() - cnt.GetCounter(); - // - // if (piMax) - // *piMax = cnt.GetPeriod(); + { + // CECCounter& cnt = pHost.GetBindCmdCoolCnt(); + // iTime = cnt.GetPeriod() - cnt.GetCounter(); + // + // if (piMax) + // *piMax = cnt.GetPeriod(); - break; - } + break; + } default: // if (piMax) *piMax = 0; @@ -940,37 +1090,37 @@ namespace BrewMonster } } - /* public class CECSCSkill : CECShortcut - { - private CECSkill m_pSkill; - public override ShortcutType GetType() => ShortcutType.SCT_SKILL; - public override CECShortcut Clone() => null; - public bool Init(CECSkill pSkill) { m_pSkill = pSkill; return true; } - public CECSkill GetSkill() => m_pSkill; - public void SetSkill(CECSkill pSkill) { m_pSkill = pSkill; } - } + /* public class CECSCSkill : CECShortcut + { + private CECSkill m_pSkill; + public override ShortcutType GetType() => ShortcutType.SCT_SKILL; + public override CECShortcut Clone() => null; + public bool Init(CECSkill pSkill) { m_pSkill = pSkill; return true; } + public CECSkill GetSkill() => m_pSkill; + public void SetSkill(CECSkill pSkill) { m_pSkill = pSkill; } + } - public class CECSCItem : CECShortcut - { - private int m_iInventory; - private int m_iIvtrSlot; - private int m_iItemTID; - private bool m_bAutoFind; + public class CECSCItem : CECShortcut + { + private int m_iInventory; + private int m_iIvtrSlot; + private int m_iItemTID; + private bool m_bAutoFind; - public override ShortcutType GetType() => ShortcutType.SCT_ITEM; - public override CECShortcut Clone() => null; - public bool Init(int iIvtr, int iSlot, CECIvtrItem pItem) - { - m_iInventory = iIvtr; - m_iIvtrSlot = iSlot; - return true; - } - public int GetInventory() => m_iInventory; - public int GetIvtrSlot() => m_iIvtrSlot; - public int GetItemTID() => m_iItemTID; - public bool GetAutoFindFlag() => m_bAutoFind; - public void MoveItem(int iIvtr, int iSlot) { m_iInventory = iIvtr; m_iIvtrSlot = iSlot; } - }*/ + public override ShortcutType GetType() => ShortcutType.SCT_ITEM; + public override CECShortcut Clone() => null; + public bool Init(int iIvtr, int iSlot, CECIvtrItem pItem) + { + m_iInventory = iIvtr; + m_iIvtrSlot = iSlot; + return true; + } + public int GetInventory() => m_iInventory; + public int GetIvtrSlot() => m_iIvtrSlot; + public int GetItemTID() => m_iItemTID; + public bool GetAutoFindFlag() => m_bAutoFind; + public void MoveItem(int iIvtr, int iSlot) { m_iInventory = iIvtr; m_iIvtrSlot = iSlot; } + }*/ /* public class CECSCSkillGrp : CECShortcut { diff --git a/Assets/PerfectWorld/Scripts/UI/Action.meta b/Assets/PerfectWorld/Scripts/UI/Action.meta new file mode 100644 index 0000000000..e656994f37 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/Action.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 11093b8e0b61f8e46a8847e31fe74326 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Scripts/UI/Action/CDlgSkillSubAction.cs b/Assets/PerfectWorld/Scripts/UI/Action/CDlgSkillSubAction.cs new file mode 100644 index 0000000000..1120776060 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/Action/CDlgSkillSubAction.cs @@ -0,0 +1,72 @@ +using BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay; +using BrewMonster.UI; +using System; +using System.Collections.Generic; +using TMPro; +using UnityEngine; +using UnityEngine.UI; +using static UnityEditor.AddressableAssets.Build.Layout.BuildLayout; + +namespace BrewMonster +{ + public class CDlgSkillSubAction : MonoBehaviour + { + [SerializeField] List m_aActionInfo = new List(); + + private void OnEnable() + { + OnShowDialog(); + } + public void OnShowDialog() + { + AUIImagePicture pImage; + TextMeshProUGUI pLabel; + CECShortcut pSCThis; + string strFile = ""; + var gameUIMan = CECUIManager.Instance.GetInGameUIMan(); + + CECGameRun pGameRun = CECGameRun.Instance; + int[] objCount = { 9, 3, 3, 30 }; + CECShortcutSet[] a_pSC = + { + pGameRun.GetGenCmdShortcuts(), + pGameRun.GetTeamCmdShortcuts(), + pGameRun.GetTradeCmdShortcuts(), + pGameRun.GetPoseCmdShortcuts() + }; + int count = 0; + for (int i = 0; i < a_pSC.Length; i++) + { + for (int j = 0; j < objCount[i]; j++) + { + pImage = m_aActionInfo[count].image; + pLabel = m_aActionInfo[count].pLabel; + + if (!pImage) break; + + if (j < a_pSC[i].GetShortcutNum()) + { + pSCThis = a_pSC[i].GetShortcut(j); + pImage.SetDataPtr(pSCThis, "ptr_CECShortcut"); + + strFile = pSCThis.GetIconFile(); + gameUIMan.SetCover(pImage, strFile, EC_GAMEUI_ICONS.ICONS_ACTION); + + pLabel.SetText(pSCThis.GetDesc()); + } + else + { + /* pImage->Show(false); + pLabel->Show(false);*/ + } + count++; + } + } + } + [Serializable] + public struct ActionInfo + { + public AUIImagePicture image; + public TextMeshProUGUI pLabel; + } +} diff --git a/Assets/PerfectWorld/Scripts/UI/Action/CDlgSkillSubAction.cs.meta b/Assets/PerfectWorld/Scripts/UI/Action/CDlgSkillSubAction.cs.meta new file mode 100644 index 0000000000..771166f069 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/Action/CDlgSkillSubAction.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1eda03e6b4326e14b95d57bf324b96bb \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/UI/Emote.meta b/Assets/PerfectWorld/Scripts/UI/Emote.meta new file mode 100644 index 0000000000..243b63faf5 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/Emote.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6d97873e24020e642b7c6f6b79ea8c2c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Scripts/UI/Emote/CDlgTaskAction.cs b/Assets/PerfectWorld/Scripts/UI/Emote/CDlgTaskAction.cs new file mode 100644 index 0000000000..6d27c4b246 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/Emote/CDlgTaskAction.cs @@ -0,0 +1,15 @@ +using BrewMonster.UI; +using UnityEngine; + +namespace BrewMonster +{ + public class CDlgTaskAction : AUIDialog + { + public void OnShowDialog() + { + uint param = GetData(); + + + } + } +} diff --git a/Assets/PerfectWorld/Scripts/UI/Emote/CDlgTaskAction.cs.meta b/Assets/PerfectWorld/Scripts/UI/Emote/CDlgTaskAction.cs.meta new file mode 100644 index 0000000000..6e9112aa2f --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/Emote/CDlgTaskAction.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a5f25e21a0550df41af0c2e57639635a \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs index f8579c4dcd..779899e538 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs @@ -25,6 +25,7 @@ namespace BrewMonster.UI private Dictionary m_IconMap; private const string SKILL_ICONLIST_NAME = "iconlist_skill_multisprite"; + private const string ACTION_ICONLIST_NAME = "iconlist_action_multisprite"; public static bool TALKPROC_IS_TERMINAL(uint id) { @@ -165,9 +166,9 @@ namespace BrewMonster.UI m_pDlgTask = GetDialog(CECUIHelper.DlgTaskName).GetComponent(); m_pDlgTask.Show(false); - m_IconMap[(byte)EC_GAMEUI_ICONS.ICONS_SKILL] =("iconlist_skill_multisprite", Resources.LoadAll("iconlist_skill_multisprite")); + m_IconMap[(byte)EC_GAMEUI_ICONS.ICONS_SKILL] =(SKILL_ICONLIST_NAME, Resources.LoadAll(SKILL_ICONLIST_NAME)); + m_IconMap[(byte)EC_GAMEUI_ICONS.ICONS_ACTION] =(ACTION_ICONLIST_NAME, Resources.LoadAll(ACTION_ICONLIST_NAME)); } - public void SetCover(AUIImagePicture pImgPic, string nameImage, EC_GAMEUI_ICONS iCONS_SKILL) { pImgPic.SetImage(m_IconMap[(byte)iCONS_SKILL].Item2.FirstOrDefault(s => s.name == nameImage)); diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index d86883aaf3..3bf174ecb6 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -623,7 +623,6 @@ namespace BrewMonster private void OnMsgComboSkillPrepare(ECMSG Msg) { - BMLogger.LogError("OnMsgComboSkillPrepare"); cmd_combo_skill_prepare cmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); uint skillID = (uint)cmd.skill_id; @@ -1015,8 +1014,6 @@ namespace BrewMonster m_pCurSkill = null; } - Debug.Log("HOST_STOP_SKILL"); - AP.AP_ActionEvent((int)AP_EVENT.AP_EVENT_STOPSKILL); if (pSkillToMatch != null) { @@ -3671,9 +3668,6 @@ namespace BrewMonster float fBorderLine = fWaterHeight - 2.0f; if (vPos.y <= fBorderLine) break; - // 路镁脦帽脝梅露脣陆芦脣庐脙忙脪脭脧脗2脙脳脪脭脡脧麓娄脌铆脦陋 run_speed拢篓脫脨脦脢脤芒拢漏 - // 碌芦脦麓脢鹿脫脙录脫脣脵录录脛脺脢卤 swim_speed 脨隆脫脷 run_speed拢卢 - // 驴脡脪脭脭脷脣庐脙忙脪脭脧脗2脙脳脪脭脡脧禄帽脠隆鲁卢鹿媒 swim_speed 碌脛脣脵露脠拢卢脪貌麓脣拢卢麓脣麓娄脠隆脕陆脮脽陆脧脨隆脰碌脦陋潞脧脌铆脳枚路篓 fSpeedSev = Math.Min(m_ExtProps.mv.run_speed, fSpeedSev); break; } @@ -3691,7 +3685,6 @@ namespace BrewMonster // Return-town skill is very special, handle it separately // 鍥炲煄鎶鑳介潪甯哥壒娈婏紝鍗曠嫭澶勭悊 - Debug.Log($"ApplySkillShortcut: Checking skill {idSkill}, ID_RETURNTOWN_SKILL={ID_RETURNTOWN_SKILL}"); if (idSkill == ID_RETURNTOWN_SKILL) { Debug.Log($"ApplySkillShortcut: Skill 167 detected, calling ReturnToTargetTown"); diff --git a/Assets/Scripts/Utilities/EC_Resource.cs b/Assets/Scripts/Utilities/EC_Resource.cs index e45e849346..636e3bf06e 100644 --- a/Assets/Scripts/Utilities/EC_Resource.cs +++ b/Assets/Scripts/Utilities/EC_Resource.cs @@ -28,6 +28,7 @@ namespace BrewMonster "绋嬪簭鑱斿叆/閲戝竵鏁堟灉.gfx", // RES_GFX_ITEMFLASH, "绋嬪簭鑱斿叆/榧犳爣鎮诞.gfx", // RES_GFX_CURSORHOVER, "绋嬪簭鑱斿叆/鐩爣琚変腑.gfx", // RES_GFX_SELECTED, + "绋嬪簭鑱斿叆/鐩爣琚変腑.gfx", // RES_GFX_SELECTED, "绋嬪簭鑱斿叆/娴峰簳椋樺皹.gfx", // RES_GFX_FLOATING_DUST, "绋嬪簭鑱斿叆/浜虹墿娓稿姩姘村湀.gfx", // RES_GFX_WATER_WAVE_STILL, "绋嬪簭鑱斿叆/浜虹墿娓稿姩姘存尝.gfx", // RES_GFX_WATER_WAVE_MOVE, @@ -51,7 +52,73 @@ namespace BrewMonster "浜虹墿/閫氱敤/鍏跺畠/澧冪晫鎻愬崌.gfx", "绛栧垝鑱斿叆/鐘舵佹晥鏋/鏂楁皵%d绾.gfx", }; - + public static string res_IconFile(int n) + { + return l_aIconFiles[n]; + } + + public static readonly string[] l_aIconFiles = + { + "鎵撳潗.dds", + "璧拌窇杞崲.dds", + "鏅氭敾鍑.dds", + "瀵绘壘鐩爣.dds", + "鍗忓姪鏀诲嚮.dds", + + "閭璇峰姞鍏.dds", + "鑴辩闃熶紞.dds", + "韪㈠嚭闃熶紞.dds", + "瀵绘壘闃熶紞.dds", + "浜ゆ槗鍛戒护.dds", + + "鎽嗘憡鍗.dds", + "鎽嗘憡涔.dds", + "閭璇峰姞鍏.dds", + "椋炶.dds", + "鎷涙墜.dds", // RES_ICON_CMD_EXP_WAVE, + + "鐐瑰ご.dds", // RES_ICON_CMD_EXP_NOD, + "鎽囧ご.dds", // RES_ICON_CMD_EXP_SHAKEHEAD, + "鑰歌偐鑶.dds", // RES_ICON_CMD_EXP_SHRUG, + "澶х瑧.dds", // RES_ICON_CMD_EXP_LAUGH, + "鐢熸皵.dds", // RES_ICON_CMD_EXP_ANGRY, + + "鏅曞.dds", // RES_ICON_CMD_EXP_STUN, + "娌抚.dds", // RES_ICON_CMD_EXP_DEPRESSED, + "椋炲惢.dds", // RES_ICON_CMD_EXP_KISSHAND, + "瀹崇緸.dds", // RES_ICON_CMD_EXP_SHY, + "鎶辨嫵.dds", // RES_ICON_CMD_EXP_SALUTE, + + "鍧愪笅.dds", // RES_ICON_CMD_EXP_SITDOWN, + "鍐查攱.dds", // RES_ICON_CMD_EXP_ASSAULT, + "鎬濊.dds", // RES_ICON_CMD_EXP_THINK, + "鎸戣.dds", // RES_ICON_CMD_EXP_DEFIANCE, + "鑳滃埄.dds", // RES_ICON_CMD_EXP_VICTORY, + + "浼告噿鑵.dds", // RES_ICON_CMD_EXP_GAPE + "浜插惢.dds", // RES_ICON_CMD_EXP_KISS + "鎴樻枟.dds", // RES_ICON_CMD_EXP_FIGHT, + "鏀诲嚮1.dds", // RES_ICON_CMD_EXP_ATTACK1, + "鏀诲嚮2.dds", // RES_ICON_CMD_EXP_ATTACK2, + + "鏀诲嚮3.dds", // RES_ICON_CMD_EXP_ATTACK3, + "鏀诲嚮4.dds", // RES_ICON_CMD_EXP_ATTACK4, + "闃插尽.dds", // RES_ICON_CMD_EXP_DEFENCE, + "鎽斿.dds", // RES_ICON_CMD_EXP_FALL, + "鍊掑湴.dds", // RES_ICON_CMD_EXP_FALLONGROUND, + + "寮犳湜.dds", // RES_ICON_CMD_EXP_LOOKAROUND, + "鑸炶箞1.dds", // RES_ICON_CMD_EXP_DANCE, + "鑸炶箞2.dds", // RES_ICON_CMD_EXP_FASHIONWEAPON + "鎷惧彇.dds", // RES_ICON_CMD_PICKUP + "鎸栨帢.dds", // RES_ICON_CMD_GATHER + "鍔犻熼琛.dds", // RES_ICON_CMD_RUSHFLY + + "鐩镐緷鐩稿亷鐨勫姩浣.dds", // RES_ICON_CMD_BINDBUDDY + "浜蹭翰瀵嗗瘑鐨勫姩浣.dds", // RES_ICON_CMD_TWOKISS + "璺宠穬鐨勫姩浣1.dds", // RES_ICON_CMD_JUMPTRICK, + "璺宠穬鐨勫姩浣2.dds", // RES_ICON_CMD_RUNTRICK, +}; public static string res_GFXFile(int n) { if (n < 0 || n >= l_aGFXFiles.Length) @@ -78,7 +145,7 @@ namespace BrewMonster NUM_RES_CURSOR, } -// GFX resource + // GFX resource enum GfxResourceType { RES_GFX_LEVELUP = 0, @@ -113,11 +180,11 @@ namespace BrewMonster NUM_RES_GFX, }; -// Sound resource + // Sound resource -// Texture resource + // Texture resource -// Shader resource + // Shader resource enum ShaderResourceType { RES_SHD_HAIR = 0, @@ -134,8 +201,7 @@ namespace BrewMonster NUM_RES_SHADER, // 10 }; - -// Icon resource + // Icon resource enum IconResourceType { RES_ICON_CMD_SITDOWN = 0, @@ -201,7 +267,7 @@ namespace BrewMonster NUM_RES_ICON, }; -// Model resource + // Model resource enum ModelResourceType { RES_MOD_GOLD = 0, @@ -266,7 +332,7 @@ namespace BrewMonster NUM_RES_MODEL, }; -// model file for change shape 2 + // model file for change shape 2 enum ResourceModelType { RES_MOD_CHANGESAHPE_NULL, // 0 @@ -290,7 +356,7 @@ namespace BrewMonster RES_MOD_FORCHANGESAHPE_NUM, }; -// Some unicode string resources + // Some unicode string resources enum UnicodeStringResourceType { RES_FONT_TITLE = 0, From 0de2995ab69522bc7976f06d796bbf4f1c7c8608 Mon Sep 17 00:00:00 2001 From: VDH Date: Fri, 30 Jan 2026 11:37:10 +0700 Subject: [PATCH 10/20] done ui action --- Assets/PerfectWorld/Prefab/UIManager.prefab | 874 +++-- .../PerfectWorld/Scripts/Common/EC_Configs.cs | 1 - .../Scripts/Objet/Shortcut/CECShortcutSet.cs | 5 - .../Scripts/UI/Action/CDlgSkillSubAction.cs | 69 +- .../Scripts/UI/GamePlay/AUIImagePicture.cs | 1 + .../Scripts/UI/GamePlay/EC_GameUIMan.cs | 2 +- Assets/Prefabs/UI/SkillUI.prefab | 3420 ++++------------- Assets/Scenes/a61.unity | 4 +- Assets/Scripts/CECGameRun.cs | 1 - Assets/Scripts/Utilities/EC_Resource.cs | 100 +- .../LiberationSans SDF - Fallback.asset | 97 +- 11 files changed, 1336 insertions(+), 3238 deletions(-) diff --git a/Assets/PerfectWorld/Prefab/UIManager.prefab b/Assets/PerfectWorld/Prefab/UIManager.prefab index 2753ab35b1..7fb675dd00 100644 --- a/Assets/PerfectWorld/Prefab/UIManager.prefab +++ b/Assets/PerfectWorld/Prefab/UIManager.prefab @@ -2954,6 +2954,9 @@ GameObject: - component: {fileID: 2780428059708698453} - component: {fileID: 1890210201668811196} - component: {fileID: 6678802354138057098} + - component: {fileID: 7367406124028344242} + - component: {fileID: 3162833025978482600} + - component: {fileID: 2431558109419737109} m_Layer: 0 m_Name: UIManager m_TagString: Untagged @@ -2999,6 +3002,7 @@ MonoBehaviour: canvasDlg: {fileID: 7894129013412138377} btnSecondClick: {fileID: 1330222957695115484} m_pDlgQuickBar1: {fileID: 8338623026378970694} + m_pDlgSkillSubOther: {fileID: 2431558109419737109} m_pDlgSkillAction: {fileID: 0} --- !u!114 &6678802354138057098 MonoBehaviour: @@ -3014,6 +3018,54 @@ MonoBehaviour: m_EditorClassIdentifier: uiSkillButton: {fileID: 1484158212461992110} skillUI: {fileID: 5226149676194325592} +--- !u!114 &7367406124028344242 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6950113420985123515} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b46a84d2ff078524f974fb6d60019d8c, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &3162833025978482600 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6950113420985123515} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad855801e0cddfe46a48b448016ee952, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &2431558109419737109 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6950113420985123515} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 27624565938535e4593764faffe78bbf, type: 3} + m_Name: + m_EditorClassIdentifier: + m_comboSkillImages: [] + m_fixedImgPics: [] + m_fixedTxts: [] + m_itemSkillImages: [] + m_produceImgIcons: [] + m_produceNameLabels: [] + m_produceSkilledTxtLabels: [] + m_produceSkilledExpLabels: [] + m_produceLevelLabels: [] + m_btnEdit: {fileID: 0} + m_btnDelete: {fileID: 0} + m_btnNew: {fileID: 0} --- !u!1 &7222864739775630687 GameObject: m_ObjectHideFlags: 0 @@ -7351,163 +7403,163 @@ PrefabInstance: m_Modifications: - target: {fileID: 158413265946294456, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 158413265946294456, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 158413265946294456, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 158413265946294456, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 158413265946294456, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 210 + value: 0 objectReference: {fileID: 0} - target: {fileID: 158413265946294456, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 231422904688943530, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 231422904688943530, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 231422904688943530, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 231422904688943530, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 231422904688943530, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 468 + value: 0 objectReference: {fileID: 0} - target: {fileID: 231422904688943530, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -119 + value: 0 objectReference: {fileID: 0} - target: {fileID: 235133144264982572, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 235133144264982572, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 235133144264982572, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 235133144264982572, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 235133144264982572, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 124 + value: 0 objectReference: {fileID: 0} - target: {fileID: 235133144264982572, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 252073421677919053, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 252073421677919053, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 252073421677919053, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 252073421677919053, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 252073421677919053, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 252073421677919053, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -119 + value: 0 objectReference: {fileID: 0} - target: {fileID: 273572152272855865, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 273572152272855865, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 273572152272855865, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 273572152272855865, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 273572152272855865, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 273572152272855865, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -200 + value: 0 objectReference: {fileID: 0} - target: {fileID: 477536361219792488, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 477536361219792488, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 477536361219792488, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 127 + value: 0 objectReference: {fileID: 0} - target: {fileID: 477536361219792488, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -18.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 610002772638806474, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 610002772638806474, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 610002772638806474, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 610002772638806474, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 610002772638806474, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 210 + value: 0 objectReference: {fileID: 0} - target: {fileID: 610002772638806474, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -119 + value: 0 objectReference: {fileID: 0} - target: {fileID: 627631504828013321, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_Pivot.x @@ -7591,131 +7643,131 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 996588177716743723, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 996588177716743723, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 996588177716743723, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 996588177716743723, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 996588177716743723, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 612 + value: 0 objectReference: {fileID: 0} - target: {fileID: 996588177716743723, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1028955840978023150, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1028955840978023150, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1028955840978023150, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1028955840978023150, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1028955840978023150, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 296 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1028955840978023150, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1098377446839813520, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1098377446839813520, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1098377446839813520, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1098377446839813520, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1098377446839813520, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 296 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1098377446839813520, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -200 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1165116086950554229, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1165116086950554229, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1165116086950554229, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1165116086950554229, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1165116086950554229, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 366 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1165116086950554229, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1212536400827376711, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1212536400827376711, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1212536400827376711, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 309.47 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1212536400827376711, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -205.41306 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1617375721872166299, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1617375721872166299, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1617375721872166299, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 468.781 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1617375721872166299, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -31.05 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1619307578907548267, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y @@ -7727,7 +7779,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1619307578907548267, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 242.22609 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1619307578907548267, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x @@ -7747,7 +7799,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1654603029608217456, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 221.8 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1654603029608217456, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x @@ -7759,151 +7811,151 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1827721387084964356, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1827721387084964356, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1827721387084964356, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1827721387084964356, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1827721387084964356, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 640 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1827721387084964356, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -200 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1854076883996092593, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1854076883996092593, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1854076883996092593, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1854076883996092593, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1854076883996092593, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 382 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1854076883996092593, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -119 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2059340427576723734, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2059340427576723734, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2059340427576723734, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2059340427576723734, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2059340427576723734, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 124 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2059340427576723734, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -200 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2175877360411271826, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2175877360411271826, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2175877360411271826, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2175877360411271826, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2175877360411271826, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 382 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2175877360411271826, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2243668127581612445, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2243668127581612445, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2243668127581612445, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2243668127581612445, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2243668127581612445, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 210 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2243668127581612445, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -200 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2606804668300983452, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 580.60004 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2721134754136738906, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2721134754136738906, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2721134754136738906, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2721134754136738906, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2721134754136738906, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 366 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2721134754136738906, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2767451028238277408, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y @@ -7915,7 +7967,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2767451028238277408, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 302.80002 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2767451028238277408, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x @@ -7947,147 +7999,147 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 3001332161301665673, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3001332161301665673, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3001332161301665673, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3001332161301665673, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3001332161301665673, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 124 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3001332161301665673, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3332235597013148975, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3332235597013148975, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3332235597013148975, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3332235597013148975, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3332235597013148975, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 468 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3332235597013148975, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3407970636608740510, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3407970636608740510, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3407970636608740510, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3407970636608740510, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3407970636608740510, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 284 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3407970636608740510, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3533119636705249246, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3533119636705249246, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3533119636705249246, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3533119636705249246, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3533119636705249246, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 210 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3533119636705249246, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -119 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3653737322893481821, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3653737322893481821, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3653737322893481821, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3653737322893481821, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3653737322893481821, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 468 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3653737322893481821, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -200 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3806146217512234105, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3806146217512234105, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3806146217512234105, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3806146217512234105, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3806146217512234105, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3806146217512234105, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3959004304404627642, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y @@ -8107,371 +8159,371 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 3969499137271474866, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3969499137271474866, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3969499137271474866, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3969499137271474866, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3969499137271474866, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 640 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3969499137271474866, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -119 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4019841459086602545, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4019841459086602545, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4019841459086602545, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4019841459086602545, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4019841459086602545, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 124 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4019841459086602545, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -119 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4029765383688713542, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4029765383688713542, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4029765383688713542, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4029765383688713542, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4029765383688713542, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 284 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4029765383688713542, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4040477032306608836, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4040477032306608836, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4040477032306608836, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4040477032306608836, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4040477032306608836, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 296 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4040477032306608836, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4051927648293139806, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4051927648293139806, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4051927648293139806, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4051927648293139806, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4051927648293139806, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 382 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4051927648293139806, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4057380665741699438, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4057380665741699438, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4057380665741699438, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4057380665741699438, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4057380665741699438, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 296 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4057380665741699438, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -119 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4250561721287709306, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4250561721287709306, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4250561721287709306, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4250561721287709306, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4250561721287709306, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 554 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4250561721287709306, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4482184240218620104, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4482184240218620104, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4482184240218620104, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4482184240218620104, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4482184240218620104, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 640 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4482184240218620104, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4571697084489210839, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4571697084489210839, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4571697084489210839, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4571697084489210839, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4571697084489210839, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 120 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4571697084489210839, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4641183319640697406, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4641183319640697406, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4641183319640697406, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4641183319640697406, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4641183319640697406, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 382 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4641183319640697406, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -200 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4724247752932422168, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4724247752932422168, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4724247752932422168, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4724247752932422168, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4724247752932422168, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4724247752932422168, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -119 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4740439902517672003, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4740439902517672003, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4740439902517672003, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 309.47 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4740439902517672003, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -95 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4780570441389552407, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4780570441389552407, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4780570441389552407, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4780570441389552407, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4780570441389552407, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 202 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4780570441389552407, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4809800074832380949, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4809800074832380949, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4809800074832380949, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4809800074832380949, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4809800074832380949, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 448 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4809800074832380949, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4854616395463442219, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4854616395463442219, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4854616395463442219, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 127 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4854616395463442219, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -18.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5081070779701005043, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5081070779701005043, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5081070779701005043, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5081070779701005043, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5081070779701005043, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 202 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5081070779701005043, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5209698742198332103, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y @@ -8483,7 +8535,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5209698742198332103, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 238 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5209698742198332103, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x @@ -8495,43 +8547,43 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5310355672157812293, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5310355672157812293, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5310355672157812293, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5310355672157812293, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5310355672157812293, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 535.82 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5310355672157812293, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5321430675814961371, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5321430675814961371, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5321430675814961371, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 309.47 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5321430675814961371, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -381.81305 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5330897987501731450, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y @@ -8551,95 +8603,95 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5528175217695877564, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 716.8522 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5654591691296971945, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5654591691296971945, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5654591691296971945, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5654591691296971945, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5654591691296971945, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5654591691296971945, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5818092462432985527, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5818092462432985527, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5818092462432985527, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 288.8686 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5818092462432985527, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -31.05 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5910018929694072234, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5910018929694072234, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5910018929694072234, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5910018929694072234, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5910018929694072234, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 611.82 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5910018929694072234, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5968773174488399194, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5968773174488399194, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5968773174488399194, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5968773174488399194, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5968773174488399194, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 448 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5968773174488399194, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6238266639003596740, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_Name @@ -8651,43 +8703,43 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6375080618180806221, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6375080618180806221, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6375080618180806221, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 83.16 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6375080618180806221, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -162.18411 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6610795123697946321, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6610795123697946321, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6610795123697946321, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6610795123697946321, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6610795123697946321, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 120 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6610795123697946321, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6640795756162075713, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y @@ -8699,7 +8751,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6640795756162075713, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 157 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6640795756162075713, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x @@ -8711,235 +8763,235 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6667370386965220466, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6667370386965220466, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6667370386965220466, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6667370386965220466, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6667370386965220466, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 468 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6667370386965220466, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6710498036916096120, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6710498036916096120, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6710498036916096120, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6710498036916096120, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6710498036916096120, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 640 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6710498036916096120, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6933721175846856071, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6933721175846856071, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6933721175846856071, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6933721175846856071, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6933721175846856071, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 530 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6933721175846856071, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7102259324671439617, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7102259324671439617, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7102259324671439617, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7102259324671439617, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7102259324671439617, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7102259324671439617, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7111024902827265127, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7111024902827265127, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7111024902827265127, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7111024902827265127, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7111024902827265127, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 468 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7111024902827265127, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -119 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7164057499482312749, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7164057499482312749, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7164057499482312749, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7164057499482312749, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7164057499482312749, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 554 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7164057499482312749, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -200 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7249702927878373308, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7249702927878373308, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7249702927878373308, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7249702927878373308, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7249702927878373308, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 124 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7249702927878373308, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -119 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7312016669710787934, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7312016669710787934, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7312016669710787934, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7312016669710787934, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7312016669710787934, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 554 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7312016669710787934, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7388007950911340524, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7388007950911340524, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7388007950911340524, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 127 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7388007950911340524, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -18.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7530376446751224893, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7530376446751224893, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7530376446751224893, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7530376446751224893, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7530376446751224893, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 296 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7530376446751224893, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -119 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7716859618583968298, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y @@ -8951,7 +9003,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7716859618583968298, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7716859618583968298, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x @@ -8963,51 +9015,51 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7778303068410232866, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7778303068410232866, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7778303068410232866, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7778303068410232866, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7778303068410232866, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 640 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7778303068410232866, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -119 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7841385671618640799, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7841385671618640799, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7841385671618640799, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7841385671618640799, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7841385671618640799, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7841385671618640799, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7868147299253831422, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y @@ -9019,7 +9071,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7868147299253831422, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7868147299253831422, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x @@ -9031,19 +9083,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8029283128219612690, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8029283128219612690, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8029283128219612690, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 83.16 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8029283128219612690, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -292.4765 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8161223343954633123, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y @@ -9055,7 +9107,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8161223343954633123, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8161223343954633123, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x @@ -9067,27 +9119,27 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8296544460352271155, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8296544460352271155, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8296544460352271155, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8296544460352271155, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8296544460352271155, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 382 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8296544460352271155, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -119 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8302858527499935758, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y @@ -9095,139 +9147,139 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8432702414096739042, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8432702414096739042, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8432702414096739042, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 127 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8432702414096739042, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -18.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8573489181419288987, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8573489181419288987, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8573489181419288987, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8573489181419288987, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8573489181419288987, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 554 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8573489181419288987, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -119 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8683304717971224583, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8683304717971224583, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8683304717971224583, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8683304717971224583, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8683304717971224583, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 554 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8683304717971224583, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -119 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8824245776156879212, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8824245776156879212, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8824245776156879212, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8824245776156879212, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8824245776156879212, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 612 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8824245776156879212, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8825567524387170838, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8825567524387170838, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8825567524387170838, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8825567524387170838, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8825567524387170838, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 530 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8825567524387170838, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9021125660402316805, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9021125660402316805, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9021125660402316805, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.x - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9021125660402316805, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 76 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9021125660402316805, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 210 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9021125660402316805, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -38 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9054696526250431957, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y @@ -9239,7 +9291,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 9054696526250431957, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 418.6261 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9054696526250431957, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x @@ -9251,35 +9303,35 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 9102658109286783788, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9102658109286783788, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9102658109286783788, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 83.16 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9102658109286783788, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -48.51895 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9184880796936692226, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9184880796936692226, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9184880796936692226, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 108.9562 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9184880796936692226, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -31.05 + value: 0 objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] diff --git a/Assets/PerfectWorld/Scripts/Common/EC_Configs.cs b/Assets/PerfectWorld/Scripts/Common/EC_Configs.cs index e740bb2b4b..432df518bf 100644 --- a/Assets/PerfectWorld/Scripts/Common/EC_Configs.cs +++ b/Assets/PerfectWorld/Scripts/Common/EC_Configs.cs @@ -1076,7 +1076,6 @@ namespace BrewMonster { try { - BMLogger.LogError("LoadUserConfigData: Start loading user config data"); using (MemoryStream ms = new MemoryStream(pDataBuf, 0, iDataSize)) using (BinaryReader reader = new BinaryReader(ms)) { diff --git a/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs b/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs index 3df3048ca5..235aa5d943 100644 --- a/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs +++ b/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs @@ -267,11 +267,6 @@ namespace BrewMonster { m_aShortcuts[iSlot] = null; } - CECSCSkill skill; - if ((skill = pShortcut as CECSCSkill) != null) - { - BMLogger.LogError("SetShortcut: Setting shortcut at slot " + iSlot + $" skill = {skill.GetSkill().GetName()}"); - } m_aShortcuts[iSlot] = pShortcut; } diff --git a/Assets/PerfectWorld/Scripts/UI/Action/CDlgSkillSubAction.cs b/Assets/PerfectWorld/Scripts/UI/Action/CDlgSkillSubAction.cs index 1120776060..7553bf9e76 100644 --- a/Assets/PerfectWorld/Scripts/UI/Action/CDlgSkillSubAction.cs +++ b/Assets/PerfectWorld/Scripts/UI/Action/CDlgSkillSubAction.cs @@ -12,11 +12,59 @@ namespace BrewMonster public class CDlgSkillSubAction : MonoBehaviour { [SerializeField] List m_aActionInfo = new List(); + [SerializeField] Transform orderContain; + [SerializeField] AUIImagePicture orderTemplate; + [SerializeField] AUIImagePicture actionTemplate; + [SerializeField] Transform actionContain; + private void Awake() + { + if (orderContain == null) + { + BMLogger.LogError("CDlgSkillSubAction: orderContain is not assigned!"); + return; + } + ; + if (actionContain == null) + { + BMLogger.LogError("CDlgSkillSubAction: actionContain is not assigned!"); + return; + } + + Init(); + } private void OnEnable() { OnShowDialog(); } + public void Init() + { + int[] objCount = { 8, 2, 2, 27 }; + + for (int i = 0; i < 3; i++) + { + for (int j = 0; j < objCount[i]; j++) + { + var orderTP = Instantiate(orderTemplate, orderContain); + orderTP.gameObject.SetActive(true); + m_aActionInfo.Add(new ActionInfo + { + image = orderTP, + pLabel = orderTP.GetComponentInChildren() + }); + } + } + for (int j = 0; j < 27; j++) + { + var actionTP = Instantiate(actionTemplate, actionContain); + actionTP.gameObject.SetActive(true); + m_aActionInfo.Add(new ActionInfo + { + image = actionTP, + pLabel = actionTP.GetComponentInChildren() + }); + } + } public void OnShowDialog() { AUIImagePicture pImage; @@ -26,10 +74,10 @@ namespace BrewMonster var gameUIMan = CECUIManager.Instance.GetInGameUIMan(); CECGameRun pGameRun = CECGameRun.Instance; - int[] objCount = { 9, 3, 3, 30 }; + int[] objCount = { 8, 2, 2, 27 }; CECShortcutSet[] a_pSC = { - pGameRun.GetGenCmdShortcuts(), + pGameRun.GetGenCmdShortcuts(), pGameRun.GetTeamCmdShortcuts(), pGameRun.GetTradeCmdShortcuts(), pGameRun.GetPoseCmdShortcuts() @@ -56,17 +104,18 @@ namespace BrewMonster } else { - /* pImage->Show(false); - pLabel->Show(false);*/ + /* pImage->Show(false); + pLabel->Show(false);*/ } count++; } } - } - [Serializable] - public struct ActionInfo - { - public AUIImagePicture image; - public TextMeshProUGUI pLabel; + } + [Serializable] + public struct ActionInfo + { + public AUIImagePicture image; + public TextMeshProUGUI pLabel; + } } } diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIImagePicture.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIImagePicture.cs index 9360876c95..f561305733 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIImagePicture.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIImagePicture.cs @@ -25,6 +25,7 @@ namespace BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay if (skillbutton == null) { Debug.LogError("Skill Button is not assigned in AUIImagePicture"); + return; } skillbutton.onClick.AddListener(Execute); } diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs index 779899e538..682a08aeb3 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs @@ -25,7 +25,7 @@ namespace BrewMonster.UI private Dictionary m_IconMap; private const string SKILL_ICONLIST_NAME = "iconlist_skill_multisprite"; - private const string ACTION_ICONLIST_NAME = "iconlist_action_multisprite"; + private const string ACTION_ICONLIST_NAME = "ActionIcon/iconlist_action_multisprite"; public static bool TALKPROC_IS_TERMINAL(uint id) { diff --git a/Assets/Prefabs/UI/SkillUI.prefab b/Assets/Prefabs/UI/SkillUI.prefab index 83678dbe3b..4c0663912f 100644 --- a/Assets/Prefabs/UI/SkillUI.prefab +++ b/Assets/Prefabs/UI/SkillUI.prefab @@ -1,81 +1,5 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1 &68671097516495824 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8207062190152923167} - - component: {fileID: 2470783342719052758} - - component: {fileID: 6357400155582891162} - m_Layer: 5 - m_Name: icon (4) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &8207062190152923167 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 68671097516495824} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1437300383384742693} - m_Father: {fileID: 4081610106255437587} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 267.97998, y: -140.39} - m_SizeDelta: {x: 76, y: 76} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &2470783342719052758 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 68671097516495824} - m_CullTransparentMesh: 1 ---- !u!114 &6357400155582891162 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 68671097516495824} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 1356336560449e54a921e7243886103d, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!1 &219396834207870826 GameObject: m_ObjectHideFlags: 0 @@ -441,10 +365,10 @@ RectTransform: - {fileID: 6913810588620795676} m_Father: {fileID: 3123930244098203053} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 38, y: -140.39} - m_SizeDelta: {x: 76, y: 76} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &5889574211483133077 CanvasRenderer: @@ -592,9 +516,9 @@ RectTransform: - {fileID: 8973447809558247843} m_Father: {fileID: 1654603029608217456} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 127, y: -18.5} m_SizeDelta: {x: 254, y: 37} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8691517676783670774 @@ -635,157 +559,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &771961096932171415 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5072897564513800831} - - component: {fileID: 2068948930011411376} - - component: {fileID: 9024679396079154730} - - component: {fileID: 2349993922899877909} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &5072897564513800831 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 771961096932171415} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 6303248515195535170} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 91.87} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &2068948930011411376 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 771961096932171415} - m_CullTransparentMesh: 1 ---- !u!114 &9024679396079154730 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 771961096932171415} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: "Luy\u1EC7n c\xF4ng abc \n" - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} - m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &2349993922899877909 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 771961096932171415} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalFit: 0 - m_VerticalFit: 2 --- !u!1 &811953921939744168 GameObject: m_ObjectHideFlags: 0 @@ -955,10 +728,10 @@ RectTransform: - {fileID: 1609651149174304326} m_Father: {fileID: 3123930244098203053} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 38, y: -242.78} - m_SizeDelta: {x: 76, y: 76} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &521924147895834695 CanvasRenderer: @@ -1030,10 +803,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 8161223343954633123} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 612, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &4137582808097631545 CanvasRenderer: @@ -1126,7 +899,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 341.445, y: -143.3} - m_SizeDelta: {x: 682.89, y: 0} + m_SizeDelta: {x: 682.89, y: 157} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2888636379950673376 CanvasRenderer: @@ -1246,7 +1019,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 335.91, y: -507.53912} - m_SizeDelta: {x: 651.82, y: 0} + m_SizeDelta: {x: 651.82, y: 418.6261} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2731969899170380074 CanvasRenderer: @@ -1401,82 +1174,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &1311361867680229186 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3859668954031866820} - - component: {fileID: 6827161983670056836} - - component: {fileID: 5471987453864427329} - m_Layer: 5 - m_Name: icon (5) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3859668954031866820 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1311361867680229186} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 5522115170115830047} - m_Father: {fileID: 4081610106255437587} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 497.96, y: -140.39} - m_SizeDelta: {x: 76, y: 76} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &6827161983670056836 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1311361867680229186} - m_CullTransparentMesh: 1 ---- !u!114 &5471987453864427329 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1311361867680229186} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 1356336560449e54a921e7243886103d, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!1 &1339982055211423898 GameObject: m_ObjectHideFlags: 0 @@ -1510,9 +1207,9 @@ RectTransform: - {fileID: 9111714609820286996} m_Father: {fileID: 1619307578907548267} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 127, y: -18.5} m_SizeDelta: {x: 254, y: 37} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &435316849762927757 @@ -1692,10 +1389,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 7868147299253831422} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 535.82, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &4447529290182386867 CanvasRenderer: @@ -1735,82 +1432,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &1459008698363568209 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7637365022686006345} - - component: {fileID: 7126092370693143460} - - component: {fileID: 7228098406543726320} - m_Layer: 5 - m_Name: icon (2) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &7637365022686006345 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1459008698363568209} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1622116703579488826} - m_Father: {fileID: 4081610106255437587} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 497.96, y: -38} - m_SizeDelta: {x: 76, y: 76} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &7126092370693143460 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1459008698363568209} - m_CullTransparentMesh: 1 ---- !u!114 &7228098406543726320 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1459008698363568209} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 1356336560449e54a921e7243886103d, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!1 &1485223527900548960 GameObject: m_ObjectHideFlags: 0 @@ -1843,10 +1464,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 8161223343954633123} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 530, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &4147636784896425584 CanvasRenderer: @@ -1994,10 +1615,10 @@ RectTransform: - {fileID: 1704697067466645826} m_Father: {fileID: 3123930244098203053} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 38, y: -38} - m_SizeDelta: {x: 76, y: 76} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &3604148096459499892 CanvasRenderer: @@ -2158,82 +1779,6 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: [] ---- !u!1 &1636655724406763812 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6303248515195535170} - - component: {fileID: 5018664928044412520} - - component: {fileID: 6968936360408286985} - m_Layer: 5 - m_Name: icon (3) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &6303248515195535170 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1636655724406763812} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 5072897564513800831} - m_Father: {fileID: 2144478260434202621} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 38, y: -140.39} - m_SizeDelta: {x: 76, y: 76} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &5018664928044412520 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1636655724406763812} - m_CullTransparentMesh: 1 ---- !u!114 &6968936360408286985 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1636655724406763812} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 1356336560449e54a921e7243886103d, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!1 &1707359677378974723 GameObject: m_ObjectHideFlags: 0 @@ -2485,7 +2030,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 368.81186, y: -179.40001} - m_SizeDelta: {x: 685.6237, y: 0} + m_SizeDelta: {x: 685.6237, y: 302.80002} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &4691179229186165643 CanvasRenderer: @@ -2737,7 +2282,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 91.87} + m_SizeDelta: {x: 143.9446, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &6858302016506942629 CanvasRenderer: @@ -2888,7 +2433,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 91.87} + m_SizeDelta: {x: 143.9446, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7562352963284824378 CanvasRenderer: @@ -3035,10 +2580,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 8161223343954633123} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 366, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &3171495381280015110 CanvasRenderer: @@ -3078,82 +2623,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &1906680507194425012 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5327557936461785654} - - component: {fileID: 5062086590559632141} - - component: {fileID: 3387388452404181909} - m_Layer: 5 - m_Name: icon (3) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &5327557936461785654 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1906680507194425012} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 5999183941570029804} - m_Father: {fileID: 4081610106255437587} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 38, y: -140.39} - m_SizeDelta: {x: 76, y: 76} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &5062086590559632141 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1906680507194425012} - m_CullTransparentMesh: 1 ---- !u!114 &3387388452404181909 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1906680507194425012} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 1356336560449e54a921e7243886103d, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!1 &2007551587148898584 GameObject: m_ObjectHideFlags: 0 @@ -3172,7 +2641,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &2387395177775218455 RectTransform: m_ObjectHideFlags: 0 @@ -3280,10 +2749,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3449045492221331241} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 210, y: -38} - m_SizeDelta: {x: 76, y: 76} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8358568677657722128 CanvasRenderer: @@ -3355,10 +2824,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 7716859618583968298} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 202, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1496557411923109406 CanvasRenderer: @@ -3398,82 +2867,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &2088005477051355809 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7253342432177446664} - - component: {fileID: 7794960923086108374} - - component: {fileID: 6267022845154830810} - m_Layer: 5 - m_Name: icon (2) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &7253342432177446664 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2088005477051355809} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 8103585028483102859} - m_Father: {fileID: 2144478260434202621} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 497.96, y: -38} - m_SizeDelta: {x: 76, y: 76} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &7794960923086108374 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2088005477051355809} - m_CullTransparentMesh: 1 ---- !u!114 &6267022845154830810 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2088005477051355809} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 1356336560449e54a921e7243886103d, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!1 &2093795283665271049 GameObject: m_ObjectHideFlags: 0 @@ -3506,10 +2899,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 8161223343954633123} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 284, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7400918542891232285 CanvasRenderer: @@ -3582,9 +2975,9 @@ RectTransform: - {fileID: 1425638300236607698} m_Father: {fileID: 9054696526250431957} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 127, y: -18.5} m_SizeDelta: {x: 254, y: 37} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7145142481513715239 @@ -3782,7 +3175,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -330.91003, y: 365.44547} - m_SizeDelta: {x: 661.82, y: 0} + m_SizeDelta: {x: 661.82, y: 716.8522} m_Pivot: {x: 0, y: 1} --- !u!222 &3164324444407268244 CanvasRenderer: @@ -3969,10 +3362,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3449045492221331241} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 382, y: -38} - m_SizeDelta: {x: 76, y: 76} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7646717020914693947 CanvasRenderer: @@ -4218,7 +3611,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 368.81186, y: -469.7} - m_SizeDelta: {x: 685.6237, y: 0} + m_SizeDelta: {x: 685.6237, y: 221.8} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &6295382714833054557 CanvasRenderer: @@ -4557,9 +3950,9 @@ RectTransform: - {fileID: 5885063335678115690} m_Father: {fileID: 1263498971758389975} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 127, y: -18.5} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 254, y: 37} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1887848967215853843 @@ -4676,157 +4069,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &2774423241274077266 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1622116703579488826} - - component: {fileID: 1040135761452225609} - - component: {fileID: 5970948742040161997} - - component: {fileID: 2389838469691296029} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1622116703579488826 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2774423241274077266} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 7637365022686006345} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 91.87} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &1040135761452225609 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2774423241274077266} - m_CullTransparentMesh: 1 ---- !u!114 &5970948742040161997 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2774423241274077266} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: "Luy\u1EC7n c\xF4ng abc \n" - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} - m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &2389838469691296029 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2774423241274077266} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalFit: 0 - m_VerticalFit: 2 --- !u!1 &2799404480092571207 GameObject: m_ObjectHideFlags: 0 @@ -4871,7 +4113,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 309.47, y: -95} - m_SizeDelta: {x: 618.94, y: 76} + m_SizeDelta: {x: 618.94, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2264175676541462108 CanvasRenderer: @@ -4981,10 +4223,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3490841402936291418} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 554, y: -38} - m_SizeDelta: {x: 76, y: 76} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1725305811772317814 CanvasRenderer: @@ -5357,10 +4599,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3490841402936291418} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 468, y: -38} - m_SizeDelta: {x: 76, y: 76} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &3765304872596771789 CanvasRenderer: @@ -5400,82 +4642,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &3108891184502888359 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5738132817832879628} - - component: {fileID: 6581712223253273287} - - component: {fileID: 590358993024350124} - m_Layer: 5 - m_Name: icon (4) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &5738132817832879628 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3108891184502888359} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3331994407700925502} - m_Father: {fileID: 2144478260434202621} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 267.97998, y: -140.39} - m_SizeDelta: {x: 76, y: 76} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &6581712223253273287 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3108891184502888359} - m_CullTransparentMesh: 1 ---- !u!114 &590358993024350124 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3108891184502888359} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 1356336560449e54a921e7243886103d, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!1 &3173289032329274867 GameObject: m_ObjectHideFlags: 0 @@ -5509,9 +4675,9 @@ RectTransform: - {fileID: 535664646133282150} m_Father: {fileID: 2767451028238277408} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 127, y: -18.5} m_SizeDelta: {x: 254, y: 37} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7981867935619048463 @@ -5720,10 +4886,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3449045492221331241} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 296, y: -38} - m_SizeDelta: {x: 76, y: 76} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &9207107349168631693 CanvasRenderer: @@ -5797,9 +4963,9 @@ RectTransform: - {fileID: 1880017744182481924} m_Father: {fileID: 1619307578907548267} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 309.47, y: -205.41306} m_SizeDelta: {x: 618.94, y: 73.6261} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &5033959402152525669 @@ -5880,7 +5046,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -322.47, y: 365.44547} - m_SizeDelta: {x: 644.94, y: 703.38} + m_SizeDelta: {x: 644.94, y: 0} m_Pivot: {x: 0, y: 1} --- !u!222 &8275541816169387879 CanvasRenderer: @@ -5969,6 +5135,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 8581668835000776391} + - component: {fileID: 6710103663631289946} - component: {fileID: 523329600507644709} - component: {fileID: 912173140299320127} m_Layer: 5 @@ -5977,7 +5144,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &8581668835000776391 RectTransform: m_ObjectHideFlags: 0 @@ -5991,6 +5158,7 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 2922874573509962926} + - {fileID: 8150937948498372972} m_Father: {fileID: 2144478260434202621} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} @@ -5998,6 +5166,23 @@ RectTransform: m_AnchoredPosition: {x: 38, y: -38} m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &6710103663631289946 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3331107676278791390} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67fd391520cbfd44f84a1c6bb57673c0, type: 3} + m_Name: + m_EditorClassIdentifier: + skillbutton: {fileID: 0} + skillImage: {fileID: 79341390793448853} + borderImage: {fileID: 5124956242307597890} + cooldownTime: 0 + m_ClockCounter: {fileID: 0} --- !u!222 &523329600507644709 CanvasRenderer: m_ObjectHideFlags: 0 @@ -6036,6 +5221,81 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &3406708742645219522 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2601500888641734679} + - component: {fileID: 5293663838046803658} + - component: {fileID: 4930055916587000086} + m_Layer: 5 + m_Name: iconImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2601500888641734679 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3406708742645219522} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.86, y: 0.86, z: 0.86} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 1920078254568205968} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5293663838046803658 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3406708742645219522} + m_CullTransparentMesh: 1 +--- !u!114 &4930055916587000086 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3406708742645219522} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &3407015891391250357 GameObject: m_ObjectHideFlags: 0 @@ -6269,10 +5529,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 8161223343954633123} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 38, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &9073418720729705271 CanvasRenderer: @@ -6480,10 +5740,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 7716859618583968298} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 530, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &3246016057855107943 CanvasRenderer: @@ -6556,17 +5816,12 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 8581668835000776391} - - {fileID: 4239059594284210955} - - {fileID: 7253342432177446664} - - {fileID: 6303248515195535170} - - {fileID: 5738132817832879628} - - {fileID: 5809137857340249738} m_Father: {fileID: 1285542512886306091} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 341.445, y: -153.995} - m_SizeDelta: {x: 682.89, y: 178.39} + m_AnchoredPosition: {x: 341.445, y: -64.8} + m_SizeDelta: {x: 682.89, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1694261480392943793 CanvasRenderer: @@ -7005,7 +6260,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 325.91, y: -191} - m_SizeDelta: {x: 651.82, y: 0} + m_SizeDelta: {x: 651.82, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &4834974076497791121 CanvasRenderer: @@ -7115,10 +6370,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 7716859618583968298} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 612, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7382996658417938035 CanvasRenderer: @@ -7312,10 +6567,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3490841402936291418} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 124, y: -38} - m_SizeDelta: {x: 76, y: 76} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1291961236682885550 CanvasRenderer: @@ -7388,9 +6643,9 @@ RectTransform: - {fileID: 5918073574760109704} m_Father: {fileID: 1285542512886306091} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 127, y: -18.5} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 254, y: 37} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1257159900126729527 @@ -7463,10 +6718,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3449045492221331241} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 38, y: -38} - m_SizeDelta: {x: 76, y: 76} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2268981575541439631 CanvasRenderer: @@ -7545,7 +6800,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 335.47, y: -98.4} - m_SizeDelta: {x: 618.94, y: 140.8} + m_SizeDelta: {x: 618.94, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2124054608285479539 CanvasRenderer: @@ -7670,7 +6925,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 325.91, y: -102.8} - m_SizeDelta: {x: 651.82, y: 0} + m_SizeDelta: {x: 651.82, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &4900781526663267476 CanvasRenderer: @@ -7880,157 +7135,6 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 0 m_CallState: 2 ---- !u!1 &4149346552991504611 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3331994407700925502} - - component: {fileID: 727576847685571881} - - component: {fileID: 260511446611169910} - - component: {fileID: 504683314699227801} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3331994407700925502 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4149346552991504611} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 5738132817832879628} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 91.87} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &727576847685571881 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4149346552991504611} - m_CullTransparentMesh: 1 ---- !u!114 &260511446611169910 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4149346552991504611} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: "Luy\u1EC7n c\xF4ng abc \n" - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} - m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &504683314699227801 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4149346552991504611} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalFit: 0 - m_VerticalFit: 2 --- !u!1 &4199134632601564014 GameObject: m_ObjectHideFlags: 0 @@ -8092,7 +7196,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 341.445, y: -183.8} - m_SizeDelta: {x: 682.89, y: 0} + m_SizeDelta: {x: 682.89, y: 238} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7772368320019823384 CanvasRenderer: @@ -8335,82 +7439,6 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_ShowMaskGraphic: 0 ---- !u!1 &4324646757448837944 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8379613144668862463} - - component: {fileID: 1615969220731026223} - - component: {fileID: 8043934246366664720} - m_Layer: 5 - m_Name: icon (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &8379613144668862463 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4324646757448837944} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 6374285161725417939} - m_Father: {fileID: 4081610106255437587} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 267.97998, y: -38} - m_SizeDelta: {x: 76, y: 76} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &1615969220731026223 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4324646757448837944} - m_CullTransparentMesh: 1 ---- !u!114 &8043934246366664720 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4324646757448837944} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 1356336560449e54a921e7243886103d, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!1 &4384092624074518989 GameObject: m_ObjectHideFlags: 0 @@ -8443,10 +7471,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3449045492221331241} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 468, y: -38} - m_SizeDelta: {x: 76, y: 76} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &897642746592729160 CanvasRenderer: @@ -8654,10 +7682,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 7716859618583968298} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 448, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &5796918707172726529 CanvasRenderer: @@ -8960,10 +7988,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3490841402936291418} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 210, y: -38} - m_SizeDelta: {x: 76, y: 76} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7412806809519503430 CanvasRenderer: @@ -9156,10 +8184,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3449045492221331241} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 124, y: -38} - m_SizeDelta: {x: 76, y: 76} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8958294640541543931 CanvasRenderer: @@ -9238,7 +8266,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 325.91, y: -287} - m_SizeDelta: {x: 651.82, y: 0} + m_SizeDelta: {x: 651.82, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2639334837130904059 CanvasRenderer: @@ -9438,10 +8466,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 7868147299253831422} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 611.82, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7781625191200698363 CanvasRenderer: @@ -9481,6 +8509,81 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &5124956242307597890 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8150937948498372972} + - component: {fileID: 6151864104505940848} + - component: {fileID: 79341390793448853} + m_Layer: 5 + m_Name: iconImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8150937948498372972 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5124956242307597890} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.86, y: 0.86, z: 0.86} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 8581668835000776391} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 38, y: -38} + m_SizeDelta: {x: 76, y: 76} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6151864104505940848 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5124956242307597890} + m_CullTransparentMesh: 1 +--- !u!114 &79341390793448853 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5124956242307597890} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &5135515373015341073 GameObject: m_ObjectHideFlags: 0 @@ -9517,7 +8620,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 91.87} + m_SizeDelta: {x: 143.9446, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &5438050072468631381 CanvasRenderer: @@ -10048,7 +9151,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 91.87} + m_SizeDelta: {x: 143.9446, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &3044764523714620351 CanvasRenderer: @@ -10195,10 +9298,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 8161223343954633123} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 120, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7877452864217671880 CanvasRenderer: @@ -10277,7 +9380,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -361.27, y: 365.44547} - m_SizeDelta: {x: 722.5344, y: 0} + m_SizeDelta: {x: 722.5344, y: 580.60004} m_Pivot: {x: 0, y: 1} --- !u!222 &8408960209338211561 CanvasRenderer: @@ -10390,9 +9493,9 @@ RectTransform: - {fileID: 7117733521089166339} m_Father: {fileID: 9054696526250431957} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 309.47, y: -381.81305} m_SizeDelta: {x: 618.94, y: 73.6261} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &4491435063355121724 @@ -10465,10 +9568,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3490841402936291418} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 382, y: -38} - m_SizeDelta: {x: 76, y: 76} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8292637089760855876 CanvasRenderer: @@ -10541,9 +9644,9 @@ RectTransform: - {fileID: 3666972851124413242} m_Father: {fileID: 1244895283146852732} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 127, y: -18.5} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 254, y: 37} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &4852245878945746775 @@ -10617,10 +9720,10 @@ RectTransform: - {fileID: 7544910809585033678} m_Father: {fileID: 3123930244098203053} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 382.5, y: -242.78} - m_SizeDelta: {x: 76, y: 76} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2164606938053553701 CanvasRenderer: @@ -10660,157 +9763,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &5944752504051643367 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8103585028483102859} - - component: {fileID: 5169294448860501362} - - component: {fileID: 2211199403259268506} - - component: {fileID: 7020790643402785726} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &8103585028483102859 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5944752504051643367} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 7253342432177446664} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 91.87} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &5169294448860501362 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5944752504051643367} - m_CullTransparentMesh: 1 ---- !u!114 &2211199403259268506 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5944752504051643367} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: "Luy\u1EC7n c\xF4ng abc \n" - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} - m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &7020790643402785726 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5944752504051643367} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalFit: 0 - m_VerticalFit: 2 --- !u!1 &6015666350125151792 GameObject: m_ObjectHideFlags: 0 @@ -11025,10 +9977,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3490841402936291418} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 38, y: -38} - m_SizeDelta: {x: 76, y: 76} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &4804628498516101234 CanvasRenderer: @@ -11101,9 +10053,9 @@ RectTransform: - {fileID: 7738777691134633714} m_Father: {fileID: 332864778784360512} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 127, y: -18.5} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 254, y: 37} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8557376726661632322 @@ -11254,7 +10206,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 335.47, y: -263.3} - m_SizeDelta: {x: 618.94, y: 133} + m_SizeDelta: {x: 618.94, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &5943966890611580968 CanvasRenderer: @@ -11366,10 +10318,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 7716859618583968298} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 38, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2880898995912466067 CanvasRenderer: @@ -11527,157 +10479,6 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 1 m_CallState: 2 ---- !u!1 &6625148525600966102 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5522115170115830047} - - component: {fileID: 3614049144556721579} - - component: {fileID: 6419109977995404423} - - component: {fileID: 6037183428592665416} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &5522115170115830047 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6625148525600966102} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3859668954031866820} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 91.87} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &3614049144556721579 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6625148525600966102} - m_CullTransparentMesh: 1 ---- !u!114 &6419109977995404423 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6625148525600966102} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: "Luy\u1EC7n c\xF4ng abc \n" - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} - m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &6037183428592665416 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6625148525600966102} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalFit: 0 - m_VerticalFit: 2 --- !u!1 &6692325846751823531 GameObject: m_ObjectHideFlags: 0 @@ -11814,157 +10615,6 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!1 &6759539974681285567 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1437300383384742693} - - component: {fileID: 5469246155285883662} - - component: {fileID: 2524264005672013051} - - component: {fileID: 5704272009539355611} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1437300383384742693 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6759539974681285567} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 8207062190152923167} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 91.87} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &5469246155285883662 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6759539974681285567} - m_CullTransparentMesh: 1 ---- !u!114 &2524264005672013051 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6759539974681285567} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: "Luy\u1EC7n c\xF4ng abc \n" - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} - m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &5704272009539355611 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6759539974681285567} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalFit: 0 - m_VerticalFit: 2 --- !u!1 &6777221574695218720 GameObject: m_ObjectHideFlags: 0 @@ -12208,10 +10858,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 7716859618583968298} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 284, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7688105762489015139 CanvasRenderer: @@ -12284,10 +10934,10 @@ RectTransform: - {fileID: 7759567721800243228} m_Father: {fileID: 3123930244098203053} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 382.5, y: -140.39} - m_SizeDelta: {x: 76, y: 76} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2464100607009156610 CanvasRenderer: @@ -12479,10 +11129,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 7716859618583968298} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 120, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1468541577249468761 CanvasRenderer: @@ -12794,82 +11444,6 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!1 &7339453073721747051 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4239059594284210955} - - component: {fileID: 6998619407972160308} - - component: {fileID: 7623356675628042608} - m_Layer: 5 - m_Name: icon (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4239059594284210955 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7339453073721747051} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2209040911442161581} - m_Father: {fileID: 2144478260434202621} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 267.97998, y: -38} - m_SizeDelta: {x: 76, y: 76} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &6998619407972160308 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7339453073721747051} - m_CullTransparentMesh: 1 ---- !u!114 &7623356675628042608 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7339453073721747051} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 1356336560449e54a921e7243886103d, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!1 &7355179499552825785 GameObject: m_ObjectHideFlags: 0 @@ -13166,7 +11740,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 335.47, y: -530.58997} - m_SizeDelta: {x: 618.94, y: 345.58002} + m_SizeDelta: {x: 618.94, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &9030098628201859511 CanvasRenderer: @@ -13286,7 +11860,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 335.91, y: -149.11304} - m_SizeDelta: {x: 651.82, y: 0} + m_SizeDelta: {x: 651.82, y: 242.22609} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &948237233126392649 CanvasRenderer: @@ -13398,10 +11972,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 8161223343954633123} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 202, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &4411721698532377795 CanvasRenderer: @@ -13474,17 +12048,12 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1920078254568205968} - - {fileID: 8379613144668862463} - - {fileID: 7637365022686006345} - - {fileID: 5327557936461785654} - - {fileID: 8207062190152923167} - - {fileID: 3859668954031866820} m_Father: {fileID: 1244895283146852732} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 341.445, y: -153.995} - m_SizeDelta: {x: 682.89, y: 178.39} + m_AnchoredPosition: {x: 341.445, y: -64.8} + m_SizeDelta: {x: 682.89, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &876649880404097046 CanvasRenderer: @@ -13594,10 +12163,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 7716859618583968298} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 366, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1902857843103836693 CanvasRenderer: @@ -13637,157 +12206,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &7584263065695851351 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6374285161725417939} - - component: {fileID: 7330470249745500177} - - component: {fileID: 6930073605300207021} - - component: {fileID: 3081206856222148294} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &6374285161725417939 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7584263065695851351} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 8379613144668862463} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 91.87} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &7330470249745500177 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7584263065695851351} - m_CullTransparentMesh: 1 ---- !u!114 &6930073605300207021 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7584263065695851351} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: "Luy\u1EC7n c\xF4ng abc \n" - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} - m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &3081206856222148294 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7584263065695851351} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalFit: 0 - m_VerticalFit: 2 --- !u!1 &7599565814578354200 GameObject: m_ObjectHideFlags: 0 @@ -13956,10 +12374,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 8161223343954633123} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 448, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &5418149277532415857 CanvasRenderer: @@ -14033,9 +12451,9 @@ RectTransform: - {fileID: 5308921638492962355} m_Father: {fileID: 9054696526250431957} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 309.47, y: -95} m_SizeDelta: {x: 618.94, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &3554810037526578235 @@ -14212,157 +12630,6 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!1 &7705541999451017372 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5999183941570029804} - - component: {fileID: 1537792830205952296} - - component: {fileID: 3357623234111300797} - - component: {fileID: 1262891552018328309} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &5999183941570029804 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7705541999451017372} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 5327557936461785654} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 91.87} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &1537792830205952296 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7705541999451017372} - m_CullTransparentMesh: 1 ---- !u!114 &3357623234111300797 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7705541999451017372} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: "Luy\u1EC7n c\xF4ng abc \n" - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} - m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &1262891552018328309 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7705541999451017372} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalFit: 0 - m_VerticalFit: 2 --- !u!1 &7713128248520402999 GameObject: m_ObjectHideFlags: 0 @@ -14396,10 +12663,10 @@ RectTransform: - {fileID: 1335544207958730177} m_Father: {fileID: 3123930244098203053} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 382.5, y: -38} - m_SizeDelta: {x: 76, y: 76} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &3020341225908238861 CanvasRenderer: @@ -14482,7 +12749,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 309.47, y: -205.19} - m_SizeDelta: {x: 618.94, y: 280.78} + m_SizeDelta: {x: 618.94, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &3138218988396077083 CanvasRenderer: @@ -14742,7 +13009,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 309.47, y: -102.8} - m_SizeDelta: {x: 618.94, y: 76} + m_SizeDelta: {x: 618.94, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &965625795563076259 CanvasRenderer: @@ -14995,9 +13262,9 @@ RectTransform: - {fileID: 8641794091682467561} m_Father: {fileID: 4902026760249267287} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 127, y: -18.5} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 254, y: 37} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7759539851022153828 @@ -15038,82 +13305,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &8028472234062925388 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5809137857340249738} - - component: {fileID: 6899202139344002143} - - component: {fileID: 7793794748734634574} - m_Layer: 5 - m_Name: icon (5) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &5809137857340249738 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8028472234062925388} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3275237664186767143} - m_Father: {fileID: 2144478260434202621} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 497.96, y: -140.39} - m_SizeDelta: {x: 76, y: 76} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &6899202139344002143 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8028472234062925388} - m_CullTransparentMesh: 1 ---- !u!114 &7793794748734634574 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8028472234062925388} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 1356336560449e54a921e7243886103d, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!1 &8033079540058746360 GameObject: m_ObjectHideFlags: 0 @@ -15123,6 +13314,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1920078254568205968} + - component: {fileID: 6897593266829550523} - component: {fileID: 6263047871981887699} - component: {fileID: 8452392559284459496} m_Layer: 5 @@ -15131,7 +13323,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &1920078254568205968 RectTransform: m_ObjectHideFlags: 0 @@ -15145,6 +13337,7 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 5839287524773002638} + - {fileID: 2601500888641734679} m_Father: {fileID: 4081610106255437587} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} @@ -15152,6 +13345,23 @@ RectTransform: m_AnchoredPosition: {x: 38, y: -38} m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &6897593266829550523 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8033079540058746360} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67fd391520cbfd44f84a1c6bb57673c0, type: 3} + m_Name: + m_EditorClassIdentifier: + skillbutton: {fileID: 0} + skillImage: {fileID: 4930055916587000086} + borderImage: {fileID: 3406708742645219522} + cooldownTime: 0 + m_ClockCounter: {fileID: 0} --- !u!222 &6263047871981887699 CanvasRenderer: m_ObjectHideFlags: 0 @@ -15229,7 +13439,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -361.27, y: 365.44547} - m_SizeDelta: {x: 722.5344, y: 542.38} + m_SizeDelta: {x: 722.5344, y: 0} m_Pivot: {x: 0, y: 1} --- !u!222 &74166521354270119 CanvasRenderer: @@ -15345,7 +13555,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 91.87} + m_SizeDelta: {x: 143.9446, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8934459415203184979 CanvasRenderer: @@ -15567,157 +13777,6 @@ MonoBehaviour: m_OnValueChanged: m_PersistentCalls: m_Calls: [] ---- !u!1 &8262401498554960973 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3275237664186767143} - - component: {fileID: 5031304411235729447} - - component: {fileID: 5626391664179855266} - - component: {fileID: 5614954830660381897} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3275237664186767143 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8262401498554960973} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 5809137857340249738} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 91.87} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &5031304411235729447 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8262401498554960973} - m_CullTransparentMesh: 1 ---- !u!114 &5626391664179855266 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8262401498554960973} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: "Luy\u1EC7n c\xF4ng abc \n" - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} - m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &5614954830660381897 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8262401498554960973} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalFit: 0 - m_VerticalFit: 2 --- !u!1 &8321555552733958645 GameObject: m_ObjectHideFlags: 0 @@ -16340,10 +14399,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3490841402936291418} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 296, y: -38} - m_SizeDelta: {x: 76, y: 76} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8186299737150272153 CanvasRenderer: @@ -16383,157 +14442,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &8616018133129531234 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2209040911442161581} - - component: {fileID: 2473115450256668625} - - component: {fileID: 4889285684847069564} - - component: {fileID: 3674731934470723080} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2209040911442161581 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8616018133129531234} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4239059594284210955} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 91.87} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &2473115450256668625 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8616018133129531234} - m_CullTransparentMesh: 1 ---- !u!114 &4889285684847069564 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8616018133129531234} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: "Luy\u1EC7n c\xF4ng abc \n" - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} - m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &3674731934470723080 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8616018133129531234} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalFit: 0 - m_VerticalFit: 2 --- !u!1 &8628325692798713488 GameObject: m_ObjectHideFlags: 0 @@ -16591,13 +14499,14 @@ GameObject: - component: {fileID: 4958559450723387948} - component: {fileID: 3172532294236299015} - component: {fileID: 5963476403216687407} + - component: {fileID: 8977685090853562807} m_Layer: 5 m_Name: centerPanel_action m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &4958559450723387948 RectTransform: m_ObjectHideFlags: 0 @@ -16657,6 +14566,23 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!114 &8977685090853562807 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8632042110259137603} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1eda03e6b4326e14b95d57bf324b96bb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_aActionInfo: [] + orderContain: {fileID: 4081610106255437587} + orderTemplate: {fileID: 6897593266829550523} + actionTemplate: {fileID: 6710103663631289946} + actionContain: {fileID: 2144478260434202621} --- !u!1 &8669148091526857718 GameObject: m_ObjectHideFlags: 0 @@ -16693,7 +14619,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 45.94} + m_SizeDelta: {x: 143.9446, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8300893254371079820 CanvasRenderer: @@ -16846,8 +14772,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 368.81186, y: -420.785} - m_SizeDelta: {x: 685.6237, y: 243.18999} + m_AnchoredPosition: {x: 368.81186, y: -153.20001} + m_SizeDelta: {x: 685.6237, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8076001380599592139 CanvasRenderer: @@ -16959,10 +14885,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3449045492221331241} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 554, y: -38} - m_SizeDelta: {x: 76, y: 76} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &4341901141596287823 CanvasRenderer: @@ -17040,8 +14966,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 368.81186, y: -149.595} - m_SizeDelta: {x: 685.6237, y: 243.18999} + m_AnchoredPosition: {x: 368.81186, y: -60.4} + m_SizeDelta: {x: 685.6237, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8659649200798903193 CanvasRenderer: @@ -17293,7 +15219,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 45.94} + m_SizeDelta: {x: 143.9446, y: 91.87} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &3665612811382978418 CanvasRenderer: @@ -17323,7 +15249,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: "Luy\u1EC7n c\xF4ng\n" + m_text: "T\u0103ng t\u1ED1c \u0111\u1ED9 bay" m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} @@ -17585,7 +15511,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.x @@ -17593,15 +15519,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalPosition.x @@ -17633,11 +15559,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 210 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -38 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -17683,7 +15609,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -17691,15 +15617,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -17731,11 +15657,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 38 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -200 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -17785,7 +15711,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -17793,15 +15719,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -17833,11 +15759,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 210 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -38 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -17887,7 +15813,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -17895,15 +15821,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -17935,11 +15861,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 296 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -200 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -17993,7 +15919,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.x @@ -18001,15 +15927,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalPosition.x @@ -18041,11 +15967,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 382 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -119 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -18091,7 +16017,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -18099,15 +16025,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -18139,11 +16065,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 210 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -119 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -18197,7 +16123,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.x @@ -18205,15 +16131,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalPosition.x @@ -18245,11 +16171,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 554 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -119 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -18295,7 +16221,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -18303,15 +16229,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -18343,11 +16269,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 124 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -200 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -18397,7 +16323,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -18405,15 +16331,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -18445,11 +16371,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 210 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -200 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -18503,7 +16429,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.x @@ -18511,15 +16437,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalPosition.x @@ -18551,11 +16477,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 38 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -38 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -18601,7 +16527,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -18609,15 +16535,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -18649,11 +16575,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 640 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -200 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -18703,7 +16629,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -18711,15 +16637,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -18751,11 +16677,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 382 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -119 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -18809,7 +16735,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.x @@ -18817,15 +16743,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalPosition.x @@ -18857,11 +16783,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 124 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -119 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -18911,7 +16837,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.x @@ -18919,15 +16845,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalPosition.x @@ -18959,11 +16885,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 554 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -38 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -19013,7 +16939,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.x @@ -19021,15 +16947,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalPosition.x @@ -19061,11 +16987,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 468 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -38 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -19111,7 +17037,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -19119,15 +17045,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -19159,11 +17085,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 468 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -38 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -19213,7 +17139,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -19221,15 +17147,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -19261,11 +17187,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 124 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -38 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -19315,7 +17241,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -19323,15 +17249,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -19363,11 +17289,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 124 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -119 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -19417,7 +17343,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -19425,15 +17351,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -19465,11 +17391,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 468 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -200 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -19519,7 +17445,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -19527,15 +17453,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -19567,11 +17493,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 296 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -38 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -19621,7 +17547,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -19629,15 +17555,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -19669,11 +17595,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 382 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -38 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -19723,7 +17649,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -19731,15 +17657,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -19771,11 +17697,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 554 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -38 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -19829,7 +17755,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.x @@ -19837,15 +17763,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalPosition.x @@ -19877,11 +17803,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 296 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -119 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -19927,7 +17853,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -19935,15 +17861,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -19975,11 +17901,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 38 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -119 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -20029,7 +17955,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -20037,15 +17963,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -20077,11 +18003,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 382 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -200 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -20135,7 +18061,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.x @@ -20143,15 +18069,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalPosition.x @@ -20183,11 +18109,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 640 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -38 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -20237,7 +18163,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.x @@ -20245,15 +18171,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalPosition.x @@ -20285,11 +18211,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 210 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -119 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -20339,7 +18265,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.x @@ -20347,15 +18273,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalPosition.x @@ -20387,11 +18313,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 640 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -119 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -20437,7 +18363,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -20445,15 +18371,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -20485,11 +18411,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 640 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -38 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -20539,7 +18465,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -20547,15 +18473,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -20587,11 +18513,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 554 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -200 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -20645,7 +18571,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.x @@ -20653,15 +18579,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalPosition.x @@ -20693,11 +18619,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 382 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -38 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -20743,7 +18669,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -20751,15 +18677,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -20791,11 +18717,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 468 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -119 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -20845,7 +18771,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -20853,15 +18779,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -20893,11 +18819,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 38 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -38 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -20951,7 +18877,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -20959,15 +18885,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -20999,11 +18925,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 296 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -119 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -21053,7 +18979,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -21061,15 +18987,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -21101,11 +19027,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 640 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -119 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -21159,7 +19085,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.x @@ -21167,15 +19093,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalPosition.x @@ -21207,11 +19133,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 296 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -38 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -21261,7 +19187,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.x @@ -21269,15 +19195,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalPosition.x @@ -21309,11 +19235,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 38 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -119 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -21363,7 +19289,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.x @@ -21371,15 +19297,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalPosition.x @@ -21411,11 +19337,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 124 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -38 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -21465,7 +19391,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.x @@ -21473,15 +19399,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalPosition.x @@ -21513,11 +19439,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 468 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -119 objectReference: {fileID: 0} - target: {fileID: 8674390294668887183, guid: f3f79463e9f2f7949b552bdab8e68d33, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -21563,7 +19489,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.x @@ -21571,15 +19497,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 76 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalPosition.x @@ -21611,11 +19537,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 554 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -119 objectReference: {fileID: 0} - target: {fileID: 379109581026898739, guid: fd778133b31f30d41ba325de25c5f773, type: 3} propertyPath: m_LocalEulerAnglesHint.x diff --git a/Assets/Scenes/a61.unity b/Assets/Scenes/a61.unity index 53c3655cc3..4d27887b30 100644 --- a/Assets/Scenes/a61.unity +++ b/Assets/Scenes/a61.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:80d98663fdebe84a0752357c66954e1834c6d78f1e61ca61df0122a35b5116c7 -size 200524021 +oid sha256:abc415d54498bffa808447fe8b575721ead4686710d5536494ffdb8863894a56 +size 200604471 diff --git a/Assets/Scripts/CECGameRun.cs b/Assets/Scripts/CECGameRun.cs index f0ebb28181..66f4c411e5 100644 --- a/Assets/Scripts/CECGameRun.cs +++ b/Assets/Scripts/CECGameRun.cs @@ -276,7 +276,6 @@ public partial class CECGameRun /// True if loaded successfully / 鍔犺浇鎴愬姛杩斿洖true public bool LoadConfigsFromServer(byte[] pDataBuf, int iDataSize) { - BMLogger.LogError("LoadConfigsFromServer "); const uint USERCFG_VERSION = 3; if (pDataBuf == null || iDataSize == 0) diff --git a/Assets/Scripts/Utilities/EC_Resource.cs b/Assets/Scripts/Utilities/EC_Resource.cs index 636e3bf06e..aab6429f61 100644 --- a/Assets/Scripts/Utilities/EC_Resource.cs +++ b/Assets/Scripts/Utilities/EC_Resource.cs @@ -59,65 +59,65 @@ namespace BrewMonster public static readonly string[] l_aIconFiles = { - "鎵撳潗.dds", - "璧拌窇杞崲.dds", - "鏅氭敾鍑.dds", - "瀵绘壘鐩爣.dds", - "鍗忓姪鏀诲嚮.dds", + "鎵撳潗", + "璧拌窇杞崲", + "鏅氭敾鍑", + "瀵绘壘鐩爣", + "鍗忓姪鏀诲嚮", - "閭璇峰姞鍏.dds", - "鑴辩闃熶紞.dds", - "韪㈠嚭闃熶紞.dds", - "瀵绘壘闃熶紞.dds", - "浜ゆ槗鍛戒护.dds", + "閭璇峰姞鍏", + "鑴辩闃熶紞", + "韪㈠嚭闃熶紞", + "瀵绘壘闃熶紞", + "浜ゆ槗鍛戒护", - "鎽嗘憡鍗.dds", - "鎽嗘憡涔.dds", - "閭璇峰姞鍏.dds", - "椋炶.dds", - "鎷涙墜.dds", // RES_ICON_CMD_EXP_WAVE, + "鎽嗘憡鍗", + "鎽嗘憡涔", + "閭璇峰姞鍏", + "椋炶", + "鎷涙墜", // RES_ICON_CMD_EXP_WAVE, - "鐐瑰ご.dds", // RES_ICON_CMD_EXP_NOD, - "鎽囧ご.dds", // RES_ICON_CMD_EXP_SHAKEHEAD, - "鑰歌偐鑶.dds", // RES_ICON_CMD_EXP_SHRUG, - "澶х瑧.dds", // RES_ICON_CMD_EXP_LAUGH, - "鐢熸皵.dds", // RES_ICON_CMD_EXP_ANGRY, + "鐐瑰ご", // RES_ICON_CMD_EXP_NOD, + "鎽囧ご", // RES_ICON_CMD_EXP_SHAKEHEAD, + "鑰歌偐鑶", // RES_ICON_CMD_EXP_SHRUG, + "澶х瑧", // RES_ICON_CMD_EXP_LAUGH, + "鐢熸皵", // RES_ICON_CMD_EXP_ANGRY, - "鏅曞.dds", // RES_ICON_CMD_EXP_STUN, - "娌抚.dds", // RES_ICON_CMD_EXP_DEPRESSED, - "椋炲惢.dds", // RES_ICON_CMD_EXP_KISSHAND, - "瀹崇緸.dds", // RES_ICON_CMD_EXP_SHY, - "鎶辨嫵.dds", // RES_ICON_CMD_EXP_SALUTE, + "鏅曞", // RES_ICON_CMD_EXP_STUN, + "娌抚", // RES_ICON_CMD_EXP_DEPRESSED, + "椋炲惢", // RES_ICON_CMD_EXP_KISSHAND, + "瀹崇緸", // RES_ICON_CMD_EXP_SHY, + "鎶辨嫵", // RES_ICON_CMD_EXP_SALUTE, - "鍧愪笅.dds", // RES_ICON_CMD_EXP_SITDOWN, - "鍐查攱.dds", // RES_ICON_CMD_EXP_ASSAULT, - "鎬濊.dds", // RES_ICON_CMD_EXP_THINK, - "鎸戣.dds", // RES_ICON_CMD_EXP_DEFIANCE, - "鑳滃埄.dds", // RES_ICON_CMD_EXP_VICTORY, + "鍧愪笅", // RES_ICON_CMD_EXP_SITDOWN, + "鍐查攱", // RES_ICON_CMD_EXP_ASSAULT, + "鎬濊", // RES_ICON_CMD_EXP_THINK, + "鎸戣", // RES_ICON_CMD_EXP_DEFIANCE, + "鑳滃埄", // RES_ICON_CMD_EXP_VICTORY, - "浼告噿鑵.dds", // RES_ICON_CMD_EXP_GAPE - "浜插惢.dds", // RES_ICON_CMD_EXP_KISS - "鎴樻枟.dds", // RES_ICON_CMD_EXP_FIGHT, - "鏀诲嚮1.dds", // RES_ICON_CMD_EXP_ATTACK1, - "鏀诲嚮2.dds", // RES_ICON_CMD_EXP_ATTACK2, + "浼告噿鑵", // RES_ICON_CMD_EXP_GAPE + "浜插惢", // RES_ICON_CMD_EXP_KISS + "鎴樻枟", // RES_ICON_CMD_EXP_FIGHT, + "鏀诲嚮1", // RES_ICON_CMD_EXP_ATTACK1, + "鏀诲嚮2", // RES_ICON_CMD_EXP_ATTACK2, - "鏀诲嚮3.dds", // RES_ICON_CMD_EXP_ATTACK3, - "鏀诲嚮4.dds", // RES_ICON_CMD_EXP_ATTACK4, - "闃插尽.dds", // RES_ICON_CMD_EXP_DEFENCE, - "鎽斿.dds", // RES_ICON_CMD_EXP_FALL, - "鍊掑湴.dds", // RES_ICON_CMD_EXP_FALLONGROUND, + "鏀诲嚮3", // RES_ICON_CMD_EXP_ATTACK3, + "鏀诲嚮4", // RES_ICON_CMD_EXP_ATTACK4, + "闃插尽", // RES_ICON_CMD_EXP_DEFENCE, + "鎽斿", // RES_ICON_CMD_EXP_FALL, + "鍊掑湴", // RES_ICON_CMD_EXP_FALLONGROUND, - "寮犳湜.dds", // RES_ICON_CMD_EXP_LOOKAROUND, - "鑸炶箞1.dds", // RES_ICON_CMD_EXP_DANCE, - "鑸炶箞2.dds", // RES_ICON_CMD_EXP_FASHIONWEAPON - "鎷惧彇.dds", // RES_ICON_CMD_PICKUP - "鎸栨帢.dds", // RES_ICON_CMD_GATHER - "鍔犻熼琛.dds", // RES_ICON_CMD_RUSHFLY + "寮犳湜", // RES_ICON_CMD_EXP_LOOKAROUND, + "鑸炶箞1", // RES_ICON_CMD_EXP_DANCE, + "鑸炶箞2", // RES_ICON_CMD_EXP_FASHIONWEAPON + "鎷惧彇", // RES_ICON_CMD_PICKUP + "鎸栨帢", // RES_ICON_CMD_GATHER + "鍔犻熼琛", // RES_ICON_CMD_RUSHFLY - "鐩镐緷鐩稿亷鐨勫姩浣.dds", // RES_ICON_CMD_BINDBUDDY - "浜蹭翰瀵嗗瘑鐨勫姩浣.dds", // RES_ICON_CMD_TWOKISS - "璺宠穬鐨勫姩浣1.dds", // RES_ICON_CMD_JUMPTRICK, - "璺宠穬鐨勫姩浣2.dds", // RES_ICON_CMD_RUNTRICK, + "鐩镐緷鐩稿亷鐨勫姩浣", // RES_ICON_CMD_BINDBUDDY + "浜蹭翰瀵嗗瘑鐨勫姩浣", // RES_ICON_CMD_TWOKISS + "璺宠穬鐨勫姩浣1", // RES_ICON_CMD_JUMPTRICK, + "璺宠穬鐨勫姩浣2", // RES_ICON_CMD_RUNTRICK, }; public static string res_GFXFile(int n) { diff --git a/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset b/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset index 0af81e6d95..9e991d6429 100644 --- a/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset +++ b/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset @@ -215,8 +215,65 @@ MonoBehaviour: m_SourceFontFilePath: m_AtlasPopulationMode: 1 InternalDynamicOS: 0 - m_GlyphTable: [] - m_CharacterTable: [] + m_GlyphTable: + - m_Index: 1677 + m_Metrics: + m_Width: 45 + m_Height: 66 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 65 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 10 + m_Y: 10 + m_Width: 45 + m_Height: 66 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 235 + m_Metrics: + m_Width: 32 + m_Height: 61 + m_HorizontalBearingX: -4 + m_HorizontalBearingY: 61 + m_HorizontalAdvance: 24 + m_GlyphRect: + m_X: 10 + m_Y: 95 + m_Width: 32 + m_Height: 61 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 197 + m_Metrics: + m_Width: 45 + m_Height: 64 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 63 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 10 + m_Y: 175 + m_Width: 45 + m_Height: 64 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + m_CharacterTable: + - m_ElementType: 1 + m_Unicode: 7843 + m_GlyphIndex: 1677 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 297 + m_GlyphIndex: 235 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 259 + m_GlyphIndex: 197 + m_Scale: 1 m_AtlasTextures: - {fileID: 28268798066460806} m_AtlasTextureIndex: 0 @@ -227,12 +284,32 @@ MonoBehaviour: m_AtlasHeight: 512 m_AtlasPadding: 9 m_AtlasRenderMode: 4169 - m_UsedGlyphRects: [] - m_FreeGlyphRects: + m_UsedGlyphRects: - m_X: 0 m_Y: 0 - m_Width: 511 + m_Width: 64 + m_Height: 85 + - m_X: 0 + m_Y: 85 + m_Width: 51 + m_Height: 80 + - m_X: 0 + m_Y: 165 + m_Width: 64 + m_Height: 83 + m_FreeGlyphRects: + - m_X: 64 + m_Y: 0 + m_Width: 447 m_Height: 511 + - m_X: 0 + m_Y: 248 + m_Width: 511 + m_Height: 263 + - m_X: 51 + m_Y: 85 + m_Width: 460 + m_Height: 80 m_FontFeatureTable: m_MultipleSubstitutionRecords: [] m_LigatureSubstitutionRecords: [] @@ -493,9 +570,9 @@ Texture2D: Hash: 00000000000000000000000000000000 m_IsAlphaChannelOptional: 0 serializedVersion: 3 - m_Width: 1 - m_Height: 1 - m_CompleteImageSize: 1 + m_Width: 512 + m_Height: 512 + m_CompleteImageSize: 262144 m_MipsStripped: 0 m_TextureFormat: 1 m_MipCount: 1 @@ -520,8 +597,8 @@ Texture2D: m_LightmapFormat: 0 m_ColorSpace: 0 m_PlatformBlob: - image data: 1 - _typelessdata: 00 + image data: 262144 + _typelessdata: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111212131212100e0c0808060200000000000000010406070c101213131211100e0b0a0804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191514120e090400000001080d111314191c1f1f201f1e1d1a171714110c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e212225282a2b2c2c2c2b2a282522211e1a15100c07040c13191d202126292b2c2c2c2b29272423211c1710080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c161b1f262a2d2e31353738393939383735322f2e2b261f1c18120d161e24292c2d32363839393838363431302d28221a12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c31363a3b3e4144454546454543413f3b3a37312c29231d1a1f282f35393a3f43454646454443413e3c39332c241a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151d232832383b4246484b4e505152535252504e4c4847423c38342f27232c313a4145474c4f5252535251504d4a49453e362c22170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e5d5b5855534d474540393128353e434c5154595c5e5f5f5f5e5c5a575550483e33281c1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c2721191107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d302316070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121c252e363e454d53585f62666a6f717375777878797979787675726f6d66625f58524d453d352c241a10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131c242c333b42464e5355585f626467696a6b6b6c6c6c6b6a686663605c54534e46423b332c231a120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a121a212931363c4347484e5355585f676a6c6c6c6b67605d5b595653514b47433c363029201a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f171f252a31373a3c4347485b6771777979797772675753514b4645403937322a251f170e08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a20262b2e313744515e6a778486868684776b63605c5450483f372b26201a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e151a1f21263744515e6a7784919391847774706d66615a51493f342b20150a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f171c2b3744515e6a7784919d928783817d79716c625b51463c32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d3744515e6a778491979992908d8a847e726d62584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1a232c33393c44515e6a7784888a8e92999a96918a7f726a6054473b2e221507000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202c363e44494a4854616e7a7b7d8187929fa19e92877c6f6255493c2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f29323e4850555754535e686e6f71747e8a98a2a3998f827568554b4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303b44505a6164615e575e6162646c7985929fab9f928578675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414d56616c706e6968676666676d7a86929faca298877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e68707d7b78757473737479818e99a3ac9f9286796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b8887848281807f81858e939eaba59d908377665b5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5465727e8b96918f8d8c8c8e92979ea5a19e938b7e7165544a3f33281c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6675828f989a9b9a99999a9e9e9c9a97928b81756c625642382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884888b8e909192929292918f8d8a857f776c605a50452f261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c666d777c7e818384858686858483817d79726c655b50483f341d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c606a6f7274767778797978787674706d67605b53493f362d220b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424a50585f626567696b6c6c6c6c6b696764605d55504941382d241b110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f444e5355585b5d5e5f5f5f5f5e5c5a5753514b443f382f261b120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e262e343c4347484b4e50515253535251504e4a47454039332d261d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c141c232832373b3c3f414344454646454543413d3a38352f27221b140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a111720262b2e2f3234363839393939383634312d2c29241d17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b151b1f212225282a2b2c2c2c2c2b292724201f1d18120b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f121515181b1d1e1f20201f1e1d1b171413100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090c0e10111213131212100e0a0706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001060b0e11111313131313130f0f0d09040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c12171b1d1e2020202020201c1b19151009020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e161d23272a2b2d2d2d2d2d2d292825211b140c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e1820282e3337383939393939393635312c261e150c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c16202a32393f434446464646464642413d3730271e14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121d28323c444b4f515353535353534f4d49423930261b10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e39444e565c5e6060606060605c5a544c42372c2115090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1b27333f4b5660676b6c6c6c6c6c6c69655e54493d3125190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2a37434f5c6772777979797979797570655a4d4135281b0f020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b77848686868686868275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b778491939393938f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919e9f9f9c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003050606111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080d10121313131e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e14191c1f1f20201f2b3844515e6b7784919e9f9f9c8f8275695c4f4236291c110d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810181f25292b2c2d2d2b2b3844515e6b778491939393938f8275695c4f423629201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101a222a30353839393938373844515e6b77848686868686868275695c4f42362d2c29241e160d080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18222c343c4144464646454440434f5c6772777979797979797570655a4d433f3a39352f28201a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2a343e464d5152535352504c454b5660676b6c6c6c6c6c6c69655e5452504c4745413a322c231a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1925303c4650585d5f60605e5c574f454e565c5e6060606060605c5c5e5f5f5d5954524c443e352c231a0d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2935414d5862696c6c6c6b68615746444b4f51534c52565d6065696b6c6b6a66605d564f473e352b1f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3844515d6974797979787368584e4341454c52565e61686d717578797876726d6861594f473d31281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7986868685786a5f534a4c51565e61686d737a7e82848685837f7a706b61594f433a2f24190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2a3744515d6a77849097887c6f625a56555d60686d737a80858b8f919292908c857d706b60564c4135291b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9a8e81746c646364676d737a80868c92979c9e9f9e9d9792877d70685d5245382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c9993887e75717071747a80858d92989fa2a9a4a3a4a9a19991847a6d6053493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c89969a9388827e7d7e81858c92989fa2a29f9b9796989c9ea1968c7f72655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919e9a938f8b898a8e92989fa2a39f98928e8a898b8f949f9e9184786c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b66727f8c95a09f9b9796979a9fa2a39f98928d86817e7d7e828b939a96887c6f6255493c2f2216060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54606d78839097a1a9a4a3a4aaa39f99928e86807a74717071757e8893988c7f7265594c3f2e23170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3844515c666f7c8591979c9f9f9e9c98928d87817b746d686463656c74818d9a8f827568544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2834404a545f6a6f7c858c909292918f8b86807b746e69615e56565a626e7b8896918477665c5044382c1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424e585f6a6f7a7f83858685837f7a746e69615e57524c4a535f697884868687796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303c464e585f686d727678797876726e68615e57534d4641424d5768727879797975665c5044382c1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2a343c464e565d6066696c6c6b6965615e56534d46423b363c455660686b6c6c6c6a5c544a3f34281c100300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c19222a343c434c5254595d5f5f5e5c5854524c46423b36312a33454e565c5e60605f5e504a42382e23170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071019222a313a4145474c50525352504c4746413b36312a2521333c454b505153535346443f3830261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000710181f282f35393a3f43454645433f3b3936302a251f1a212a333a4043454646463a38342e261e150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d161e24292c2d333639393836322e2d2a251e1a140e1821282f3437383939392d2c28231c150c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021262a2c2c2b292521201e19140e09030f171d23272a2b2d2d2c201f1c17110a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d111314191d1f201f1d191414110e08020000050c12171b1e1e2020201312100c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070c10121312100c08070502000000000001070b0f11121313130706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111212131212100e0c0808060200000000000000010406070c101213131211100e0b0a0804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191514120e090400000001080d111314191c1f1f201f1e1d1a171714110c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e212225282a2b2c2c2c2b2a282522211e1a15100c07040c13191d202126292b2c2c2c2b29272423211c1710080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c161b1f262a2d2e31353738393939383735322f2e2b261f1c18120d161e24292c2d32363839393838363431302d28221a12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c31363a3b3e4144454546454543413f3b3a37312c29231d1a1f282f35393a3f43454646454443413e3c39332c241a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151d232832383b4246484b4e505152535252504e4c4847423c38342f27232c313a4145474c4f5252535251504d4a49453e362c22170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e5d5b5855534d474540393128353e434c5154595c5e5f5f5f5e5c5a575550483e33281c1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c2721191107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d302316070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121c252e363e454d53585f62666a6f717375777878797979787675726f6d66625f58524d453d352c241a10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131c242c333b42464e5355585f626467696a6b6b6c6c6c6b6a686663605c54534e46423b332c231a120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a121a212931363c4347484e53575e6165686a6b6c6b6a6965625f5753514b47433c363029201a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f171d273039414950585f62696e7275777879787775726e6a626058514a423a32281e170e08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f39434b535b606a6e757b7e828485868584827f7b766f6a605c544c443a30271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414b555c656c727c81878b8f91929292918f8b88827c746d665d564c43392e23180b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49535c676d777f878e93999b9d9e9f9e9d9c98948f8980786d685d554b4034281d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e19222b3744505b656d79818c92999fa4aba8a7a7a7a8a8a69f9c928d837a6d675c51453d2f261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b37434e58606c77818e939fa3a8a09e9b9a9a9a9b9d9fa4a49d958f82796d60594f42382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323a47535f6a73808d939ea29f9996918f8e8d8d8e9193999fa29f948e81746b60544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58626f7c87929fa098928d8884828180818284868c92979f9d93897d70665b5044382b1f120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a76839099a0959186807b777574747475777b7f8590949f9d9184786c605346392e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c88949f9791837b736e696867676768686e727a829095a095897d7063544b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576774818d9a9e91857a6e69615f575b5a5a565e61686d7983919d9b8e8275665c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697885919e968a7e71685f57534d4e4d4e4d52565e676f7c89959f9286796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8797939184796d60564d474241414141464c55606b7683909398897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d868686868174665c50443b37313430363a434f5966737f868686867f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c7079797979746f64544a3f322b2627252a313d4b57636d7379797979726d62564a3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c67645d5342382e201a1a191f2f3b46525b63666c6c6c6c65625b51463a2e22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e48505557606060605b59534b4130261c0e090d1e2a35404952575960606060585651493f34291e1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a535353534e4c4841382f1e140a020d19242e3740464b4c535353534c4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a242c33393c3d4646464641403c362f261d0c020007121c252e353b3e40464646463f3e3a342d251b110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121a22282d3031393939393433302b251d140b0000000a131c242a2f32333939393932312e29231b130900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d282724201a130b02000000010a12191e2325262d2d2d2d2525221e18110901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10141617202020201b1a18140f0801000000000000070d1316191920202020191816120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a131313130e0e0b080300000000000000000002070a0c0d131313130c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 m_StreamData: serializedVersion: 2 offset: 0 From e91a4914446738626738d703c189f6fba99d4e23 Mon Sep 17 00:00:00 2001 From: VDH Date: Mon, 2 Feb 2026 09:40:39 +0700 Subject: [PATCH 11/20] get description skill --- .../PerfectWorld/Scripts/Managers/EC_Skill.cs | 19 +- Assets/PerfectWorld/Scripts/Move/CECPlayer.cs | 5 +- .../Scripts/Skills/EC_HostSkillModel.cs | 10 + .../Scripts/Skills/ElementSkill.cs | 21 +- .../Scripts/Skills/SkillStubs1/skill1.cs | 10 +- Assets/PerfectWorld/Scripts/Skills/skill.cs | 10 +- .../Scripts/UI/GamePlay/CdlgQuickBar.cs | 2 +- .../Scripts/UI/GamePlay/EC_GameUIMan.cs | 15 +- .../GamePlay/SkillUI/CDlgSkillSubListItem.cs | 30 ++- Assets/Prefabs/UI/SkillUI.prefab | 229 +++++++++--------- Assets/Scenes/a61.unity | 4 +- Assets/Scripts/CECHostPlayer.cs | 10 +- .../LiberationSans SDF - Fallback.asset | 97 +------- 13 files changed, 230 insertions(+), 232 deletions(-) diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_Skill.cs b/Assets/PerfectWorld/Scripts/Managers/EC_Skill.cs index 9e747eadc3..538201d76e 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_Skill.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_Skill.cs @@ -75,6 +75,7 @@ namespace BrewMonster // CECSkill class public class CECSkill { + // Skill type enum public enum SkillType { @@ -292,11 +293,23 @@ namespace BrewMonster return string.Empty; StringBuilder sb = new StringBuilder(1024); - var skillStr = l_SkillStr as SkillStr; - string result = m_pSkillCore.GetIntroduction(sb, 1024, skillStr); - return result; + m_pSkillCore.GetIntroduction(sb, l_SkillStr); + return sb.ToString(); } + public static bool GetDesc(int idSkill, int iLevel, string szText, int iBufLen) + { + if (szText == null || iBufLen == 0) + return false; + CECSkill pSkill = new CECSkill(idSkill, iLevel); + if (pSkill == null) + { + return false; + } + string sz = pSkill.GetDesc(); + + return true; + } public int GetCoreCoolingTime() { return m_pSkillCore != null ? m_pSkillCore.GetCoolingTime() : 0; diff --git a/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs index 7fa718f687..cb21eda88c 100644 --- a/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs +++ b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs @@ -1408,7 +1408,10 @@ namespace BrewMonster } // Get character ID - // Play Gfx on Models + public static int GetRealmLayer(int realmLevel) { return realmLevel != 0 ? (realmLevel + 9) / 10 : 0; } + + public static int GetRealmSubLevel(int realmLevel) { return realmLevel != 0 ? (realmLevel % 10 != 0 ? realmLevel % 10 : 10) : 0; } + protected bool PlayGfx(string szPath, string szHook, float fScale /*1.0f*/, uint iShapeTypeMask /*(1< GetRequiredSkill() => new Dictionary(); diff --git a/Assets/PerfectWorld/Scripts/Skills/SkillStubs1/skill1.cs b/Assets/PerfectWorld/Scripts/Skills/SkillStubs1/skill1.cs index 2b672757f4..7a8b53d60e 100644 --- a/Assets/PerfectWorld/Scripts/Skills/SkillStubs1/skill1.cs +++ b/Assets/PerfectWorld/Scripts/Skills/SkillStubs1/skill1.cs @@ -141,18 +141,14 @@ namespace BrewMonster public override int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1]; #if SKILL_CLIENT - public int GetIntroduction(Skill skill, StringBuilder buffer, int length, string format) + public override int GetIntroduction(Skill skill, StringBuilder buffer, string format) { string result = string.Format(format, skill.GetLevel(), -5 + 7 * skill.GetLevel(), 1.9 * skill.GetLevel() * skill.GetLevel() + 64 * skill.GetLevel() + 36.7); - if (result.Length < length) - { - buffer.Append(result); - return result.Length; - } - return 0; + buffer.Append(result); + return result.Length; } #endif diff --git a/Assets/PerfectWorld/Scripts/Skills/skill.cs b/Assets/PerfectWorld/Scripts/Skills/skill.cs index df9817d41a..5881b4dba5 100644 --- a/Assets/PerfectWorld/Scripts/Skills/skill.cs +++ b/Assets/PerfectWorld/Scripts/Skills/skill.cs @@ -1,6 +1,9 @@ using BrewMonster.Assets.PerfectWorld.Scripts.Skills; using System.Collections.Generic; +using System.Text; using UnityEngine; +using UnityEngine.InputSystem; +using static UnityEngine.Rendering.DebugUI; namespace BrewMonster.Scripts.Skills { @@ -74,7 +77,10 @@ namespace BrewMonster.Scripts.Skills } public override int GetRangeType() { return stub.GetRange().type; } public override int GetRequiredLevel() { return stub.GetRequiredLevel(this); } - + public override void GetIntroduction(StringBuilder buf, SkillStr table) + { + int n = stub.GetIntroduction(this, buf, table.Find((int)stub.id * 10 + 1)); + } public override int GetTargetType() { if (stub.restrict_corpse == 1) @@ -298,7 +304,7 @@ namespace BrewMonster.Scripts.Skills public virtual int GetExecutetime(Skill skill) { return 1000; } public virtual bool CheckHpCondition(int hp, int max_hp) { return true; } public virtual bool CheckComboSkExtraCondition(Skill skill) { return true; } - public virtual int GetIntroduction(Skill skill, ushort[] descBuffer, int descBufferLen, ushort[] titleBuffer) { return 0; } + public virtual int GetIntroduction(Skill skill, StringBuilder descBuffer, string titleBuffer) { return 0; } // 锟斤拷锟斤拷锟斤拷效锟皆硷拷锟 // Validate weapon restriction public bool ValidWeapon(int weapon) diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs index b595afa22b..2eb13dc7a0 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs @@ -28,7 +28,7 @@ namespace BrewMonster -#if !Applyforalicense +#if !ApplyforALicense public bool UpdateShortcuts() { CECShortcut pSC; diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs index 682a08aeb3..ec0e0956c7 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs @@ -151,6 +151,17 @@ namespace BrewMonster.UI { return m_dialogResouce; } + public string GetRealmName(int realmLevel) + { + string strRealm = ""; + if (realmLevel > 0) + { + int layer = CECPlayer.GetRealmLayer(realmLevel); + int subLevel = CECPlayer.GetRealmSubLevel(realmLevel); + strRealm += (GetStringFromTable(11100) + GetStringFromTable(11100 + layer) + GetStringFromTable(11120 + subLevel)); + } + return strRealm; + } public Canvas GetCanvas() { return m_canvas; @@ -166,8 +177,8 @@ namespace BrewMonster.UI m_pDlgTask = GetDialog(CECUIHelper.DlgTaskName).GetComponent(); m_pDlgTask.Show(false); - m_IconMap[(byte)EC_GAMEUI_ICONS.ICONS_SKILL] =(SKILL_ICONLIST_NAME, Resources.LoadAll(SKILL_ICONLIST_NAME)); - m_IconMap[(byte)EC_GAMEUI_ICONS.ICONS_ACTION] =(ACTION_ICONLIST_NAME, Resources.LoadAll(ACTION_ICONLIST_NAME)); + m_IconMap[(byte)EC_GAMEUI_ICONS.ICONS_SKILL] = (SKILL_ICONLIST_NAME, Resources.LoadAll(SKILL_ICONLIST_NAME)); + m_IconMap[(byte)EC_GAMEUI_ICONS.ICONS_ACTION] = (ACTION_ICONLIST_NAME, Resources.LoadAll(ACTION_ICONLIST_NAME)); } public void SetCover(AUIImagePicture pImgPic, string nameImage, EC_GAMEUI_ICONS iCONS_SKILL) { diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/SkillUI/CDlgSkillSubListItem.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/SkillUI/CDlgSkillSubListItem.cs index 8e11a1cd7f..1462bec629 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/SkillUI/CDlgSkillSubListItem.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/SkillUI/CDlgSkillSubListItem.cs @@ -1,3 +1,4 @@ +using BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay; using BrewMonster.Scripts.Skills; using BrewMonster.UI; using CSNetwork.GPDataType; @@ -18,6 +19,7 @@ namespace BrewMonster [SerializeField] private Image skillIcon; [SerializeField] private GameObject m_highlight; [SerializeField] private Button m_upgradeBtn; + [SerializeField] private AUIImagePicture m_skillIconImgPic; private int m_skillID; private int m_curLevel; @@ -135,20 +137,36 @@ namespace BrewMonster break; } } + + string skillDsc; + int reqLevel; + int reqRealmLevel; if (enumSkillLearnedState.SKILL_NOT_LEARNED == learnedState) { skillIcon.color = Color.gray; - /* skillDsc = model.GetSkillDescription(m_skillID, 1); - reqLevel = GNET::ElementSkill::GetRequiredLevel(m_skillID, 1); - reqRealmLevel = GNET::ElementSkill::GetRequiredRealmLevel(m_skillID, 1);*/ + skillDsc = model.GetSkillDescription(m_skillID, 1); + reqLevel = ElementSkill.GetRequiredLevel((uint)m_skillID, 1); + reqRealmLevel = ElementSkill.GetRequiredRealmLevel((uint)m_skillID, 1); } else { skillIcon.color = Color.white; - /* skillDsc = model.GetSkillDescription(m_skillID, m_curLevel); - reqLevel = GNET::ElementSkill::GetRequiredLevel(m_skillID, m_curLevel); - reqRealmLevel = GNET::ElementSkill::GetRequiredRealmLevel(m_skillID, m_curLevel);*/ + skillDsc = model.GetSkillDescription(m_skillID, m_curLevel); + reqLevel = ElementSkill.GetRequiredLevel((uint)m_skillID, m_curLevel); + reqRealmLevel = ElementSkill.GetRequiredRealmLevel((uint)m_skillID, m_curLevel); } + if (reqLevel == 0) + { + reqLevel = 1; + } + skillDsc += GPDataTypeHelper.ReplacePercentD(GetStringFromTable(11328), reqLevel); + if (reqRealmLevel != 0) + { + skillDsc += GetStringFromTable(11401); + skillDsc += GetGameUIMan().GetRealmName(reqRealmLevel); + } + + //m_skillIconImgPic.SetHint(skillDsc); string skillName = model.GetSkillName(m_skillID); /* if (model.IsPassiveSkill(m_skillID)) diff --git a/Assets/Prefabs/UI/SkillUI.prefab b/Assets/Prefabs/UI/SkillUI.prefab index 4c0663912f..e04ce1ccd4 100644 --- a/Assets/Prefabs/UI/SkillUI.prefab +++ b/Assets/Prefabs/UI/SkillUI.prefab @@ -365,10 +365,10 @@ RectTransform: - {fileID: 6913810588620795676} m_Father: {fileID: 3123930244098203053} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 38, y: -140.39} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &5889574211483133077 CanvasRenderer: @@ -728,10 +728,10 @@ RectTransform: - {fileID: 1609651149174304326} m_Father: {fileID: 3123930244098203053} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 38, y: -242.78} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &521924147895834695 CanvasRenderer: @@ -1615,10 +1615,10 @@ RectTransform: - {fileID: 1704697067466645826} m_Father: {fileID: 3123930244098203053} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 38, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &3604148096459499892 CanvasRenderer: @@ -2282,7 +2282,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 0} + m_SizeDelta: {x: 143.9446, y: 91.87} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &6858302016506942629 CanvasRenderer: @@ -2433,7 +2433,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 0} + m_SizeDelta: {x: 143.9446, y: 91.87} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7562352963284824378 CanvasRenderer: @@ -2749,10 +2749,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3449045492221331241} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 210, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8358568677657722128 CanvasRenderer: @@ -3362,10 +3362,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3449045492221331241} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 382, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7646717020914693947 CanvasRenderer: @@ -3512,7 +3512,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &6723345811351538777 RectTransform: m_ObjectHideFlags: 0 @@ -3950,9 +3950,9 @@ RectTransform: - {fileID: 5885063335678115690} m_Father: {fileID: 1263498971758389975} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 127, y: -18.5} m_SizeDelta: {x: 254, y: 37} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1887848967215853843 @@ -4113,7 +4113,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 309.47, y: -95} - m_SizeDelta: {x: 618.94, y: 0} + m_SizeDelta: {x: 618.94, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2264175676541462108 CanvasRenderer: @@ -4223,10 +4223,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3490841402936291418} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 554, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1725305811772317814 CanvasRenderer: @@ -4599,10 +4599,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3490841402936291418} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 468, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &3765304872596771789 CanvasRenderer: @@ -4886,10 +4886,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3449045492221331241} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 296, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &9207107349168631693 CanvasRenderer: @@ -5046,7 +5046,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -322.47, y: 365.44547} - m_SizeDelta: {x: 644.94, y: 0} + m_SizeDelta: {x: 644.94, y: 703.38} m_Pivot: {x: 0, y: 1} --- !u!222 &8275541816169387879 CanvasRenderer: @@ -6567,10 +6567,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3490841402936291418} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 124, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1291961236682885550 CanvasRenderer: @@ -6643,9 +6643,9 @@ RectTransform: - {fileID: 5918073574760109704} m_Father: {fileID: 1285542512886306091} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 127, y: -18.5} m_SizeDelta: {x: 254, y: 37} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1257159900126729527 @@ -6718,10 +6718,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3449045492221331241} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 38, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2268981575541439631 CanvasRenderer: @@ -6800,7 +6800,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 335.47, y: -98.4} - m_SizeDelta: {x: 618.94, y: 0} + m_SizeDelta: {x: 618.94, y: 140.8} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2124054608285479539 CanvasRenderer: @@ -7471,10 +7471,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3449045492221331241} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 468, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &897642746592729160 CanvasRenderer: @@ -7988,10 +7988,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3490841402936291418} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 210, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7412806809519503430 CanvasRenderer: @@ -8184,10 +8184,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3449045492221331241} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 124, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8958294640541543931 CanvasRenderer: @@ -8620,7 +8620,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 0} + m_SizeDelta: {x: 143.9446, y: 91.87} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &5438050072468631381 CanvasRenderer: @@ -9151,7 +9151,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 0} + m_SizeDelta: {x: 143.9446, y: 91.87} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &3044764523714620351 CanvasRenderer: @@ -9568,10 +9568,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3490841402936291418} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 382, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8292637089760855876 CanvasRenderer: @@ -9644,9 +9644,9 @@ RectTransform: - {fileID: 3666972851124413242} m_Father: {fileID: 1244895283146852732} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 127, y: -18.5} m_SizeDelta: {x: 254, y: 37} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &4852245878945746775 @@ -9720,10 +9720,10 @@ RectTransform: - {fileID: 7544910809585033678} m_Father: {fileID: 3123930244098203053} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 382.5, y: -242.78} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2164606938053553701 CanvasRenderer: @@ -9977,10 +9977,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3490841402936291418} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 38, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &4804628498516101234 CanvasRenderer: @@ -10053,9 +10053,9 @@ RectTransform: - {fileID: 7738777691134633714} m_Father: {fileID: 332864778784360512} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 127, y: -18.5} m_SizeDelta: {x: 254, y: 37} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8557376726661632322 @@ -10206,7 +10206,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 335.47, y: -263.3} - m_SizeDelta: {x: 618.94, y: 0} + m_SizeDelta: {x: 618.94, y: 133} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &5943966890611580968 CanvasRenderer: @@ -10934,10 +10934,10 @@ RectTransform: - {fileID: 7759567721800243228} m_Father: {fileID: 3123930244098203053} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 382.5, y: -140.39} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2464100607009156610 CanvasRenderer: @@ -11740,7 +11740,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 335.47, y: -530.58997} - m_SizeDelta: {x: 618.94, y: 0} + m_SizeDelta: {x: 618.94, y: 345.58002} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &9030098628201859511 CanvasRenderer: @@ -12663,10 +12663,10 @@ RectTransform: - {fileID: 1335544207958730177} m_Father: {fileID: 3123930244098203053} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 382.5, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &3020341225908238861 CanvasRenderer: @@ -12749,7 +12749,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 309.47, y: -205.19} - m_SizeDelta: {x: 618.94, y: 0} + m_SizeDelta: {x: 618.94, y: 280.78} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &3138218988396077083 CanvasRenderer: @@ -12866,7 +12866,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -361.27, y: 365.44547} - m_SizeDelta: {x: 722.5344, y: 28} + m_SizeDelta: {x: 722.5344, y: 0} m_Pivot: {x: 0, y: 1} --- !u!222 &7853130943468561016 CanvasRenderer: @@ -13009,7 +13009,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 309.47, y: -102.8} - m_SizeDelta: {x: 618.94, y: 0} + m_SizeDelta: {x: 618.94, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &965625795563076259 CanvasRenderer: @@ -13155,6 +13155,7 @@ MonoBehaviour: skillIcon: {fileID: 3801278460223427377} m_highlight: {fileID: 0} m_upgradeBtn: {fileID: 2802100335901209485} + m_skillIconImgPic: {fileID: 0} --- !u!114 &536870940929799852 MonoBehaviour: m_ObjectHideFlags: 0 @@ -13262,9 +13263,9 @@ RectTransform: - {fileID: 8641794091682467561} m_Father: {fileID: 4902026760249267287} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 127, y: -18.5} m_SizeDelta: {x: 254, y: 37} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7759539851022153828 @@ -13439,7 +13440,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -361.27, y: 365.44547} - m_SizeDelta: {x: 722.5344, y: 0} + m_SizeDelta: {x: 722.5344, y: 185.6} m_Pivot: {x: 0, y: 1} --- !u!222 &74166521354270119 CanvasRenderer: @@ -13555,7 +13556,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 0} + m_SizeDelta: {x: 143.9446, y: 91.87} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8934459415203184979 CanvasRenderer: @@ -14399,10 +14400,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3490841402936291418} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 296, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8186299737150272153 CanvasRenderer: @@ -14506,7 +14507,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &4958559450723387948 RectTransform: m_ObjectHideFlags: 0 @@ -14619,7 +14620,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 117.99603, y: 0} - m_SizeDelta: {x: 143.9446, y: 0} + m_SizeDelta: {x: 143.9446, y: 45.94} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8300893254371079820 CanvasRenderer: @@ -14773,7 +14774,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 368.81186, y: -153.20001} - m_SizeDelta: {x: 685.6237, y: 0} + m_SizeDelta: {x: 685.6237, y: 64.8} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8076001380599592139 CanvasRenderer: @@ -14885,10 +14886,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3449045492221331241} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 554, y: -38} + m_SizeDelta: {x: 76, y: 76} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &4341901141596287823 CanvasRenderer: @@ -14967,7 +14968,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 368.81186, y: -60.4} - m_SizeDelta: {x: 685.6237, y: 0} + m_SizeDelta: {x: 685.6237, y: 64.8} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8659649200798903193 CanvasRenderer: diff --git a/Assets/Scenes/a61.unity b/Assets/Scenes/a61.unity index 4d27887b30..fc6407df4d 100644 --- a/Assets/Scenes/a61.unity +++ b/Assets/Scenes/a61.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:abc415d54498bffa808447fe8b575721ead4686710d5536494ffdb8863894a56 -size 200604471 +oid sha256:95d6d825ffc45e6ba389d5e2baffd576d409d5718b1888331c763dfe2b9460e5 +size 200522636 diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index 3bf174ecb6..28b67de32f 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -998,7 +998,7 @@ namespace BrewMonster { m_pPrepSkill = null; - CECSkill pSkillToMatch = m_pCurSkill; + CECSkill pSkillToMatch = m_pCurSkill; if (m_pCurSkill != null) { ClearComActFlagAllRankNodes(true); @@ -3864,9 +3864,9 @@ namespace BrewMonster else if (iTargetType == 2) iAliveFlag = 2; - /* CECObject pObject = EC_Game.GetGameRun().GetWorld().GetObject(idCastTarget, iAliveFlag); - if (!pObject) - return false;*/ + /* CECObject pObject = EC_Game.GetGameRun().GetWorld().GetObject(idCastTarget, iAliveFlag); + if (!pObject) + return false;*/ } if (!IsMeleeing() && !IsSpellingMagic() && @@ -4122,7 +4122,7 @@ namespace BrewMonster Buffer.BlockCopy(buffer, index + contentBytes, tail, 0, trailing); } } - public bool NaturallyStopMoving() + public bool NaturallyStopMoving() { // if (!m_MoveCtrl.IsStop()) if (!IsPlayerMoving()) diff --git a/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset b/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset index 9e991d6429..0af81e6d95 100644 --- a/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset +++ b/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset @@ -215,65 +215,8 @@ MonoBehaviour: m_SourceFontFilePath: m_AtlasPopulationMode: 1 InternalDynamicOS: 0 - m_GlyphTable: - - m_Index: 1677 - m_Metrics: - m_Width: 45 - m_Height: 66 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 65 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 10 - m_Y: 10 - m_Width: 45 - m_Height: 66 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 235 - m_Metrics: - m_Width: 32 - m_Height: 61 - m_HorizontalBearingX: -4 - m_HorizontalBearingY: 61 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 10 - m_Y: 95 - m_Width: 32 - m_Height: 61 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 197 - m_Metrics: - m_Width: 45 - m_Height: 64 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 63 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 10 - m_Y: 175 - m_Width: 45 - m_Height: 64 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - m_CharacterTable: - - m_ElementType: 1 - m_Unicode: 7843 - m_GlyphIndex: 1677 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 297 - m_GlyphIndex: 235 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 259 - m_GlyphIndex: 197 - m_Scale: 1 + m_GlyphTable: [] + m_CharacterTable: [] m_AtlasTextures: - {fileID: 28268798066460806} m_AtlasTextureIndex: 0 @@ -284,32 +227,12 @@ MonoBehaviour: m_AtlasHeight: 512 m_AtlasPadding: 9 m_AtlasRenderMode: 4169 - m_UsedGlyphRects: - - m_X: 0 - m_Y: 0 - m_Width: 64 - m_Height: 85 - - m_X: 0 - m_Y: 85 - m_Width: 51 - m_Height: 80 - - m_X: 0 - m_Y: 165 - m_Width: 64 - m_Height: 83 + m_UsedGlyphRects: [] m_FreeGlyphRects: - - m_X: 64 - m_Y: 0 - m_Width: 447 - m_Height: 511 - m_X: 0 - m_Y: 248 + m_Y: 0 m_Width: 511 - m_Height: 263 - - m_X: 51 - m_Y: 85 - m_Width: 460 - m_Height: 80 + m_Height: 511 m_FontFeatureTable: m_MultipleSubstitutionRecords: [] m_LigatureSubstitutionRecords: [] @@ -570,9 +493,9 @@ Texture2D: Hash: 00000000000000000000000000000000 m_IsAlphaChannelOptional: 0 serializedVersion: 3 - m_Width: 512 - m_Height: 512 - m_CompleteImageSize: 262144 + m_Width: 1 + m_Height: 1 + m_CompleteImageSize: 1 m_MipsStripped: 0 m_TextureFormat: 1 m_MipCount: 1 @@ -597,8 +520,8 @@ Texture2D: m_LightmapFormat: 0 m_ColorSpace: 0 m_PlatformBlob: - image data: 262144 - _typelessdata: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111212131212100e0c0808060200000000000000010406070c101213131211100e0b0a0804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191514120e090400000001080d111314191c1f1f201f1e1d1a171714110c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e212225282a2b2c2c2c2b2a282522211e1a15100c07040c13191d202126292b2c2c2c2b29272423211c1710080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c161b1f262a2d2e31353738393939383735322f2e2b261f1c18120d161e24292c2d32363839393838363431302d28221a12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c31363a3b3e4144454546454543413f3b3a37312c29231d1a1f282f35393a3f43454646454443413e3c39332c241a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151d232832383b4246484b4e505152535252504e4c4847423c38342f27232c313a4145474c4f5252535251504d4a49453e362c22170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e5d5b5855534d474540393128353e434c5154595c5e5f5f5f5e5c5a575550483e33281c1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c2721191107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d302316070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121c252e363e454d53585f62666a6f717375777878797979787675726f6d66625f58524d453d352c241a10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131c242c333b42464e5355585f626467696a6b6b6c6c6c6b6a686663605c54534e46423b332c231a120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a121a212931363c4347484e5355585f676a6c6c6c6b67605d5b595653514b47433c363029201a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f171f252a31373a3c4347485b6771777979797772675753514b4645403937322a251f170e08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a20262b2e313744515e6a778486868684776b63605c5450483f372b26201a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e151a1f21263744515e6a7784919391847774706d66615a51493f342b20150a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f171c2b3744515e6a7784919d928783817d79716c625b51463c32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d3744515e6a778491979992908d8a847e726d62584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1a232c33393c44515e6a7784888a8e92999a96918a7f726a6054473b2e221507000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202c363e44494a4854616e7a7b7d8187929fa19e92877c6f6255493c2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f29323e4850555754535e686e6f71747e8a98a2a3998f827568554b4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303b44505a6164615e575e6162646c7985929fab9f928578675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414d56616c706e6968676666676d7a86929faca298877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e68707d7b78757473737479818e99a3ac9f9286796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b8887848281807f81858e939eaba59d908377665b5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5465727e8b96918f8d8c8c8e92979ea5a19e938b7e7165544a3f33281c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6675828f989a9b9a99999a9e9e9c9a97928b81756c625642382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884888b8e909192929292918f8d8a857f776c605a50452f261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c666d777c7e818384858686858483817d79726c655b50483f341d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c606a6f7274767778797978787674706d67605b53493f362d220b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424a50585f626567696b6c6c6c6c6b696764605d55504941382d241b110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f444e5355585b5d5e5f5f5f5f5e5c5a5753514b443f382f261b120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e262e343c4347484b4e50515253535251504e4a47454039332d261d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c141c232832373b3c3f414344454646454543413d3a38352f27221b140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a111720262b2e2f3234363839393939383634312d2c29241d17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b151b1f212225282a2b2c2c2c2c2b292724201f1d18120b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f121515181b1d1e1f20201f1e1d1b171413100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090c0e10111213131212100e0a0706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001060b0e11111313131313130f0f0d09040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c12171b1d1e2020202020201c1b19151009020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e161d23272a2b2d2d2d2d2d2d292825211b140c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e1820282e3337383939393939393635312c261e150c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c16202a32393f434446464646464642413d3730271e14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121d28323c444b4f515353535353534f4d49423930261b10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e39444e565c5e6060606060605c5a544c42372c2115090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1b27333f4b5660676b6c6c6c6c6c6c69655e54493d3125190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2a37434f5c6772777979797979797570655a4d4135281b0f020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b77848686868686868275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b778491939393938f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919e9f9f9c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003050606111e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080d10121313131e2b3844515e6b7784919eaaa89c8f8275695c4f4236291c0f01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e14191c1f1f20201f2b3844515e6b7784919e9f9f9c8f8275695c4f4236291c110d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810181f25292b2c2d2d2b2b3844515e6b778491939393938f8275695c4f423629201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101a222a30353839393938373844515e6b77848686868686868275695c4f42362d2c29241e160d080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18222c343c4144464646454440434f5c6772777979797979797570655a4d433f3a39352f28201a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2a343e464d5152535352504c454b5660676b6c6c6c6c6c6c69655e5452504c4745413a322c231a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1925303c4650585d5f60605e5c574f454e565c5e6060606060605c5c5e5f5f5d5954524c443e352c231a0d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2935414d5862696c6c6c6b68615746444b4f51534c52565d6065696b6c6b6a66605d564f473e352b1f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3844515d6974797979787368584e4341454c52565e61686d717578797876726d6861594f473d31281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7986868685786a5f534a4c51565e61686d737a7e82848685837f7a706b61594f433a2f24190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2a3744515d6a77849097887c6f625a56555d60686d737a80858b8f919292908c857d706b60564c4135291b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9a8e81746c646364676d737a80868c92979c9e9f9e9d9792877d70685d5245382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c9993887e75717071747a80858d92989fa2a9a4a3a4a9a19991847a6d6053493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c89969a9388827e7d7e81858c92989fa2a29f9b9796989c9ea1968c7f72655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919e9a938f8b898a8e92989fa2a39f98928e8a898b8f949f9e9184786c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b66727f8c95a09f9b9796979a9fa2a39f98928d86817e7d7e828b939a96887c6f6255493c2f2216060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54606d78839097a1a9a4a3a4aaa39f99928e86807a74717071757e8893988c7f7265594c3f2e23170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3844515c666f7c8591979c9f9f9e9c98928d87817b746d686463656c74818d9a8f827568544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2834404a545f6a6f7c858c909292918f8b86807b746e69615e56565a626e7b8896918477665c5044382c1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424e585f6a6f7a7f83858685837f7a746e69615e57524c4a535f697884868687796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303c464e585f686d727678797876726e68615e57534d4641424d5768727879797975665c5044382c1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2a343c464e565d6066696c6c6b6965615e56534d46423b363c455660686b6c6c6c6a5c544a3f34281c100300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c19222a343c434c5254595d5f5f5e5c5854524c46423b36312a33454e565c5e60605f5e504a42382e23170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071019222a313a4145474c50525352504c4746413b36312a2521333c454b505153535346443f3830261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000710181f282f35393a3f43454645433f3b3936302a251f1a212a333a4043454646463a38342e261e150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d161e24292c2d333639393836322e2d2a251e1a140e1821282f3437383939392d2c28231c150c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021262a2c2c2b292521201e19140e09030f171d23272a2b2d2d2c201f1c17110a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d111314191d1f201f1d191414110e08020000050c12171b1e1e2020201312100c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070c10121312100c08070502000000000001070b0f11121313130706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111212131212100e0c0808060200000000000000010406070c101213131211100e0b0a0804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191514120e090400000001080d111314191c1f1f201f1e1d1a171714110c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e212225282a2b2c2c2c2b2a282522211e1a15100c07040c13191d202126292b2c2c2c2b29272423211c1710080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c161b1f262a2d2e31353738393939383735322f2e2b261f1c18120d161e24292c2d32363839393838363431302d28221a12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c31363a3b3e4144454546454543413f3b3a37312c29231d1a1f282f35393a3f43454646454443413e3c39332c241a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151d232832383b4246484b4e505152535252504e4c4847423c38342f27232c313a4145474c4f5252535251504d4a49453e362c22170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e5d5b5855534d474540393128353e434c5154595c5e5f5f5f5e5c5a575550483e33281c1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c2721191107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d302316070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121c252e363e454d53585f62666a6f717375777878797979787675726f6d66625f58524d453d352c241a10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131c242c333b42464e5355585f626467696a6b6b6c6c6c6b6a686663605c54534e46423b332c231a120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a121a212931363c4347484e53575e6165686a6b6c6b6a6965625f5753514b47433c363029201a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f171d273039414950585f62696e7275777879787775726e6a626058514a423a32281e170e08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f39434b535b606a6e757b7e828485868584827f7b766f6a605c544c443a30271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414b555c656c727c81878b8f91929292918f8b88827c746d665d564c43392e23180b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49535c676d777f878e93999b9d9e9f9e9d9c98948f8980786d685d554b4034281d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e19222b3744505b656d79818c92999fa4aba8a7a7a7a8a8a69f9c928d837a6d675c51453d2f261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b37434e58606c77818e939fa3a8a09e9b9a9a9a9b9d9fa4a49d958f82796d60594f42382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323a47535f6a73808d939ea29f9996918f8e8d8d8e9193999fa29f948e81746b60544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58626f7c87929fa098928d8884828180818284868c92979f9d93897d70665b5044382b1f120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a76839099a0959186807b777574747475777b7f8590949f9d9184786c605346392e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c88949f9791837b736e696867676768686e727a829095a095897d7063544b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576774818d9a9e91857a6e69615f575b5a5a565e61686d7983919d9b8e8275665c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697885919e968a7e71685f57534d4e4d4e4d52565e676f7c89959f9286796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8797939184796d60564d474241414141464c55606b7683909398897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d868686868174665c50443b37313430363a434f5966737f868686867f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c7079797979746f64544a3f322b2627252a313d4b57636d7379797979726d62564a3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c67645d5342382e201a1a191f2f3b46525b63666c6c6c6c65625b51463a2e22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e48505557606060605b59534b4130261c0e090d1e2a35404952575960606060585651493f34291e1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a535353534e4c4841382f1e140a020d19242e3740464b4c535353534c4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a242c33393c3d4646464641403c362f261d0c020007121c252e353b3e40464646463f3e3a342d251b110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121a22282d3031393939393433302b251d140b0000000a131c242a2f32333939393932312e29231b130900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d282724201a130b02000000010a12191e2325262d2d2d2d2525221e18110901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10141617202020201b1a18140f0801000000000000070d1316191920202020191816120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a131313130e0e0b080300000000000000000002070a0c0d131313130c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + image data: 1 + _typelessdata: 00 m_StreamData: serializedVersion: 2 offset: 0 From 57c2f5fb9f2f4c869aa8849c43c5769ac1ad328f Mon Sep 17 00:00:00 2001 From: VDH Date: Mon, 2 Feb 2026 10:23:49 +0700 Subject: [PATCH 12/20] FIX after merge --- .../Managers/EC_IvtrItem/CECIvtrWeapon.cs | 4 - .../Network/CSNetwork/CSNetwork.csproj.meta | 7 - .../Scripts/UI/Dialogs/DlgInstall.cs | 2 +- .../Scripts/UI/GamePlay/CdlgQuickBar.cs | 230 ++---------------- .../Scripts/UI/GamePlay/EC_GameUIMan.cs | 11 - Assets/Scripts/CECHostPlayer.cs | 93 +++---- .../LiberationSans SDF - Fallback.asset | 45 +++- 7 files changed, 99 insertions(+), 293 deletions(-) delete mode 100644 Assets/PerfectWorld/Scripts/Network/CSNetwork/CSNetwork.csproj.meta diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/CECIvtrWeapon.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/CECIvtrWeapon.cs index 41b857f683..6c4ef2cabd 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/CECIvtrWeapon.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/CECIvtrWeapon.cs @@ -473,9 +473,5 @@ namespace PerfectWorld.Scripts.Managers return m_pDBSubType; } - public WEAPON_ESSENCE GetDBEssence() - { - return m_pDBEssence; - } } } \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/CSNetwork.csproj.meta b/Assets/PerfectWorld/Scripts/Network/CSNetwork/CSNetwork.csproj.meta deleted file mode 100644 index 333a9b1482..0000000000 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/CSNetwork.csproj.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: d0c06c588e2a6442488a3542551fb243 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgInstall.cs b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgInstall.cs index 79da4965a0..b42dd8c65f 100644 --- a/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgInstall.cs +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgInstall.cs @@ -436,7 +436,7 @@ namespace BrewMonster switch( pEquipA.GetClassID() ) { case (int)EC_IvtrEquip.EQUIP_CLASS_ID.ICID_WEAPON: - nEquipLevel = ((EC_IvtrWeapon)pEquipA).GetDBEssence().level; + nEquipLevel = ((CECIvtrWeapon)pEquipA).GetDBEssence().level; break; case (int)EC_IvtrEquip.EQUIP_CLASS_ID.ICID_ARMOR: nEquipLevel = ((EC_IvtrArmor)pEquipA).GetDBEssence().level; diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs index 84a564a07e..c42fe6b958 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs @@ -30,7 +30,6 @@ namespace BrewMonster -#if !ApplyforALicense public bool UpdateShortcuts() { CECShortcut pSC; @@ -38,7 +37,7 @@ namespace BrewMonster AUIImagePicture pCell; CECSkill pSkill = new CECSkill(-1, -1); AUIClockIcon pClock; - + int iIconFile, nMax = 0; int nCurPanel9 = GetCurPanel1(); int nCurPanel8 = GetCurPanel2(); @@ -59,10 +58,17 @@ namespace BrewMonster //*//*CDlgQuickBar* pQuickBar = dynamic_cast(GetGameUIMan()->GetDialog(a_pszPanel[i])); //if (!pQuickBar || !pQuickBar->IsShow()) continue;*//* +#if LICENSE_VERSION + int slotIndex = 0; +#endif int nSlots = Mathf.Min(a_pSCS[i].GetShortcutNum(), AUIImagePictureList.Count); for (int j = 0; j < nSlots; j++) { +#if LICENSE_VERSION + + pCell = AUIImagePictureList[slotIndex]; +#endif pCell = AUIImagePictureList[j]; pSC = a_pSCS[i].GetShortcut(j); pClock = pCell.GetClockIcon(); @@ -203,7 +209,7 @@ namespace BrewMonster pClock->SetColor(A3DCOLORRGBA(0, 0, 0, 128)); } }*/ - else if(pSC.GetType() == (int)CECShortcut.ShortcutType.SCT_ITEM) + else if (pSC.GetType() == (int)CECShortcut.ShortcutType.SCT_ITEM) { iIconFile = (int)EC_GAMEUI_ICONS.ICONS_INVENTORY; pCell.SetColor(new Color(1f, 1f, 1f)); @@ -215,7 +221,7 @@ namespace BrewMonster { int maxNullable = -1; int coolTime = pItem.GetCoolTime(out maxNullable); - nMax = maxNullable > 0 ? maxNullable: 0; + nMax = maxNullable > 0 ? maxNullable : 0; if (coolTime > 0) { @@ -270,7 +276,7 @@ namespace BrewMonster // GetGameUIMan().SetCover(pCell, petIcon, EC_GAMEUI_ICONS.ICONS_INVENTORY); // } //} - else if(pSC.GetType() == (int)CECShortcut.ShortcutType.SCT_AUTOFASHION) + else if (pSC.GetType() == (int)CECShortcut.ShortcutType.SCT_AUTOFASHION) { iIconFile = (int)EC_GAMEUI_ICONS.ICONS_SUITE; @@ -324,7 +330,10 @@ namespace BrewMonster if (pSC != null) { - if(pCell.GetDataPtr() == pSC) +#if LICENSE_VERSION + slotIndex++; +#endif + if (pCell.GetDataPtr() == pSC) { continue; } @@ -365,215 +374,6 @@ namespace BrewMonster } return true; } -#else - //public bool UpdateShortcuts() - //{ - // CECShortcut pSC; - // Image skillImage; - // CECSCSkill pSCSkill; - // int iIconFile, nMax; - // AUIImagePicture pCell; - // CECSkill pSkill = new CECSkill(-1, -1); - // AUIClockIcon pClock; - - - // int nCurPanel9 = GetCurPanel1(); - // int nCurPanel8 = GetCurPanel2(); - - // CECHostPlayer pHost = EC_Game.GetGameRun().GetHostPlayer(); - // if (pHost == null) return false; - // var a_pSCS = new List(); - // var a_pszPanel = new List(); - // GetQuickBarNameAndSC(pHost, a_pszPanel, a_pSCS, nCurPanel9, nCurPanel8); - - // for (int i = 0; i <= 1(int)a_pSCS.Count; i++) - // { - // if (a_pSCS[i] == null) - // continue; - - // CDlgQuickBar* pQuickBar = dynamic_cast(GetGameUIMan()->GetDialog(a_pszPanel[i])); - // if (!pQuickBar || !pQuickBar->IsShow()) continue; - // int slotIndex = 0; - // for (int j = 0; j < a_pSCS.Count; j++) - // { - // pCell = AUIImagePictureList[slotIndex]; - // pSC = a_pSCS[i].GetShortcut(j); - // pClock = pCell.GetClockIcon(); - // pClock.SetProgressRange(0, 1); - // pClock.SetProgressPos(1); - // if (pSC != null) - // { - // if (pSC.GetType() == (int)CECShortcut.ShortcutType.SCT_SKILL) - // { - // iIconFile = (int)EC_GAMEUI_ICONS.ICONS_SKILL; - // pSCSkill = (CECSCSkill)pSC; - // pSkill = pSCSkill.GetSkill(); - // if (falsem_bDelGoblinSkillSC && GNET::ElementSkill::IsGoblinSkill(pSkill->GetSkillID())) - // { - // a_pSCS[i]->SetShortcut(j, NULL); - // pSC = NULL; - // } - // else - // { - // if (pSkill != null && pSkill.ReadyToCast() && pHost.GetPrepSkill() != pSkill) - // { - // if (ElementSkill.IsGoblinSkill((uint)pSkill.GetSkillID())) - // { - // if (pHostGoblin && !pHostGoblin->CheckSkillCastCondition(pSkill)) - // { - // pCell->SetColor(A3DCOLORRGB(255, 255, 255)); - // } - // else - // { - // pCell->SetColor(A3DCOLORRGB(128, 128, 128)); - // } - // } - // else - // { - // if (pHost.CheckSkillCastCondition(pSkill) == 0) - // { - // //pCell.SetColor(A3DCOLORRGB(255, 255, 255)); - // } - // else - // { - // //pCell.SetColor(A3DCOLORRGB(128, 128, 128)); - // } - // } - // } - // else - // pClock.SetColor(A3DCOLORRGBA(0, 0, 0, 128)); - // if (pSkill != null && (pSkill.GetCoolingTime() > 0 || - // pHost.GetPrepSkill() == pSkill)) - // { - // pClock.SetProgressRange(0, pSkill.GetCoolingTime()); - // if (pHost.GetPrepSkill() == pSkill) - // { - // pClock.SetProgressPos(0); - // } - // else - // { - // pClock.SetProgressPos(pSkill.GetCoolingTime() - pSkill.GetCoolingCnt()); - // } - // } - // } - // } - // else if (pSC->GetType() == CECShortcut::SCT_ITEM) - // { - // iIconFile = CECGameUIMan::ICONS_INVENTORY; - // pCell->SetColor(A3DCOLORRGB(255, 255, 255)); - // pSCItem = (CECSCItem*)pSC; - // pIvtr = GetHostPlayer()->GetPack(pSCItem->GetInventory()); - // pItem = pIvtr->GetItem(pSCItem->GetIvtrSlot()); - // if (pItem && pItem->GetCoolTime(&nMax) > 0) - // { - // pClock->SetProgressRange(0, nMax); - // pClock->SetProgressPos(nMax - pItem->GetCoolTime()); - // pClock->SetColor(A3DCOLORRGBA(0, 0, 0, 128)); - // } - // if (pSCItem->GetInventory() == IVTRTYPE_EQUIPPACK) - // pCell->SetColor(A3DCOLORRGBA(128, 128, 255, 128)); - // } - // else if (pSC->GetType() == CECShortcut::SCT_PET) - // { - // pSCPet = (CECSCPet*)pSC; - // CECPetData* pPet = pPetCorral->GetPetData(pSCPet->GetPetIndex()); - // iIconFile = CECGameUIMan::ICONS_INVENTORY; - // pCell->SetColor(A3DCOLORRGB(255, 255, 255)); - // if (pPet) - // { - // // dead combat pet - // if ((pPet->GetClass() == GP_PET_CLASS_COMBAT || pPet->GetClass() == GP_PET_CLASS_EVOLUTION) && pPet->GetHPFactor() == 0.0f) - // { - // pCell->SetColor(A3DCOLORRGB(128, 128, 128)); - // } - // // current active pet - // else if (pSCPet->IsActivePet()) - // { - // pCell->SetColor(A3DCOLORRGB(255, 255, 0)); - // } - // } - // } - // else if (pSC->GetType() == CECShortcut::SCT_AUTOFASHION) - // { - // iIconFile = CECGameUIMan::ICONS_SUITE; - // fashionCoolTime = pHost->GetCoolTime(GP_CT_EQUIP_FASHION_ITEM, &fashionCoolTimeMax); - // pCell->SetColor(A3DCOLORRGB(255, 255, 255)); - // if (fashionCoolTimeMax > 0) - // { - // pClock->SetProgressRange(0, fashionCoolTimeMax); - // pClock->SetProgressPos(fashionCoolTimeMax - fashionCoolTime); - // pClock->SetColor(A3DCOLORRGBA(0, 0, 0, 175)); - // } - // } - // else - // { - // iIconFile = CECGameUIMan::ICONS_ACTION; - // if (pSC->GetType() == CECShortcut::SCT_COMMAND) - // { - // CECSCCommand* pCommandSC = (CECSCCommand*)pSC; - // if (GetHostPlayer()->IsInvisible()) - // { - // if (pCommandSC->GetCommandID() == CECSCCommand::CMD_STARTTRADE || - // pCommandSC->GetCommandID() == CECSCCommand::CMD_SELLBOOTH || - // pCommandSC->GetCommandID() == CECSCCommand::CMD_BINDBUDDY) - // { - // pCell->SetColor(A3DCOLORRGB(128, 128, 128)); - // } - // else - // { - // pCell->SetColor(A3DCOLORRGB(255, 255, 255)); - // } - // } - // else - // { - // pCell->SetColor(A3DCOLORRGB(255, 255, 255)); - // } - // } - - // if (pSC->GetCoolTime(&nMax) > 0) - // { - // pClock->SetProgressRange(0, nMax); - // pClock->SetProgressPos(nMax - pSC->GetCoolTime()); - // pClock->SetColor(A3DCOLORRGBA(0, 0, 0, 128)); - // } - // } - // if (pSC != null) - // { - // pCell.SetDataPtr(pSC, "ptr_CECShortcut"); - // if (pSC.GetType() == (int)CECShortcut.ShortcutType.SCT_SKILLGRP) - // { - // EC_VIDEO_SETTING setting = GetGame()->GetConfigs()->GetVideoSettings(); - // pCell->SetCover(GetGameUIMan()->m_pA2DSpriteIcons[CECGameUIMan::ICONS_SKILLGRP], - // setting.comboSkill[((CECSCSkillGrp*)pSC)->GetGroupIndex()].nIcon + 1); - // } - // else - // { - // if (pSkill != null) - // { - // slotIndex++; - // //BMLogger.Log("HoangDev: QuickBar Set Skill Icon: " + (uint)pSkill.GetSkillID() + " : " + ElementSkill.GetIcon((uint)pSkill.GetSkillID())); - // var nameskill = ElementSkill.GetIcon((uint)pSkill.GetSkillID()); - // GetGameUIMan().SetCover(pCell, nameskill, EC_GAMEUI_ICONS.ICONS_SKILL); - // } - // af_GetFileTitle(pSC->GetIconFile(), strFile); - // strFile.MakeLower(); - // pCell->SetCover(GetGameUIMan()->m_pA2DSpriteIcons[iIconFile], - // GetGameUIMan()->m_IconMap[iIconFile][strFile]); - // } - // } - // } - // else - // { - // pCell->SetCover(NULL, -1); - // pCell->SetText(_AL("")); - // pCell->SetDataPtr(NULL); - // pCell->SetColor(A3DCOLORRGB(255, 255, 255)); - // } - // } - // } - // return true; - //} -#endif private void GetQuickBarNameAndSC(CECHostPlayer pHost, List pszPanel, List pSCS, int panel9, int panel8) { string dlgName; diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs index c86024a145..02f64f3e45 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs @@ -151,17 +151,6 @@ namespace BrewMonster.UI { return m_dialogResouce; } - public string GetRealmName(int realmLevel) - { - string strRealm = ""; - if (realmLevel > 0) - { - int layer = CECPlayer.GetRealmLayer(realmLevel); - int subLevel = CECPlayer.GetRealmSubLevel(realmLevel); - strRealm += (GetStringFromTable(11100) + GetStringFromTable(11100 + layer) + GetStringFromTable(11120 + subLevel)); - } - return strRealm; - } public Canvas GetCanvas() { return m_canvas; diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index 52f9e0ea3d..53e0174977 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -90,8 +90,8 @@ namespace BrewMonster List m_aWayPoints = new List(); // Active way points bool m_bIsInKingService = false; // 脢脟路帽脮媒脭脷陆酶脨脨鹿煤脥玫路镁脦帽虏脵脳梅 CECActionSwitcherBase m_pActionSwitcher; - private int m_iWorldContribution; - private int m_iWorldContributionSpend; + private int m_iWorldContribution; + private int m_iWorldContributionSpend; private bool m_bSpellDSkill; private CECSkill m_pCurSkill; private CECSkill m_pTargetItemSkill; // Target item skill @@ -226,7 +226,7 @@ namespace BrewMonster // Get navigate player // 鑾峰彇瀵艰埅鐜╁ public int GetWorldContribution() { return m_iWorldContribution; } - public int GetWorldContributionSpend() { return m_iWorldContributionSpend; } + public int GetWorldContributionSpend() { return m_iWorldContributionSpend; } private CECHostNavigatePlayer m_pNavigatePlayer = null; public CECHostNavigatePlayer GetNavigatePlayer() { @@ -569,7 +569,8 @@ namespace BrewMonster break; case int value when value == EC_MsgDef.MSG_HST_SELTARGET: OnMsgHstSelTarget(Msg); break; - case int value when value == EC_MsgDef.MSG_HST_USEITEM:OnMsgHstUseItem(Msg); + case int value when value == EC_MsgDef.MSG_HST_USEITEM: + OnMsgHstUseItem(Msg); break; case int value when value == EC_MsgDef.MSG_HST_ATKRESULT: OnMsgHstAttackResult(Msg); break; case int value when value == EC_MsgDef.MSG_HST_ATTACKED: OnMsgHstAttacked(Msg); break; @@ -7297,11 +7298,11 @@ namespace BrewMonster { return m_pPetCorral; } - + // Get key object(NPC..) coordinates - public A3DVECTOR3 GetObjectCoordinates(int idTarget,ref ObjectCoords TargetCoord, ref bool bInTable) + public A3DVECTOR3 GetObjectCoordinates(int idTarget, ref ObjectCoords TargetCoord, ref bool bInTable) { - if(TargetCoord == null) + if (TargetCoord == null) { TargetCoord = new ObjectCoords(); } @@ -7314,7 +7315,7 @@ namespace BrewMonster string szText = idTarget.ToString(); List tempCoord = new List(); int iCount = EC_Game.GetObjectCoord(szText, ref tempCoord); - if(iCount == 0) + if (iCount == 0) { return vDestPos; } @@ -7327,17 +7328,17 @@ namespace BrewMonster string strCurMap = pInstance.GetPath(); // 锟饺硷拷锟酵伙拷锟酵硷拷锟斤拷欠锟斤拷锟揭拷锟斤拷业锟斤拷锟狡 bool bHasObjectInCurrentInstance = tempCoord.Any(coord => coord.strMap == strCurMap); - for(int i=0;i 0 ? (realmLevel + 9) / 10 : 0;} - public static int GetRealmSubLevel(int realmLevel){return realmLevel > 0 ? (realmLevel % 10 > 0 ? realmLevel % 10 : 10) : 0;} + public int GetRealmLayer() { return m_RealmLevel / 100; } + public int GetRealmSubLevel() { return m_RealmLevel % 100; } + public static int GetRealmLayer(int realmLevel) { return realmLevel > 0 ? (realmLevel + 9) / 10 : 0; } + public static int GetRealmSubLevel(int realmLevel) { return realmLevel > 0 ? (realmLevel % 10 > 0 ? realmLevel % 10 : 10) : 0; } public bool HaveHealthStones() { var pPack = GetPack(); - var items = new int[] {36764, 36765, 36766, 36767}; - for (int i = 0; i < items.Length; ++ i) { + var items = new int[] { 36764, 36765, 36766, 36767 }; + for (int i = 0; i < items.Length; ++i) + { if (pPack.FindItem(items[i]) >= 0) return true; } @@ -7388,7 +7390,7 @@ namespace BrewMonster public bool UseItemInPack(int iPack, int iSlot, bool showMsg = true) { - if(!CanDo(ActionCanDo.CANDO_USEITEM)) + if (!CanDo(ActionCanDo.CANDO_USEITEM)) return false; EC_Inventory pPack = GetPack(iPack); @@ -7399,7 +7401,7 @@ namespace BrewMonster if (pItem == null || pItem.IsFrozen()) return false; - if(pItem.Use_Persist() && (IsJumping() || IsFalling())) + if (pItem.Use_Persist() && (IsJumping() || IsFalling())) return false; CECGameRun pGameRun = EC_Game.GetGameRun(); @@ -7418,12 +7420,12 @@ namespace BrewMonster if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_TARGETITEM) { EC_IvtrTargetItem pTargetItem = pItem as EC_IvtrTargetItem; - if(pTargetItem == null) + if (pTargetItem == null) return false; var essence = pTargetItem.GetDBEssence(); - if(!pTargetItem.IsEssenceLoaded()) + if (!pTargetItem.IsEssenceLoaded()) return false; if (IsFighting() && essence.use_in_combat == 0) @@ -7454,13 +7456,13 @@ namespace BrewMonster } if (!found) { - if(showMsg) + if (showMsg) pGameRun.AddFixedMessage((int)FixedMsg.FIXMSG_CANNOT_USE_IN_CURR_MAP); return false; } } - if(!CanDo(ActionCanDo.CANDO_SPELLMAGIC)) + if (!CanDo(ActionCanDo.CANDO_SPELLMAGIC)) return false; if (InSlidingState()) @@ -7494,7 +7496,7 @@ namespace BrewMonster pSkill.GetType() == (int)CECSkill.SkillType.TYPE_CURSE) { if (m_idSelTarget == m_PlayerInfo.cid) - { + { if (showMsg) pGameRun.AddFixedChannelMsg((int)FixedMsg.FIXMSG_TARGETWRONG, (int)ChatChannel.GP_CHAT_FIGHT); return false; @@ -7512,7 +7514,7 @@ namespace BrewMonster if (pSkill.GetType() == (int)CECSkill.SkillType.TYPE_BLESS || pSkill.GetType() == (int)CECSkill.SkillType.TYPE_NEUTRALBLESS) { - if(iTargetType == 0 || !GPDataTypeHelper.ISPLAYERID(m_idSelTarget)) + if (iTargetType == 0 || !GPDataTypeHelper.ISPLAYERID(m_idSelTarget)) idCastTarget = m_PlayerInfo.cid; if (GPDataTypeHelper.ISPLAYERID(idCastTarget) && idCastTarget != m_PlayerInfo.cid) @@ -7530,12 +7532,12 @@ namespace BrewMonster else { EC_ElsePlayer pPlayer = EC_ManMessageMono.Instance.GetECManPlayer.GetElsePlayer(idCastTarget) as EC_ElsePlayer; - if(pPlayer == null) + if (pPlayer == null) return false; if (pPlayer.IsInvader() || pPlayer.IsPariah()) { - if((byBLSMask & (byte)PVPMask.GP_BLSMASK_NORED) != 0) + if ((byBLSMask & (byte)PVPMask.GP_BLSMASK_NORED) != 0) idCastTarget = m_PlayerInfo.cid; } @@ -7547,13 +7549,13 @@ namespace BrewMonster if (!IsFactionAllianceMember(pPlayer.GetFactionID())) { - if((byBLSMask & (byte)PVPMask.GP_BLSMASK_NOALLIANCE) != 0) + if ((byBLSMask & (byte)PVPMask.GP_BLSMASK_NOALLIANCE) != 0) idCastTarget = m_PlayerInfo.cid; } if (GetForce() != pPlayer.GetForce()) { - if((byBLSMask & (byte)PVPMask.GP_BLSMASK_NOFORCE) != 0) + if ((byBLSMask & (byte)PVPMask.GP_BLSMASK_NOFORCE) != 0) idCastTarget = m_PlayerInfo.cid; } } @@ -7561,7 +7563,7 @@ namespace BrewMonster } // If host is in dule - if(IsInDuel() && m_idSelTarget == m_pvp.idDuelOpp) + if (IsInDuel() && m_idSelTarget == m_pvp.idDuelOpp) idCastTarget = m_PlayerInfo.cid; // If host is in battle @@ -7584,14 +7586,14 @@ namespace BrewMonster iTargetType = 2; CECObject pObject = EC_ManMessageMono.Instance.GetObject(idCastTarget, iAliveFlag); - if(pObject == null) + if (pObject == null) return false; } if (!IsMeleeing() && !IsSpellingMagic() && (iTargetType == 0 || idCastTarget == m_PlayerInfo.cid)) { - if(!pSkill.ReadyToCast()) + if (!pSkill.ReadyToCast()) return false; if (!pSkill.IsInstant() && pSkill.GetType() != (int)CECSkill.SkillType.TYPE_FLASHMOVE) @@ -7602,7 +7604,7 @@ namespace BrewMonster } else if (pSkill.GetType() == (int)CECSkill.SkillType.TYPE_FLASHMOVE) { - if(!CanDo(ActionCanDo.CANDO_FLASHMOVE)) + if (!CanDo(ActionCanDo.CANDO_FLASHMOVE)) return false; } @@ -7627,11 +7629,11 @@ namespace BrewMonster } EC_IvtrEquip pEquip = pItem as EC_IvtrEquip; - if(pEquip == null) + if (pEquip == null) return false; int iReason = 0; - if(!CanUseEquipment(pEquip, ref iReason)) + if (!CanUseEquipment(pEquip, ref iReason)) return false; int iFirstFree = -1, iFirstCan = -1; @@ -7683,7 +7685,7 @@ namespace BrewMonster return true; } - if(iPack != Inventory_type.IVTRTYPE_PACK) + if (iPack != Inventory_type.IVTRTYPE_PACK) return false; if (!pItem.CheckUseCondition()) @@ -7703,7 +7705,7 @@ namespace BrewMonster if (pItem.Use_AtkTarget() || pItem.Use_Target()) { - if(pItem.Use_AtkTarget() && CannotAttack()) + if (pItem.Use_AtkTarget() && CannotAttack()) return false; if (m_idSelTarget == 0 || m_idSelTarget == m_PlayerInfo.cid) @@ -7752,7 +7754,7 @@ namespace BrewMonster else if (GPDataTypeHelper.ISPLAYERID(m_idSelTarget)) { EC_ElsePlayer pPlayer = pObject as EC_ElsePlayer; - if(pPlayer != null) + if (pPlayer != null) fTargetRag = pPlayer.GetTouchRadius(); } @@ -7848,7 +7850,7 @@ namespace BrewMonster CECHPWork pWork = m_pWorkMan.GetRunningWork(Host_work_ID.WORK_USEITEM); if (pWork is CECHPWorkUse useWork) { - if(useWork.GetItem() == pCmd.item_id) + if (useWork.GetItem() == pCmd.item_id) { m_pWorkMan.FinishRunningWork(Host_work_ID.WORK_USEITEM); } @@ -7913,8 +7915,6 @@ namespace BrewMonster //private bool ISNPCID(int id) => ((id & 0x80000000) != 0) && ((id & 0x40000000) == 0); //private bool ISPLAYERID(int id) => id != 0 && (id & 0x80000000) == 0; //private bool ISMATTERID(int id) => ((id) & 0xC0000000) == 0xC0000000; - } -} public bool IsPlayerMoving() @@ -7951,3 +7951,4 @@ namespace BrewMonster } } } + diff --git a/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset b/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset index 0af81e6d95..e3010000b2 100644 --- a/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset +++ b/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset @@ -215,8 +215,27 @@ MonoBehaviour: m_SourceFontFilePath: m_AtlasPopulationMode: 1 InternalDynamicOS: 0 - m_GlyphTable: [] - m_CharacterTable: [] + m_GlyphTable: + - m_Index: 2103 + m_Metrics: + m_Width: 21 + m_Height: 51 + m_HorizontalBearingX: 11 + m_HorizontalBearingY: 48 + m_HorizontalAdvance: 43 + m_GlyphRect: + m_X: 10 + m_Y: 10 + m_Width: 21 + m_Height: 51 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + m_CharacterTable: + - m_ElementType: 1 + m_Unicode: 8593 + m_GlyphIndex: 2103 + m_Scale: 1 m_AtlasTextures: - {fileID: 28268798066460806} m_AtlasTextureIndex: 0 @@ -227,11 +246,19 @@ MonoBehaviour: m_AtlasHeight: 512 m_AtlasPadding: 9 m_AtlasRenderMode: 4169 - m_UsedGlyphRects: [] - m_FreeGlyphRects: + m_UsedGlyphRects: - m_X: 0 m_Y: 0 + m_Width: 40 + m_Height: 70 + m_FreeGlyphRects: + - m_X: 0 + m_Y: 70 m_Width: 511 + m_Height: 441 + - m_X: 40 + m_Y: 0 + m_Width: 471 m_Height: 511 m_FontFeatureTable: m_MultipleSubstitutionRecords: [] @@ -493,9 +520,9 @@ Texture2D: Hash: 00000000000000000000000000000000 m_IsAlphaChannelOptional: 0 serializedVersion: 3 - m_Width: 1 - m_Height: 1 - m_CompleteImageSize: 1 + m_Width: 512 + m_Height: 512 + m_CompleteImageSize: 262144 m_MipsStripped: 0 m_TextureFormat: 1 m_MipCount: 1 @@ -520,8 +547,8 @@ Texture2D: m_LightmapFormat: 0 m_ColorSpace: 0 m_PlatformBlob: - image data: 1 - _typelessdata: 00 + image data: 262144 + _typelessdata: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a1313130a0a080400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10141617202020171614100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2423201c171008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d303139393931302d28221a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33393c3d4646463d3c39332c231a100500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a5353534a49443e362c22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e48505557606060575550483e33281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c64615a5044392d2014080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c70797979706c6155493c3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8686867d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a938a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002070a0a1724313d4a5764707d8a978a7d7064574a3d3124170a0a07020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d1316191924313d4a5764707d8a978a7d7064574a3d3124191916130d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a12191e23252626313d4a5764707d8a978a7d7064574a3d31262625231e19120a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131c242a2f323333313d4a5764707d8a978a7d7064574a3d313333322f2a241c130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c252e353b3e403f3a3d4a5764707d8a978a7d7064574a3d3a3f403e3b352e251c1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d19242e3740464b4c4c47454a5764707d8a978a7d7064574a45474c4c4b4640372e24190d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131e2a3540495257595954514b5764707d8a978a7d7064574b5154595957524940352a1e130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16232f3b46525b636666605d555764707d8a978a7d706457555d606666635b52463b2f23160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323e4b57636d73726d67605c64707d8a978a7d70645c60676d72736d63574b3e3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d192633404c5966737f7f7a726d6764707d8a978a7d7064676d727a7f7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2734414e5a6774818c857f79716c707d8a978a7d706c71797f858c8074675a4e4134271b0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d928c847e75707d8a978a7d70757e848c928d8074675a4d4134271a0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b849095918a827b7d8a978a7d7b828a919590847b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e696e7a838f94938f85808d9a8d80858f94948f837a6e695e53463a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d575e686d79828f9497928d929d928d9297948f82796d685e574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b454d565e676d798290959e9a9da49d9a9e959082796d675e564d453b31251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b444c555d676d7a839096a1abaeaba19690837a6d675d554c443b33291f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d172129323a434b555d686e7a849199a3afa39991847a6e685d554b433a322921170d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1720283139434c565e686f7d87929fa69f92877d6f685e564c4339312820170f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e161f27313a434c56606b727f8c949f948c7f726b60564c433a31271f160e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d151f28313b444f59626d76828f998f82766d62594f443b31281f150d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f29323d47515b626f7c8792877c6e625b51463d32291f160d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17202b343f47535f6a73808680736a5f53493f342b20170d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e19222b37434e58646e7379736e64584e43372d22190e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101a26313c46525c64676c67645c52463c31251b1007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a34404a52585a605a58524a40342a2013090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18222e3840474c4d534d4c4740382e22180e0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101c262e363b3f4046403f3b362e261c0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141c242b3033343934332f2b241c140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a12191f2326272d2726231f19120a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080e1317191a201a1917130e08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003070b0d0d130d0d0b07020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 m_StreamData: serializedVersion: 2 offset: 0 From f233ebe58b2932fc45d73ba60aad4870f1d6879a Mon Sep 17 00:00:00 2001 From: VDH Date: Mon, 2 Feb 2026 10:42:50 +0700 Subject: [PATCH 13/20] fix --- .../Scripts/UI/GamePlay/CdlgQuickBar.cs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs index c42fe6b958..95f32fe94b 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs @@ -47,7 +47,6 @@ namespace BrewMonster var a_pSCS = new List(); var a_pszPanel = new List(); GetQuickBarNameAndSC(pHost, a_pszPanel, a_pSCS, nCurPanel9, nCurPanel8); - if (a_pSCS == null || a_pSCS.Count < 2) return false; @@ -62,14 +61,22 @@ namespace BrewMonster int slotIndex = 0; #endif + +#if LICENSE_VERSION + + for (int j = 0; j < a_pSCS.Count; j++) + { +#else int nSlots = Mathf.Min(a_pSCS[i].GetShortcutNum(), AUIImagePictureList.Count); for (int j = 0; j < nSlots; j++) - { + { +#endif #if LICENSE_VERSION pCell = AUIImagePictureList[slotIndex]; -#endif +#else pCell = AUIImagePictureList[j]; +#endif pSC = a_pSCS[i].GetShortcut(j); pClock = pCell.GetClockIcon(); pClock.SetProgressRange(0, 1); @@ -331,7 +338,7 @@ namespace BrewMonster if (pSC != null) { #if LICENSE_VERSION - slotIndex++; + slotIndex++; #endif if (pCell.GetDataPtr() == pSC) { From e6faf5d2fc330adcfabd9248c5533364e2f48868 Mon Sep 17 00:00:00 2001 From: VuNgocHaiC7 Date: Mon, 2 Feb 2026 13:54:38 +0700 Subject: [PATCH 14/20] update logic more UseItemInPack --- .../Managers/EC_IvtrItem/EC_IvtrAutoMp.cs | 3 +- .../EC_IvtrItem/EC_IvtrGeneralCard.cs | 7 + .../Managers/EC_IvtrItem/EC_IvtrTaskDice.cs | 5 + .../Managers/EC_IvtrItem/EC_IvtrType.cs | 2 +- Assets/Scripts/CECHostPlayer.cs | 308 ++++++++++++++---- 5 files changed, 263 insertions(+), 62 deletions(-) diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrAutoMp.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrAutoMp.cs index ed77e2bee8..e51e89d92e 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrAutoMp.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrAutoMp.cs @@ -165,8 +165,9 @@ namespace PerfectWorld.Scripts.Managers } // Get item cool time - public int GetCoolTime(ref int piMax) + public override int GetCoolTime(out int piMax) { + piMax = 0; CECHostPlayer pHost = EC_Game.GetGameRun().GetHostPlayer(); return pHost != null ? pHost.GetCoolTime((int)CoolTimeIndex.GP_CT_AUTOMP, out piMax) : 0; } diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGeneralCard.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGeneralCard.cs index bbc1cd4fee..53e3c432cd 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGeneralCard.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGeneralCard.cs @@ -3,6 +3,8 @@ namespace PerfectWorld.Scripts.Managers { public class EC_IvtrGeneralCard : EC_IvtrItem { + private IVTR_ESSENCE_GENERALCARD m_Essence; + /// /// Not create logic yet (add summary later) /// @@ -15,6 +17,11 @@ namespace PerfectWorld.Scripts.Managers public EC_IvtrGeneralCard(EC_IvtrGeneralCard other) : base(other) { } + + public IVTR_ESSENCE_GENERALCARD GetEssence() + { + return m_Essence; + } } } diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskDice.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskDice.cs index 934066e194..77db9842cb 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskDice.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskDice.cs @@ -80,6 +80,11 @@ namespace PerfectWorld.Scripts.Managers { return m_pDBEssence.FileMatter; } + + public TASKDICE_ESSENCE GetDBEssence() + { + return m_pDBEssence; + } } } diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrType.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrType.cs index 07e9ab0e01..4ef6b77c2d 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrType.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrType.cs @@ -348,7 +348,7 @@ namespace BrewMonster.Scripts.Managers public struct IVTR_ESSENCE_GENERALCARD { // TODO : implement data later - // int type; + public int type; // int rank; // int require_level; // int require_leadership; diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index f6acc459b6..c69a1d72d0 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -687,6 +687,27 @@ namespace BrewMonster if (pCmd.cooldown_index == (int)CoolTimeIndex.GP_CT_CAST_ELF_SKILL) { int i; + + for (i = 0; i < m_aGoblinSkills.Count; i++) + { + if (m_aGoblinSkills[i] != null && m_aGoblinSkills[i].GetCoolingCnt() == 0) + { + int fakeRef = 0; + int coolTime = GetCoolTime((int)CoolTimeIndex.GP_CT_CAST_ELF_SKILL, out fakeRef); + m_aGoblinSkills[i].StartCooling(coolTime, coolTime); + } + } + + for (i = 0; i < m_aPtSkills.Count; i++) + { + CECSkill pSkill = GetPassiveSkillByIndex(i); + if (pSkill != null && (pSkill.GetCommonCoolDown() & (1 << (pCmd.cooldown_index - (int)CoolTimeIndex.GP_CT_SKILLCOMMONCOOLDOWN0))) != 0) + { + int fakeRef = 0; + int coolTime = GetCoolTime(pCmd.cooldown_index, out fakeRef); + pSkill.StartCooling(coolTime, coolTime); + } + } // other goblin skills should be set public cool down, 1 second /* for (i = 0; i < m_aGoblinSkills.GetSize(); i++) { @@ -711,7 +732,10 @@ namespace BrewMonster CECSkill pSkill = GetPositiveSkillByIndex(i); int fakeRef = 0; if (pSkill != null && (pSkill.GetCommonCoolDown() & mask) != 0) - pSkill.StartCooling(GetCoolTime(pCmd.cooldown_index, out fakeRef), GetCoolTime(pCmd.cooldown_index, out fakeRef)); + { + int coolTime = GetCoolTime(pCmd.cooldown_index, out fakeRef); + pSkill.StartCooling(coolTime, coolTime); + } } /*const std::map&inherentSkillMap = CECComboSkillState::Instance().GetInherentSkillMap(); std::map < unsigned int, CECSkill*>::const_iterator it; @@ -730,25 +754,37 @@ namespace BrewMonster { // Key doesn't exist, create new entry ct = new COOLTIME(); - m_skillCoolTime[idSkill] = ct; } ct.iCurTime = pCmd.cooldown_time; ct.iMaxTime = pCmd.cooldown_time; - Math.Clamp(ct.iCurTime, 0, ct.iMaxTime); + ct.iCurTime = Math.Clamp(ct.iCurTime, 0, ct.iMaxTime); + m_skillCoolTime[idSkill] = ct; CECSkill pSkill = GetNormalSkill(idSkill); if (pSkill != null) { pSkill.StartCooling(pCmd.cooldown_time, pCmd.cooldown_time); } + else + { + pSkill = CECComboSkillState.Instance.GetInherentSkillByID((uint)idSkill); + if (pSkill != null) + { + pSkill.StartCooling(pCmd.cooldown_time, pCmd.cooldown_time); + } + else if (GetEquipSkillByID(idSkill) == null) + { + Debug.LogWarning($"OnMsgHstSetCoolTime: Skill {idSkill} not found in normal/equip skills"); + } + } /* else if (pSkill = CECComboSkillState::Instance().GetInherentSkillByID(idSkill)) { pSkill->StartCooling(pCmd->cooldown_time, pCmd->cooldown_time); }*/ - else if (GetEquipSkillByID(idSkill) == null) - { - BMLogger.LogError("HoangDev: pSkill " + pSkill); - } + //else if (GetEquipSkillByID(idSkill) == null) + //{ + // BMLogger.LogError("HoangDev: pSkill " + pSkill); + //} } else { @@ -759,6 +795,11 @@ namespace BrewMonster UpdateEquipSkillCoolDown(pCmd.cooldown_index); } + private CECSkill GetPassiveSkillByIndex(int n) + { + return m_aPsSkills[n]; + } + private void OnMsgHstCoolTimeData(ECMSG Msg) { cmd_cooltime_data pCmd = default; @@ -7180,16 +7221,95 @@ namespace BrewMonster CECGameRun pGameRun = EC_Game.GetGameRun(); //CECGameSession pSession = g_pGame.GetGameSession(); + if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_FIREWORK) + { + if (GetProfession() == (int)PROFESSION.PROF_GHOST && IsInvisible()) + { + if (showMsg) + pGameRun.AddFixedMessage((int)FixedMsg.FIXMSG_CANNOT_USE_WHEN_INVISIBLE); + return false; + } + } + + if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_INCSKILLABILITY) + { + //EC_IvtrIncSkillAbility pIncSkill = pItem as EC_IvtrIncSkillAbility; + //if (pIncSkill != null) + //{ + // var pDBEssence = pIncSkill.GetDBEssence(); + // CECSkill pSkill = GetNormalSkill(pDBEssence.id_skill); + // if (pSkill != null) + // { + // if (pSkill.GetSkillLevel() != pDBEssence.level_required) + // { + // if (showMsg) + // pGameRun.AddFixedMessage((int)FixedMsg.FIXMSG_PRODUCE_LEVEL_INVALID); + // return false; + // } + // if (GetSkillAbilityPercent(pDBEssence.id_skill) >= 100) + // { + // if (showMsg) + // pGameRun.AddFixedMessage((int)FixedMsg.FIXMSG_PRODUCE_ABILITY_FULL); + // return false; + // } + + // } + //} + } + if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_TRANSMITSCROLL) { CECGameUIMan pGameUI = pGameRun.GetUIManager().GetInGameUIMan(); if (pGameUI != null && !IsFighting()) { // TODO: Implement travel map dialog + //CDlgWorldMap* pMap = (CDlgWorldMap*)pGameUI->GetDialog("Win_WorldMapTravel"); + //pMap->BuildTravelMap(DT_TRANSMITSCROLL_ESSENCE, (void*)iSlot); + //pMap->Show(true); } return true; } + if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_SHOPTOKEN) + { + CECGameUIMan pGameUI = pGameRun.GetUIManager().GetInGameUIMan(); + if (pGameUI != null && !IsFighting()) + { + //CDlgTokenShop* pDlg = dynamic_cast(pGameUI->GetDialog("Win_TokenShop")); + //if (pDlg) + //{ + // pDlg->InitTokenShopItem(pItem->GetTemplateID()); + // pDlg->Show(!pDlg->IsShow()); + //} + } + return true; + } + + if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_UNIVERSAL_TOKEN) + { + // // TODO: Implement universal token when available + EC_IvtrUniversalToken pUniversalToken = pItem as EC_IvtrUniversalToken; + //if (pUniversalToken != null && pUniversalToken.HasAnyUsage()) + //{ + // CECUseUniversalTokenCommandManager.Instance.Use(pUniversalToken, pUniversalToken.UsageIndexAt(0)); + // return true; + //} + } + + if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_TASKDICE) + { + EC_IvtrTaskDice pTaskDice = pItem as EC_IvtrTaskDice; + if (pTaskDice != null) + { + if (IsFlying() && pTaskDice.GetDBEssence().no_use_in_combat == 1) + { + if (showMsg) + pGameRun.AddFixedMessage((int)FixedMsg.FIXMSG_CANNOT_USE_IN_BATTLE); + return false; + } + } + } + if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_TARGETITEM) { EC_IvtrTargetItem pTargetItem = pItem as EC_IvtrTargetItem; @@ -7197,7 +7317,6 @@ namespace BrewMonster return false; var essence = pTargetItem.GetDBEssence(); - if(!pTargetItem.IsEssenceLoaded()) return false; @@ -7208,7 +7327,7 @@ namespace BrewMonster return false; } - if (pTargetItem.GetDBEssence().use_in_sanctuary_only != 0 && !IsInSanctuary()) + if (essence.use_in_sanctuary_only != 0 && !IsInSanctuary()) { if (showMsg) pGameRun.AddFixedMessage((int)FixedMsg.FIXMSG_USE_IN_SANCTUARY_ONLY); @@ -7349,6 +7468,29 @@ namespace BrewMonster } } } + else if(pSkill.GetType() == (int)CECSkill.SkillType.TYPE_BLESSPET) + { + // TODO: Implement pet blessing when pet system is available + //CECSCPet pPet = EC_Game.GetGameRun().GetWorld().GetNPCMan().GetPetByID(m_idSelTarget); + //if (pPet == null || pPet.GetMasterID() == GetCharacterID()) + //{ + // CECPetData pPetData = m_pPetCorral.GetActivePet(); + // if (pPetData == null || + // pPetData.GetClass() != GP_PET_TYPE.GP_PET_CLASS_COMBAT && + // pPetData.GetClass() != GP_PET_TYPE.GP_PET_CLASS_SUMMON && + // pPetData.GetClass() != GP_PET_TYPE.GP_PET_CLASS_EVOLUTION) + // return false; + + // idCastTarget = m_pPetCorral.GetActivePetNPCID(); + //} + //if (pPet != null && !pPet.CanBeAttacked()) + // return false; + } + else + { + if(iTargetType != 0 && idCastTarget == 0) + return false; + } if (iTargetType != 0) { @@ -7359,7 +7501,7 @@ namespace BrewMonster iTargetType = 2; CECObject pObject = EC_ManMessageMono.Instance.GetObject(idCastTarget, iAliveFlag); - if(pObject == null) + if (pObject == null) return false; } @@ -7371,9 +7513,8 @@ namespace BrewMonster if (!pSkill.IsInstant() && pSkill.GetType() != (int)CECSkill.SkillType.TYPE_FLASHMOVE) { - // TODO: Implement NaturallyStopMoving - //if (!NaturallyStopMoving()) - // return false; + if (!NaturallyStopMoving()) + return false; } else if (pSkill.GetType() == (int)CECSkill.SkillType.TYPE_FLASHMOVE) { @@ -7436,6 +7577,13 @@ namespace BrewMonster return false; } + if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_DYNSKILLEQUIP) + { + int iSameIDPos = m_pEquipPack.FindItem(pItem.GetTemplateID()); + if (iSameIDPos >= 0) + iDst = iSameIDPos; + } + if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_ARROW || pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_DYNSKILLEQUIP) { @@ -7444,6 +7592,7 @@ namespace BrewMonster UnityGameSession.RequestEquipItemAsync((byte)iSlot, (byte)iDst, null); else { + // TODO: Implement c2s_CmdMoveItemToEquip when needed //UnityGameSession.c2s_CmdMoveItemToEquip((byte)iSlot, (byte)iDst); } } @@ -7451,7 +7600,12 @@ namespace BrewMonster { if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_GENERALCARD) { - //TODO: Add general card equip request + // TODO: Implement general card equip when available + EC_IvtrGeneralCard pCard = pItem as EC_IvtrGeneralCard; + if (pCard != null) + { + iDst = InventoryConst.EQUIPIVTR_GENERALCARD1 + pCard.GetEssence().type; + } } UnityGameSession.RequestEquipItemAsync((byte)iSlot, (byte)iDst, null); } @@ -7513,19 +7667,21 @@ namespace BrewMonster float fDist = 0, fTargetRag = 0; CECObject pObject = null; - //if (CalcDist(m_idSelTarget, ref fDist, ref pObject)) - //{ - // return false; - //} + if (!CalcDist(m_idSelTarget, out fDist, out pObject)) + { + return false; + } if (GPDataTypeHelper.ISNPCID(m_idSelTarget)) { + pObject = EC_ManMessageMono.Instance.CECNPCMan.GetNPC(m_idSelTarget); CECNPC pNPC = pObject as CECNPC; if (pNPC != null) fTargetRag = pNPC.GetTouchRadius(); } else if (GPDataTypeHelper.ISPLAYERID(m_idSelTarget)) { + pObject = EC_ManMessageMono.Instance.GetECManPlayer.GetElsePlayer(m_idSelTarget); EC_ElsePlayer pPlayer = pObject as EC_ElsePlayer; if(pPlayer != null) fTargetRag = pPlayer.GetTouchRadius(); @@ -7556,6 +7712,7 @@ namespace BrewMonster if (showMsg) { CECGameUIMan pGameUI = pGameRun.GetUIManager().GetInGameUIMan(); + //pGameUI.MessageBox("", pGameUI.GetStringFromTable(828), MB_OK, new Color32(1, 1, 1, 0.6)); } return false; } @@ -7639,55 +7796,86 @@ namespace BrewMonster /// Output distance / 杈撳嚭璺濈 /// Output object reference (optional) / 杈撳嚭瀵硅薄寮曠敤锛堝彲閫夛級 /// True if calculation succeeded / 璁$畻鎴愬姛杩斿洖true - //public bool CalcDist(int idObject, ref float pfDist, out CECObject ppObject) - //{ - // ppObject = null; + public bool CalcDist(int idObject, out float pfDist, out CECObject ppObject) + { + pfDist = 0.0f; + ppObject = null; - // if (idObject == 0 || idObject == m_PlayerInfo.cid) - // return false; + if (idObject == 0 || idObject == m_PlayerInfo.cid) + return false; - // CECObject pObject = CECGameRun.Instance.GetWorld()?.GetObject(idObject, 1); - // if (pObject == null) - // return false; + CECWorld pWorld = CECGameRun.Instance.GetWorld(); + if (pWorld == null) + return false; - // ppObject = pObject; - // float fDist = 0.0f; + CECObject pObject = pWorld.GetObject(idObject, 1); + if(ppObject == null) + return false; - // if (ISNPCID(idObject)) - // { - // CECNPC pNPC = (CECNPC)pObject; - // fDist = pNPC.CalcDist(GetPos(), true); - // } - // else if (ISPLAYERID(idObject)) - // { - // Debug.Assert(pObject.GetClassID() == CECObject.OCID_ELSEPLAYER); - // EC_ElsePlayer pPlayer = (EC_ElsePlayer)pObject; - // fDist = pPlayer.CalcDist(GetPos(), true); - // } - // else if (ISMATTERID(idObject)) - // { - // Debug.Assert(pObject.GetClassID() == CECObject.OCID_MATTER); - // CECMatter pMatter = (CECMatter)pObject; - // fDist = (pMatter.GetPos() - GetPos()).magnitude; - // } - // else - // return false; + ppObject = pObject; + float fDist = 0.0f; - // pfDist = fDist; - // return true; - //} + if (GPDataTypeHelper.ISNPCID(idObject)) + { + CECNPC pNPC = pObject as CECNPC; + if(pNPC == null) + return false; - //// Helper method overload without object output - //public bool CalcDist(int idObject, ref float pfDist) - //{ - // CECObject pObject; - // return CalcDist(idObject, ref pfDist, out pObject); - //} + fDist = pNPC.CalcDist(GetPos(), true); + } + else if (GPDataTypeHelper.ISPLAYERID(idObject)) + { + Debug.Assert(pObject.GetClassID() == Class_ID.OCID_ELSEPLAYER); + EC_ElsePlayer pPlayer = pObject as EC_ElsePlayer; + if(pPlayer == null) + return false; - //// ID checking helper methods - //private bool ISNPCID(int id) => ((id & 0x80000000) != 0) && ((id & 0x40000000) == 0); - //private bool ISPLAYERID(int id) => id != 0 && (id & 0x80000000) == 0; - //private bool ISMATTERID(int id) => ((id) & 0xC0000000) == 0xC0000000; + fDist = pPlayer.CalcDist(GetPos(), true); + } + else if (GPDataTypeHelper.ISMATTERID(idObject)) + { + Debug.Assert(pObject.GetClassID() == Class_ID.OCID_MATTER); + CECMatter pMatter = pObject as CECMatter; + if(pMatter == null) + return false; + + A3DVECTOR3 vDelta = pMatter.GetPos() - GetPos(); + fDist = A3d_Magnitude(vDelta); + } + else + return false; + + pfDist = fDist; + return true; + } + + public bool CalcDist(int idObject, out float pfDist) + { + CECObject pObject; + return CalcDist(idObject, out pfDist, out pObject); + } + + private bool NaturallyStopMoving() + { + // if(!m_MoveCtrl.IsStop()) + if (!IsPlayerMoving()) + return true; + + if(m_iMoveMode == (int)MoveMode.MOVE_FREEFALL || InSlidingState() || IsJumping()) + return false; + + if (!m_pWorkMan.IsStanding()) + { + m_pWorkMan.FinishAllWork(true); + } + m_MoveCtrl.SendStopMoveCmd(); + return true; + } + + private bool IsPlayerMoving() + { + return m_pWorkMan.IsMoving(); + } } } From b808bda60c99aa4bcc591af71d48375442564709 Mon Sep 17 00:00:00 2001 From: NguyenVanDat Date: Mon, 2 Feb 2026 15:22:15 +0700 Subject: [PATCH 15/20] fix embed stone --- .../PerfectWorld/Prefab/UI/MessageBox.prefab | 14 ++++----- .../UI/DialogScriptTableObject.asset | 2 ++ .../Scripts/UI/Dialogs/DlgInstall.cs | 31 +++++++------------ .../PerfectWorld/Scripts/UI/Dialogs/DlgNPC.cs | 5 --- Assets/Prefabs/UI/DlgInstall.prefab | 2 +- 5 files changed, 22 insertions(+), 32 deletions(-) diff --git a/Assets/PerfectWorld/Prefab/UI/MessageBox.prefab b/Assets/PerfectWorld/Prefab/UI/MessageBox.prefab index c68a796b79..3d3caedc34 100644 --- a/Assets/PerfectWorld/Prefab/UI/MessageBox.prefab +++ b/Assets/PerfectWorld/Prefab/UI/MessageBox.prefab @@ -425,10 +425,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 8578995796031649400} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 3} - m_SizeDelta: {x: 200, y: 50} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 50} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &655909173274991632 CanvasRenderer: @@ -487,10 +487,10 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 36 + m_fontSize: 44.75 m_fontSizeBase: 36 m_fontWeight: 400 - m_enableAutoSizing: 0 + m_enableAutoSizing: 1 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 @@ -570,7 +570,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 30.6318} - m_SizeDelta: {x: 434.6896, y: 248.9211} + m_SizeDelta: {x: 1067.9689, y: 248.9211} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2243330050876855902 CanvasRenderer: diff --git a/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset b/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset index 3a56aa4ebf..393710000b 100644 --- a/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset +++ b/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset @@ -39,3 +39,5 @@ MonoBehaviour: prefab: {fileID: 6310702841431484757, guid: 6620f766cee7c8f4cb00dd457ac77675, type: 3} - id: Win_ArrangeTeam prefab: {fileID: 2452003196178065293, guid: 5a3e828efd5c542469d1f17565205ded, type: 3} + - id: DlgMessageBox + prefab: {fileID: 5492547392745930423, guid: 54cccb2c6a758a24183474cd385ccb2c, type: 3} diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgInstall.cs b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgInstall.cs index b42dd8c65f..363c0dce18 100644 --- a/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgInstall.cs +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgInstall.cs @@ -56,6 +56,7 @@ namespace BrewMonster //todo need to set from other class // SetName("Win_Enchase"); m_BtnMerge.onClick.AddListener(OnClickedMerge); + m_BtnCancel.onClick.AddListener(OnClickedCancel); m_install_price = -1; } @@ -63,11 +64,7 @@ namespace BrewMonster { base.OnDisable(); m_BtnMerge.onClick.RemoveListener(OnClickedMerge); - } - - public void OpenInstall(uint npcId) - { - + m_BtnCancel.onClick.RemoveListener(OnClickedCancel); } public void CloseInstall() @@ -227,8 +224,6 @@ namespace BrewMonster SetInventorySlotGray(btn, true); detailedItem.Freeze(true); - - Debug.Log($"[Install] Equipment: {detailedItem.m_tid} from slot {slotIndex}"); } private void OnDropMaterial(PointerEventData eventData) @@ -297,8 +292,6 @@ namespace BrewMonster // a_sprintf(szText, _AL("%d"), nAmount); // m_pTxtGold->SetText(szText); // } - - Debug.Log($"[Install] Material: {detailedItem.m_tid} from slot {slotIndex}"); } private void SetInventorySlotGray(Button btn, bool gray) @@ -348,8 +341,6 @@ namespace BrewMonster m_FirstInvSlot = -1; m_TxtFirstName.text = "___"; ClearSlotIcon(m_SlotFirstParent); - - Debug.Log("[Install] Equipment slot cleared"); } private void ClearMaterialSlot() @@ -358,8 +349,6 @@ namespace BrewMonster m_SecondInvSlot = -1; m_TxtSecondName.text = "___"; ClearSlotIcon(m_SlotSecondlParent); - - Debug.Log("[Install] Material slot cleared"); } private void ClearSlotIcon(Transform slot) @@ -385,7 +374,7 @@ namespace BrewMonster if( nMoney > pHost.GetMoneyAmount() ) { message = GetGameUIMan().GetStringFromTable(226); - Debug.LogError(message); + CECUIManager.Instance.ShowMessageBox("", message); // GetGameUIMan()->MessageBox("", GetGameUIMan().GetStringFromTable(226), MB_OK, // A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); // pMsgBox->SetLife(3); @@ -396,7 +385,7 @@ namespace BrewMonster if( !pIvtrA.IsEquipment() ) { message = GetGameUIMan().GetStringFromTable(223); - Debug.LogError(message); + CECUIManager.Instance.ShowMessageBox("", message); // GetGameUIMan().MessageBox("", GetGameUIMan().GetStringFromTable(223), MB_OK, // A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); // pMsgBox.SetLife(3); @@ -410,7 +399,7 @@ namespace BrewMonster if( pEquipA.GetEmptyHoleNum() <= 0 ) { message = GetGameUIMan().GetStringFromTable(224); - Debug.LogError(message); + CECUIManager.Instance.ShowMessageBox("", message); // GetGameUIMan().MessageBox("", GetGameUIMan()->GetStringFromTable(224), MB_OK, // A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); // pMsgBox.SetLife(3); @@ -421,7 +410,7 @@ namespace BrewMonster if(pIvtrB == null || !pIvtrB.IsEmbeddable() ) { message = GetGameUIMan().GetStringFromTable(225); - Debug.LogError(message); + CECUIManager.Instance.ShowMessageBox("", message); // GetGameUIMan().MessageBox("", GetGameUIMan().GetStringFromTable(225), MB_OK, // A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); // pMsgBox.SetLife(3); @@ -449,7 +438,7 @@ namespace BrewMonster if( nStoneLevel > nEquipLevel ) { message = GetGameUIMan().GetStringFromTable(300); - Debug.LogError(message); + CECUIManager.Instance.ShowMessageBox("", message); // GetGameUIMan().MessageBox("", GetGameUIMan().GetStringFromTable(300), MB_OK, // A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); // pMsgBox.SetLife(3); @@ -464,7 +453,7 @@ namespace BrewMonster pHost.GetPack(InventoryConst.IVTRTYPE_PACK).UnfreezeAllItems(); message = GetGameUIMan().GetStringFromTable(228); - Debug.LogError(message); + CECUIManager.Instance.ShowMessageBox("", message); // GetGameUIMan().MessageBox("", GetGameUIMan().GetStringFromTable(228), // MB_OK, A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); // pMsgBox.SetLife(3); @@ -484,5 +473,9 @@ namespace BrewMonster // MB_OKCANCEL, A3DCOLORRGBA(255, 255, 255, 160)); // } } + private void OnClickedCancel() + { + Show(false); + } } } \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgNPC.cs b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgNPC.cs index a546e83502..79d9d1914e 100644 --- a/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgNPC.cs +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgNPC.cs @@ -3422,11 +3422,6 @@ namespace BrewMonster.UI } } } - - if(dlgInstall != null) - { - dlgInstall.OpenInstall(npcID); - } } //pShow1 = m_pAUIManager.GetDialog("Win_Enchase"); //pShow2 = m_pAUIManager.GetDialog("Win_Inventory"); diff --git a/Assets/Prefabs/UI/DlgInstall.prefab b/Assets/Prefabs/UI/DlgInstall.prefab index bed021b314..a8f3fce4f0 100644 --- a/Assets/Prefabs/UI/DlgInstall.prefab +++ b/Assets/Prefabs/UI/DlgInstall.prefab @@ -1660,7 +1660,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: 10000000000000 + m_text: 0 m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} From fef0ef492188caaff77d557570d0588f0ce67561 Mon Sep 17 00:00:00 2001 From: NguyenVanDat Date: Mon, 2 Feb 2026 15:31:03 +0700 Subject: [PATCH 16/20] update logic show Install Dialogue --- .../Scripts/UI/Dialogs/DlgInstall.cs | 2 +- .../PerfectWorld/Scripts/UI/Dialogs/DlgNPC.cs | 19 +++---------------- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgInstall.cs b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgInstall.cs index 363c0dce18..f45efd4a3e 100644 --- a/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgInstall.cs +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgInstall.cs @@ -375,7 +375,7 @@ namespace BrewMonster { message = GetGameUIMan().GetStringFromTable(226); CECUIManager.Instance.ShowMessageBox("", message); - // GetGameUIMan()->MessageBox("", GetGameUIMan().GetStringFromTable(226), MB_OK, + // GetGameUIMan().GetDialog("") // A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); // pMsgBox->SetLife(3); return; diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgNPC.cs b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgNPC.cs index 79d9d1914e..ab8369e45a 100644 --- a/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgNPC.cs +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgNPC.cs @@ -3406,22 +3406,9 @@ namespace BrewMonster.UI if (pCurNPCEssence.HasValue) { uint npcID = pCurNPCEssence.Value.id; - DlgInstall dlgInstall = FindFirstObjectByType(); - if (dlgInstall == null) - { - CECGameUIMan gameUIMan = GetGameUIMan(); - DialogScriptTableObject dialogResource = gameUIMan.GetDialogResource(); - Canvas canvas = gameUIMan.GetCanvas(); - - if(dialogResource != null && canvas != null) - { - GameObject ob = dialogResource.GetPrefabDialog("Win_Enchase"); - if (ob != null) - { - dlgInstall = GameObject.Instantiate(ob, canvas.transform).GetComponent(); - } - } - } + + var dlgInstall =GetGameUIMan().GetDialog("Win_Enchase"); + dlgInstall.Show(true); } //pShow1 = m_pAUIManager.GetDialog("Win_Enchase"); //pShow2 = m_pAUIManager.GetDialog("Win_Inventory"); From f23d7126a75fedcc21dcb2b5b9ac2b06b7e93b4b Mon Sep 17 00:00:00 2001 From: VuNgocHaiC7 Date: Mon, 2 Feb 2026 16:19:02 +0700 Subject: [PATCH 17/20] fix CECHostPlayer --- Assets/Scripts/CECHostPlayer.cs | 289 ++++++++++++++++++++++++-------- 1 file changed, 221 insertions(+), 68 deletions(-) diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index 0921735cee..75dec47122 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -802,19 +802,26 @@ namespace BrewMonster if (pCmd.cooldown_index == (int)CoolTimeIndex.GP_CT_CAST_ELF_SKILL) { int i; - // other goblin skills should be set public cool down, 1 second - /* for (i = 0; i < m_aGoblinSkills.GetSize(); i++) - { - if (m_aGoblinSkills[i] && m_aGoblinSkills[i]->GetCoolingCnt() == 0) - m_aGoblinSkills[i]->StartCooling(GetCoolTime(GP_CT_CAST_ELF_SKILL), GetCoolTime(GP_CT_CAST_ELF_SKILL)); - }*/ + for (i = 0; i < m_aGoblinSkills.Count; i++) + { + if (m_aGoblinSkills[i] != null && m_aGoblinSkills[i].GetCoolingCnt() == 0) + { + int fakeRef = 0; + int coolTime = GetCoolTime((int)CoolTimeIndex.GP_CT_CAST_ELF_SKILL, out fakeRef); + m_aGoblinSkills[i].StartCooling(coolTime, coolTime); + } + } - /* for (i = 0; i < m_aPsSkills.Count; i++) - { - CECSkill pSkill = GetPassiveSkillByIndex(i); - if (pSkill && (pSkill->GetCommonCoolDown() & (1 << (pCmd->cooldown_index - GP_CT_SKILLCOMMONCOOLDOWN0)))) - pSkill->StartCooling(GetCoolTime(pCmd->cooldown_index), GetCoolTime(pCmd->cooldown_index)); - }*/ + for (i = 0; i < m_aPsSkills.Count; i++) + { + CECSkill pSkill = GetPassiveSkillByIndex(i); + if (pSkill != null && (pSkill.GetCommonCoolDown() & (1 << (pCmd.cooldown_index - (int)CoolTimeIndex.GP_CT_SKILLCOMMONCOOLDOWN0))) != 0) + { + int fakeRef = 0; + int coolTime = GetCoolTime(pCmd.cooldown_time, out fakeRef); + pSkill.StartCooling(coolTime, coolTime); + } + } } if (pCmd.cooldown_index >= (int)CoolTimeIndex.GP_CT_SKILLCOMMONCOOLDOWN0 && pCmd.cooldown_index <= (int)CoolTimeIndex.GP_CT_SKILLCOMMONCOOLDOWN4) @@ -826,7 +833,11 @@ namespace BrewMonster CECSkill pSkill = GetPositiveSkillByIndex(i); int fakeRef = 0; if (pSkill != null && (pSkill.GetCommonCoolDown() & mask) != 0) - pSkill.StartCooling(GetCoolTime(pCmd.cooldown_index, out fakeRef), GetCoolTime(pCmd.cooldown_index, out fakeRef)); + { + int coolTime = GetCoolTime(pCmd.cooldown_index, out fakeRef); + pSkill.StartCooling(coolTime, coolTime); + //pSkill.StartCooling(GetCoolTime(pCmd.cooldown_index, out fakeRef), GetCoolTime(pCmd.cooldown_index, out fakeRef)); + } } /*const std::map&inherentSkillMap = CECComboSkillState::Instance().GetInherentSkillMap(); std::map < unsigned int, CECSkill*>::const_iterator it; @@ -849,7 +860,9 @@ namespace BrewMonster } ct.iCurTime = pCmd.cooldown_time; ct.iMaxTime = pCmd.cooldown_time; - Math.Clamp(ct.iCurTime, 0, ct.iMaxTime); + ct.iCurTime = Math.Clamp(ct.iCurTime, 0, ct.iMaxTime); + m_skillCoolTime[idSkill] = ct; + //Math.Clamp(ct.iCurTime, 0, ct.iMaxTime); CECSkill pSkill = GetNormalSkill(idSkill); if (pSkill != null) @@ -864,6 +877,18 @@ namespace BrewMonster { BMLogger.LogError("HoangDev: pSkill " + pSkill); } + else + { + pSkill = CECComboSkillState.Instance.GetInherentSkillByID((uint)idSkill); + if (pSkill != null) + { + pSkill.StartCooling(pCmd.cooldown_time, pCmd.cooldown_time); + } + else if (GetEquipSkillByID(idSkill) == null) + { + Debug.LogWarning($"OnMsgHstSetCoolTime: Skill {idSkill} not found in nomal/equip skills"); + } + } } else { @@ -874,6 +899,11 @@ namespace BrewMonster UpdateEquipSkillCoolDown(pCmd.cooldown_index); } + private CECSkill GetPassiveSkillByIndex(int n) + { + return m_aPsSkills[n]; + } + private void OnMsgHstCoolTimeData(ECMSG Msg) { cmd_cooltime_data pCmd = default; @@ -7493,16 +7523,97 @@ namespace BrewMonster CECGameRun pGameRun = EC_Game.GetGameRun(); //CECGameSession pSession = g_pGame.GetGameSession(); + if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_FIREWORK) + { + if (GetProfession() == (int)PROFESSION.PROF_GHOST && IsInvisible()) + { + if (showMsg) + pGameRun.AddFixedMessage((int)FixedMsg.FIXMSG_CANNOT_USE_WHEN_INVISIBLE); + return false; + } + } + + if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_INCSKILLABILITY) + { + EC_IvtrIncSkillAbility pIncSkill = pItem as EC_IvtrIncSkillAbility; + //if (pIncSkill != null) + //{ + // var pDBEssence = pIncSkill.GetDBEssence(); + // CECSkill pSkill = GetNormalSkill(pDBEssence.id_skill); + // if (pSkill != null) + // { + // if (pSkill.GetSkillLevel() != pDBEssence.level_required) + // { + // if (showMsg) + // pGameRun.AddFixedMessage((int)FixedMsg.FIXMSG_PRODUCE_LEVEL_INVALID); + // return false; + // } + // if (GetSkillAbilityPercent(pDBEssence.id_skill) >= 100) + // { + // if (showMsg) + // pGameRun.AddFixedMessage((int)FixedMsg.FIXMSG_PRODUCE_ABILITY_FULL); + // return false; + // } + // } + //} + } + if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_TRANSMITSCROLL) { CECGameUIMan pGameUI = pGameRun.GetUIManager().GetInGameUIMan(); if (pGameUI != null && !IsFighting()) { // TODO: Implement travel map dialog + //CDlgWorldMap* pMap = (CDlgWorldMap*)pGameUI->GetDialog("Win_WorldMapTravel"); + //pMap->BuildTravelMap(DT_TRANSMITSCROLL_ESSENCE, (void*)iSlot); + //pMap->Show(true); } return true; } + if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_SHOPTOKEN) + { + CECGameUIMan pGameUI = pGameRun.GetUIManager().GetInGameUIMan(); + if (pGameUI != null && !IsFighting()) + { + //CDlgTokenShop* pDlg = dynamic_cast(pGameUI->GetDialog("Win_TokenShop")); + //if (pDlg) + //{ + // pDlg->InitTokenShopItem(pItem->GetTemplateID()); + // pDlg->Show(!pDlg->IsShow()); + //} + } + return true; + } + + if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_UNIVERSAL_TOKEN) + { + // TODO: Implement universal token when available + EC_IvtrUniversalToken pUniversalToken = pItem as EC_IvtrUniversalToken; + //if (pUniversalToken != null && pUniversalToken.HasAnyUsage()) + //{ + // CECUseUniversalTokenCommandManager.Instance.Use(pUniversalToken, pUniversalToken.UsageIndexAt(0)); + // return true; + //} + } + + if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_TASKDICE) + { + EC_IvtrTaskDice pTaskDice = pItem as EC_IvtrTaskDice; + if (pTaskDice != null) + { + if (pTaskDice != null) + { + if (IsFlying() && pTaskDice.GetDBEssence().no_use_in_combat == 1) + { + if(showMsg) + pGameRun.AddFixedMessage((int)FixedMsg.FIXMSG_CANNOT_USE_IN_BATTLE); + return false; + } + } + } + } + if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_TARGETITEM) { EC_IvtrTargetItem pTargetItem = pItem as EC_IvtrTargetItem; @@ -7521,7 +7632,7 @@ namespace BrewMonster return false; } - if (pTargetItem.GetDBEssence().use_in_sanctuary_only != 0 && !IsInSanctuary()) + if (essence.use_in_sanctuary_only != 0 && !IsInSanctuary()) { if (showMsg) pGameRun.AddFixedMessage((int)FixedMsg.FIXMSG_USE_IN_SANCTUARY_ONLY); @@ -7662,6 +7773,24 @@ namespace BrewMonster } } } + else if(pSkill.GetType() == (int)CECSkill.SkillType.TYPE_BLESS) + { + // TODO: Implement pet blessing when petsystem is available + //CECSCPet pPet = EC_Game.GetGameRun().GetWorld().GetPetByID(m_idSelTarget); + //if (pPet == null || pPet.GetMasterID() == GetCharacterID()) + //{ + // CECPetData pPetData = m_pPetCorral.GetActivePet(); + // if (pPetData == null || + // pPetData.GetClass() != GP_PET_TYPE.GP_PET_CLASS_COMBAT && + // pPetData.GetClass() != GP_PET_TYPE.GP_PET_CLASS_SUMMON && + // pPetData.GetClass() != GP_PET_TYPE.GP_PET_CLASS_EVOLUTION) + // return false; + + // idCastTarget = m_pPetCorral.GetActivePetNPCID(); + //} + //if(iTargetType != 0 && idCastTarget == 0) + // return false; + } if (iTargetType != 0) { @@ -7684,9 +7813,8 @@ namespace BrewMonster if (!pSkill.IsInstant() && pSkill.GetType() != (int)CECSkill.SkillType.TYPE_FLASHMOVE) { - // TODO: Implement NaturallyStopMoving - //if (!NaturallyStopMoving()) - // return false; + if (!NaturallyStopMoving()) + return false; } else if (pSkill.GetType() == (int)CECSkill.SkillType.TYPE_FLASHMOVE) { @@ -7749,6 +7877,16 @@ namespace BrewMonster return false; } + if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_DYNSKILLEQUIP) + { + int iSameIDPos = m_pEquipPack.FindItem(pItem.GetTemplateID()); + if (iSameIDPos >= 0) + { + iDst = iSameIDPos; + } + + } + if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_ARROW || pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_DYNSKILLEQUIP) { @@ -7757,6 +7895,7 @@ namespace BrewMonster UnityGameSession.RequestEquipItemAsync((byte)iSlot, (byte)iDst, null); else { + // TODO: Implement c2s_CmdMoveItemToEquip when available //UnityGameSession.c2s_CmdMoveItemToEquip((byte)iSlot, (byte)iDst); } } @@ -7765,6 +7904,11 @@ namespace BrewMonster if (pItem.GetClassID() == (int)EC_IvtrItem.InventoryClassId.ICID_GENERALCARD) { //TODO: Add general card equip request + EC_IvtrGeneralCard pCard = pItem as EC_IvtrGeneralCard; + if (pCard != null) + { + iDst = InventoryConst.EQUIPIVTR_GENERALCARD1 + pCard.GetEssence().type; + } } UnityGameSession.RequestEquipItemAsync((byte)iSlot, (byte)iDst, null); } @@ -7826,19 +7970,21 @@ namespace BrewMonster float fDist = 0, fTargetRag = 0; CECObject pObject = null; - //if (CalcDist(m_idSelTarget, ref fDist, ref pObject)) - //{ - // return false; - //} + if (CalcDist(m_idSelTarget, out fDist, out pObject)) + { + return false; + } if (GPDataTypeHelper.ISNPCID(m_idSelTarget)) { + pObject = EC_ManMessageMono.Instance.CECNPCMan.GetNPC(m_idSelTarget); CECNPC pNPC = pObject as CECNPC; if (pNPC != null) fTargetRag = pNPC.GetTouchRadius(); } else if (GPDataTypeHelper.ISPLAYERID(m_idSelTarget)) { + pObject = EC_ManMessageMono.Instance.GetECManPlayer.GetElsePlayer(m_idSelTarget); EC_ElsePlayer pPlayer = pObject as EC_ElsePlayer; if (pPlayer != null) fTargetRag = pPlayer.GetTouchRadius(); @@ -7869,6 +8015,7 @@ namespace BrewMonster if (showMsg) { CECGameUIMan pGameUI = pGameRun.GetUIManager().GetInGameUIMan(); + //pGameUI.MessageBox("", pGameUI.GetStringFromTable(828), MB_OK, new Color32(1, 1, 1, 0.6)); } return false; } @@ -7944,58 +8091,64 @@ namespace BrewMonster } } - /// - /// Calculate distance to an object and optionally retrieve the object reference - /// 璁$畻鍒板璞$殑璺濈锛屽苟鍙夊湴鑾峰彇瀵硅薄寮曠敤 - /// - /// Target object ID / 鐩爣瀵硅薄ID - /// Output distance / 杈撳嚭璺濈 - /// Output object reference (optional) / 杈撳嚭瀵硅薄寮曠敤锛堝彲閫夛級 - /// True if calculation succeeded / 璁$畻鎴愬姛杩斿洖true - //public bool CalcDist(int idObject, ref float pfDist, out CECObject ppObject) - //{ - // ppObject = null; + // + // Calculate distance to an object and optionally retrieve the object reference + // 璁$畻鍒板璞$殑璺濈锛屽苟鍙夊湴鑾峰彇瀵硅薄寮曠敤 + // + // Target object ID / 鐩爣瀵硅薄ID + // Output distance / 杈撳嚭璺濈 + // Output object reference (optional) / 杈撳嚭瀵硅薄寮曠敤锛堝彲閫夛級 + // True if calculation succeeded / 璁$畻鎴愬姛杩斿洖true + public bool CalcDist(int idObject, out float pfDist, out CECObject ppObject) + { + pfDist = 0.0f; + ppObject = null; - // if (idObject == 0 || idObject == m_PlayerInfo.cid) - // return false; + if (idObject == 0 || idObject == m_PlayerInfo.cid) + return false; - // CECObject pObject = CECGameRun.Instance.GetWorld()?.GetObject(idObject, 1); - // if (pObject == null) - // return false; + CECWorld pWorld = CECGameRun.Instance.GetWorld(); + if(pWorld == null) + return false; - // ppObject = pObject; - // float fDist = 0.0f; + CECObject pObject = pWorld.GetObject(idObject, 1); + if(ppObject == null) + return false; - // if (ISNPCID(idObject)) - // { - // CECNPC pNPC = (CECNPC)pObject; - // fDist = pNPC.CalcDist(GetPos(), true); - // } - // else if (ISPLAYERID(idObject)) - // { - // Debug.Assert(pObject.GetClassID() == CECObject.OCID_ELSEPLAYER); - // EC_ElsePlayer pPlayer = (EC_ElsePlayer)pObject; - // fDist = pPlayer.CalcDist(GetPos(), true); - // } - // else if (ISMATTERID(idObject)) - // { - // Debug.Assert(pObject.GetClassID() == CECObject.OCID_MATTER); - // CECMatter pMatter = (CECMatter)pObject; - // fDist = (pMatter.GetPos() - GetPos()).magnitude; - // } - // else - // return false; + ppObject = pObject; + float fDist = 0.0f; - // pfDist = fDist; - // return true; - //} + if (GPDataTypeHelper.ISNPCID(idObject)) + { + CECNPC pNPC = pObject as CECNPC; + if (pNPC == null) + return false; + fDist = pNPC.CalcDist(GetPos(), true); + } + else if (GPDataTypeHelper.ISMATTERID(idObject)) + { + Debug.Assert(pObject.GetClassID() == Class_ID.OCID_MATTER); + CECMatter pMatter = pObject as CECMatter; + if (pMatter == null) + return false; + A3DVECTOR3 vDelta = pMatter.GetPos() - GetPos(); + fDist = A3d_Magnitude(vDelta); + } + else + { + return false; + } - //// Helper method overload without object output - //public bool CalcDist(int idObject, ref float pfDist) - //{ - // CECObject pObject; - // return CalcDist(idObject, ref pfDist, out pObject); - //} + pfDist = fDist; + return true; + } + + // Helper method overload without object output + public bool CalcDist(int idObject, out float pfDist) + { + CECObject pObject; + return CalcDist(idObject, out pfDist, out pObject); + } //// ID checking helper methods //private bool ISNPCID(int id) => ((id & 0x80000000) != 0) && ((id & 0x40000000) == 0); From a33ef33062258ef2eba0555ee3a679ec3014a422 Mon Sep 17 00:00:00 2001 From: NguyenVanDat Date: Mon, 2 Feb 2026 17:59:33 +0700 Subject: [PATCH 18/20] update box message --- .../PerfectWorld/Prefab/UI/MessageBox.prefab | 352 +++++++++++++++++- .../PerfectWorld/Scripts/UI/CDlgMessageBox.cs | 63 +++- Assets/Scripts/CECUIManager.cs | 27 +- 3 files changed, 420 insertions(+), 22 deletions(-) diff --git a/Assets/PerfectWorld/Prefab/UI/MessageBox.prefab b/Assets/PerfectWorld/Prefab/UI/MessageBox.prefab index 3d3caedc34..4c624559eb 100644 --- a/Assets/PerfectWorld/Prefab/UI/MessageBox.prefab +++ b/Assets/PerfectWorld/Prefab/UI/MessageBox.prefab @@ -1,5 +1,126 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &99051929539797809 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4915293664251870536} + - component: {fileID: 7416811990837147698} + - component: {fileID: 6809282891346298764} + - component: {fileID: 7010901635634620631} + m_Layer: 5 + m_Name: ButtonNo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4915293664251870536 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 99051929539797809} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2385775756193422540} + m_Father: {fileID: 2782318616460798463} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 205.9258, y: 56.2433} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7416811990837147698 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 99051929539797809} + m_CullTransparentMesh: 1 +--- !u!114 &6809282891346298764 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 99051929539797809} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.14578143, g: 0.7924528, b: 0.1864423, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &7010901635634620631 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 99051929539797809} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 6809282891346298764} + m_OnClick: + m_PersistentCalls: + m_Calls: [] --- !u!1 &1448650841350251410 GameObject: m_ObjectHideFlags: 0 @@ -168,10 +289,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 7906706137011413807} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: -81} - m_SizeDelta: {x: 200, y: 50} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &5808684862484431307 CanvasRenderer: @@ -201,7 +322,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: OK + m_text: "\u0110\u1ED3ng \xDD(Y)" m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} @@ -228,10 +349,10 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 36 + m_fontSize: 44.25 m_fontSizeBase: 36 m_fontWeight: 400 - m_enableAutoSizing: 0 + m_enableAutoSizing: 1 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 @@ -272,6 +393,70 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &4140524140714306011 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2782318616460798463} + - component: {fileID: 6567280976245013390} + m_Layer: 5 + m_Name: Buttons + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2782318616460798463 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4140524140714306011} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4915293664251870536} + - {fileID: 7906706137011413807} + m_Father: {fileID: 8578995796031649400} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 41.609} + m_SizeDelta: {x: 0, y: 83.217} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &6567280976245013390 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4140524140714306011} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 11.43 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &4839074738306786208 GameObject: m_ObjectHideFlags: 0 @@ -285,7 +470,7 @@ GameObject: - component: {fileID: 8250962023850685786} - component: {fileID: 7766051278568089760} m_Layer: 5 - m_Name: ButtonExit + m_Name: ButtonOk m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -298,18 +483,18 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4839074738306786208} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 7677644201189461152} - m_Father: {fileID: 8578995796031649400} + m_Father: {fileID: 2782318616460798463} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 160, y: 30} + m_SizeDelta: {x: 205.9258, y: 56.2433} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8280971203118505009 CanvasRenderer: @@ -332,7 +517,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Color: {r: 0.14578143, g: 0.7924528, b: 0.1864423, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 @@ -562,9 +747,9 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 7906706137011413807} - {fileID: 1931146730219979515} - {fileID: 6428994832978992641} + - {fileID: 2782318616460798463} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} @@ -625,3 +810,140 @@ MonoBehaviour: titleText: {fileID: 5031655611580643013} messageText: {fileID: 7448521238108099750} okButton: {fileID: 7766051278568089760} + _noButton: {fileID: 7010901635634620631} +--- !u!1 &5664175764923475105 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2385775756193422540} + - component: {fileID: 8838082653881325633} + - component: {fileID: 438315464709753381} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2385775756193422540 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5664175764923475105} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4915293664251870536} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8838082653881325633 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5664175764923475105} + m_CullTransparentMesh: 1 +--- !u!114 &438315464709753381 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5664175764923475105} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "H\u1EE7y(N)" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 50.3 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} diff --git a/Assets/PerfectWorld/Scripts/UI/CDlgMessageBox.cs b/Assets/PerfectWorld/Scripts/UI/CDlgMessageBox.cs index 488f82b625..3e53f72414 100644 --- a/Assets/PerfectWorld/Scripts/UI/CDlgMessageBox.cs +++ b/Assets/PerfectWorld/Scripts/UI/CDlgMessageBox.cs @@ -1,28 +1,79 @@ -锘縰sing BrewMonster.UI; +锘縰sing System; +using BrewMonster.UI; using UnityEngine; using static CECUIManager; namespace BrewMonster { + public enum MessageBoxType + { + YesButton, + NoButton, + BothYesNoButton, + } + public struct MessageBoxData + { + public string Title; + public string Message; + public MessageBoxType MessageBoxType; + public Action OnClickedYes; + public Action OnClickedNo; + } public class CDlgMessageBox : AUIDialog { [SerializeField] private TMPro.TextMeshProUGUI titleText; [SerializeField] private TMPro.TextMeshProUGUI messageText; [SerializeField] private UnityEngine.UI.Button okButton; - private void Awake() + [SerializeField] private UnityEngine.UI.Button _noButton; + + private MessageBoxData _messageData; + + public override void OnEnable() { - okButton.onClick.RemoveAllListeners(); + base.OnEnable(); okButton.onClick.AddListener(OnOkClicked); + _noButton.onClick.AddListener(OnNoClicked); } + + public override void OnDisable() + { + okButton.onClick.RemoveListener(OnOkClicked); + _noButton.onClick.RemoveListener(OnNoClicked); + } + private void OnOkClicked() { EventBus.Publish(new MessageBoxEvent(1,this)); + _messageData.OnClickedYes?.Invoke(); Show(false); } - public void ShowMessageBox(string title, string message) + private void OnNoClicked() { - SetName(title); - messageText.text = message; + EventBus.Publish(new MessageBoxEvent(0,this)); + _messageData.OnClickedNo?.Invoke(); + Show(false); + } + public void ShowMessageBox(MessageBoxData messageBoxData) + { + _messageData = messageBoxData; + SetName(messageBoxData.Title); + messageText.text = messageBoxData.Message; + + okButton.gameObject.SetActive(false); + _noButton.gameObject.SetActive(false); + switch (_messageData.MessageBoxType) + { + case MessageBoxType.YesButton: + okButton.gameObject.SetActive(true); + break; + case MessageBoxType.NoButton: + _noButton.gameObject.SetActive(true); + break; + case MessageBoxType.BothYesNoButton: + okButton.gameObject.SetActive(true); + _noButton.gameObject.SetActive(true); + break; + } Show(true); } } diff --git a/Assets/Scripts/CECUIManager.cs b/Assets/Scripts/CECUIManager.cs index 3812ccae20..87799c95de 100644 --- a/Assets/Scripts/CECUIManager.cs +++ b/Assets/Scripts/CECUIManager.cs @@ -4,6 +4,7 @@ using BrewMonster.UI; using CSNetwork; using System; using System.Collections.Generic; +using BrewMonster.Scripts.Managers; using UnityEngine; using UnityEngine.UI; using UnityEngine.UIElements; @@ -108,7 +109,12 @@ public class CECUIManager : MonoSingleton var msgBox = GetInGameUIMan().GetDialog("DlgMessageBox") as CDlgMessageBox; if (msgBox != null) { - msgBox.ShowMessageBox(title, message); + msgBox.ShowMessageBox(new MessageBoxData() + { + Title = title, + Message = message, + MessageBoxType = MessageBoxType.YesButton + }); return msgBox; } else @@ -184,6 +190,25 @@ public class CECUIManager : MonoSingleton } } + else if(string.CompareOrdinal("Game_Disenchase",pDlg.GetName())==0 && DialogBoxCommandIDs.IDOK == iRetVal) + { + // PAUIDIALOG pMsgBox; + var clearEmbeddedChipDlg = GetInGameUIMan().GetDialog("Game_Disenchase"); + // EC_IvtrItem pIvtr = (EC_IvtrItem)m_pDlgUninstall->m_pItema->GetDataPtr("ptr_CECIvtrItem"); + // + // pSession.c2s_CmdNPCSevClearEmbeddedChip( + // (WORD)m_pDlgUninstall->m_pItema->GetData(), pIvtr->GetTemplateID()); + // + // m_pDlgUninstall->Show(false); + // pHost->EndNPCService(); + // m_pCurNPCEssence = NULL; + // m_pDlgInventory->Show(false); + // pHost->GetPack(IVTRTYPE_PACK)->UnfreezeAllItems(); + // + // MessageBox("", GetStringFromTable(228), MB_OK, + // A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); + // pMsgBox->SetLife(3); + } } private bool OnNewMessageBox(int iRetVal) From bca7fd1c6ab98b50902893a53752f8abae8c1949 Mon Sep 17 00:00:00 2001 From: VuNgocHaiC7 Date: Mon, 2 Feb 2026 18:18:01 +0700 Subject: [PATCH 19/20] fix UI DlgInstall.prefab --- .../Scripts/UI/Dialogs/DlgInstall.cs | 62 ++++++++++++++++++- Assets/Prefabs/UI/DlgInstall.prefab | 3 +- Assets/Scripts/CECHostPlayer.cs | 8 +-- 3 files changed, 66 insertions(+), 7 deletions(-) diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgInstall.cs b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgInstall.cs index f45efd4a3e..d76b053eb1 100644 --- a/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgInstall.cs +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgInstall.cs @@ -33,6 +33,7 @@ namespace BrewMonster [SerializeField] private Button m_BtnCancel; [SerializeField] private Sprite khung_item; + [SerializeField] private Transform itemInventoryRoot; private EC_IvtrItem m_SelectedEquip; private EC_IvtrItem m_SelectedMaterial; @@ -50,6 +51,21 @@ namespace BrewMonster RegisterClick(m_SlotSecondlParent, OnClickMaterialSlot); } + public override void Update() + { +#if UNITY_EDITOR || UNITY_STANDALONE + if (Input.GetMouseButtonDown(0)) + { + CheckHidePanel(Input.mousePosition); + } +#else + if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began) + { + CheckHidePanel(Input.GetTouch(0).position); + } +#endif + } + public override void OnEnable() { base.OnEnable(); @@ -214,6 +230,12 @@ namespace BrewMonster else detailedItem.GetDetailDataFromLocal(); + if (m_FirstInvSlot >= 0) + { + var previosBtn = FindInventoryButtonBySlot(m_FirstInvSlot); + SetInventorySlotGray(previosBtn, false); + } + m_SelectedEquip?.Freeze(false); m_SelectedEquip = detailedItem; m_FirstInvSlot = slotIndex; @@ -247,6 +269,12 @@ namespace BrewMonster else detailedItem.GetDetailDataFromLocal(); + if (m_SecondInvSlot >= 0) + { + var previosBtn = FindInventoryButtonBySlot(m_SecondInvSlot); + SetInventorySlotGray(previosBtn, false); + } + m_SelectedMaterial?.Freeze(false); m_SelectedMaterial = detailedItem; m_SelectedMaterial?.Freeze(true); @@ -336,7 +364,6 @@ namespace BrewMonster private void ClearEquipSlot() { m_SelectedEquip?.Freeze(false); - m_SelectedMaterial?.Freeze(false); m_SelectedEquip = null; m_FirstInvSlot = -1; m_TxtFirstName.text = "___"; @@ -345,6 +372,7 @@ namespace BrewMonster private void ClearMaterialSlot() { + m_SelectedMaterial?.Freeze(false); m_SelectedMaterial = null; m_SecondInvSlot = -1; m_TxtSecondName.text = "___"; @@ -477,5 +505,37 @@ namespace BrewMonster { Show(false); } + + public void ResetInstallUI() + { + RestoreInventoryColors(); + + m_SelectedEquip = null; + m_SelectedMaterial = null; + + m_FirstInvSlot = -1; + m_SecondInvSlot = -1; + + m_TxtFirstName.text = "___"; + m_TxtSecondName.text = "___"; + m_TxtMoney.text = "0"; + m_install_price = -1; + + ClearSlotIcon(m_SlotFirstParent); + ClearSlotIcon(m_SlotSecondlParent); + + gameObject.SetActive(false); + } + + private void CheckHidePanel(Vector2 screenPos) + { + if (!RectTransformUtility.RectangleContainsScreenPoint( + itemInventoryRoot as RectTransform, screenPos, + Camera.main)) + { + if(itemInventoryRoot!=null) + itemInventoryRoot.gameObject.SetActive(false); + } + } } } \ No newline at end of file diff --git a/Assets/Prefabs/UI/DlgInstall.prefab b/Assets/Prefabs/UI/DlgInstall.prefab index a8f3fce4f0..04a23593d8 100644 --- a/Assets/Prefabs/UI/DlgInstall.prefab +++ b/Assets/Prefabs/UI/DlgInstall.prefab @@ -10577,6 +10577,7 @@ MonoBehaviour: m_BtnMerge: {fileID: 8208092408021918524} m_BtnCancel: {fileID: 4503836757578509720} khung_item: {fileID: 21300000, guid: a5366f3bce011c046902e39b6bd3a077, type: 3} + itemInventoryRoot: {fileID: 7750009739432212686} --- !u!1 &5641506892578507279 GameObject: m_ObjectHideFlags: 0 @@ -14989,7 +14990,7 @@ MonoBehaviour: m_Calls: - m_Target: {fileID: 2206910701173095729} m_TargetAssemblyTypeName: BrewMonster.DlgInstall, Assembly-CSharp - m_MethodName: CloseInstall + m_MethodName: ResetInstallUI m_Mode: 1 m_Arguments: m_ObjectArgument: {fileID: 0} diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index 75dec47122..14f00ce172 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -8038,14 +8038,12 @@ namespace BrewMonster EC_Inventory pPack = GetPack(pCmd.byPackage); if (pPack == null) { - Debug.LogError("[OnMsgHstUseItem] Pack not found"); return; } EC_IvtrItem pItem = pPack.GetItem(pCmd.bySlot, false); if (pItem == null || pItem.GetTemplateID() != pCmd.item_id) { - Debug.LogError($"[OnMsgHstUseItem] Item mismatch at slot {pCmd.bySlot}"); return; } @@ -8058,12 +8056,12 @@ namespace BrewMonster { if (pPack.GetItem(pCmd.bySlot, false) == null) { - Debug.Log($"[OnMsgHstUseItem] Item {pCmd.item_id} removed from slot {pCmd.bySlot}"); + //Debug.Log($"[OnMsgHstUseItem] Item {pCmd.item_id} removed from slot {pCmd.bySlot}"); } } else { - Debug.LogError($"[OnMsgHstUseItem] Failed to remove item {pCmd.item_id} from slot {pCmd.bySlot}"); + //Debug.LogError($"[OnMsgHstUseItem] Failed to remove item {pCmd.item_id} from slot {pCmd.bySlot}"); } var ui = GameObject.FindFirstObjectByType(); @@ -8074,7 +8072,7 @@ namespace BrewMonster } else { - Debug.LogError("[OnMsgHstUseItem] EC_InventoryUI not found, UI may not update"); + //Debug.LogError("[OnMsgHstUseItem] EC_InventoryUI not found, UI may not update"); } } From 689f8a45b61289c8c6387793f0657bb6b2152024 Mon Sep 17 00:00:00 2001 From: Le Duc Anh Date: Mon, 2 Feb 2026 19:21:45 +0700 Subject: [PATCH 20/20] add Tech3CSDK --- .../PerfectWorld/Scripts/Common/Singleton.cs | 5 + Assets/PerfectWorld/Scripts/Tech3CSDK.meta | 8 + .../Scripts/Tech3CSDK/Tech3CSDKWrapper.cs | 207 ++++++++ .../Tech3CSDK/Tech3CSDKWrapper.cs.meta | 2 + .../Scripts/UI/Login/LoginScreenUI.cs | 61 ++- Assets/Plugins/Android.meta | 8 + Assets/Plugins/Android/AndroidManifest.xml | 26 + .../Plugins/Android/AndroidManifest.xml.meta | 7 + .../baseProjectTemplate.gradle.DISABLED | 13 + .../baseProjectTemplate.gradle.DISABLED.meta | 7 + Assets/Plugins/Android/mainTemplate.gradle | 51 ++ .../Android/mainTemplate.gradle.backup | 47 ++ .../Android/mainTemplate.gradle.backup.meta | 7 + .../Plugins/Android/mainTemplate.gradle.meta | 7 + Assets/Tech3C.meta | 8 + Assets/Tech3C/Plugins.meta | 8 + Assets/Tech3C/Plugins/Android.meta | 8 + .../Plugins/Android/Tech3CUnityBridge.java | 184 +++++++ .../Android/Tech3CUnityBridge.java.meta | 32 ++ Assets/Tech3C/Plugins/Android/auth-1.2.1.aar | Bin 0 -> 5757540 bytes .../Plugins/Android/auth-1.2.1.aar.meta | 2 + .../Tech3C/Plugins/Android/gradle.properties | 2 + .../Plugins/Android/gradle.properties.meta | 7 + .../Plugins/Android/mainTemplate.gradle | 43 ++ .../Plugins/Android/mainTemplate.gradle.meta | 7 + .../Tech3C/Plugins/Android/proguard-user.txt | 30 ++ .../Plugins/Android/proguard-user.txt.meta | 7 + Assets/Tech3C/Runtime.meta | 8 + Assets/Tech3C/Runtime/Tech3CAndroidBridge.cs | 452 +++++++++++++++++ .../Runtime/Tech3CAndroidBridge.cs.meta | 11 + Assets/Tech3C/Runtime/Tech3CCallbacks.cs | 150 ++++++ Assets/Tech3C/Runtime/Tech3CCallbacks.cs.meta | 11 + Assets/Tech3C/Runtime/Tech3CConfig.cs | 114 +++++ Assets/Tech3C/Runtime/Tech3CConfig.cs.meta | 11 + Assets/Tech3C/Runtime/Tech3CEnums.cs | 64 +++ Assets/Tech3C/Runtime/Tech3CEnums.cs.meta | 11 + Assets/Tech3C/Runtime/Tech3CSDK.cs | 473 ++++++++++++++++++ Assets/Tech3C/Runtime/Tech3CSDK.cs.meta | 11 + Assets/Tech3C/Runtime/Tech3CSDKBridge.cs | 332 ++++++++++++ Assets/Tech3C/Runtime/Tech3CSDKBridge.cs.meta | 11 + Assets/Tech3C/Runtime/Tech3CiOSBridge.cs | 147 ++++++ Assets/Tech3C/Runtime/Tech3CiOSBridge.cs.meta | 11 + Assets/Tech3C/Samples.meta | 8 + Assets/Tech3C/Samples/Tech3CSimpleDemo.cs | 473 ++++++++++++++++++ .../Tech3C/Samples/Tech3CSimpleDemo.cs.meta | 11 + 45 files changed, 3092 insertions(+), 11 deletions(-) create mode 100644 Assets/PerfectWorld/Scripts/Tech3CSDK.meta create mode 100644 Assets/PerfectWorld/Scripts/Tech3CSDK/Tech3CSDKWrapper.cs create mode 100644 Assets/PerfectWorld/Scripts/Tech3CSDK/Tech3CSDKWrapper.cs.meta create mode 100644 Assets/Plugins/Android.meta create mode 100644 Assets/Plugins/Android/AndroidManifest.xml create mode 100644 Assets/Plugins/Android/AndroidManifest.xml.meta create mode 100644 Assets/Plugins/Android/baseProjectTemplate.gradle.DISABLED create mode 100644 Assets/Plugins/Android/baseProjectTemplate.gradle.DISABLED.meta create mode 100644 Assets/Plugins/Android/mainTemplate.gradle create mode 100644 Assets/Plugins/Android/mainTemplate.gradle.backup create mode 100644 Assets/Plugins/Android/mainTemplate.gradle.backup.meta create mode 100644 Assets/Plugins/Android/mainTemplate.gradle.meta create mode 100644 Assets/Tech3C.meta create mode 100644 Assets/Tech3C/Plugins.meta create mode 100644 Assets/Tech3C/Plugins/Android.meta create mode 100644 Assets/Tech3C/Plugins/Android/Tech3CUnityBridge.java create mode 100644 Assets/Tech3C/Plugins/Android/Tech3CUnityBridge.java.meta create mode 100644 Assets/Tech3C/Plugins/Android/auth-1.2.1.aar create mode 100644 Assets/Tech3C/Plugins/Android/auth-1.2.1.aar.meta create mode 100644 Assets/Tech3C/Plugins/Android/gradle.properties create mode 100644 Assets/Tech3C/Plugins/Android/gradle.properties.meta create mode 100644 Assets/Tech3C/Plugins/Android/mainTemplate.gradle create mode 100644 Assets/Tech3C/Plugins/Android/mainTemplate.gradle.meta create mode 100644 Assets/Tech3C/Plugins/Android/proguard-user.txt create mode 100644 Assets/Tech3C/Plugins/Android/proguard-user.txt.meta create mode 100644 Assets/Tech3C/Runtime.meta create mode 100644 Assets/Tech3C/Runtime/Tech3CAndroidBridge.cs create mode 100644 Assets/Tech3C/Runtime/Tech3CAndroidBridge.cs.meta create mode 100644 Assets/Tech3C/Runtime/Tech3CCallbacks.cs create mode 100644 Assets/Tech3C/Runtime/Tech3CCallbacks.cs.meta create mode 100644 Assets/Tech3C/Runtime/Tech3CConfig.cs create mode 100644 Assets/Tech3C/Runtime/Tech3CConfig.cs.meta create mode 100644 Assets/Tech3C/Runtime/Tech3CEnums.cs create mode 100644 Assets/Tech3C/Runtime/Tech3CEnums.cs.meta create mode 100644 Assets/Tech3C/Runtime/Tech3CSDK.cs create mode 100644 Assets/Tech3C/Runtime/Tech3CSDK.cs.meta create mode 100644 Assets/Tech3C/Runtime/Tech3CSDKBridge.cs create mode 100644 Assets/Tech3C/Runtime/Tech3CSDKBridge.cs.meta create mode 100644 Assets/Tech3C/Runtime/Tech3CiOSBridge.cs create mode 100644 Assets/Tech3C/Runtime/Tech3CiOSBridge.cs.meta create mode 100644 Assets/Tech3C/Samples.meta create mode 100644 Assets/Tech3C/Samples/Tech3CSimpleDemo.cs create mode 100644 Assets/Tech3C/Samples/Tech3CSimpleDemo.cs.meta diff --git a/Assets/PerfectWorld/Scripts/Common/Singleton.cs b/Assets/PerfectWorld/Scripts/Common/Singleton.cs index 5b16cdb2e1..8a84813091 100644 --- a/Assets/PerfectWorld/Scripts/Common/Singleton.cs +++ b/Assets/PerfectWorld/Scripts/Common/Singleton.cs @@ -17,5 +17,10 @@ namespace BrewMonster if (_instance.IsValueCreated) throw new InvalidOperationException($"Singleton<{typeof(T).Name}> already created!"); } + + protected virtual void Initialize() + { + + } } } diff --git a/Assets/PerfectWorld/Scripts/Tech3CSDK.meta b/Assets/PerfectWorld/Scripts/Tech3CSDK.meta new file mode 100644 index 0000000000..06775562c2 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Tech3CSDK.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9cfabbaaddd233a4a9d4f07a3577d3a2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Scripts/Tech3CSDK/Tech3CSDKWrapper.cs b/Assets/PerfectWorld/Scripts/Tech3CSDK/Tech3CSDKWrapper.cs new file mode 100644 index 0000000000..7b931f18ed --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Tech3CSDK/Tech3CSDKWrapper.cs @@ -0,0 +1,207 @@ +using Tech3C; +using BrewMonster; +using System; +using UnityEngine; + +namespace BrewMonster.Scripts +{ + public enum LOGIN_ERROR_CODE + { + SUCCESS = 0, + CANCELLED = -1 + } + + public class Tech3CSDKWrapper : Singleton + { + public string clientId = ""; + public string clientSecret = ""; + + private AuthCallback authCallback; + private LogoutCallback logoutCallback; + + /// + /// After Tech3C SDK returns result, this callback will be called.
+ /// (errorCode, userId, password) + ///
+ public Action onLoginCallback; + public Action onLogOutCallback; + + public bool isInitialized = false; + public bool isProcessing = false; // true if the SDK is processing a request (login or logout) + + #region private functions + protected override void Initialize() + { + base.Initialize(); + + SetupCallbacks(); + + // Auto-initialize SDK + if (!string.IsNullOrEmpty(clientId) && !string.IsNullOrEmpty(clientSecret)) + { + BMLogger.Log($"Initializing Tech3C SDK...\n Client ID: {clientId}"); + Tech3CSDK.Instance.Initialize(clientId, clientSecret); + + if (Tech3CSDK.Instance.IsInitialized) + { + BMLogger.Log("[SDK] SDK Initialized Successfully!"); + } + else + { + BMLogger.Log("[SDK] Failed to initialize SDK"); + } + } + else + { + BMLogger.Log("[SDK] Client ID and/or Client Secret not set. Please configure in Inspector."); + } + + BMLogger.Log("[SDK] Tech3C SDK Simple Demo Started"); + + isInitialized = true; + } + + private void SetupCallbacks() + { + // Auth callback + authCallback = new AuthCallback(); + authCallback.OnAuthSuccessEvent += OnAuthSuccessEvent; + authCallback.OnAuthCancelledEvent += OnAuthCancelledEvent; + authCallback.OnAuthErrorEvent += OnAuthErrorEvent; + + // Logout callback + logoutCallback = new LogoutCallback(); + logoutCallback.OnLogoutSuccessEvent += OnLogoutSuccessEvent; + logoutCallback.OnLogoutErrorEvent += OnLogoutErrorEvent; + } + #endregion + + #region SDK Callbacks + private void OnAuthSuccessEvent(string userId, string password, string accessToken, string refreshToken, LoginType loginType, long expiryTime) + { + isProcessing = false; + BMLogger.Log($"[SDK] Auth Success!\n User ID: {userId}\n Password: {password}\n Login Type: {loginType}\n Token: {accessToken?.Substring(0, Mathf.Min(20, accessToken?.Length ?? 0))}..."); + onLoginCallback?.Invoke((byte)LOGIN_ERROR_CODE.SUCCESS, userId, password); + } + + private void OnAuthCancelledEvent() + { + isProcessing = false; + BMLogger.Log("[SDK] Auth Cancelled by user"); + onLoginCallback?.Invoke((int)LOGIN_ERROR_CODE.CANCELLED, "", ""); + } + + private void OnAuthErrorEvent(int errorCode, string errorMessage) + { + isProcessing = false; + BMLogger.Log($"[SDK] Auth Error [{errorCode}]: {errorMessage}"); + onLoginCallback?.Invoke(errorCode, errorMessage, string.Empty); + } + + private void OnLogoutSuccessEvent() + { + isProcessing = false; + BMLogger.Log("[SDK] Logout Successful"); + onLogOutCallback?.Invoke((int)LOGIN_ERROR_CODE.SUCCESS, ""); + } + + private void OnLogoutErrorEvent(int errorCode, string errorMessage) + { + isProcessing = false; + BMLogger.Log($"[SDK] Logout Error [{errorCode}]: {errorMessage}"); + onLogOutCallback?.Invoke(errorCode, errorMessage); + } + #endregion + + + #region public functions + + public void SetLoginCallback(Action callback) + { + if (callback != null) + { + BMLogger.LogWarning("[SDK] Login callback is already set, it will be overridden"); + } + onLoginCallback = callback; + } + + public void RemoveLoginCallback() + { + onLoginCallback = null; + } + + public void SetLogoutCallback(Action callback) + { + if (callback != null) + { + BMLogger.LogWarning("[SDK] Logout callback is already set, it will be overridden"); + } + onLogOutCallback = callback; + } + + public void RemoveLogoutCallback() + { + onLogOutCallback = null; + } + + /// + /// Show Tech3C SDK login screen. + /// Callback will be called after login success or failed. + /// + public bool Login() + { + if (!isInitialized) + { + BMLogger.LogError("[SDK] SDK is not initialized, please call Initialize() first"); + return false; + } + + if (isProcessing) + { + BMLogger.LogError("[SDK] SDK is already processing a request, please wait for the current request to complete"); + return false; + } + + if (onLoginCallback == null) + { + BMLogger.LogError("[SDK] Login callback is not set, please set it using SetLoginCallback"); + return false; + } + + isProcessing = true; + + Tech3CSDK.Instance.ShowAuth(authCallback); + return true; + } + + public bool Logout() + { + if (!isInitialized) + { + BMLogger.LogError("[SDK] SDK is not initialized, please call Initialize() first"); + return false; + } + + if (isProcessing) + { + BMLogger.LogError("[SDK] SDK is already processing a request, please wait for the current request to complete"); + return false; + } + + + if (onLogOutCallback == null) + { + BMLogger.LogError("[SDK] Logout callback is not set, please set it using SetLogoutCallback"); + return false; + } + + isProcessing = true; + + Tech3CSDK.Instance.Logout(logoutCallback); + return true; + } + + #endregion + + } +} \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Tech3CSDK/Tech3CSDKWrapper.cs.meta b/Assets/PerfectWorld/Scripts/Tech3CSDK/Tech3CSDKWrapper.cs.meta new file mode 100644 index 0000000000..07834551d0 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Tech3CSDK/Tech3CSDKWrapper.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 61795692226b05849aec56bf168c905a \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs b/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs index 559b51cac9..e346a83d27 100644 --- a/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs +++ b/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using BrewMonster.Network; +using BrewMonster.Scripts; using CSNetwork.Protocols; using CSNetwork.Protocols.RPCData; using TMPro; @@ -33,6 +34,12 @@ namespace BrewMonster.UI bool isDoneNPCRender = false; private SynchronizationContext context; public AudioClip loginBGM; + + void Awake() + { + var tech3CWrapper = Tech3CSDKWrapper.Instance; + } + void Start() { AudioManager.Instance.PlayBGM(loginBGM, 1.5f); @@ -41,7 +48,9 @@ namespace BrewMonster.UI _usernameInputField.text = PlayerPrefs.GetString("username", ""); _passwordInputField.text = PlayerPrefs.GetString("password", ""); - + + Tech3CSDKWrapper.Instance.SetLoginCallback(OnLoginCallback); + Tech3CSDKWrapper.Instance.SetLogoutCallback(OnLogoutCallback); } // Update is called once per frame @@ -69,18 +78,16 @@ namespace BrewMonster.UI #endif } + + private void OnDisable() + { + Tech3CSDKWrapper.Instance.RemoveLoginCallback(); + Tech3CSDKWrapper.Instance.RemoveLogoutCallback(); + } + public async void OnLoginButtonClicked() { - BMLogger.Log("OnLoginButtonClicked"); - string username = _usernameInputField.text; - string password = _passwordInputField.text; - // UnityGameSession.SetConnectionInfo("103.182.22.52", 29000); - UnityGameSession.SetConnectionInfo("103.51.120.195", 29000); - PlayerPrefs.SetString("username", username); - PlayerPrefs.SetString("password", password); - PlayerPrefs.Save(); - await UnityGameSession.Login(username, password, OnLoginComplete); - _selectCharacterScreen.gameObject.SetActive(true); + Tech3CSDKWrapper.Instance.Login(); } /// @@ -278,5 +285,37 @@ namespace BrewMonster.UI } } #endif + + private async void OnLoginCallback(int errorCode, string userId, string password) + { + if (errorCode == 0) + { + BMLogger.Log($"Login success -- userId: {userId} - {password}"); + // UnityGameSession.SetConnectionInfo("103.182.22.52", 29000); + UnityGameSession.SetConnectionInfo("103.51.120.195", 29000); + PlayerPrefs.SetString("username", userId); + PlayerPrefs.SetString("password", password); + PlayerPrefs.Save(); + await UnityGameSession.Login(userId, password, OnLoginComplete); + _selectCharacterScreen.gameObject.SetActive(true); + } + else + { + // if it failed, the userId will be the error message + BMLogger.LogError($"Login failed -- errorCode: {errorCode}: {userId}"); + } + } + + private void OnLogoutCallback(int errorCode, string errorMessage) + { + if (errorCode == 0) + { + BMLogger.Log("Logout success"); + } + else + { + BMLogger.LogError($"Logout failed -- errorCode: {errorCode}: {errorMessage}"); + } + } } } \ No newline at end of file diff --git a/Assets/Plugins/Android.meta b/Assets/Plugins/Android.meta new file mode 100644 index 0000000000..ba484d202e --- /dev/null +++ b/Assets/Plugins/Android.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f45408c4c89289d498475d0e1e1e5b7e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Android/AndroidManifest.xml b/Assets/Plugins/Android/AndroidManifest.xml new file mode 100644 index 0000000000..783069970e --- /dev/null +++ b/Assets/Plugins/Android/AndroidManifest.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/Assets/Plugins/Android/AndroidManifest.xml.meta b/Assets/Plugins/Android/AndroidManifest.xml.meta new file mode 100644 index 0000000000..bfa9b92c0a --- /dev/null +++ b/Assets/Plugins/Android/AndroidManifest.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 11f5d7426047d6048a47d330b02103d9 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Android/baseProjectTemplate.gradle.DISABLED b/Assets/Plugins/Android/baseProjectTemplate.gradle.DISABLED new file mode 100644 index 0000000000..fd43460978 --- /dev/null +++ b/Assets/Plugins/Android/baseProjectTemplate.gradle.DISABLED @@ -0,0 +1,13 @@ +plugins { + // If you are changing the Android Gradle Plugin version, make sure it is compatible with the Gradle version preinstalled with Unity + // See which Gradle version is preinstalled with Unity here https://docs.unity3d.com/Manual/android-gradle-overview.html + // See official Gradle and Android Gradle Plugin compatibility table here https://developer.android.com/studio/releases/gradle-plugin#updating-gradle + // To specify a custom Gradle version in Unity, go do "Preferences > External Tools", uncheck "Gradle Installed with Unity (recommended)" and specify a path to a custom Gradle version + id 'com.android.application' version '7.4.2' apply false + id 'com.android.library' version '7.4.2' apply false + **BUILD_SCRIPT_DEPS** +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/Assets/Plugins/Android/baseProjectTemplate.gradle.DISABLED.meta b/Assets/Plugins/Android/baseProjectTemplate.gradle.DISABLED.meta new file mode 100644 index 0000000000..f58f05f816 --- /dev/null +++ b/Assets/Plugins/Android/baseProjectTemplate.gradle.DISABLED.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7736ab544ec5cab4a89af84ac45b5a75 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Android/mainTemplate.gradle b/Assets/Plugins/Android/mainTemplate.gradle new file mode 100644 index 0000000000..323c9d1038 --- /dev/null +++ b/Assets/Plugins/Android/mainTemplate.gradle @@ -0,0 +1,51 @@ +apply plugin: 'com.android.library' +apply from: '../shared/keepUnitySymbols.gradle' +**APPLY_PLUGINS** + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation "androidx.appcompat:appcompat:1.6.1" + implementation "com.google.android.material:material:1.11.0" +**DEPS**} + +android { + ndkVersion "**NDKVERSION**" + namespace "com.unity3d.player" + ndkPath "**NDKPATH**" + compileSdk **APIVERSION** + buildToolsVersion '**BUILDTOOLS**' + + compileOptions { + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 + } + + buildFeatures { + viewBinding true + } + + defaultConfig { +**DEFAULT_CONFIG_SETUP** + minSdk **MINSDK** + targetSdk **TARGETSDK** + ndk { + debugSymbolLevel **DEBUGSYMBOLLEVEL** + abiFilters **ABIFILTERS** + } + versionCode **VERSIONCODE** + versionName '**VERSIONNAME**' + consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD** + } + + lint { + abortOnError false + } + + androidResources { + noCompress = **BUILTIN_NOCOMPRESS** + unityStreamingAssets.tokenize(', ') + ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:!CVS:!thumbs.db:!picasa.ini:!*~" + }**PACKAGING** +} +**IL_CPP_BUILD_SETUP** +**SOURCE_BUILD_SETUP** +**EXTERNAL_SOURCES** diff --git a/Assets/Plugins/Android/mainTemplate.gradle.backup b/Assets/Plugins/Android/mainTemplate.gradle.backup new file mode 100644 index 0000000000..c5203ee0d7 --- /dev/null +++ b/Assets/Plugins/Android/mainTemplate.gradle.backup @@ -0,0 +1,47 @@ +apply plugin: 'com.android.library' +**APPLY_PLUGINS** + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation "androidx.appcompat:appcompat:1.6.1" + implementation "com.google.android.material:material:1.11.0" +**DEPS**} + +android { + namespace "com.unity3d.player" + ndkPath "**NDKPATH**" + compileSdkVersion **APIVERSION** + buildToolsVersion '**BUILDTOOLS**' + + compileOptions { + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 + } + + buildFeatures { + viewBinding true + } + + defaultConfig { + minSdkVersion **MINSDKVERSION** + targetSdkVersion **TARGETSDKVERSION** + ndk { + abiFilters **ABIFILTERS** + } + versionCode **VERSIONCODE** + versionName '**VERSIONNAME**' + consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD** + } + + lintOptions { + abortOnError false + } + + aaptOptions { + noCompress = **BUILTIN_NOCOMPRESS** + unityStreamingAssets.tokenize(', ') + ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:!CVS:!thumbs.db:!picasa.ini:!*~" + }**PACKAGING_OPTIONS** +} +**IL_CPP_BUILD_SETUP** +**SOURCE_BUILD_SETUP** +**EXTERNAL_SOURCES** diff --git a/Assets/Plugins/Android/mainTemplate.gradle.backup.meta b/Assets/Plugins/Android/mainTemplate.gradle.backup.meta new file mode 100644 index 0000000000..db9977c019 --- /dev/null +++ b/Assets/Plugins/Android/mainTemplate.gradle.backup.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f3bedb9070cd041a2bb8a27d9751aada +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Android/mainTemplate.gradle.meta b/Assets/Plugins/Android/mainTemplate.gradle.meta new file mode 100644 index 0000000000..ff480e90c1 --- /dev/null +++ b/Assets/Plugins/Android/mainTemplate.gradle.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 950fdc575e5b3b74ea1d3f1c60322d4f +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tech3C.meta b/Assets/Tech3C.meta new file mode 100644 index 0000000000..b197cdb0af --- /dev/null +++ b/Assets/Tech3C.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 86378052e9798924e8ee14f4fa780f0f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tech3C/Plugins.meta b/Assets/Tech3C/Plugins.meta new file mode 100644 index 0000000000..9c87ae31f2 --- /dev/null +++ b/Assets/Tech3C/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4c935d070fff35741adebc5424c4e02b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tech3C/Plugins/Android.meta b/Assets/Tech3C/Plugins/Android.meta new file mode 100644 index 0000000000..f279ada1af --- /dev/null +++ b/Assets/Tech3C/Plugins/Android.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2111256da5c2b2a469d98ce0f103cdb7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tech3C/Plugins/Android/Tech3CUnityBridge.java b/Assets/Tech3C/Plugins/Android/Tech3CUnityBridge.java new file mode 100644 index 0000000000..6dd99c4ee8 --- /dev/null +++ b/Assets/Tech3C/Plugins/Android/Tech3CUnityBridge.java @@ -0,0 +1,184 @@ +package vn.tech3c.sdk.unity; + +import android.util.Log; + +import vn.tech3c.sdk.auth.callback.OnAuthCallback; +import vn.tech3c.sdk.auth.controller.Tech3CIdController; +import vn.tech3c.sdk.auth.entities.enums.LoginType; +import vn.tech3c.sdk.auth.exceptions.Tech3CIdException; + +import com.unity3d.player.UnityPlayer; + +/** + * Unity Bridge for Tech3C SDK + * This class receives callbacks from Tech3C SDK and sends them to Unity via UnitySendMessage + */ +public class Tech3CUnityBridge implements OnAuthCallback { + private static final String TAG = "Tech3CUnityBridge"; + private static final String UNITY_GAME_OBJECT = "Tech3CSDKBridge"; + + private static Tech3CUnityBridge instance; + + private OnUnityAuthCallback unityAuthCallback; + private OnUnityLogoutCallback unityLogoutCallback; + private OnUnityUserInfoCallback unityUserInfoCallback; + + // Singleton + public static synchronized Tech3CUnityBridge getInstance() { + if (instance == null) { + instance = new Tech3CUnityBridge(); + } + return instance; + } + + // Interfaces for Unity callbacks + public interface OnUnityAuthCallback { + void onAuthSuccess(String userId, String password, String accessToken, String refreshToken, LoginType loginType, long expiryTime); + void onAuthCancelled(); + void onAuthError(int errorCode, String errorMessage); + } + + public interface OnUnityLogoutCallback { + void onLogoutSuccess(); + void onLogoutError(int errorCode, String errorMessage); + } + + public interface OnUnityUserInfoCallback { + void onUserInfoReceived(String userId, String username, String email, String phone); + void onUserInfoCancelled(); + void onUserInfoError(int errorCode, String errorMessage); + } + + // Set callbacks + public void setUnityAuthCallback(OnUnityAuthCallback callback) { + this.unityAuthCallback = callback; + } + + public void setUnityLogoutCallback(OnUnityLogoutCallback callback) { + this.unityLogoutCallback = callback; + } + + public void setUnityUserInfoCallback(OnUnityUserInfoCallback callback) { + this.unityUserInfoCallback = callback; + } + + // Send message to Unity + private void sendToUnity(String methodName, String message) { + try { + UnityPlayer.UnitySendMessage(UNITY_GAME_OBJECT, methodName, message); + Log.d(TAG, "Sent to Unity: " + methodName + " - " + message); + } catch (Exception e) { + Log.e(TAG, "Error sending to Unity: " + e.getMessage()); + } + } + + // ========== OnAuthCallback Implementation ========== + + @Override + public void onLoginSuccess(String userId, String password, String accessToken, String refreshToken, LoginType loginType, long expiryTime) { + Log.d(TAG, "onLoginSuccess: " + userId); + + // Send to Unity + String message = userId + "|" + password + "|" + accessToken + "|" + refreshToken + "|" + loginType.name() + "|" + expiryTime; + sendToUnity("OnAuthSuccess", message); + + // Also call Unity callback if set + if (unityAuthCallback != null) { + unityAuthCallback.onAuthSuccess(userId, password, accessToken, refreshToken, loginType, expiryTime); + } + } + + @Override + public void onRegisterSuccess(String accessToken, String refreshToken, String userId, long expiryTime) { + Log.d(TAG, "onRegisterSuccess: " + userId); + + // Treat register success as auth success (password is empty for register) + String message = userId + "|" + "" + "|" + accessToken + "|" + refreshToken + "|REGISTER|" + expiryTime; + sendToUnity("OnAuthSuccess", message); + + if (unityAuthCallback != null) { + unityAuthCallback.onAuthSuccess(userId, "", accessToken, refreshToken, LoginType.ACCOUNT, expiryTime); + } + } + + @Override + public void onAuthCancelled() { + Log.d(TAG, "onAuthCancelled"); + sendToUnity("OnAuthCancelled", ""); + + if (unityAuthCallback != null) { + unityAuthCallback.onAuthCancelled(); + } + } + + @Override + public void onAuthScreenOpened() { + Log.d(TAG, "onAuthScreenOpened"); + // Optional: Send to Unity if needed + } + + @Override + public void onError(Tech3CIdException exception) { + Log.d(TAG, "onError: " + exception.getMessage()); + + String message = exception.getErrorCode() + "|" + exception.getMessage(); + sendToUnity("OnAuthError", message); + + if (unityAuthCallback != null) { + unityAuthCallback.onAuthError(exception.getErrorCode(), exception.getMessage()); + } + } + + // ========== Additional Callback Methods ========== + + public void onLogoutSuccess() { + Log.d(TAG, "onLogoutSuccess"); + sendToUnity("OnLogoutSuccess", ""); + + if (unityLogoutCallback != null) { + unityLogoutCallback.onLogoutSuccess(); + } + } + + public void onLogoutError(int errorCode, String errorMessage) { + Log.d(TAG, "onLogoutError: " + errorMessage); + + String message = errorCode + "|" + errorMessage; + sendToUnity("OnLogoutError", message); + + if (unityLogoutCallback != null) { + unityLogoutCallback.onLogoutError(errorCode, errorMessage); + } + } + + public void onUserInfoReceived(String userId, String username, String email, String phone) { + Log.d(TAG, "onUserInfoReceived: " + userId); + + String message = userId + "|" + username + "|" + email + "|" + phone; + sendToUnity("OnUserInfoReceived", message); + + if (unityUserInfoCallback != null) { + unityUserInfoCallback.onUserInfoReceived(userId, username, email, phone); + } + } + + public void onUserInfoCancelled() { + Log.d(TAG, "onUserInfoCancelled"); + sendToUnity("OnUserInfoCancelled", ""); + + if (unityUserInfoCallback != null) { + unityUserInfoCallback.onUserInfoCancelled(); + } + } + + public void onUserInfoError(int errorCode, String errorMessage) { + Log.d(TAG, "onUserInfoError: " + errorMessage); + + String message = errorCode + "|" + errorMessage; + sendToUnity("OnUserInfoError", message); + + if (unityUserInfoCallback != null) { + unityUserInfoCallback.onUserInfoError(errorCode, errorMessage); + } + } +} diff --git a/Assets/Tech3C/Plugins/Android/Tech3CUnityBridge.java.meta b/Assets/Tech3C/Plugins/Android/Tech3CUnityBridge.java.meta new file mode 100644 index 0000000000..6f929e7398 --- /dev/null +++ b/Assets/Tech3C/Plugins/Android/Tech3CUnityBridge.java.meta @@ -0,0 +1,32 @@ +fileFormatVersion: 2 +guid: e32ed25f4a2155a4f8106c56c82bb7fc +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Android: Android + second: + enabled: 1 + settings: {} + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tech3C/Plugins/Android/auth-1.2.1.aar b/Assets/Tech3C/Plugins/Android/auth-1.2.1.aar new file mode 100644 index 0000000000000000000000000000000000000000..b972ff91233549c525f148b37786588c953ad3a3 GIT binary patch literal 5757540 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

Ckn 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

Cb34%J2b7 zn>+~T!eKvpi9(Vlk7~$K{z;I4KrZG;l88Z{{W`3Fi-JKo9LNfWyF$zHh^T<%9o3AP~Q!*$*h`~l^c=1 zIU|-DOnqd$F}eZYy75STRI(Q=ZClnIN$tSh{u&02>}HWQV5{&rmggAYjD02BSeo@x zAtXT?g_P7c(iZ60&R&`kKA@MJIr~b<9@h=ZqqXk+_;51?ii367T?y56U3^e0t-8j; zY@8-E8KJ&;8xsLS2HFmzWSf%zsW6R?H;dQ^KC8^Th(Y?9TWuvNM@bAa_IZK;i(NJ2 z(}UF>ul+)k&ks(wLm<4aLnZM-+v+7)Z^5WJ4y+qsQx0kpoTYF0 zW<)SfQlskw;`n`HIiv<}g{;+|KY4C`)ADn$`4P@!Fqz246Ja;XLK$uBmcS%gYIG7x zI8I|e2244vn&}ZXlcjw1Jj4fj#;L=r#lRc(?ap>JcNm1~1zzHGT$nWl^^qR2bD%=6 z3*lUPc#ssuKHN5Mu@*O!^uC#^HJ_lc&t6;rQn$9L`Glch6e4iyn{oFBON z9hQZ2XOD#2LNKW$SN^FuxS1Aa_m;))ELnLrZXO6VCm*MjXN@wB#TA?4b|20T3%Q)$ zPWp$uhzI>_QlHTcvKQ*royqzX{nD(bSxeT7p8(N-kf{Cm(=@2QmBil)C06>hLFry> zm)78V{`DlbMENOn;hJ*4yxK|>kRQoao{CSytifZbkS(k7E^^gq z-m?5|7Xy}n5@})S7OVQDhm~Ci2G;i+37lc`v+t^J;Qq1jwQALHJDr|?*KPNFUgtal zo25B@nTBEF7;=6Q3_N`PEn6c4rjw?0URIVQm8vZwkY|)9wcNRv%P6MESDqd2N7BdX z_&2x1(#sqp(vRqB0Ud6^CyTKokQtt7LhWWrT)~bOUhhgeaoY(X@yC4eeF^I^zBH|M z5wV=D{#>cpihSzCF+YEJtC@GQP2$1E9KL+?R%6JHKL+v2PhWCix&;DwQa{V8y5`Sa z`oY>4ZU*V{zC1>YgJ+t`Y<9R3`xCpC^V1+o=pI(8{+Io3nd&;IKt7;E~kHcuHH3 z1CX?DNe0`g%_JeRf-CR9PzHB|*fJajm*1ZCKWhEt&irY?V#&KumHI-sN?l3(omAkZ zfMY#Xao;nb;+VY0?79EAFMt*WT}dl*aNO1%-P>T`ya(bSVWyiEkwdL~F^J;Gm@f13)-eFkL*DX1#;9N$(=)Kj?1rXSQqVz7-o2mw;u zewV#24zj}AiuO+*?$7JzZ|+lz1ZG1n+~Knll~877`I&2OA&ObY&2O86rR|(Y`650y zvYZ?@H1AjZEk+n>8zel25yt`q6vB;862Uj@5{_T_CcmUsg{`x!9HppC-T?3r;thR% z?~8nCzSHCDE{Dh5J7ThMCD(uGW=0nL$zJ5IJj920xxp`S3yu@%q5 zs)YX#0n~vD)sXF?CnEmA_5zj|v66hCs>;tbx!-eZmMj@HBkK=porbx9mK6?bx2VAB z%`jFAKXV)@8@OWf%&hLC@DJtf!P2rA@krwrdh^CTmZVQ_0mtc(ObPn7uVzi?S+YHu zSk?c>sK}zZ0O?6=;bLThX%M`XJx`nw`38iaTxh2SpW#DzKwq;sgl#)3(EVf2i5;@^ zBOMq0fn95wrOve)knpaiN{8jV+&3qpQ>v4q0yYC~t2FEyl|n4*Zyd)TOsum@$|@ta zZyZ=N<^zpCw~*Ju=pwxJjRQ==J{-O*8_(XpfBuR5?Rwk{A9H&iQ3|H`nwJGx6VcwW zbCp5@%%P`k#=Fd%$GbFh&mUcHr5hLmlnlPsR;qP;{ZCgvT(OeO(Po}S1}mXOQ)oW> zeoICdN_Lpk-Dp&<4a10S#N7+saI_pSOZZw5vS+}~(}lKOg(AmC+suAm`{_BNQBl z3Jy1EK0=iUhGhQf{KPZaVj&5mu7K(h+l0)f3MlQq=ef~AHxz~w*|A%b)ZtvYUWMh0 zG4dSLL4DJLu^q@D4db~frPetnC`xbG)A{UNYmgTu_F5Ye>7Bz~fwYpBB%x3O%Gft% z()SAWy27OD<_qM|?QkTcB>6$*E)Z}UITydo5G^BZ;@ z*W-VJV})j+tPBT1g`h0u$yY;9=v%W-cKCd%uL`sBFYJH6wrIZO=a|4F?1d5}@xX~u zPW@o1C6k7yARBAQp}KOz_mZUb;jJZ8Vnloy@?~(L1+WcCElun7sI#Y!6w^Prxf48{ zM6ES8Y9}Paeu>3cF7xCNGVGtg@aNe1PGoPTWGrymayyV>QWa#udphvjf$iAh1wFar zJug#jN|IpCxqN4V5AVhzTpV00ME zIpS0QCS~UD{Mm4J4F9#~KpZ>ggwy@@yVL146Ikj6)c4%y>r7AAr_b9FN_R0EJl$ z{D?Lk(9$LH=gQ{*~~7AaCKzqHN9-#Lxtubil*J(Uukb-3Gv$LvGDBZsVG7pA2c-S0>QGRyjws?EFGS-7Q{N7Zyvs=){ zW?ih{BW3Sp^kBKr3dy9kJ^GTJ(EeL*7QCvH4E@*PkwOLGRwDVMFZ#ICcKMoV*?Mub zYIGh5^Gb;S*t0@&|M1e5AiwFqcE&%e8q6mg!AcvA1l-_by=HOOVc*c4<=?NqW}>To z(WFBta8w>QYq4!OCJX`t>d0m%TKwkDN2CZviYgqy*nyDTfM#)>cav4-kelwxc0mU z*}?!(Dr>&0Q#^thD`64s*zL{cT&h=C4*cCA3X{3y&&Z~5K|!Z6DzIa&MOr>qm9vhR z%|hJ>ufzj1$i|6Lni(v5%nLf zm$_FLzf%m|uX@yl1q1d>H5Hb)jfG^JHk(UBorTvHc~EaQooZ#ETW*F6N3Nxacvu&c z3tVAc9O!|S=OoOhcihve;CKcX{)5L&#$3A=V>s!t94Pz9bW1XR-4toCPaF8}2{QXS zy>)MA1+2r`lsvT*j`e~V`1{xwWn4U^3*^pcSFp(dl~XGeJ~ChZ zMJpxctnGOxR>o_!o~qDxD8j{d_|Q_MgRN-LEnO^jnV|l-*cVcsb?UIi4=c3yOmX%q zAD;Y96D~}n zT<;{eu05C+7Sr!8HHsH!hvw-}%#rX2#ERrMdXmU~;e6Z-!`zB)==jj}OZ?PEj9f_d zm(=rFk}9m52Zp*?m>h65oICF12bOfXw?iT9r;Vs2T9{#X4{15`^riQ7Vm3wy4n#h^#^sO+$MkWJ|z! z=1^9;{g)_dA>|FkBQs7Co#B1BpXE*PmeWYcHN3#@EHA>Vt4FV?f-|;Ags;(S@ed(; zn&D+!bss7`ySayYtMi0jK_8Sqqk8yq?0%i{;(KLE?RN-}Sx<1rCW8r>@E36jD1)7! zfF+|t{jAYXhL(@#*eo^+bJ}=|6$WdXb1*x{-f0WGO0}Qrd0ZnEz@ZKe%Boy)$fhtD zNVyEJPNq|oTqF5$w>i%DDN>e;AFm@N7Mh9HyY8fB5fbR@%w7xe~qGp-w{~sah77 zWQ}<;$(>2WjCy@w%2c+PJ}uxwa_2zw5R8rh{R`FNoRk-Ak}P^>t#TU}M_WCKUyLH% z1-*u}Kd*Sm(9oo%K+DnNmZyGkv+%FaJc#M5FZsurGQ{NWoNLtgOkk7vU9++mOguMx zMGPRuKGhKm-IY0)(>$74J+-q~q)d20{(US^ucen!7Wzp02=$0kfU zADywdahNv=9W&liqvu&^kfqRMHho5n3D71S{%3CXKta_P(ET7@^eu*vNAMaARJ!MH zM&z`W!aNLBnt=#yfK}37p4j;Uk*N=>b>+7t)zvQj>MSb9JU91-C80p;EH0e0h{Q@` zEJ;wyuvU*5yKsap9On|FBNt+?gDh5ENbUINiaXVm`Vy;#MUnXm-@ zt_WUbLWZnZ%BMMcA^3JO0F$Y8)MF&^zR-qDUDCb}^ZsDT87Q3ogec;y!o*kOyZI|vD^rG zuf{oioFS-MzUB$?_ZEss*FQ2fo`}XiT8`Ey;<~1KcDxltA7^cw>Fwg|*V;m5i_z1@ zGsNd!GXoI>{N}H?8<&%R>GIn&T5(}=*&wweWJM#5AGOr*f=!&D^UJV(Xma9F6X5Mz z8!$`}jTG>Q%@M+WzY7BFiV5j`PCO%mr>bEE!mf5!+Vfd7fdZG=Y!c5L{F}#(D+PmNIe8!J{p`L9eu>ve;=LH?j% z=k&wF(+uM#*16C*-kEAP>_Ql^hzN4FWe-WAvrlXJPKIrn;IGdr)`wTSm#xqJtTAJ| zO?WVO<^R(gm+{{6f%*_~i?I{TEXco1j<=c4kQ$ltCsh}C+x6%ZJF|ru7tOfAip!tv zeSbtr|6jZk)CjmSy-A&Fn~}#ZU%Hhe+N(E>BZvTxPaiHVb)&(lkIk-=8~^j5WLQTI zCP2fc-rL!{@j?mtV8S2?zL}Z4^s?Q4k)y2;Whb$BzK0~L*K!yuZokuqqCuVZma=Zb z&?zqB6J@=Ne%bMea1MV54KibS*}jhym?O4d{OvuEbJAa(@2ip7)UXP%I21>~#7w!H zZHx4`{R4z1RJMLIEWYwS=xrFgxb|12aI(zjz0Ty^;Z$v5xVvOyWU1dUaO0 zp$EhAR-rw?fm)lj=9XI5iQ(~8IZHPBO{CeIs?8qTegPA=cLF0jC0K{l0=C}7$Ek*j z#5wh4J|DG3?+aB*3OH(9aTg1mtqJha~ zV6w_pW@8z36*RRYVL4#ay3uD__NmRH63zuS7WV!@J%vn&lXI;jSq~Vc(tn$17i~1OR$Vn{m5~)du4Lb`=J-Ttf)}PM4)I|7v$w2NObYjc62U6xc=-QhUZsAsvef4 zbFxo`@&E=~PqLknEHa?RnB-Pebb4sO^}}172MYPXqCFlvMK^*zSHdJ4dzGmtQA?(- zPUUR_8xD^|-BQyJ2agw|)z7uCMRogx{0Fc_18kRs0Jc2h+77BX{76a3n-yZ@<#`!Y zXqWiU>8Q@Q+8N7GZr9bfAl%3FiGQfA!r9LzB%pW+75a;%BXC>ot2lyJirjZ`zo;k6 zNci~~p1KcgdbW3@Uz<=?nXc;*|4e};9G{J#V=^8)r^k{}ZQ<8kQ^VvGBJ&?LaUBIK z?mumbx|W-Dyu6*d4Hadp`P~4=s2&J&{9YA$Wt7~F=A;Pk%+77EipyYpZ^3X&oC-a4 zxq0}OG?xG1>uq2~aw13L1tt~JE-xdM8i97pa^1jhssc0{LTi9_n8k% z=5>a4h8ItTpd+dx^BTxn&dfuV?Y5IGY`mEQM1h?zx#sHa7_PJYM`29)HlQ!e#kQk8 zC&Zzo_@@T4H?r}BLD~=dG{6y4R{x-{x$K0N%YZOBWRZwlt!dd$KnVd>tX)|~^1j-#UB=q1GyMRjJH^L0e2Fn({IK7zP~Vo# zAu|x|cp9$K7~~=<0!y~GEC+4Mk~ft;^~!Hy2NimMbw+hq$Itb1r;M~p`b%&+Jyh;u zzmxDZ=H~3GQQ{11dyWouB>P@7a0l^&s(RXU6u;%L|LM!Ao=)0Gc2h{EgGxV!>$;9W z1wF1d-qPc{|M8)ZAk4O5$Qr#Vfqo^>-1-}*8hm619^X!ZIosD(Pw#~{wG6%dRe-xB~6k962`ECl#-9B3hci>5zyfi+NtzBiq z;o&~d!{-HpnF@ZqS)E|M`gp3Z3>&Pk%qZtF;F@X)n*I}`de&^*XD;PNASGBoV#^q= za;NF#$(abU!Q_{m|Asq(XGak~7LF!6_k{z5he7Ynu^#fqXTkjJ6)HB>)fEQwe|W7; zFh|Oj+>M}z7SnPE+bpFfi9ZRycM^0_bwj>~)Z z_ln60@(t3)g@!>S>JHXhDJV?mUjUJqkx`)=R$Q8>#lk`|1^kUhb^Sb0j-zHiKgU~G zZSMITcv@?3X+JKT1rx}8snof&N{mYZ%`JS?o`};IoQ9Fh*zOq;7p}sW^M5d|=1(w( z`1|g(HdtA@a0XejuH^;az3RAR_6Zd3Sv8NHUPFgE3=Ez5lH86Tyk)&KEy_3KO#5)6 z)DvH3o1}*ohxo6`m`@OZZN%I{)C%#->1D=zwQ zS;O8KU){-w?B9q{#>;7eW88?54B_O5eT^XUPq|a+lj=V@nT~O%xKs3}V0=lN2)T`k zXG(QaH%J1}9E-ki32j@(*A_po+m52}ef7Qy!qawL~OhQ-nYi&w=3It;Dfuk2Vcm@hg>6fE8r=*VDOy zV?8lGa9FsQtE}zsX$ig? zYcQ6s=#{ZsxyrQmb(8V}>D+TOl$@B}`35QZ;jb_ncp#6CIxI zp{)&W3q0g-H+~nGVS00Dk5@Kl&(qe>zvh%gQURU4<^HCUng)Giy!>fzj}#}q;K=vf z41i0-4yOBuvN#2&&$aByXO?;Pet??Bmt5Yr@_{`(4@A;mmGPevJJ~Zil;E8)Z8xR! zb|$^{JIsih+hd8sGwCWgs0su{6_(ya4;o%3D3@_|LEquWSUt#5Y z!;QKsXvDk3K^HTydGge32Jg7yx+*`Ucc;7kjG zuC*A2`vW)T7;co23}htV^AmfH6g8-BIq_^2c2XI`c+ql2Yi@l+^#%e@ z1Dba|Eqt)+>4b}|9V~hNIr>WF8^ULdf%wcz%B4wxJmwxTCm7KF^Pl#2Wq%!YInll- zE=EiTg>*LxhSBem+dNJGZoU(NvGH%q+g^oI!gt+$9Zy$S?1fR-@xTkdq>p6LeB>qWGWI9ZBwEF0h?$*E}zqzN@ zom-1B?Qp$7v;!!L1$R-*{`a@??)&uk__s@vw+$xu$SwU7> zyNY{0?P})DoIq~1uIiEkKfq!x_i~3CO}@+wEm{^A4}Z2>rSS)Lw|deZ5gl}_@QvpV z)yS|<7#*j8wt)fex-R;m=ON3R4ovn7yS3qR{-68_5d&PTu=R8At!sNTMvJO3DJv_1C`W(Uvn@sB;Uqtz%~D*s?gt)e4w-P|HQff ziC=2*kQvbb@>*+Dh-zi|4Apg-%572=SO{Z-cz64yw%>01)5gqxP?z&9HmeW&g3K&+~ zYMWAH2R0{6Pm!6x*6n)k-Jfw-n`O7#n8J2dn}*{F6!8|=pW&CZbC#e%JV7 zaLjYN?|;90nzEC}NBKziPmPVvw=ikf?x`PRTxQl|!W4r(RcVlO6-yUw-f6*8CR{CUySOC&IYrb~=pC zA$*zd{L6!+3#VF!kdfOykg4XbfhYeA@MZa}MvApa{YlzHb*@dAN*g_}pmG~l;X@hs z?}ee~4|k#e{#PXt>&c7!YQ_w8-T=Hb&GZHZ_RM!N5Var7I=iye-L9wo1so?cKhgx$ zY)`!&LfUOjn5L`*@1dDK+=+a3OQRj+eeK`gf$fGdUrGcgpc{Ad+bJ7P=WTf@qhSvL zI*WO|EAzqx2)goa?z=+%d3sx29}^|~9;C?MXrvXRb7}}_V1Uy8RvIBv9zZ<@MZx|gwY&RC!}Nb*u?{3>$MRQu<4oa)G424a<6#LaQLh~1=w-ya=gF?C^F6+U

H0ja#n@)GG_L(YOmZMuaZhbu-2Sh3J}evd@ZxObb`CvDs=*&SG7LoT?e2qLtN%oq{6*0gliPVzax`%7 zk#qMvo7EvwmK2V^T`6@5q=mMdmKBrTv~(TxEPt&V=ku+ULOXI;Uvf!H41Vy>U;v0* z-@jOR?C@fM;92$8V*+Xer*QgzU+r7I8kld1l8)chHmZ(sch#6%| zvK1||T`F6VkacEsm5imSq+}cWR!C9E)@?Lx_BB~*WM9V^vzy=Nq3^xFKl3`zIq&m6 z%jcZwnfXKy27fJ>R(ILP{7dC-rB~`tApUAiy!v19!up?o%FPHo7$q!CS)(@Ablr(0 zeH1;ew>`6b3W!r-@zh9(sP!0%XOD6x9t1*TT`$9~$S^cNCLbKXYlhkOxp?tTJRn62 zPN!1b|G@9stv^DL)f2U~_Qo>y0PUTwtbIIVTa0&92*m@+s)0L?)xX$r9aX-(k2O&@ zPWJV`VFTr>ot9kDV>Q}48Uo*eXkGywzE=CE6109G>{T&Hb0P6g{7N@s2E`zvou<^& zcQSXY5Xx4{QBhhj^6CGO7X&s9J)rWBb!o5C+FGu@qAg1ujOT27WbAk%gA6>?hp`0L z{fnh5?8n;&fdXS)vOLy=nKB(j9vXY(vT%;63Eh{3W0c{?zurioe?+1}%vwbsoiV{`l_haNMWd;zJhsEXo6_;;D{VA2!yHTCuabK8wxschIe#7@Mmdlq1 zH=VO%a8kk97scz+ym)cqPV<96!Lj>gjl4P1E~%Y1kjhI-&Wz};Yv6o*qdL4{y%F;n z+-ntiW7aD5$i{W09D8tCYDk9pW#3&epD_9m5bT}9zf8w=R{czS5V&#d%&HAP{NBn3 z323vWP&*%p;V!tm9R6k5Ejj33XvnX+W6b3&EH}bhnKPt-)g0?f0=e3>8HRAk|9_61 zeRgey{IMqbhALf|Z!!m)!n54>h6S)f@X1x0@ULUqsh+QIwMuR z4jRp|nxgNS5dU1*#sad-Qk>mOPfl;0YSJS%u0k*LVax{qV*X&&mndr9s{F`CioGVi z#dP)b=iScNLl(unZU*7#I?S0FISjw-gxx*XyLLcrf!y}P z!0Z1_qm&oOSITCsYL9G$xj_2bD=E{}2j42$sRvFNuYHz>0k6K>4puF`~} zaB%#re*G_gS)M`G%#n{_F*m@9^aw=oIB!&n(U`DgA^f5b&J3kEkaRkk|GJpj88&A4 zAW&qi%X^i!u!$?mQ(Agrx0Uwv+5{jwWeXtt`}u!!Iox{UFJL$^Hbo+V! ze0(TB6lDMx;MtJ>72y5&>wdWOKo!F34_BUrjMjIpB`G^3w*!QvT@4ON|Nn?EDhtZ| zv}Zzo8g0B_011grqVJiNskin`J%yvDV?ba6U@12dSNjdK#>Uowb zZ;;~v>!dcE7&}6o`$ph{MH|4~obB79_aJcFSeGzo2DMMRPSj)-BuX@#qhWx!&P0>d zks>C*YrA7^H|Xf1c3Y>aFr`?ovZ*jpo!NLB@V4X(hc672h}|JrQl(VgMNUu3ZfjM` zDhUR`>xk#N9e98!;+AjKxdL8)mRg!C^{STa zD&^TwMp4S)71%|oLZ4~#*K@t+rbF|!jU>Oq0z=3)+#Op=FE zV*s2)7|z-Da9R~n+H5Q&8^OMimT*2x$}u@KKvi$ZmRFC!LSB31`L~G}g4}g9_U*;t zf)hS3=%ZF%y*6-vLlizENKMvc%cZ&aJ ziQQ!YUX?}xuXC^i`nBgmE!+)rH>)Cp-{E=ByimWs1>MP$za2-lKrq3rHs4QrI(*c%*Z5zjT$IaUsT6QyJK=yOf`HjOg7glG>8*^Hn2}8$K`|=`+v}Tj zCDc!jh2$V2ATKq*UdvHnSKoAIKv_uWP(2`F|O07*DNs@-VcEA#PutXt(Lcr1P zo%9<!Z*9!-T#+AdwG1%<2Qk|3dFZDw#N7J{A&< zVBb2B*snkEu3Zg!A?s1;~ZKa*3D4-YWGTE6ExY zd&`8y+B3)1&60yM09liV02Q#%lTWdNj_k8ay~e6F4`M;$AYxY+?N;6GEu@$gLQ!QP zi7v~61i#S93bAyz%6r(w?HT3ti{>FHK3Gjvl-z_rEGG-l9ZCQ>bk$pgbJ^WFZz&=M zxa#G>Dj>$&G12cpwfy?~F7(I_1o4tp9~+_AYo@9Xw7k@YSpm5DVTzN=T}t~-(t?cc0;(Nh za!&m47@x7A+Z3{a$i~UjFfk(SfF=P5ByK6-1-g2>_hYX3j8gK5E@00DyO;`i`IKm4 zKm^RV83If3u%*N8G>$i}D(Uk=1ZGw!2NimT++6hQvB@C(<(VIJpzS~`tnD}@sSQU1 zV#h(^bs%PyT@p@O>ux#9s1Sk%K|vS2gB{~rR#>rlo^5|azx4?NM!%Q=A{#!Vq@V+T zy{B3km=%C25&#|7#$7IdiCu+YTdC^gv!Z9j)y>9U{{y2N1!hI!fZ4DAoFLBQsvdn_ zFhi}RRql0X6NT-ViELo>Yrn!D$P}s@KsB`NI?b) zbNbs(V7(fF!B0~kXouD$0slTQxnGldJ8?wTNyRrR?nhB8hdTx5jj&=Rc?6h_uUi2f zF#ws-rpnCWhvz+te?2yz9VcPTSjIxkcw0qo6YS&)aB@2+R_J7oHm#PZZ>jiZFS!Bq zk8XVE-;IC3t>_!iOO6+@ndkkB!SNCSde#HK%*<)^~BbjMX-U` zYI_&gw1^WF9bOCSwTT0K9T$TIV|)7vdwZSN%e8`Fhaz8C-D7Xzx(FhwA|%S^wG|Hi z=BZlFC~?42v2c{50Vn~@p5%I4b?O!D!x*sIvIq7-v$SeLxz`m`;sjzI_Ths5AS~9k zCI)(;$Qrm?z26agd)vEU13y5&kZuWehv3`(93T;I|!mZg=aK77^bUwcLS5P`)2FMMhG<<~Z{t1&Z4KhFn zPV??lz6%#{w3N>a6cC8KwA?33F1J4~n7~3lfRJ!Fl~gKMF@_aNXFkysGACgdH1$8Y z-u`SuV!nr+=;^vc(RRGs$E-bdq0-E7Xkr7D74C>_JN5jF{f$wvyDY%9PJuc_D*Gf^ z8G^E|)P69unpv2`X+J$w%-D3Ftb8oe4}wbawHY!EN@tiYEM+KEG-`ls2!ze9u6pas z^Fv15$~J@VeI6xw(O^a>A{9d253QqY;PkVPZb5|^Y=EM|Df=Lr){G5bJAxsB6@y!+ z4Qq|O7Sy%z zY6}eESg^#}VDPNxAWe+I`Z--$lx+ZSA$nY}VfD1)+yvl6I>l2FW=?o5tZr1BSBZBa z$o4?#E7VHW6PT;NfI+R`t{}Wr&W)}Bzh> zSN~!TOH6dp1Es*drOW^+GIa#|1vcu}&pGoA_TY1V6>YPtZ!sr`JMexj=e8~ZKlS_8 zsuf5%tVwm@tB3n8s5UB!(PTfQ*ycg_C`pmi;n@en+~4rBa-Q|wpFHw1))@ro zgj6jGUMH~yB?2Z9sAWWj`T+NFgmMwu(mHW;GK0Jb`FLL1yGE~7VEC3A{+L6%v z*_Ix5gQBDAPro`>XbB&homal-LPbM+6 z2v!GbulT^44+T|AI~#7ER?HYBVRmt2E#ZSBw*Z z(etV(p|0x153OlyUi$Ba4?pF9TtPKOIRR~DM4+wuXlWvk?5pU|iCaHO9RV4fVR$0H zK^!O4N`j32L9aZRNuJr8Oeiy4fCmxoPdp>uPO+W@k1H`Ps9^47py+B~Ts1S4 zeSyI={x#|&FRw+&cu@}aP(X+G=px|j{^8Q-#--o~pUbNo*8=%d0UnRma@v_RPPhRV z?~Q!z>lNiV5S~_p4{NN7Ql)ZFI!*!yYr&y7CJ!9^b>)!z;Zp1~v|--T#kHmCR)U%A z4|ocE3r~TnIy{pZkknD>`|nlb%cJeBEER5ojp{xwwjP*F4Uz!41GZ~vAQu9Ac_X`O zUaVo`X~oh5n1O%rJR_|W^po(E>P2h-J6e`yKSv@TRw(OLA5mM5wYRY3_KRLUj*F!-3%ym z?!_Nz?K6a#wFF~8oXanLteq;#dD(RaI6DA}q+=EwRZ(S~(sX%OYSBZ?kF}v)O3CHX z$ub1R8s17k&Edx3pa(tZeRBp~pS#r6uw)6^l&SiXHrB2r5B?&u(Zvd;aw?p&?b-t= znRC8!4xLzV$Zi+uCc%paeLJiQbbZ`suw+8DCNl#z=#1QxEG(=@iV&jc0)`_vUE6hF zAvjRA$9)G5G<>iFhoH+SjB8IhT`K=%?KhBPm7CJAIX*D<*I;`%IrGiYbp)LGEk_2y zQnjq$0``*RN;BmTk}$U-fLjN+(N=!zj73K}=YH1z2*eW14D*eEW;_B98^s}(DCcxR4HE6ir zQano^<{IFpP z-j;8-pzL13jOa|7J5A3>Idq=mtgYQLVC{a`g$uyJyWVC1ss)UkP^z`B!${x3l01p^ z<@^^h{tS}_+mnFp-GuGgI}&a#YsZ&ZkXS7k4%p6D&SC>f3cz~Af|kX+BCT`{E$2R0m@^*^j| zjknh}0LWGf@G%qz_=qVbAzzk#9x|U6R6og4w8vP&X)Om*C-^YvWjh|H?Rnj!U)kEH zsER736|yO?qMfTxY_+G(FHDjUPzh*`Mc;v=O&VT9VYkc8?X9@6qKq}UMz-tm9{b3% z1t2eqHUmcuU|6-@b9$Y9drF?`u1k$5t%{dqVTkeY+Pb};<0Nl#uCR}%#8 z@?LTWj5K+5<5tKGC?0ai6{D+-AFJ5(YqwD*92~jIVGgkmQBsgE_7+Anw12jJR8Dqg zdNXPjvX#`~U7){h;c3b9|AMpC-paS-kZVNI!*I;3W%fDebjFt=&RJ`-t1zJP_!eyM zkOvh7ikJxp)M3hecFcFHLvJ&NW0@UK#EWBhI&>l69Adgr3BfW$9GlVIMh!5I?JP0u zuNe`C-U%+_$#Heg6w%ded!EF&7l5I0?&|6*zoaytx50*wx*#YjX)A~Qm#bn*EPNT8 zVBJzYbKV!wegCN&0txU{Fpc+ICiFibmpfCJEL=T{Ub@Va8vh)4wCYV(&)wWvvHB3i zCFKBcQg`M*Cm)&mel~6RV5{xD0ERc->B*eMBS8DhgYZW>uigRH$LpAc55`fEa5FgM zWq4tFM%bZ?9Lr`<)SFF+t*cM$E|>mD0+Y{n03?k*j+GYWTY_8LcrJnhxt=R}`Itpf z->%C~%a`!P0uNv810I%D{)gdfa+zrxP5X}Oj3@9fzww7MuJKVxajI@0)P4b$UH*Tv zrg&X^`GL|dPhdZJ^94YP0$M7rnoesZpF2Uv`Q!W^cuVKih+ox?Pvo75c}0e^3E0 zG#wR?Grk)^vmyJlDdo3UU-DKO(@TmG0j~iaVICmu62JYIc5%IT)gtS&d^%kyBOJ!L zlSg#5?xFD`1fa0LU=$<&p*Y4Sjz*%hK06jxg_t9v zPo6Tnn%{WcfgGRZ6W)mDi;8@~Y^&|Px>`utwrd15UZa_&sRkX}%R@g%ji(Kfo3dJ4 zK~#2$!if?5UjW0p^k20136>O8)FS!ZQdc|G*;2=ngTG%QN`kP|!eOcU5AZGgmBVLI8+FiUm|vAoETDy#)%A0*UO){Wpz_FhTQ(pT2w!=TPJxz(c2N_#>>Cy>spT zhF%h6q+0>-w*H6rm+1sI0xg#{-6_pJ4^$sW>?bw;QBv8)*a1z-gJAd7{2T13$jNk6 zTOU;N+@a6x>YRtI9=CZEryf%>r3wnA_6`6Y{2%BnwvvKQ9~1M8z=PYaC3=fbb|c4$ z=U()(7g%YA!NBCT`u__i==%v`F1N1mB)bxS>_BA-R)f-PYdW=&QUgdCzytl4U;Ue_ z?aum*t}_z`4g({s9o@&VlrIvlTO9h>AmEiUfRitN|3OJ(iMcLOGfFJ!qBbjIsK*OLt-vYr z?f-$kTjtGX=~*Y=OvE26T^4joXXF&sW=?rPSdCL7Zb3vl zPQ^1)uy*#|yjdV>xF*U={IQ;QUZ{*Oh0GeOHTx{3sK5+dk?<43D9;F(5A1$ zOKbYA*H0fW#R>y@xjzuh9o;8giN{t=?ed3eG~8tnLQo5Q8ufETV}Fy8p|nT-*Ti9m z?+;_ytRvke{Rz{;7p7cyI6OJ{(1sQOwL1Yu?zQmt|8}qv-#X;Mbt*Xdwu9uRvV4c* zPma%x1N~_T{(t<6H7tR|-&hXnd!nW$G#v(>ptr;vcm0UNsoyJ^5d!f`g{!cFNl^aH z^Gds3L{EXRA z4SUw#tC|$k)4`=(f&n%F#`||`F#2x)hH(L`2#eH5staStt;YH4lRI(h4@>6SB4wd& z{2CkOJAYSg;GYP~`3V(=w0YeXTEGrftG_dr@03#1AF0j-BDX@*&FeAT^jrL}*8<%b zg(|L%t7;=~$DMF^^~+N0GI0>W@q24gl39>p*n3{7>~H z=V)`Ac}blo18DV&lTT&17ylDC(ntw_Y~|L8&i+l`bYbAa8_dDe`Rk=*>@g|q^oWsD zTzghMzQ2dWXT)4Df|%dUx5y@-jH!1bnJ$62Yu2$RGMpS=u(?YU^#O?1tcyPWT`xs< zTi;+8sd&`|G;(WVj{0J`gsYarc@)_aVE+7m4fC7dn2l&bWzN4QlnKPs9Dgz1g z3qX392zOseXnZ|1{`-C>>NLDhw!YHF4BO?GcBI}^N5q@$Lq2hFo%ABd7jEtnT+l!W z!yg^38Ik>ML^}vm|4*B4NgV-D_^_e9T&W?nY1w6 zByKi9e`USQ7F2$tzcCpZUO;fQ5A%IuK0EHwaUw}9ZAv)vM5KiMU$r0WzmfQxeynqO z?>Fr!s0>SGW{qibNDbaNcS;zkMzON3a-JQ9+%(qfLFqT{aldJ+VSfrWPIX}~K+<(Q zB9fez<#VwQ-~R>Z{kpFA>*9JJ`I@*QWwT7hmDrHDrbx-e4{T^lAz5SxdOvhk7Bp-y z0Q`^gZ(U*3W2h%ZO9NCkud4uKe`znJ#r6(O0W;~rw<~eY!?xc{H_cAgU6`B@a~QTk z%Q_x&Wk`vSY;pMR=;w3G3Z5yht_Dc`R{L(!DJ-3UvbS8IRCo!Zf0mz$JZz7~&Ux_t zps%;;L6P4|3#OdH$_Yp9(T;?zR9KioKR3gX$@$D~zzasv)}{CU?vP(kO?(3BVLLXY zv$G-@Z|XZKQ+=NWD{1j-VVs#GmcZr65+V>}cNP zx(_7&k2}|xz~A~!+F(*^de^@4%C%9>+R;p zd^m@}vz<1dUGV5owcPW%PxobKqh?8+cJ2MSpQC)gV%CTwrT^CbypZ~H7YbGM*l(r6 zOA)Owq1d2TQr*jA{Gnm9u6g`_n#&@JMA1hJD!Bd>d|EqVfx%TMPQ-~!BRC{}kK=ab|{5RUF)z>&3Nbs2& zC-;q`4IFJo`a>i}_B)K^kcSM=22lrp2ma4>Kv`cNo6Y8gVG7$KN*XXkPR`2X-&%u9%CZqGc?31-e6zZUv#BWpn-&SEDFED zAM6}lEp7`g$v-M-dUay7V<&54`H9Fbd$gLA`5=iT;H9wEa}bIDtg~2~m+}QkD$az@ zgV3P3hEH^st`#lsQ*b(9TxXqeY214FgYJwk-9=;07*6#!_L6eXRGvV7YVflRT})s;aUKELDgk>wUwCnZmyoJ1ely@tfK=u4{L^wXVJL z>G+}@vat9y=I3aK14|TcXABBOdRe>>P-v*pdU7TQ{bi* z4oJK1s7M5Q?SJe2jk+>%d{#d7?KAX20311C1aQ>ubH9jw|Axhv72b(k6-P*9;npj; z^7r)YCDHQj4NJBleA?V;VYI{BQMPR{+NdhH43MI=u3rCtu-{!G^0)N)qE}BF(iD(C zJUYEuF|M;hw|smvSjIs0zDlHQC+I-FfSY}Qn_96_Pc|zZNd zx|pkEH(RSIBDM;@Nn?Ml=CB=g=?T(iUwl7DK^R84U}JW5K9GNhWT~n0-tm1skLDvX zXFVR?!Nq0-LuXlh*#j&TLc;C576L^`$%RoWsKJp>WWS9>Lhm(pR@@o?)q*rHel6*{ zMTZ*jDMs?Wzw*}2J&*43JkY12YP}CObWSK;7E8lk0+IUm+H4e)(k7JUml|)bIIi5& zXO2GgvJ)R_Ma}{^k1tyQDy>uRVvGE!H5M7byO&@AxcW9Mj98CGLcyH|2FjYc#SNK1 zJsxg9@b_C#iRN=MyS!ow0z-?0Hl(UoECj`a6%y%OpHw%K`1<>sf8>j zXgaHgzMFuzchz6zjd?uGCl5_>f7qh86YSDxGInk%aG5i8r>PJ0;kQXazFfGe$J-oR zn^?*t=I7&>Cup=F#FPEoQGb_32Y8YpJG9)?D8Ic$;Cvp@AaDM|I3k5ll<(!NKUyAg zm^SA)yUU+O5B-Cx^)nLs^$ZtnLJMxdZ?a9s#R_@1mY)1-JbeW?#|Nt9t(kvZfA0jJ z?VVz}bL~M*(c*&225dV?(U%*W%iU#HKedr-gpkVGoa&FDFwHX(TTmKs)XVyqvQSA@ z%}o>cRlCGQ3S}nbjfQ)gd}Gp~S>)&_|D$WuNhn5tqk%hB^ee!&kF2P3 z1_Z3VZ{v#Qu|aK3RPvGY_O5Ex7tDKtUQt_#gSqp~z#Spb(2_nd6_Kk(PlF7RO%rlG zY4g~TpQC?Q&+s)J=DGo7dzKFZWc$xFVsE}`J30+!?_1))rL?J)kxPus^&^fWinfXJ>5tf;zusbkxfYF& zDF5qC3_F)^(#SdKNT|KPIkOs~X6wxTPfo@2a7>Q|+J8+al65N#f z+}}plpyW+F+9`_Jp4hSp7iKmG65bXJ4nev|5$JMiLjP&%v>CzEJ_0-L5xv2AP`>{n zFGd9e6@LiY9iEC8(KwfSW`ZS~3%{$jgC9Ki8qYc}5SY(g{!En34ZrwW#r-Hk=IZUO z{d&0Q6SNf+@?ewGDefvy4yR`}2d9IH!G_68=U7Js0<+m=g3Xa9ziO6fmUe(dkKQ>M zRo^YTr^kizG+Bt%553B-3A*l%v5WAaifTcCg}z!0(Hhy>bk+Ny+=CQX`#^nyD5c`v zmbkW@zFRVM0Sj7zOnevmYSgz*r|_D#13uS4kT?F^ZSnba9#dd^J{RxdGm{>p}Ob_#!VXT#Ji_$%w^XVS)3FThx%ANx#P=<#$Z zV_%dIg8@aib87T73)f!QbOg?n&a;u3O}m0xQPxyXXLoD6`b2B9t5c)V7dmel91ge+ zjI97;*)^}UGzmrD;HSW%TRP{Cuyos&del>KT%sqvcSw}k@3u8)7hyr@NlfSFU@QXR zc1Fv;ckj4_wk}{nXmMLsGPjc?*8hk+su01M!76mtvQHooU*EwqTb3@1uOK_9qQ~ZMXDE-(dBsa=hqCa9|k;G5T=P*0eWqxO>OE8`4u#jI}tRAM7OWHVW*jmR%SX z%$sC!|0JNaDqAU(V>p(W|0&rZ>EqJz>MRDdFIC;2$}~0xrFvgeo?q*=Lge$PKQkIp z)?X3Q*6NGkfybt^CDD=QvY_G5eja`16TbD z0#{xVIoZ4OA_hZPJF@xp`|oA;KwqIX$4_+(PUdG{LH%>&S&oHD}Q%q26!>0+69?3K;ltwg;`dKjZD=_j@l!$jGr>adx z+Q$Z%xg%+IH8&cWy5kSvn3uC7$NC{&Lc>Zo8BYl_t^&2x)D-%MM&;S5>V?TszEc;) zE9%ET^bHRzOFbrU%MV#hM;TjeRY-ZE12b`ZRob1 zVAGaS9lqK+AtF*vF6=-j*a|qOue3wYm-(`@gDojRouo}E1$s;6xG>`$*lIe+#o;*J zn^aAxz#B7L9CjlOKz3AUw#j85$ySn%>JpDWZXAdIr|DFXG4l_?VS5YM9+=d9W^R^# zJIbI46?or^RMqtNI^pdc`2-*(E^OB=`yN;L2x;9^Ne(Fxr^bAS-%srX(PP1%N{((l z)uqjaT9T@e{$5_CKakJ(DzCfT-ytjQLRiw|FPMttQi*{*1-OJa&C#NaD%%; zK(Gbhr#KGGDF9<8+}I2)l`rA~rtfD|o%>%eSMYDv_Z)eYa#-sv{GgmD-)D=ycb@DD z!OfNmH#=l^()5hqTTaZ-2Kug!d)(RG)jatgd0uN!ONqoj!gq)K^Zxk9WTdCp5AgI3 zX?gyyZx3@*_`9@F)+fL2ly>LFHc|tQ3wXJ$bV8*|e7V`Lopk?*V4UXzs62t6*Wj-K z#N4|J1$CV~v3 z!>^Qn__@33$J7yS5o1{u6=QUaI(iwnFgf(vz+D%irj@X90B%5$zgh<_`8rmk2=P=2QO#au8k3Dd5|VSjfweg9{If8$k9pEVvD>; zV;}Q8A0T0MpQfi58f2%IyeQw5s~PuN2n z9)f?y;m>x+GOxG~|B?sQTME|g#1(bS^C)k9Px%79mxtg7Ge9Udc8O2}C8AFlgY9k; zLd|W!O6w46>^rl0$8`}K>3=r60tvtBPg#R}FkoF4Bu zCGF=Me8}(}NjOD^RuFYgY24Zme!JVzU<1Q>5}}=G81+BplsI1IGw7;5SYEYA){UB)Pruo+IZ{8bZn~b^N1s zs@fX{XjO$3VL5my$E^NK_e?n-gdW8ZK8&>>U7BLF%vZXdY6d5)H#!qZEzo3KM=Uy6 z0gZMqoe3XtqvEYP4D|FsgZ${-!pg>PcQlD+=p*cXOx{?T%+8GpUOf?bY2xc}JM}sI zsdWGpr6Ysucb@s)CgJOH?r1WCO)BupG;k@k0w=+Z=7>+s&}`GP#Qs{6r;pB|YqJew zqk`4&e_b_1ew(oAla6QX)lGnEPx=ntbDU|VRFy|l{CNF&H{ z(FU44GoP$fS&T^r@D~KN0F~ z9%c$R+tZmTj!7w&*SwScBzg6rN2W#)&@Z=X1y@wsdBpc_xoHHGcHnEw_}2@#8WWLN z0(oi&W^-0YY0s6(ZHU8eN{)Gm+?v3@+>zS#3(vS5HeZx%qPc;EFIipO_i`6o)&EMu zCy`+j2s-fG!sM9!H&qNxTk}cLPVQHdu$%_%C=uD;oq%zu`zsf}6CPc#1%4;K78eAU z_GaaBXM~~#xAXo+N>Ut4lj0?OJ-ce1e3`E}5s*$kBi6Nr@BmD28}qa$Z6d$6^EFRY z_(VxDqt1AQm*aP8{4r$USIi82Ub{!LJZ7jZ=oRB1a!Wa9W+TLLp@7ML6VI|V?VNIN zXLdm_haY{djat5Q$D{FfDYT272kXv!mn0)4TOnvk?#YfIAG2q{0qAs~Ri^pvn`r~o zMXI-h`@No?jOl07Q>!#S=*n3GjUHB*y+4<CJI>4vFnkB< z|3lg$cZhZdy2cQD<@DA`YPB?SFbXizZ7ns}*qN^HT59>V>ZO|B>Bd5r;uZ^pDU?c$?SLK zX_hn`Y|G#7_#T_bTYct2{no79!Wa?$dUw3nQ=ED)wM!VVe5_8&X!N4CIK>O0o3+2W zaXP^qY(lH%r$%zp8hGifp*m_ot^4%&4Hj>;Zgl}aqeKbiE+{NF(kHCc_}r@FT59#( zrn8&ASDIl@XH>i!KwtLfDsMT(8!0S46Nmkylh-&ggI&G6jk2pTA2d@>qp8&0Vv<;Q4AQ=AaGLFXxDKlL@s={TdrX#{%h z*K!NgFtr*1{+1#Zqf}$W;Y&u*yc>iq-9=|5Q3DgB@V)9nY0aSW2JI3xhBJH{LFF;ZJ`=-X-{&1Ph1Qh-V>5v*9iD+@0J-|DVa8^V1# z^5t}{}QBh`=%$DnDp7`2KXDqqcNKIbQBi{wB&0ac}k&+69CzER<3(d~SA-Sg)r2 z4A1P}?cpJYpQ89>B$gv6$Jf=I55lsP8a?wr1ixL0h+y^a4ov;ibFY%Hwn}10%D{Wl zRv=WAro&^;$kVK0IT{9WG%FNZ)UdkefZJr;GL2PIkYud=fOPPM9TkZyqE8g(9f~i| zo|w&&M}-DWC4MR3ER0)b4j^yBzmn`6gbKewmQR*G3kDA4&8CI@_@ZXL_uW7+9A>5U=LRyeS*w ze=>1a1%dh@A6ID7Jbp;?R?%PH=?#;k@Rcd{$Jn=9f_Y5iM&W z=So3Ec=FoMW81#2h?U^DJd(aZq09?08GMI3H?58mFXfB}r+t_fja>Ud@0ST?2B!23 zUvYX)cO7zJROsqMrPk4i8G=0Xc1}zWzWUcdY$7X$^IbMRE+TB#?`L>dgVg`mCYpvpYGz+s9E8(Um z>qd`xDb(DVS5{w)IOTJ7#!Mk|cJz<07bxS1$o+0J;q`b0pzX!J0Sz` zsV>n>wtqAvYM^^_@QZZ;&04HM4$1u1o8mDKu?W@?{`~e0?DOuOc7bpI3M2ZhVTyuZ z*q%oyi_;%<4-S(@|9Eue02uxjE3btl2LCL3K?LV8NB&`I#yo}hktC)vbcuK+^*V~a=|qclJnKv3 zemG5s)EZhA|<>=F=)$}_^;_xr8rzD)uV!ta_oEIzpNmIxi z1tM3bMfk8}iKJA5B>o(8?P>yc9AY;;!q^8R{iX}O|JDFFIZsO5NVc){iBww)5q!CcfefZm4U@tb2?V&*-=jB{ZzvIcUORE zOG{4doR+2(%OwBo@-tj)2Kp3y*Sg%Om}ob8giNg8rQH}G=UTs_DH!9UMXtepIypBP z5eauzBi-!_jPiq)g94|i7Xf)E5NEQ)w2twPYI+w7!r!Y{19nqwb?iJn%#&S@s4Ac{ zQ}`1#B`fYKO?489`I33@?`75vy40e0FGi?#M?3qu1q=sYpvz9{g6l-m6UQ#;16p_4 zYu8Vp<8<#?4ldYP!e1I8{ppoXCM9V7rM|N1RH--9i^zv81Gv0IugMci*|j~m2t%J^ z9%6;y*~EN7PpsA8cI1O%?E|T?q4)7>Kr+=|iww?&12%)Bc1NcZO=jmuH*2LT&7%~R z4p$Yr9)SNJ8~zFS7HzSLH}j*Cit}?tiixJOqd;u<67g|rQ{&<$t2vAKHaysYM?Hk$ z`z9{PSESAVEL)1u_i-3m4iI$AWjNokB0J!4R&!Ho&1`)}KkSO0UtIrL`ZXz~`LQBH zs|3^8DG%YwI3>zkiKMiF9^ASoF~zz+k%t3B%@33yD5{8yS;3XNuH|n+*VtV5arURc zmyfxVDP#MSn{r)=O7CL!2_(zeo|(KPKF>JN1{Zgal!rhj@aRi(V5o96E!tqNv?6)b>+WPsl>vDe z`2kR;(sqIv9XwK{5}Y09A2~CJ9XLLI(3@v|VV4D4S$65ww-H}`~dd%s&{yIkgx3q{S| zr)&rb{evWFAV#;Z%YHeZ-Aa#8^$AupSJ=8(v2j}nSGCDpLRqBhZQFJN;|F|GQ`Css z@QDj_s}Y+)OS^cP_#?w4>83};cNT7-0*Ywp)Vn|zB4=8~7nGrTwSU zZM#=n$+@b1MWr2a%n4&$ql0iq^DlO>8`-`UjyDMANQ+j>7$=>+^^r(1i{qwdL?Xd3AB z$LV_U;&fzpqM!PQev+KgrpjZHp5(mT`Q`5wv3Hr(fZWOl^Uj1Ub{dA9dAGK!0-!m0 zh=zeitkOffGtA&O$1A`<~5I_)18y@uMJpBNmq4Pkw&61&Lm7bt4##-AxYl^)xj;fF{JEnB-VEoll#>#4HtI85 zPozKUE{%(yH~HE9g} zSy4KFruEd|TU)w5o^9v$ktN2Sxm0%`;P2CPR(QYznjU_F6klUulj&$xcz>dtElywndiC8=h63wW#u#e1Jet=Ylf}*VF z@ru^rpL5fC-hqEZM#CQzR?pM_kibOTty^XGls zgIFQo4us|Y4UcRlrpZ`W0$BC3z8B03s9O%o*dm?l_q(41f78DT>MMhzCN2z~Y-u)F ztO18vtwrCeLN_=n_{PpOhIW|)xkFikKl+I|MqyPx`^gJv*yy|ph6Xk_K4*HL;=G^= z;p}w7f(8Kr9m=`$!&N+9V65+4u*Zv}Hjstweglhh*}fb>oG=zg)U!t36g>n`ruS)AHjFm9|} zp=ub1{V`R_i*4+|`5KP(dB*Ggq;4?!ptR>^FZp_y`@1ZIqrrB>n@Ah@w$kkj^JO!P z3pn4SW8dhEY7}I_jTQ2GP_0>U-8R!%4~&Qe_=~Jh!PMG0>T<83v!1KyA$F8yz!x>r z5wjrXsG$_emwolEaeXU%)vMRNPq8gk9Y>G#&1&O(^~S#W$LmHd*YHDh4O)yQpmNjL z_owjJ!oZ)Pm}iKJC#=8716Iu5b8My)UsPh}onJOp*PmPMS9#>Gd(T{U8oujx%iXdT z^W|Ru6;7%Z^QJQ07aGq)Pzs1S$HU$@Qps}7cxe_qyU@;qt+wowvT|A1qY&R9!p+Jy zDQE}S&+baZ3wJQVe7wvAW=kCET$AS84q7^;;f8-u1)(dK54pd>5TA$(Z|OK4{Jd=^ zJhPAk2MaO!)K;SQ)5&_IC*)=w*S1wIo^jJXd$%fUX(@Inau`JV#-FI*!kM`+oUeu* zB>+oU)DwWHFIC*%R>UHhe;aG{>={buRJ4H%(?HdJkpF&>cP0cgr)2R& zcHt@5&?i9BotQD7wdWv1$h9Yz-)fm3Jb*dW2mWqv7T<>P5c6o*C3fN53d0-j1K!iF zT>n!}mN=c+)CaLc=vByQ?86@ULQ}5`?tkqWc%jXW#lGF=evx1dmZ&nu6DMaiR7N#M zJWSWSVRkO?56I`RWWafRTWLV`i=hg}Ps&df zOoVgkQ%F1nP3k)fxaRr(h;^00>71s_ysjgNM~!y~&NVw`_3o8Cn3G6*IwnS6so4M- z_5Df6$&1K;CDC_0Coy;io|O;s8F?g_%65(JhFZ!p{bF6l0yjZX2U8OIkJHUbGvOf@ z$*flWYh&F$$#V#bLN517z4PWTyoQmuc)Xqw6NJHnKz-mC82ueXkiQ+k{~# zLlKj)UCS88GQVfOfB)vcc|M<+=RBYH=X}ol{W|A4=L(lAI4OO=dvZZrRsl@|c$1-; zdqmpc)yVy7%_PFl|GD;U_jKLIHJl0TQI@M36l|W-PcIeu?_-qCc#D8WklX;E-!`1M z+E7}r7?`M>WmOcuHEbNEIiSpKI3y|Ly~Df_>DXok|HhLS0lCKnGfcX_^2T`Mj5S}W zzI%@E5j#SkKF}?GTQ1kPHE-3xZ}kh#rWdTZIL~;_n8`YoUMCIjsWDj3HwHKQK5+l6 zK3uN2x91Ii@Zl;NMFSvH%a13?z)lxZs~>r5GE1Pi?*?ZB*ol~R_}OEXTFIt{R2D?0 zD|O`pqe|3`FFO0iPJbmg@Qu2m%eSEV`3lM@lO<82cL|x^&WUbc^x;K{0C$`Fun`*u z(VDZ4H9J;2wN<4Is4lG%f8R=`^}bo2EojYwcs~nbsRAy)9UH>_8t62UbzX;bm_CW? z6*8%TDAc=$OG(s!&^qHKgInPisLpIrBUC zB|%;hyF1Cxp<<)*>5s+!61?Xr{~NgXff&1aS84m9R`tT(c7PJCOYnN^R!BjaNm}^Ir|+)7Zj0+N5|8wWcobh{+$25U5$l`MG(=9V-sq^I!eMwpt`g7-U(_u1!|qNofv@xMP;w0+Jfa?gL8& zxF=QR`(NEEsnM!4-EVLB`}#k;3#3#?>VG+lOIeWWy<9wLYR5&9l0np7NDhB#-yW9| z*Sb1LJ`k^u)0qII41ogwx@F6mr#4vGV%v@PHoa#dLGG>X*w%r68c&z+ks9m^!B%eQ z2wcPW@fCBc*MH}vQst~{EkfA%Rc}%@hw}3xpC};>GIfCEmT84>nLzvGgl5~H1IUZrOnhVOIzOt zR+H&Upd{%Xh|2OgF=pd3Ew0;_(qNaPFIQelvx7+7{(!nd?CPnzW}b%r`%)dykP4*^B@EfR7q1->JP=13>{KjoB z&N>5s*WMSKgR7+Z022%EmjqmLw$xoOy+XpFxX?11FOZE{inZ`rS@j@Wy^hn3&!1tw zOeLhG#(H4vh;v$!TKPQY+Pz%Y*}n&>NoSYFIEJH7XfD> z%Ie{`MM$et+*4iPH0aZQfjlu;9r;4Utqo0_m(%(Fu3o^+QIE$*ch8J*!9o9WpLwK?QYhvKQfSLPy2WsQ} za}F7G7xz@3?3o$=)yf}D4y~hwfy}s}r0BQ!Qo@r`4O0#OHzjd|g_VOK<*18nl5Lli z%X3#?a%Q)+9avqqmhkyIvRd8nJb#xEf+64OXhpOH`YKMrO?DdPmTTr z>g*%8mphFex(Um^ecn`?ttN=ZDSidp4>S+kBQ>>6&)9CMcS`c$0d&}43my-=1%R`i zw=J+Q9kcZ_;(~q|x)d$2SWxpSA;M|kVvEYI`?6T-=S8TwQc0nl?cHeY!I`KIy2BS4rm&6q#i%x_oU~AYE~jOw+r*EsjUX|DaJCGPpsSBwBY!ujco<%@$VJPAfl*7WTq9R$BM?72@@) zi?4N7f<*4$N9|m~-FvTnl=MT3(fNtRE8lqDid0Y_C;x#qu8sJpjITzu0C&f<2u;?V zX?D!ROa1Ixo#fZP6$6fNv5e%e^bWb*kK5r+Qy5;^T;<5tTzL$uDQ|FbaiuQ&2Ci7B zEkRA;4>j&3nkc&<#>}$+E7sa;V!lto-)!z#$4D`6IQrRj|F~zgJ{$(N?rkv9pH#bI znL4s;SdvtnYyf_V*I%5^i67jCiD%|vOPkt)BMy1Fb#_d4`t@y@#?I(SmxpcqvLBga zVg8%g;<#+A|3$&r^*4mX7j21r;RY#=9+x4B%jM5`b^q$7 z(cbx0URd712CY>msjpZL3|5XDn1mzf9jaiJ?A$bcOI=R-G}^}P9U|~1>P0pVX;2oa z*@(KVL_&N^G?TYQeY9J!ebU-`#%buk=R_UOc79WelfpZoy~h#WIPJNX6C--Lznku7 z5vi^~>rq-+AF~d1o8<{p{5+_Kr`SI>no&(nHhJ6=M5l@=7!8g-HK3Pnde23n6=+}S z{HXk>rxN24QQ}daN;lT{RMOR}l}(K_Y`Q1cHC>J>nK7Q4v?s?JHNY1?FETqKjC=TZ zIyAU>_{9Q4Jip5MN0pF?rS*RXuYD6Z;VcQ}2rvo*+;vjo6 z=W`k&nv-rmm+7{$y)sL%^_swJux{H=oAY}k=T1k`kQ_othRg!{<{=PszP>h0qR7q9 z0jR?8#@##Wo8hOmk~uajOLe1FEqVru-~7y|>6|c+r)jmD(~KGH)NHC-(V6C=Swdmt z_A<$Z`7AVhM+N5Qi;iYih9!_VCRB4ym=K7$EK%Q@5kKxg`A5x1$1#PO-9uAa&x(AW zkz? zJMQ(ZWo~237S2G*et_$*=5s$H|G7FF^C#F{?F?$WO8gvTReiAP_C;?0HBFbAPn{K8 zsX)l>Fvag$J8K8NUkPtonJ|tAhDI`7X`G3pXrhk0QTjnAngM8A zsZw5>Gav0MOSwcu!p`$sj(fff|0o3H5-hse=Ff@ZzieRfg-G-@;}OE1Gqgur!* z19hQ36W{3ZAPtFTXLo8?HNr~^y$%3(*i&DTpC5Qjb4NIy>dAD9d=+aod*C;asWczEjd{>g>+vHUiFVBPKURw@@sa?!k_i^~h7xE>ynYAnCe_MopG0?@VB)Qitw+;My4=R- z6aW{LWj0?|SRi5m6e>C9x5Q8jBNga!{=xDanp2geDNM=!X!{tuMM-45iC2G`|%A#p(W315EC^D}PI}4F#y6i9@;mRJ)t-*6XF! z0N~yn4D^=J3Sm$Zpk%;KrQ_?D2$<#?VW`|fkqJt9mKxnH$^KzZL^hW>Yb}0C$i)<)rroJ#tO;#3~LbeU@$`I`!D&Ro!Ucq2;>-L zPi2IIzK0RkOpJCzKnpXkm!#R0CPP3ManHAn&h5nfxJb@yWAr5FlmO#kAy6jK8D+PNJl19>=>dh?J|~#!qpn<2%s2+X;j0Jg8sP7y zK~0^9S}M}#Ql}L^x_(E#Rn2oC+)o&||7o&XqoNZ#ZM?h`3&oaQ z{X2;A8A=NEmGI(c897P%6Om*y>)SF=KPhI&1Hfw|#^zw$HzR9ad1R&{XIN0a28R1@ z)fO;hA?p>riTxvgOs!tqwE(^_#60hB{V-qUWUi&h#BUz1>3qny-a(X7uDun8+Js0l_!Tw>iOV&Xx2{2(m(gqv}*3IV#}v z?q|fjoqXrd{LVR-Nq8k2a|VFoC#vw)=ai{;6^{@x*69A#5bNM;2A;vV-d!LHd-_nh ztKP)HGk?2gMYB?2A_Yhvw&N4lckv3nA(j^anJ2rHYd(3bQgY(Ntp+a?B7K6w4>zK+ zE44jSdCt3`PILDL_41kL_>-HYm>+h;s%d6_qJGQ%aw}Xf#CBU!DC|RLs$M*!%zlV@ zaGki?&&*)aY|>5VoJmeXAU7b({tO`CQ+3V*dg1rJI)0LyfM}5tjRKF@o#9-s}-#AZ+5xraLh?oF$Rxf@uvF;enQlYzJeikDQfc76j!+0|Zro}YC z2M+njcB}dvgVJY6hi3ffc*1ZVN>2y?oBUB!QKYS+*h*_>%eZ!#Wq-qcOMjmAXDhxd zX9JQRnddB3TyrQqu^@+59WkyyMOzD9#C|fTuq?m48Lv`PNIL<5iNZ0Nz1`>Vq&X>w z!ybWATJri9mPY5?n2GD&YYjX@VJL99?QktbyuR9_?bey~x+tAOqYP#i?l4VM3<|pg zNgY55or;K>uQ*fxM_t+E_2_W-xVbj49gN)xs!?OQG|P zvYF`}%Oe}1!xga_?3<7j`7V0hbnBYG;#gYFKw{l%kJm~*(@xK}LxRnrk`t8uh35cu z4F{E*@a&9D0?T}IV1zTW9Mcn{Cup`$`UcDQNlYk;w))0WO}k`E*VqFpI*NFjF$;H${v{Vyi&fcbwMhEBa{Ti<9qokQ2nHKeQn*lbn~4hNtvA+-8|^-hD2Xza>aS+IpnM^;O-7nHrvs;g@7}ht4_MV{z*aa_l>Ws0Tn#E} zUOur;<|mZAvck798Hg4f<~8@l+`pr%Im~Bua+^IPuVLAyFn`G@F4uTvGZMY%qO9;) zf<~y}_Q$#v3+C`ZLJCxiF_^lW{(B`q^-Mg6(rsg8sy?pigo4a1Yn^+ib#WTBMOyTR ze(R~Fi5{8C)MZk0ZPSWME1|TcwN$VW?z#XASG8Zvq4_WV)V`5|dieIYWhvI!^y)${ zReV>8Wf{BE;*|7H#(YvQl`-Ena%N-GnATBGj*VUk9AD-fg2sM=mSEnv^mx*6;XTi; zJ2g!dMT3fae?#0kUTj1(CvLNy)ZVL{Ye<;*PEwbO>kUGpU@6|N`U1S&$X}&}qmg{`fXVG^^LG3I z_Hyep7d}C-c;o;5w0ZN4eg3ki#9tTL6nsaUT{bN_@BYvK0Z>Z=1QY-O2nYZG06_o% z0000200000000090001TWpgiPZ*Fui0{~D<0|XQR00;;G002P%Uqwk?K=}Xw#B~7x z8~^|Sa%FQbW^ZnEFKu~pX<=kvaB^>7VsC6@E^l;Z#JmSs6iL@GTHQU}Gt&(NOw)if zPB14VgE^2C1E6A#3^2e*&Z0;XB`lz>IU|TUi#caq*RZ;-uDWYp!H!Mgx+_y9m~^}w)EeotTE^8qIL z9ss3VXqcq%49V?GR#yR#B6+e0u|`AGpM&gNP~ScD_K8IV=|^fe z8gGyAwy_E6)3)6)wE_Sx1i;!S!7weE2pNXDu}&j)UO8^dg3pZUD|_Og{Iy{WR$lC3#N#g2oa62jU;%!{2-{o^Fh1xd~Rh+qJQ0V2c#;v{|qkU)l);bRd#L~OCizyoWINMpyz`;!7K05~SmGjWE@WF2!)7Vanyaz#>-1TB$C8HwqsCS#h*2qYynT^|;2N{BE-##)By{SB!}@%oWj zNeL10*|F*A$vs_Nv$C>W3>K9xkx2=z>DkG~|7C}3yfMZQ?-HAy5Dzw?wd@XhpqB@5 zZi2m+rwb8{ z5~6KDa2%o~HSzrS-su0s8MD}yC`gSJ_(mbj)YKP-AaP`xpgj>$T^nslYUYbYat7*6 z7ksvicKJWDW<(=LD#9&XmgpuRiUEy|ZL&ZQ`~}aGgmpF&WFg2hDjsREthaO|wI{OE z74=wNE<(IS$u5H41k{&~Mkgc6|9cKsq{%XG2GqI;{0RsG!nuLoxP4;=Z)wS#0#0FO zA=AUAGvzXvN?$|w-jlTqw|LWR;YGRpi{;c*a0PAfj!`W18@XR=oC@` zHPWjATA)L*X$4w?HlQtN2ik)Upd;u6I)g4~pLa!eyP_5Aj#jKE+U?$GH*^zLZcntv zdxJipFX#vQgB-Mn{L%gk1Ovc85QOG!Fc<=cqSYOO&cR_|IGV9AGy|j19vcJ3qVsS( zm;ffCvv4w)g6!W0c7R=AH#h{2g45svxCAbO@6gHjJ-7m{g6rTK_yODiKY<^?O>hg` z26w^F;0~%wegzM~eeeK9do7A`1X|seEV2mHg3VwVmp2lj&l;2<~*jvx<@fs^1A zI0NQ`T#$zcT>h1L^ zy;k2^-(K&g@2L;aC+oBIx%yIlrG9HGwv|Jx)~(vNa%qjXrdr#yR<`C^t6FPYcWE8e zI=r>9-FFXU4~rhlAGdhi>g}7if4%+tEv)yd?@{kt?^i#xeq{aR`tbUx_3`yP>UY)e ztv^(MwElGc?fQH5&tVT<^68UMC0W)}IGUX*G)L=@FICtM>>u0-_rT8~Uv48`ijXgr z#C)QL*i39izU(4S5T}XnB$z}Y87`SDnTLGI*H$54SiO_JrCu-i(nIhiT|ZNwudmQ= z`5(U6AzxZF`4WYE0mv8d*!Hph?d!LH2)=Zx?_S>%`Ql$6Qa`GGO1+^zu6}#{&idW; z`|1zZpRB)#e7O(Zc<|}dr-#57y<2{Ih}V2N4#3A7U+usdh;kpjH=}pSM^sCGT>o+F z$5PZ<;FyomAB`WQK6-sjvI&qDkC8?l6T5b=GlvK&mOdE4>s=F`2KcOsT$x$0nmb#1b)XykK-2rP*hIxo`l_gU>0@dI#R)$@|O0n;- zZ?NyN3hW9t7rTbd!+yXjv8&j8>^gV~USf-|pU`f(fi1*tVvDg`*aGZFY$^6LwgkJ4 zEywO+%dk7xO6(W#47@`5;UTsLyN|8HentE10k#_DnLj`SR*gNvYOu%PHMS0Wg007X z!)mdo*aqwwC>unH_7OXb@z_!9U+g4~ zVP|j&IES6brPu{r2F`;g_;>jC_$B-@_<)sQ7jZetZSS!C7$o`=zTgFThn>SIl>15= zb7V2fmvitbcsTBkPexh86ZgWq;XUvPxHsM%E5--m!|~DhID8B~79WqD#tG~M4zN== zj$gw+;6LF1;@9zy_znCM{v*0X-Xt*mCv@YxMGz?WNbsKt62C)G_+3JZ-y>uwx61Kf z2^zmoF!%$)3V%pg27Tr)Ah<5lt zM0=bkItV9?<&?<~&YMhhvZbJV*%iQJMPNNK0Goxaz&2uAzzbpU0!|3n*Jh;s!hd^T#|eU(5~j!`!g| z%oFR6xq?51bMPxYG4laQlXs05gYp{p`l#OJWVlU$SBkvx<^V!P<^NY)KF>+HHnI(5~ysdh$^KPQ!A)7)H-SlwVT>U z9i)y?r>OJPW$G&R19gMCL*1k9Q%|U8)Env#>OBRik5ZY`UfNRHPUc z&WtPL!}MbYFd@un#=w}ER3?|1&3wzOU}~A2%mL;kbCtQxJY-&55mqg%T3dNo^|lJK z8fP`tD$T0Es?w^;YPZ#CtIJlmtsYsuvNBr})(UGU>$cWz*1fEUSWmE?YMpIeX1&~c zv-Lsi@2u}y|8C7ItQBn(-4p{9V->NAX^LXSV#NlvyIHAg-sWmUN*rt zQ*6?0%50X})Y|N}Icam%<`wqdrBwwbnNwo7blZR>2$*#2O9 z-}bfbzjg{cy`8(Azg@817(0Vqnq9VCj$MIWh21i{D!UDK+wJz+9kDxY_nqAjcDL>B z+x=$u+U~s_uf&ydrLEFYsa3X9Ix9VuJ(a%7AZ4g>v~rR%N*Sk2Rc0&mmBq@%%39?C z<$2{D?CJb=+a@6nBxk#@*t6 z<(_h{xIZ}FfpV~MaB|Q&baL===;JWJA=qJ(!&HYE4uuY-4wVi|9jYBRIqY#b?r_oJ zisJ^yeU2xhrusQhdB2wFyl&q#6_BjnU~; zU1M-2ZP$#maW=MXb7R}KZJQh0wr$(CZQe;XcJk%@_k2||HRtL&RoAaU^_=e3QwpA4 z%n)CUE|;LAI4vnQ8^xxzHk?GcFc+&E|^0nV;q;{51_DEh_eY}l^T;|Z2jT!_9j-07u*FCBDou2r-W!n zI>j~*n-XV#i<}h)y||5KDHb&)5gx@ZeH9}u#wMcO01d7I8nO^aKsf?~PUnN>V0a$qOz~Fj7RXluN}6ezIgbWdXud z?QpT!qn^BCEzfmFt)nkvCpwMzV9K(ZNq8}h$TM9h?Gv(Ro03O%8TnE*tCUMR<@}VI zV;#Vtqo1~eveAZ-6oYgK7p_n;CLDAu)v-j9#IQ&!>x)K8&~rOp55Z^DVUP!`L1i3) zryDSCLFOzUEq2uBJSaY7h7nAHz(_)l9fE~KQ~=wLNr-7AlMh7}`8g;}Y?wG8%?K3| z9}=ZNbW^9E=vQT-o*{vFz9}?EY;KK0H*iigP1FtbVy#!`9Kc(FsYLu?lEx@%%%<)v zOkiY0(<6*|xCkfe0B{x-{w~(~!$^qgfF^eUE(iAh@qx@-lAa*^cf4e2t%xO(`#dBH zR)OEKijrw1c#kBKO(>Ch#MBiN+lPUa6_i&ieQ7E^%2XOtk2`VcNZRS-n@zDuBkK7X zF~c?>WQe2*Gm5OAoZgMS-T@sOq5c*n125V~*YJ>*jn{Bd#=0X?<_AQ@=BvL&&jhN6 zLdgUcJS2>GLR|I?v*ZzO#w*}OP{<7}n-y9*CA_#teDnx=`y=f0Uzm)_5gD~TJYq{& z#I}HlT_HZRY)nS^=>NeG>lkCA1!c2JOQ)0<_b87Z5pRD)d~ynS zR(EHSv5tLZN(D zoC$lYP;zz#G&v(9D-$shCM`F~uf@3?+`zB_7a!uTyq<<6bG}aI49J^8k7aYTTwpPh z3?bZUc%!AIQeOlEI_3{Lp41LVW7&4(WhE6)6&GrVi=*{V^P`nFGHmrvv9`AO8%*=S zdaMmYMxq^HE%AW1cRyndFZWw+wJ12OwoGv5OBxjsX70nhZtviHZfXIr^vxhdz(Reu z1>w!}R++CC{hkZ)C3o0UfkzuSOttAK4lUnAi7S&;OoT=##k2JbYPs$gOtU?)d3mtN zoFXK$Lg0-lc8TSEfSn z7|Y<_Jz-4b`S8TB7^MA?1=wb=QcfzcQcQtgvQAq_S*C5I9McMf9MiuH?K6G{@39OH zV@om%9>SHpB1TG0{}V0ERKTkBn=WS2A^J{Cd&@!6J{AHX`C3uYJHhjCMa?IA1nwdqea zh)>}vv+$4Of{k|=d6>sCj2Uk&6Oo^*gWTFYjRiTb{mxhq690@KW z8DBLV0o&R*6q< zO}jvzav8RTgo9mgU;N=;D~>51o}fr@2A*N=F^Ma}!y_U#ef{n4%xl9#YPK&!WC|8v zqTJlEQ}VmlaPR+=UqrdRW2f|YuaVyWDS?Uf{KwD92e}}%9`h2%?ePw=pCj-98 z)L_l@&1p8~3u$6WCW!~{_{9vP=6LwC0)Y=uV9m9uwueeW*TBMhVB{t}9iMss z6Fh-OV1bCh1sJM>h!_MA>E(@~Q`~_^c>izv=*D>rhkAN`z&(1Vzvv-0tyNZtDBJ-o zB=q08s zB1@@?)7v-HMGj=~Dm{jWW{&mB{WAD=zOP$L3HMuD+hDG#=96LshEK@)0_i|de60_1 zk~3&`ci*kOzm~thzY3?mU+T}%Q5H3OvSERg`q-j|mwvdtzJhv|s$cJzH~zC^_60n@ zC8bFY!g9mJkf`^)dYlrljl~wSvm{O9j*l!S(jy8J%6H5CiZK^1Sq>+U4?88uN7}p*KJz3 z&0XhjV|Vr@@lz^wP>E4BChtgR=Q*bA+)`eShc1CQE zT^rIj(y#Td%RM1^S-r5OAf>#UW!`<{hUrk!MYxP`C($$?F!$elZST=rn}iWh42^EV;@_j5e( zDMRcjqi|520vw?YF99|Jvm4o7`qyQrvJ8wVRZ=b2Fp5s9H{JM4F7RCgS4t67Zq~~x z!%DYAu|7j%b-Sr_Gy5jTnm*MWd)0Pd9M=1hI~K)McYX5@vJD{VTCGJLa@bl3cu5s` zSWc#5<(}|)y4{Q%j|_E03_Jw#BldkH)(Uy1`OT&wsVVs$qnQCPpgX-k;|q;}ZeM#8 z$JHglj~CppI7wF1F^VHNM%NR!$MOhj{GA9n-*0I?`MAAMp8bvy`&`Zo3@COltD(Wy zO9paqiK5>!xZNDtyjapJN>_)hu&zKY-*_$LEi3jK+_Oj8ib9`{)U(betI?r4En|X} zCA8%V%gVI78m)GsJDN6EUXC6EZ6?I>zusW&my_XkdF~Jr0S`^b9+VYJ7MzJ>2zuR2 z5|cEXb!U46Fb&X_3S$G5Qsg*C@0|TBC;;mmiM#BwU%t+|>H_NXV`#<7`{!GU%yO}z zMp^FEmau%Beu6V&19fPmOI3^DY}RGm65B`nQ}T=9u9|W*Tc5oFgi;<}W@#Hr>@f$7;|>u%ewTud^8Dg={z(8kDo5vt<#^)MXO(-r>~439(#(E&r1H+x zCerD=45Vxf4tH@Cm7e+F-y0(mIT%%EziSrc~o8wi=bP9Esa=&6gLeJ6V3oy<_SEY@*}X?&6w zJEzamZ$jVhYG=HYoa|_}j)vR{^U$IBKz+uW;|`ws*hmg1Zb}`c?jvEEE&i5=Lp+u} z_^i6vgWpW8O1#dn2k!Fnx;rmgMs{xvG$flyP1-4E>9o6*TJP4loZ6M+Nw>{P{RtBE zeC|Q?H5q*)olLQ!o-i#nEhRs08k>rwm!z4b&Q!?JqYHw~8eFDj9!5)=rb;iI%w#3z zlfh;7863Gx7uemrSXq(kk@z?0oy@ zptC(w!JMj+nkXx`Ub4-|X|AHyJejxNNLHY+?35f?NyS!fcM}PZ$3a(M<|*r8QX{+n z3fCmGIgMr`z#WpQ!h4vR#q_;Uzer?gtVEOlU2((vVdisfs}Qb9Q?@rQDk;zX+lC!*$H-MzU8_wH;5 zn@?uSd4}FDAM%X*>!4T2X15G7ZgLzVYB!~CD!eEcV7-LVbn!Mrb*W81>0m^M79jr(DC`X%r#@kmWpwT8=JUNrKJT))AGkT2|aV6g8JWtqP2!dyCKFiVmk z5HewajbI}mO2=oZjm$j))TmEEROLj`2vfoN<_OmQ(q9r-F+p^I zZkP{ucuaY1f#GVNG*{W^1ws#e___MpJgwBzH~+e#dd3aKh;B9KD5x;?8}Lx=MrnM(IV$t_dtU)ijj!~z}WU~ScIms{D#aq#fJ9YmB| z)&*}DYsAEt1N2tU$u>F)O3{kwnfF)92|P^56Kw?z8pDlEi;+x@%**AAs>*hJbpYdZ zS%D>vv{immKO;Ku+BEWnSiY&FWD_o+2eJ zOqGT|e%DD^M-nC*09)=da&)&Y9kqrY=k6GvpG%Qzc170yu8KgGZneR#&JqPj*&eFA zlv@zA;_c>sACNiWaDDBr!`=W;VQ8?(&cq1TkL@(=}elo*Kc4f6uQRV`+Zl9WdF+ zt$FM>5ZUXe7T!2&m9JVRPhu)@Y-+?tyZ!ZWoo|Z~sM<2afyI+cQs^_3+QmlFbRGAv|}q2)}F_X#(A>Qbl}I0)HL4`q8B!esCg;yKSYC9a-WI(6rJ09?zp{dH6h zMYHQkZmD!ltOl&73=i%l$M)MpXz~gVms&`9IPTt;-ysrH#(a2OOE=q+AYf6*0)t4N3#dZ+$lC{H`?)un0&?h6?6^+ z!%Y^mUUztiH_)4TOMPD;kW8Xj)v<$EIyBvww6P*s$Es%`G!6l-+5(;n0E}k4vwiZ8 zPLt8uEtMM$Jr*lerXq-hu{cr(rJiWz`ylRH#~!%dM;)^>ho?27NK`Erhy8%#vlq?| zMNdbe?d`$Ndq=A#?EEC{WW+AxsEnJ168v4o)JIOmxpdq3V@sc88e+{Q14tx{`*MAR`8^_r>tg5HKwY@Q{Z1C+fb=BqI4 zu&2}1@aN^FgHjH^^I<7sXRCG80tT+^iHOYkKJqfj1Fi9*eGFwuIoO zO+n<+gpgalt~7urQW=euzrdT%H>cud`PttJT%n!4pd8R!EfSovv@EfkKKzp~D*U|f zG8R$ZPaMiTl#6<)5wlTmmj+hz3qtE)2h6mNv&;qn?;10T7ls(53Sz@m9IeAhO{6N* zEZ}K2SuI*TPLLKCOF5U-MkjU4$LlHcD)AVo2l`diq#3f$_)6ZvD;MW`7xYGGkX2{5 zIt)W!6%0@I=oISKgH(HMvxOz@%0_CLD7b%|y z60^%Cyq)bKtVglpofb~S2F%J2?&;E`A@l!Mg+3(}85 zj%|peb@#4i@w&1SYYkn@84w~y|^aA^u%dNTH+#FG<&`7GpvdTP^FHt5ru@J`Tx56*h z?e-TySlLRP6f7l$VvWFJSF{zM!z?hXP`!ZIHk=lHz~?C6EP{WDm58K6-{Qy z?1-ym!`1Oo{=APEXLe~?R9l4m+il*(dl(kldPUkOE8S8 zk=ZF%%A>krD|*YgdXcBpdlQf=usG2vHaDp~o}k7XSh2cPy{g#QEJ&bYO%fF?e`!$! z?{v7DI9Qi*rnZgWH8q>buHnUFQJla#V;f{hd%fMXaXD4lgl;`vu}r_hp5MtCXEeQ` z##-~CoVMoc-XGYY{=+z0PT(#oE?Otuzqxe-aaC$eneOe3AoPShx5SWhnEj30t2l^K zt)bMV<8%7ZqV(=EO1JW<@QiM}FGRkRd3P9T3Ok$mhx)e;zS+|8iVXJ>6dL#E^ZVlO z^St)$)M5(*tqT2B_STt-J(XLwzt>twa4YVPhy(orPr&RL+vmGVH+fN2P8dsIg-Tl? zH~c%rT?UXy$8xl*l?TpePLFn{vb(iQuSyQ2;}VBUiO5#2Q=;)Fn7&|!!Au;1se=p+ zaNzW}2KVPHNd-yI#P|x_`S|7LzqX~By?a5L8dincNq>I~)VIb~S8jSqxUlcBX~t?I ze7h32V9SzPMHT}R^Mc2XASyPxA3|*~W+34y8;>>@Nk}M_)4rv31wAxGcY|hj&DV&d zJos9@22XUnkl01V$Vf!7*oSXc1cCkiQZti}eWUy6UR>l2wdhHgTd1 zoQV7SJFegBA7L;Wc*J&Yjyrxa3|s%b+T&k~uuumpwLg}ks$4B2z=gJXb^Rhn8pWK? zelkBei|$_b6;f<4bcS_1nDIDMhZmdNTSGkKcx!1vb=f!u+6_cdz70t9a7l|)HJCZ( z1^d@xuSD4~(sES&DvqD?_o^{_M^KF-Al%G=ylH@UK$iidG6)oEjIa*Ir-H_GRZ!F6 z@U5a7(i!qu)o+%c``+H%YQnH+8P)2vMxDS2;b@1%>{OasR!NM3>M&ugxm?rL$YtZ? zywhw_R2+4y%>2+C*UP~9)%8%~ar~-N_G~Sh+|V_8zTpz&#hOm*N8vEdPJtQymuIf) zI)9W&4QFb5o~Ll4E7q+f4KCBIKtq2@AswTmd<-hh4E}hk!c{Q`V;7@YC@Js~g8D`Z z)zt265*L}5zTm~&*}+WuHPt*s%kSaefm21$ey7-920kN|IDZn7UlS&=mwCRC|BLyx*ZK zLM$fhU0$(ekM&dw2V*;-YVR;v)|@9(H#PLGzQcOhxvp>$he%jSj;`RBc89CV@mU`+RvK`^i@<0s^5mxQU|m{ zehlcI9k$CG*0KwijS8X*M*v}5HAXRhoo4Ug%P9lZDX?68{=t?N&Q|B^N@Xee=4;u8 zAy#vL!#Gj+d-AjLLC3RNaXO{RCUlTaqEJ-Q{;*e8)isG{GH~-U!w-XVSzi3ynCB?K z$G@f6Dp%|@eGI?9w$d+~n|l+ZUT1u&&{UC{;pn(oa{B_j{ZR$v4xsPlmAZ$DOq3-& z+RMj9O=C^^3lQ^-+`%4*YDgBoJta@AjT*>~u@(m-CbLg;bG$ChPyta9Z}z@4*0aoY zr_qNntGTO`mX6QISM2r# z7!;sRpq%zzJg^Yth$k>{d-)rOl!(sM|BDF|SO}(mA>eopv zg0-&x9V2%pm`2X(yl0vsM=eKX!56Afu!)|Sznv>xquyjVja9_v#x>~i5Bd(Z`MdM{ z;Va)f0FXdOtH)*+-ePL-Sh8&i0Y6c@Ds;D<>!Y{jzIzMjBo@>Vk9zNUZ`I?HzbGvi z;@3{$m{7_TpB0bp8Urtik=h}kDPL?$X^8@_r4ruF;G>{S?1 z?%WY|b2$mPq$!p79N-=;Op=^FG&T z%%6kC5nxJ1wlLj};pBqQN!&`elJ9OSF;sb-V8T57w9a4b&wc9N`H&nT(9$OSi1y##x`LB;6OA7Px%*=z+i%N9 zqRU|J*R;ft%Zob!X+FU`4VjM%y38lY$^}2~(P!MB!mg0z4yi2PDUehawVRjeFLlzH z8P%4dt8_h(Y{a>AoG%4QQ#HX-=p~Lv1@AeZf;tL7<6SXwzkK7{8L$^OhV$aR54*UT{ za1Hc<*?002GRdz#2_@{1fQ-vfz$)4_7}f$*39L>TQ%zid45S57=jdMzw5I8=qQ7R! z*@7_m1X2aBzYL@m^qc2cn1BETh!GJH6zF#_a`sU$I>8^{eb8Ta{LX{nQ2rQZuetf* z`~JTY5s86*NBr)`U<4x`0sTOL^^4rE1^zJLu^dZ*|o z1*1zvL;$i4+Ly$}xdlMhkf!`Nb)k_u@D73kh-Th&kZ^mVKylKDFcD$a`XG1FC1lgURCnKhk)l^l_^a%qBwXO4Sr*6Pb6Vf@Ka#0TD&A3ae$OOJ0;eqlDWu+oU{1 zJk*~WZ@MK(uM-2tN+y3B_>BF=wI(*lqwlm|wO_qoK|GSZGe2TJn!9vuONh_axdL)z z{e*H${R-?BXV2WCP!}W42a}j8tB+JURohkFsv))RBT$BEhFymlhgF7&hp~sbvBPEP zGqEx?GdtOGt+m$PHb&NG>b7mXCS#hEHkweAB ztzS!uH45jNmZcYpEKRLeEH7BtS>-ncxaGaX%}RgfDf76?I`h2>ylPX=v@W#Ua8WQMV6Z7SMaZNl4i)?}-6 z8eGved2Q*g_$s_NUp=?-t$npV&2md$+7}+S#UOK?xKsh!@(-(Hg_ zWnHpoTsyYUO~}{M0b8X`_NQ|*#9Xm}KOIi4rw21uTzXgDwfB`X_#Ms{3*D2LW?rWo zH4!zhI({y<&f#tn&JwN?E}YjB?W!GgE{h#1ZL|)RuH2_jQ&)1Wa@S2>Qf_9?{nwn= zsMlIs&mFrieivUW-Tj08#M4Igqgb)Dc#u4F9$Sy*|B^gf{sB(TFFA*tl1@?N63seJ zmFOoXXQVEd$16kC!cxbnC#_o4npe?kxoQh_&ARElK95YE*xX0Ge+z!+ zzVBXsPo+LBzd!whyN!OBzVq2zov@4BHSeY9?ev}faQFM$yR*B!yURDwyX0pC^qU`o z1Hu{h>^CA71HHagU%kH;@GQt8s2Ug^oHa%sralgXQQrr!6+{9M!K1C@wr_*0V1H$GGV{v>-0H3*NHlJi;JXcvl<%8;7U;&R%iQ4O~4w zlZW_9T)WT;0w>eaNF2HlFPsXz4Y%{q+*p3O(0%9(zNhWkbbc?~C$~CM73>P68=Na# z3{(zs7lpfoz0JR%z0`g`@Jyir!2uy@!b>67zc^4H=y!5uR81ylVRPg8=lRcq_z3qH zC#+TaYp(|QA(bKIu(dc}zQH$PSH!l#CL!B6oSw$VV}4@ISjoH<#!KDvJfhE7JYG>( z7>{WMj0mHyn44~ZlzPADOcpwaEw{sq(f26!s9aXxtCx=3){#M|2qy;LAJkhy4kVJ3>Myxt1bIJR_+rYLU1~Y$0ovq7&E6>Y{!X ziBOSTP1>P^qGVQDDb12=&%I-8Ho1se!Y;pA+$e#Qn3U*@Q_ZcBVlS?pj5AGRLNf-8 zx5bB>aGAi5(M)Y6yb7VE6i;4cvocXLTY0S1E?SqmQ`KX|_JDSU_T3ZRnNQ|fGCR+m zoGvX7{ClkxmtbEe4~B;fue!ezmqVlXu3JatdksM!L3<%I@ewS|fz8HvsWOi~Y0zoe8DUnNZqu3R;5r=^bzijW+eSfpL?DN?vW-X!_D z1ir~zpM4M{-colSzrY~0qruh%ge7C(5Fd|VrIW)f@B`Yk10gqXy<7yy%z1EozK+lK z!4v>1282>u^N9n=jX?D$LyR$g*1l6)VoK+h#6BH67nf$&B;^aN6M}k>O{iP=6`a79 z)-+~lE7o5=DmF;opd;q9)W26OrHBl0EB0q4f?uM?d6wyJ2Ucw^_5^}TF9AnN6Cl05 zD?yquAzj`pF#EnmkjWG8@iicT@R8T}Z0#E*W<)QuRXs3XkvQ}yMz;{;x#5z_19ly~ z+5nyS$JXvPzG8qEg^thd3i7fYvfS;IZuRrYTCjqH9@EB0$XKab5q6~Bp>6lDW*Q+vmkC7a)31y8B7E}p*jv+b1?YCd#L`&#hMx0rf7 zzK6;-;Ym6>?1lhDgyj2Zy1LD6n9G){)dn6lWBN&r6k?;)``>nL{{IHeo@+PT@+C)O z_;9@~&2_*o(o$GiN6SpnYgta6I@Lx;M2bmcb1Nb@Ga4;2Exndowl%@O>+|){I&emj zdf6WiO+8DTCH!r%!2JSJ*>U=3ghKp%;Xtj-VSpj#y1Fz6pV_dP3^dSM#;b_;Y9RP* zIc_9V6p8aIN7J7FNTo=6w9*=TQ9AF+>sFjz;l=QP>Xa;+d8Cexx&zsaLsLG;lI==( z)N+8W3VA8U2d+p>IKirRk?H^SARZ;Z6Gb;aQqmnnG54OqHYh;B+@wUN4qXi6^T^`< zxDR;N`rgxl$ujLAZ4JMVqkKWuGXFB-g+1vsqlz5}u;y4g8Kh&;a_OKkJ;i7;jV5-n zemTol7>zr8$DW(e2ChYt#~bc1ha+p?8J7E86{aeg6HrNq+n|9x8H5L$`W8SAwmmgP zDC^r}K9f$HY-AOvONQ79rt_9M>*w8N4S)~4#&U;hA)P`t&DW)e^9J4i<>Xieo=>|w z6Z@uhcwY+fV^uX>WZ~ejfn<3scbZ=bakZxU(DiqNcCw|qQpvB^MEZRmk1gGSOix?!*f_eaiq9B|^e zs$yf*v+(6nP_aPT-?BYW1+;^1=4tl%WlYJvKDpe2`+jl;ZhYxby0KZTw4v&R6kPRs zFR|>X=#A#*fAd-udP2TO*&rb%CZblYw;1geuCoc%7lkIv7WEb7luCyMP1b;;`NdJ? z7+N_8!^Gah(#Tx#dTv?|YZPcD7HB0V=tZb%5Laub+Z$?uXZ@FKK6;ASot}62o}Td? z_Rs;z7@nS~JJu=~=kDDAx25`Lzg2!O%~8A?2ltQS#P?PF?SksOwRgXTxeSCO<`-G- zJ*8;sYHgE~_04LFCl52tc@<^>r^a7QC-d^WF{;k1>OD_n8&)VY6w<77XcDc+;%Yc~ z%tTWGEgv|-+8|fFZHf^zaK^0m2!OtxyZm)8tpip-C0^43EN&nhV3BH4%`KHi&ye~h z&3i0E&Ln!3!gRZYevpos1$s@(XeX6ad^e)bxv8y%KbskZ6K)IkQJ7qlF))Orx)gPr zg?<`6pH&d+gQ{&lGK3ztQ=3ig&3)G8m%bY6hCYe&A>4=YPR`AM+`f{&l`cppnt5t! zHH8N6d+S*zR4@7X3ob*V74{w0hS1XozTc-y3$EQHH{9ixYAHw2Z{KQ`Uzm%@st*+Y zS1fh3&L(zVi+}(dd4Yyj9Tw=_Miz+Ce8xocVVp^F&Y3z`gDaK@lij|UKbd6;bk==q z#!irsX(q45sR+l@tMP!Dho1EAlINskdFE@g9m(ER&}+v7F9n9LAN6Z|)o)*}laJR@ zBi(NVUoN%>zx&1dyYFeaQItEpzCCeAkl&mJO9HPBsikMuIBNC4Bgv5-H!a*?Nr-Gu*tK;4#Cw7dTI&7OC=6O<$ zdcx-f+`8=*1NO+hkTbwJ-~BKYtRcs+Qs2v*jGA&Shn?5}dIw$w;RLCm*Ep;FsEo9c z?O}FcrO*iIiShX;g{Q`+8LDOOVTHteElU;aDGb}Pa~|-!XYkdviHH_o)5A1FgCcZ3 zny-Dl9ca^uSSmDm#DY+)UhG6KTNYv0mFqqV%f{q@5q7Tshk34bZ};3=GZreSL9yM> zrab%TkJVD{sWZ%X{VveSyj)ss{rhwug~RSH2}t1q?^pmgfk7`v+0Q_sSmifbv17?J zGNs+kuC5Xq$>KkgiGB@Ca{G##truf5A7;R+TtM_h*|kxTFQ7#9W$E8R>v{GBC(SMb zIIYE)+RcWZvH0=QGn?!vKOQl*Gb(ia8w2zYDlhW-z2-^`?y$hNd~6J8gZrJXd1+ZZ zsbEJRK*JR_*1?!FdgfD3m!bx-8nJZymh4*xXvQe_ig-DAuMlHNT7W+^dY^6F-cR<}%)hAoU5+XxWQxYK)$y5+jT2G+pdHvl!yDxWB zW0&wYsw(sJ$t46dY$XEN8VJ}JwRuSHj=H(IXLPummQkAd)fg+iRr4ip@pL*-Q_p9{ z(!u8$i12f9~M#HpWgmtGKuINY=9mUpTf;Qo0Kxg6aKz2w3Dov$)FrPf}b$jB@N#DG%M#7*(84LW>bbVtPr%*;^ z^_`o(6K4Gme?ge$u06jZ_Sf_2A?$Sbn_vm)CXD&LWAc6vp0&GjKd0{Ee?KL%_Wb)w z#Khp}G4KmfbZ3a3-PZA>UBF1K(#Y-N%TVqK*{s!2lkXS2c3j$7!ZCUB-JK3~(6Q%o zm^&@I+Znbz>ri4yoq@Vl>ZIP*PIOw?<5FPQZ+H*-XPTkSGY8dlxpa6PVVxEo7o1ArN^Eo1j2f?4l08D%>z zWL4zi<8$BE(a_5Wy=fV+u{g=BVO(PD#LIjZyWwM=@3GA%H7QF=<*Hd%Q`MI{bT@6c zrAo(GN?@NoaYqHHlI8i+QKWF!-wc;M%|V=J6^V&AGXJ=ZIl7vOn1-5S3uW&9eB}*D zxt#zeHcHFJt2#6?u*)RWOoF5n&J42K#3hnIMdMoN;_2pXLA3Zb9;#Ukt=3fihLb$* z(Y?w<$B({XeV0}*PKq<-FDyVR`%r%TQoL4R+70$(nEoMs`oUmEg(^n)P&2KKx?a9j z!{Z7SX+^S%>>MZRhspB7ldt6!qr#>MKj7tZg^L*W}%2WUk zS;DS8t2?B4`EU4{`4K%jXrOJ(vv08v(2H&t3*E&W;G*V_jBV&p`+|Ek#D$N5jq$ps zj^LzZMUB&yE0mDmKyQEwc^J0Gr^##+f^myOh#xnOcB7e<_kScOmP(*9p#9_dD#Ze# zU4vx6(RErM_hLp;e*G%#hJVFcbuYGaP<6Le^0HFK3!h9>EykK1x1Z+C^G7aQtD|R9 zrH#m}C8>U=xdle>wd(KsqoUe>&8WS!uCd+&B@NbC~~}}ujg~% z-pgvhYYQT%b)6c_i+W< z#KUEw2W0=w7uJUdFyHXOhAejQwvf00 z^r4oJ_u+m~M7o*v>A2Vqv$ZO(od7^J^;iM84k1?vWAelmbAfyIY)mg}Zq{CA};lv`vyZ zZBd#Q(tfJ&F7`R2iW&W;Y2>PSUp0Ry3-A%~!N}}%cP6cY9kRoR?m507;|_As5bCkE zA)tm|n9^84k@`4K5yfj5ey|DWIhm7jA)_{tq3cK<@O)VC75h)rLUmt{E48Bbj-;hF z4wtiNy_RZ|u6CM8tYQ+bbOhBM!oP}iz%ZtG3Zn>9iyRf9uL#HMV4pAu)ml%lvv_^p zXSx=V$!D_dFzM8DH0%?p?n~@}XwkJR;oj_*-KYfy?AV;JLLlbsH4~%MUze2kOatat zdqA-9ZqCmK`HqK)W8skT1Sdm9p*G4P)6*YR&J5LI%uid8pkUp{Qv@q1Y_H_U$8|Kcx>2es zQ{D1nYsI9yVk2lDwF%Z!ayk$F?-tUhCQ)7A*@a==Vy5De=h zv$Q;46cf$q{}`GQbhy_p%|53gw6{R0HDQ;N>XSER)dLAH6UUk?p-)B>S~m&)+Y0+g zZ`CY8STQ>@7u1~_{xoh>S}6rzx%U3W@h%UCaS%mn$J+%oc-SUgu9|9sh(^ zwKs4`?9_lVXNV`;`F*4zdvBvcxWEjrbXS#B)M>%K5DWWi43BH8x9e9U7?w1{;l2J@ zayRz5{YnnDqV$|D#Lq)$JT`*n^OQj;%xykO^ z+1fGDBdlM!<;3FEh{9>^Tw1RFT-4My;0-SRwnJ1sGJRX8TdCQzVFDdbg+(@TG+Z{w zSI&;I+QmpUidvYV1dvSSFimC zx(_LZI=_$>-MK2-euAhG8oHnzcTE>Y8(9o_v41IeHOMZKh=zNlYOWpp$s!Bad=b>! zSGH=9!`a5s6nt{PVLqLL%@0)M03Zat=p6FIF1jZme8uS;=C>}vCBh`MF@HKmgwm=B zIE5lOTqHTQlvUl$ny6}SX-%V=(jos=(Jo+6;d6mpVl@}Aa*NK+sOV?LvRlbC?!%@Yo4KPJWSaGi9xG~D02;G`@} zzWgI7*adbZ#*CR3f2D0~XgUOZoGtmTalfJ!>+BR8c87e#kQ2IcaY4?|;gErApK;ai zFH;fpi);FbYnw%FWuIkp&VsHIne@#<@{A?%VyF@dhr8igBpVk0ng#-YK_O(;_|H0J zI+T>fIX`BUIh#5blJ7`HF1Zpa=mPt;!88h|XQYE`P& z4D8l;TE=)Wb;BTss~eBZ{%8>YpTLR;tnCLWxkbSp#6zz^+xKs0FJmyJc>+8xlZ`NY zgQel~+1#zJe~W|bYLFFzWDa6ZE1Ojgj_PLJ<#l)RwidL!*hnVW-0ZAq9GVy!CpQ_T7)r}v`=bUwuDGvbFpqBXJcjOQOQzHag=qbbFCVN zJr<-t%~-Ve48#m&V@g0nAG611<>GX>e#b+t3BnixRqvAsa?T$#sE<}3tOs{^TPzdm zL8_V6x^R6n_WM*BGtSc0b7Uwh*ChtT@ohTDJeUXr=b96$677X*$@htAumJnEfn%0} zejsVSvF<&S8T-JwYlXmuzD@8!Pe#P3V&TpbWEnBZNhykyz{G$URqQsu=nYCo*IgkRfefsX zML;_)DkeNenVJx|b(<#8OYoOwzzD9_=&|N~9*ukZulx6ZeLe0$FCkn344F}yW6uIX)XFGNb3EqxU+;^Kh`!RnjC9Ti$*!B$YCNLOA^Xy$Le~0Cx#j#^~ zS|R_Y`A+fh3@koc`>NIiHr#lAlf8#EFU^=KB5)Sgs}~CFv&EHbZ{4h{JfUJ=o?L&} zLKVD}%S&;`b^qCBUr!eo-^^^R$xhDBRpFP*u->$@@RulSjcqQwH9 zz4wsW>QB8Y*+&W9w!9m0zUr!md0^5*Ena}OPM&mQbWA<#_|Ks#txo7eRhAUcP?ePA z&EJHoOngf^!hAQuc7){A&Mb|m!rM0xhB534&sh@o0QBVdt&bDZitdJ=PTrT;Q9gn% zf!2*1w`8(d)sOk6B=juZ*ewJ86Hi)FIM$akq6M!0d8h=1N!d^2m}tS3{#VT6PrM8D zR>p!nEWi%XB5dkW6su?O)L#oRrrY1027~)CUl$Ms4DQLx7wTFeqV$EKFk}WFLg9J^ zI)~o?(`&n+Gy6u|2AIykA^As=yyK30}7Rd?p8}B8X@2cV<{|4`lXZ zzAc&unfRgk%zh*jRPwgt1b4tt_9oW7=?cBZVh{U3{<%34dgcr)%R@7(CA6ilWKk4n z;X4no!CNaZ<8oK>?4#{_(5(47C zOYiAm5k$S)fallZ2p6Fy`k_0|zRm$F{=Xwd1@@z@GY$57y&-o~nF?P-0Djfo8VW_P zrOZkENaH5%8}03W3>KZHyrKf-QZRR+5oEm>_M@+M#aR9_LkU8+&kK*W#@xTg@niTJ zFn8kFtzCGwb^!hz&akz*%~TuFk(w<3y8&s2Eqd87WB8NMg?h~mc+U_9da`~Rx-+Yx zTeBLvH>=S#XMGLGFnG|1`M>n&Dmu==FCIkug?8wSCd@qS(BI;JWFJU9ro1~3-?o^{ ze-6q`R>$711~BKs8?p5^2~*-8`X9>R4f$NL{!9OCUlg~WsZTle(!m{*n?v9 zs}dArJbWY>hkIvL4{oHPV&Mr1)o^R$+!I^any4{$8e30FlZZ4nd+@Hsv z_B>mf0mHzZD~M;U+lGGb{)yqDUCpUEI0>35-1;UXQ)S0zi};y}7f zjkJl@&)E0Oco@ij=z{W~GmPlNeASW+go|_VRUHZ7vc3jQ@-^7_tOd6I(PAQu;_`7A zH#Gt2z%%Sc4G!e2Mu+boEpQ-T@O_1LYR1DxaTv9SL+P9^BNuE$b}(gFzYz?v77x*Z z{!>*ERv`pKbr3uY=KbF@JrOeA*rXbpcwmzsL{shtQ|^?%-p0|%#0}f!9tg&y65p-_*$X0rQ8M{3y(71FIy5)I;yztr7;ATzwB^7z4izX4#w)@< zjXK{a36)LO^+rL>nOllC;e*eSmdbIKZmz3@yq=Qef)nXA%DT`}7aN78`O?1Ls?_e1 zgu){+8A>+qN%8WPLO3xXQ>XOWPPh4+^JPy*z_?!+)>&*2OF35kbd-#B{)u{RtA~*3 zGPZaGOz&I4)M1M|yr{w%lDiyR?7@6<4)c%URvOu)&70i1gWywtD*ddKibmcQ8ZBzIjS0+;!u7Gh{6O z9Pyx`lmbzf5WXiWj(&e%x$<=8ni&Ggl*vawV18o2zJ_n`Pt~0qnUsOy5dE1{0;Ko7+x%^H1SnQU^>%3NoaTTX>fjq*@w%zyO#wHMjg5C%QvDa(KdJfh_!@S>Nl;VeZXZj`4ydyu{$SW>Ry0Q6hU@!@Kmz&|bM_@z#y&g*EykLo!gt{*o-KNjg})Cn{MlI2G4OHENF#wR1|r6val z?Ge7&vfrp5eAL&2rW^V5X}$nd%k&}euVODriDcz1OH$`mItfTbW$qDEOsnvI6ssA?haCD~%3|j!`6p#fQhMAoV7R zknY|WpOu_qTv~8A^@#HDp{<&ILM})pDH|6h%~6_{)(1407= zc82W?QY^H(ER9>7zIMO8vE`|sZQdy_ok>e8qLx%y?ZcycUz&j1r5`V`&ouBvJB_Audj>1-qMsn07ne^OMsOk^+|~2 z&l;|_8_z!1n4!Q~qDhByX>c~(uo!sJ89Ethv*0=x85S9-fZ1d;m=SCIZwxUbv&n40 zzhDh5!QlAAYpR9PDf5P|?V}tx^5FUTLQu@E-LVRoA&ZO%k5q~F*<5f)NU*BGRvH`< z5h=h_SzJ_XOpNN>nMVg-D4##tFz<{Ivok7iyF$K^AsaGi$c`aQp`K3<+lyO?Tt=ph z%^^7MGm;3RmC8vE7>7DJ@<^$;WD|{8Ys2HCIa(nDS+Dde{%SaLAB<2D=*Pf0=wc*h z6>wlQ7Cw+!G7?DsBk2vL(1Rh}q#;pHL7r8TS(ysGcqEDr3@&*C*rnNy%tRQ^6oDB` zhdxH4&02=^=!PSMHimmeDv=mW+~; z4}Tg<#EoK)2xbl1%Z)B&11Mkz+~5iK*{AF{rEFVop0uG(WtB}%WxH2UU5bY@)TwOI z4xSiOud-{@t8AVfKMjU31vsOHfAGUU@L&lY_|;8bWoM~Z*;wep;Hq&TS?5(&pz|tQ zg1YkHMz^vkag9+Fbt{`TfgjIoWM(&FJ`D#b4s67{>#%gv3@ooB=Kqq)XH&$V(jne| z6EmCQ{S4w=N%4NRioX`l+(W$2rg*bO6z%sZ z+HW}G%j21fCbT=OWo9>G{Vc`$wrqa39_u9(>k1v#`y^1`A;h|TKU1A7T=1>XV|}>_ z$2$p4b3N97SjWsB0`t54F-$FXe%A};4E8kn0s032JmTjN7|iZ8piZMd%h=r(V6gY( z#jA>|*44zgL^U?sKOswzmA|L5rpCuVN0t9Z!gkZRq%2EX5NXWz(mWs3PsUES=;J$Q z$z+Aq;dLOhQ(bpY_V-Y@ZrZwP`Si4O2i2yY61KZR>6T00=Yx&$Q^RHQ*>*4i++mF2 z1L#uqqmgIuAU1I_MTJ970g7#hB%1hW%ba~k(`nsv%`8xr=r2m$ed zdv+!pgUvPKA&n2)y;~6-78f3;0*|Z2RvMiWmz;y(>CA9c*W6co9`(v zoJvW}6Xdgr2}mL51umyDlVZ`GoJ0fjJ+y*7+yki};dF=i%R@W*g!@ML$9Qztqp39Zg5*R@cF8eiTFS1VM0$pAv4NOP3lw%Pl?+0n48!HY z=qU(Pv+M$0NOS7IEGD*x7Bcoc$%v3BVJ0ww})>JP%K=%cJ>z4Xc_&YmDSDT zH%(w2n6jntzCG*ukuIC1H;Fki^G#wbgTAmsLi$SQk~Y2@wr=vL2Nhe3w(a*Rn-6U} zkb$@c5Ny!g3e1)eGb!teKd^(Y*!vze41NjCUK$>zZqq)ni%UU$g1SvNlMs$XahWg} zAKl4d$qOm{t#_MlM%|`iAk!cJ>D{E8>D;7gJ2?p!r#*m>a$cO)n24g;SBWT^eVvHn zX=Zs*QP%olBRp*F1$i-V%go}5w>TR{THb-4k4+=92bDdc3oIPK9~wAODQJ;iHpbHq=&nXH$DCuc;YE1%_g*sWjd z@36r(APsdwfvus*%usngB-*~ic_i{ANt|{Ix_Z`lg24@wtdITQzIZd>6I%&0v=6xv zGuBM8%XB>GEriHe?OJaq=aq_;hh~G(`*XF|kK5$g?V-AGWob%gL5bqn+T-RbwmO77 z;T+Xj**PgGdGSJSV4km|Vzb)EMa5PILn2p@toHEm@$uX#IL50}vJ@F9dvkF-sp9m9 zXKsM;eZ!28A3qwM7H9lD7v25Ox#&j!Kjfm@#Z@HP>2lHS61FzxqRY!I&dS~|$Qu@m z(_SH2ZRhcq{24E{d-VTkwwnloDSKbVGLq7rS1-n>>^q00D{YTVy@<&W|lo>h{-30^wcF8V6Uh1a*{=QKEslKK9(c7#Qf1FHS|np*oq@y zipIh!w3qY;Ge>!Wb$3Vlt5}S-p#D%sPP~ap9gkmF&u84iOVIoN0{V#)eI)ElxM4ws=TWTaYATUcx~50EVQJJ{K8cHWcAX%wORQ zDTImbe+&+34F2<6kU;stveK1WU?A@1qF-rzjZ;wWCcYRB`ff z!#W*BgCkP3*Bwh}Yn4vn8wWPvNa1@?58qQxMHIe!zrgpj9=>ecX9%-7IwmNXwAFU) zLdEPV*P9-yTA$?Yo(fM-&4zUw5>uR16!vkHJs?Sk&Yn*hNczkkReJW&!CM@P02loz z#KA$&9#a zMw>>Fu{4^|5#-krBS;Ss;0U8ODfyIs1+m~A#IXxceoktV`X#AJ6S&woeJ&q1=i6*P zg*2OwRa54ZxG$Mc8it?-+MI#S6tqipkQK*L$Sy&^E?LAwFHKXNz!p#F^(9o`o<^KQ zeT5Hek{GnkXs|#J8Z2;4^DB>q(2n^WEg(clvH1rEs;^j zP4vEZk959wqz=m88|FhYey{`A1Crn42PbWVmZETt*IMTDtNhmMJ+szU@WqP4eT4_g zsApDPYMtIQi=4Oo##^^s@2$JubsD3q`r0q|KhyaAyAM*oT&()a9o~|9!#9>Rdc50x z#()(wCW|M3LC}{}I6+@h;cO23$>c1wBkja3Y=&42&AH!XY#sR> zTF`i;-=U@Cy{usiv62jsiCf4K?xzN~Au{@wq1YEV8ohFa`vqHo6%B3rKw8o`rw^os zq`ORXBh8!IU#WMmuX*KOZ;~dSV)MjQaSG?|xxr?ca+PDo9w&j_ljLZZxllQA{_5p+ zLhVdRe$K(78s(7#YI;DK=XcE3cnBbf%b|smto2#pl2r8COptW%qEZFrl7ErI+4I%%rn= zNXWT<5GJ+2Nf3*E&`dhLhvcpF!h4Av+P``EN}Z*?`_g3pTQTGiuGV9MuK6Or%AcE9WBfP zxX+OV@Rx)%lad99R{STyFdwsxMx=!k$}1b@`E9`M#n`b zM#Z7R8M!@XTl99MtyD7d-88jUtT&;V6nmqQZwDW=hqy?Mdz8D9bzN)izsXs!UhO%D z7%JF2G9;Op5DUdv&3bxZ(-T=97K;iN28YW&{#bmgAJkl=WkP*_5UYtfQyvt+ z;D-K^-=y*}1EDQiey+BEuztOwwQ`?XzI3+CxYgEQ!e}3eQ!Bn{FYN zPG-i?U3%bN2F!{8iSZxU^{nVwiQX#cAq^}DI(bzAn`QDbeD<+7$1>4={OT<9aA&xp z{f#5dNOPLwtS2;=BsX0D+u3O0@n0EwBzm^#NYp(eZn*?_X<%;1;Ufz6P-oKf>{o}Q z89e8EUecoSa^8dO@XE=^Uco6NzQ3XRpvzZ9#1^_#{Xiy zcz6th#g86;Q@m2lIm{Fhmsik3ov8*3w88g*6k#q-e9aCMM>}H^DZ99yISQ5%SR`dD zj}r@t#%uEmFy=G%tJF6n!2y1|yp)^VvkC=v`M%_R@hPgu;gW{$QIMB|={&yUFkU{L z-^bjC*1+!F zMa30B>tzfK6<^YqNARVOnw%h>i8b7Wi1Nj6m9H!7Zbt}XrCWl0J*<`M{IfHIg>RiQ z1aYkXb)6T67w~L-51#!3J%-C;#K4 zrkK5V!x;7{joEuQl4z^cfvn`e>tB(5+)q6jPyVS6 zmS6-p*`DlMZ1aS+`4_g?tsQHQEq=Vh7sHTR>UOaPo4mBZHuo%OqhBp_U!o2+FEz*L zGj*;xP5mim^Vf846uLA)kM#Z|PB0S341;(C5b2IkeXmQI%hr!CGuOGJJbJ8eXboKs zV*zn}4LzLsMn_vDJo7(?NdvsLtXQeA%4IT(auWB)rwZ4lx{sW{!bjfN3Ff=5v9}w$ zB|R!|WH&#%{?yaaHH9|f7?<;@x-sfQ9It|GJ`WTB>Pg|E4|Y7&ND_toTk0r+g&@NG zFwa7IScFo9-P4q=PKqmaB|Uh%44z~@_fzD}gDBEdOT2PDlT}@PBzyc)JlqxRWqSut zhd`A+mJ&Nb$;19o$V2PDdU5P~{dZwHV#HJDUW^ou--hcA2Ifptz$KEYIZv|1TR8BL zM$eVbjq#UIroGdT31LorTUxJOO3C?et=+VDdg{YBr68-(mu(<{-1DBye5T-$E|imW zg@Q3Ou(J@1bp>M~E1I9r9DA&6<_Ld4HL-RHK9dBO7XLb3HmdSW3S@}gP2o~zH;sHhGAo9Wa%Yc^8BXKau^cL2O%+kRko8- z^f}`E3PIgcJWoAx%@2QiP514W5gC;d!Tw4QuRYoMc||!{0?2c3zJYNHu{AMo=%Bmd zV$^v34Hq4-q?L@=zUl}4cB&#G!XlJgHruaVs#siNceT7ckxGpqrlj^&E%1Eojh}DE zBG4Xm=h^?DgtFttTd!WYxN_}n>QzTw>V#cOxx7?&x6Qtu&eWfdI@1Z*fzIj69F|=3 z!Pg&B-={jtOpiY^(`(91t~`>|ARekI-8DTp>B!2Jr`f@vn0m1FZ;F*2{{IjwJLmrr zD;xEHiIs(k+Ert5L}x%gh<~TOt8=GZu&t9!!u8G%Q3fBw7oHB_<5oxl zJlt0=RZOk4J6Bv9ms6-x-;(Uy>c7iJ>EgM!NMLJo5_04Bs@P*Eq&xSA96qXGpP)L? zorZP9^EW`n!+;?S;kA>fYsr_A&SDYwZaVW-69?_2fxJAPzYkrgXVhL0hS0UQk67Wr z`08V84|x8Hcx{v2Oh$FQDXMc0;iFc1$8TuRc3qdzMS_!am7%dGd?qN1)(k6{u6 zW)GJ^7xv$sdEzB@LJ&2~G(}j|NFc5*#7jVWNh9bjwDhp(9ahc&c`P{tLRu&Nve<-of@4K56nhb8bjK};{9~c&@VjH5P!lIO+G8cE-)r%BM${a41A56%~Q;~Gh zOLr;HWhML9b$Tt2T+KXwOap>PKAejj^;RDe{G^a!-03R;R`0MCCk`CQ>*ISk5MfAE!95o+7d*?m!R!JkcIOB4VhGTXpG)I z2CX$b+LJPdeg6#lQioez`GFJ6&NWE89CZfRgWa=LDXB-RpD9Xx3w)6+?EL7# zfUctx3^Ah15Ox&u*G#$&>6D9NuRK&O*dMxjOZNCv<-*=U?XVMH%E(Z|Q`Gr_bptDf zcK9{}yBpeYCHo6X%Utv9HaI)mZphtKD$v++oS!bdyr(|AoUPRdmp_H?_@nOp+Q#7W zS}^6|mMGzR+Aw=~I`+r?c{IIw*oB3|M)BVkmVguGR4fdl0d%C~&-omfOPlI-&PF&m zT++8AW-I8cxAo!bFudU=1>#Jm<}nS18uZWx2C^T!Fr*9AA+?Azsjpxy^wzrs4uA_$ z*!J z-V|hRe00NAj*Y`nH2De65Uv(2 zG%$L#gG50~2GpL^x2hg3izng(u0Qq0AuGT2rz(lroi2pv{HeBwdMH=>?>{TRBrw#u zVs(_g8OD{zUoF3@$n(whO;nlrO5*)vJv|jJ{w`iyRr*MM6a2<3N^dimu77^ie?JtN zmO45@=ZA9;Up^ao_J}FN`ix*2B;o<|sNi(11u>cy%$6bu=cjj>bgRHN`~M(U{1( zkJJ&oGku=~!5TwUFl9zhND$>;?Q+zh?n1B;45qrFcEcmXI4ClT)BcPav#xRn&75R| zssbw9dhhFgH6}2mo^^%RQQW$II`3(>7!_mq6^LUZ>gp zeF&>iXY)Y))2NzihPuZmXi-5Q?J9FdyAstve;lAcRTZ_?sKW0Szc;$2y&KJI-5wie zK%!9wRR$v&;-;NlTVHGVGnOSpbko=d6n{I}dbr1Kf(5;Y9tpq)&j2a{Ro(6%Q<+H4K4P zhG^5Dg$?Imh!Omu;n3Vs;D4KEGh~JC&WJT+p)Q&DO5L3irn6`k9+Pt)KK^mWl*mbk zIcD92&Ty1N(`y5?mVKK(=yT4XeQ2{*fk~LBNvhbumTFtIC-zj;UnV8iRAnC`{Ur91 zu-6l+<7(rNpjnWxDsgGzN-%Ed)!~1n7+OIu7aNRoFoiaThr}I5r<@tmM%)N(WDQeE zIu1zeg#&6>M2b1mR@?z?W%{&4@X?ExSDj&WHwAf9%j=CZ(~wU+JrU&I4VAb+$%pf6 zDA>n9Tf=-Y(Foju<6taoB!j?O5(x*PZNrvcGMGnpl9eP}GE_{2w&afNn@mHI2#GPC zhTxBnabhh8Ej_NfAg@#Jts*p$X{vZ7^feM~_H$sC4#ID+Kmm)1={wRbRdt+nT_Pjj z`;bAs$tnd|3|;y_4pyhq$5Uzhx5b$3QBkeo{Qx9S(CHzN~scimNhsf4{BUzSiCS8g1+nMu&yHpkXCv=P7OV)^vO8{&S!&e}p-6PQSI?1;Di z_sxwBH^hz{Td%(sg1xW17y@XHz+&k5157Z42?*IJx=}R2nL(WP{fCR7$b>4!KTL;7n;?I~e9MY?V093$?!nEAc!60|x3x6ys?kwnI2v zhrxQPx%U5gjgB!}x&=7>MLHe-;U=B=;l}KBGHoY*MNgFnac)Qz$`!ag;^aPpgLd}k z+0m)#Bb(N?Z<^KTDK+#Z-8l9QPOr(sqItTwT@mAK-fh z3?wq>O>D?A(us5-R;0znp{G}?c9D))e*9oyrz^$YyLh(Hk6}{*#b)6l{IO{L>AQm5P9Kvi1&4ZA z1dPcU=y@4>F95zL^kubRTf{jQS8c6RLW}xmzzS?b_?zk1C#4!k%h-P(-=BB&l;XYB z6Vh({Qa8H|sU75RK z@iLcn%eP~Pp+P~RJC*%pyJN#ccMGicY*5XH$%;je%cog8WaPW6$q0mN=7?u(euOi*0;Q?V9cSSc_B5|-(1xekY z(*iKvc+!}Rm7W;%m<%W)!_)eP4GcCnmao#FPMQb?)I6V#2r;0Sgoz>AAzY^OwEZKL z?0v#bnlfW~$;Q1tLYj|cmyE3+vwoN*X{{hVXmo2A=myfa(C_C}w=B-7*!v@|NY>|h zB_}JAQxgszKk2@8uL?2g%2n89tz4-XyKc!s720~M&)l{-@X4eY z27C{HlD=Ho(V{ok6uX0>gThtIVi(4)%`{$;?ND(~f!#HS{_y=dmHM58%$Cky8Wy=p z@arQ9*jK)*T6rW$N=&+sCj#LVq}|O~_ncL%Ynk7n?fF5WTl^PmJdEWVDW$m3n;=?i zJZV@3EEPvyM7f9pao1o;xpA1LSyV8tJX)aiFE4QVLFMbh#S^aeMu9}m6ASYk1R z&?I)d>Pb5oB=iu+b6`~R{OXmWp+usJAO;*U*)(MGl#NfJy-E&J-Q5YO-Pnu%(2HS9 zlNlNYv*JfsOEZ1FL5uq8olAGlUpI~>mNJ`pi^nXQY8(vBrB#6kwj(i^N#lH?=d4gP zAYx&~ZdqZ-KAWPsCwg~)iPEv4SbuS2-Ksqu<)$c1>T!9G5@U?u_x3PMN@j}NC1A30 z!5h*{>Fp7+D?sokGD&P~Sd8*eneF^cAu=FhdstvtP}q)bExVKP4T~f&NO~FEV+-Pn zcNcezmd3A(bBuE`mQQ3zvoPpFTGE7F@D94OuA#el7)LX9^_2bsX3t<42#Tc8#E?W4 zF_nhYXsJPe9V&lrxizw%C8+L+@Z-)Wxtc8*sn{Nr6hgF4(lg`&L~}cZL@KZjP)Aq zHp9YPK}N%PTWIdB3f;182_l;nUpq+-9xeX;oMQK`=pEsz6}#8(woWkam%aYrX~m7R z)gV>nN*hz8L766)+0+!2*ShW~K3u$iU`(enTo=?74oG zu+nDLOd28XCYuyBHr7prfC$uGpmb3NOPkeK9y@ieWYM_M8|KnWAoBxMA#tH`2@1Ij zjZi-VhPwFlC17SGZW6n2yJ`wUa+ERfokTq^%t2`(^Dg1i2@81$A8 zz^X=lVeLTydFKc>-R|PE+qrjcU)yInaqxyY^N|g2+}a_W7MM$0yVp4WOG5*omRs#4Vi%lFkY;9=LJ9X;fqmYC3ad&?*ty zKZj8YWE+E5L>j3Y88LD>VHLz*HZ9ru{1e5q!>23qR4BN(eF;e^WryYr@4srnENYW7 zG^bmb7-kfWgf@o!NG!>F;OuX~u)XE+`SDpuow!`YLbpOP4nCl+_JaiF<^rPhcL;C| z*xYfK)EqWTPx;_1?BB6JC^INn zN4l>!bttJQ{&-yx8yvkeT(vxIP3)><p_ zp*)WFB^x-l7?;R2x`7Ec8P&w_b`c`m0(A}T)6e{9)q9z3>Ki{GJeA*~KQP@2Ma}CdWL3{07ZWS?? zyq7+<;TMyQRPl-n15Bq4xLqi-t zpFCJVhjI@r$w+8pG80;dgZW-)&AK&-=`vz`#NlC9ZWMAu>>m=x5dS@;if-ZsPE9N& z_oXLM;bonO8yWeWf$B$en0K+W5!e}yg9vD-put5XIFwg<{vpBO)%fx$`tn_}g^a+L zk33??+umxlUKZml=Nds9@*P+Hp!{RbFQji!hrnSTrtX7`K`!><&XiW1I=#Mp!GiVH z3l(e^{i%MPhIc#)s-Dscd zQY^rc_NDqVJ3Ch_+lOUx7|cw9_Amw7v!y{b44gm7kf~tC%||@_B7N=1V}r@qU@~p6 z3mcrn2D`DrYi#gRI^U5OtHI206Z~nkNjryoN6aKYNN0eVJnAlJVo&(! zM>Z@i9H(5h+TYJr*aa+XgSJvR>6ihd=z-HE3ZPgtX;It^?#H-l(2N?byDz!5y(el< zBhiSuq!rLmN^+T(K1@l1NDDHKOeJ>EfuME&@Y3Goe8C-MzrX#G?bb>nA9L+pfBe@grTz~o?a0a26 zX@lT7D(fCF%zCZL*T==zA;_5ZODA&4@gqrTMZ$0AGN2<&P@uVIDr0LKDrG@MbwPKP zAKs^(z9f_t@2k74Kzo9{MtIjvA;BIh2$YeJ%_34$Bhr;O&u_A@oM~(2Ucat!AjLGm)0tXlSiMfhrjsh&m+mQlf7ke>gS5O#x;Qz7 z1iPysi1d-M#UzTXgD89hL;_r7YDz?w^5$753(Gm{CwlpW>ppCt+kJ2SYZF~q;qsfT zql*bTx~P-w%{q`+q|D9O?wcg+^@?%cs34oMVyEny?@9YoRiV?Gw0X)!3%%6#LNIg! z4@v+&Iz!h8iacwfwL9|)`t@V%{h(bRwRW`UacFGNf%S{j4(HgKb2Og=!j-Lw z;9a190DqkBX;kZ63XVg^|hJr?lKN@^!JRFeR)S}OmqohdH_Cb-aB z^PtUh{shIzAL*wr3uPrawU-rlH`T2yQXO1sl{!Va*#W^NAWI^)Wu%6DJmz!+yUP9h4@STarmGU;w8 zL#mw`B@t_7q>iA3=+!WexJy$Hq*f$W7^h#0zxP1#)qWYo=pfw;3Ox-)1L$cK@?F{E39X+ObO>mxO41J{;ReMe)9W}m{dEopLWi}~>o=}`6eR^Q_#0(*6Mbd(d z)yB|I>U72T_LdtiKdrgiKOTJGgziSyF{Dtk6$(jDQn(eLpim+ot3h6wj1V47arp=a z6BP_$>+g%{T-w1i8ON3E`^%+HYZfipG+CHIB$uRY{iO$fmJ3!ojGH+rC&fu{B#gxI z)IGl&N-%*w$Dz-Q31^1u?jd~tAno+Y9~AF~+#x;tPI7f!rIKF@gR!KSGxe(I4EfNR z^-4enf5LpOKq8}c0Z3B;SnZ9~)lV2!9RU3T_%F2R&d9Uk)dvu9l+}AfUo>yLKC}4{ z>vbw0Z&!bZUB+xx+7{+SwVul}QDL;CT;3PecFGgFO_DEreY%~>rbOZ=DOu=t>;hdG zB#ywQ7l!jI_^&tJK68Ufr1+e5)iFXTGJ>m)5lSNvwWD2NjA#lY45^<=CqNwm`WnFl z?E-GDjC`*lgNG3Z1+jrHBcP{7H5$p+?|B0V>bD%dI`ADTrZXGEkaFP(9)n6TJp@)ne={wP^} z^dkK+8aCc^n0;V647q?LSKD;W;z{iFEizF@=Ar_1uXfjo;N}z@?5Ton`fm5)N^$1q zrg4@tY^Qp9g-31^#9rb#j@{a{SLf9@aQwn^{v=%zblu@7%}DF(q`QklaIm_mJCtmh z%G+lh$Bmz}(bB_5C&}#SiaZ8a!Gbt%)K1lmD= zXt~W3cwXEC{a9x(=XI-D$$c4HNyevsB&}hz5~d$mt{bTh0HOpgEl>eaEXM6SYR?)#;^`l;j|$mglJjxRv7g`NaWgFZ$u zu6;sAOv>)`^pmMSR+by5?#+(NSC*1g=%ei`ja@z|#!@+Wl)vo~VV$GP@>z=BR~O&) zR|U&Fc6e>`^Iy8$ceLxc?XH^5{vO6+3$Ya!?5_^uFeuAXrM{m^E5k&Tjkkz*Rwm0;W2zSZX|RibFSQSkC@|@GuT~{P7M3 zLC;}tNJp!=wu_xqLDHy$>BsX53J)GjySck0vUYcFtg$&E+@#HxRuf%+ymTloKQ&vG zos^wgsJxp!cDf*+6!;R_KG&$B(<_s6$QhlH7?d!8J#sFB+f{HY=$i6hFfS2=t1HSU zBnpu-wx%Yowh&3sm<)~^F@AVp&<552;qE&FqDZzztEZWsp&JLJX}}q0#=x!t%sJ<< zMpVpM5hI91MFq^LU_?|v#hfq)Fvm5lIfq5pHLU@2sKG|(ovI!X6!-4k?|bjZYdEJ< z#ZxC$O;;5zTV0AxUJU$qYR%~3W--IhcWgV8FE^u#w3`!eU)eFbU(c@Nx`sr}j2jD% z`T)>|8qCur3vL;)7u(#A-TE z_8HgBBtDED95EzpMDG~)*>a*{3@fYgX{x@_&*G{ZuC-qq9yEs^jy|~cyu}8v>hMgL8*k=K>&|r7D zE+?~cH}yE&4Qyh!v7D^J-PAhSF!AHZClO)T@Xi^p!Byp-a2@d~)V05Kl{>q0+`y3m z!L7{QVml=cTQaMxtx%`<_smcB3Hc=Z6e9`|_u z?0FA(GX~!5d1w^Fdf+~jd0hn{4G2-!@KB?!0T{zDi#^sl-^ay25My{B+M}nY*0kOu z158no;S)oMEldVmePMTE>IU=Cw8eL^pnvp%SVDWU^o2(EJcVpgT3FU$opV~2AYM#! z#YMrZ=^VE+_F~+rBD1-K-bu|C_5M}v;toBXv$!Xiw^g@iB`rOxoyEm=nAJ44|9rWd zJ1)+N7yZc+`aWD|x$*d3V>?eARwRa-kT(9nq;*|zTX(q&r|Uim z8?&i>Lw&s=-i^nYbUysBnYcQsF8KoidVR}COtVXlh`gpE0#?~x_Od{sTQ3d+*8$_sF(E%klFJEkNeI1P@I$}_a!OQI8vsFEC$L%3@?;wzfvmbk&Ju6ubuK1 zmwmf}tddh1ic}eUis{Ryk)<9?*_>v|!DBJU4A-9Fn*5FvdeH*CKz_H(4j)DOPhvXu z(1?~9@=R$~;$ra95BwI{+NaZ)Zo%VY-o-s6JeX@A*=1N$Ly!Im@uB8W4|Uj%qftiAB%W{>(m!+;` zZ>K9rEuEDRpI}N}yees}Vf~6RqZXT&4xZb+x4uqz^HBk&;Gob+qo%Ht3%PHMOH16b zT6^a}8pug${qN(?4Lf8yI=uU)R)#Kpf&=``)8YAGPW<>v9;^{xULfDhe{7-2HF@OA zly9t_TpbUk-ikL?*c zJ~oy}VE~oFA=s|Y8(dNmL^D;@p5m61(~ROsB2@6+OolQB(d-Tzu4K;Nd)mBt^=gux zv#i}G+l}(4@>GUUe2ZL5Hse}kC}X!AC&eWuLB{)!j`Qx+F`_4tu1K>kIEC;6`SLQ8 z@67urVRnFV?KH?1ehbBUPG5YNWFqhx=LN{-x!(w0l<4+VzID z$$@=i&Cj{})A}B%V5sKPtK1Z`?ilYp)z}WRV!F3cyt>3FrZ?rqn-4-R3_EBNuU_MI zfAY`=AQKFdFmf9Q=BqLAiUIYFF@N;scvO)Mt>)QeHQcx756N z);Rg27_tizt!gA2@!+KS8ZqRmQP(o@;V$fI#1g1`Q9OD7omAQ4@(?=6mJ5=2rlTxq z#FI_P$|yH}nXXwi#xJqAp7@KXW_A!*J1*yiGW%gQ=$0XgA zWP7xBkZuA=ch>Jlf0FKINcSM5yXg)8TKPalnXQIrVY4`*1TVfX%QwzuGmI7Z^SGYT z89#q6-c}YS_P5m7ZuA@0JJ__(U!54Aylg4iw|>mqgrL zE~SlhiX3m*oy=qH9jX3qBV7i$4_4Cwv)eJo1p^m$Ur0Z8@wI%Cusw9;ey97oi?`(w zEs}YH{zql_z#{C+26J@^BW`9IOFzYdx~4pP_w7eP(|I0 z5_W=+zjMtYpe&ZmP4*!qJ3o^Y;yNyU-WflBAYQgq!;Peaaw9dawTS;p;(?ZV((1i? z;*aZh`flysama}Np{BGz_2T%XrArJ+3nRz+51%-`zu6;R5^uMdmzGoJu@iyFBu8D{hZ7^EN!W^-8g7i?-0|z0QKS* z#+t^R=g7ReM)Z5bhxwO`ek;$mH11>+UmP%sZ^@^JHH}!@m@|oS>M0{(<_5csbP^;m z^GC=Qvd)yNSh5u!zRk5FJp3MbSgM5U@aex9l_`^l&d|}hs5>lVne(~UOirE*i56)n ztv;|P{;)oM(59|F&^j0yM+}(&EuzFFocqz(f^hCz1OAqu6fMg1zxM++uIJlR5{Z^v2~S!SHRe~N{D?LT zUG*{lOvEpaUi>q7c@Y<~^rT-&R(pz#&u}%i7(e6l3NOARzlAge*`TCZ<{|og6E3j| zo@4C>tmcOq``{F*lB`o_a_P9CkqEHnE}<@22wT?|RK--Im@&+_89&0s2$4rL2T^~? zRfLebj{HiX=~)OO8#Ba=VowR=5oKngtURN~3IYQ*?pc(R1cqN_3XREU~3?hB$ zK;lp`A0sJ`HLh4Vjo%ryDQdMz{^N3ac)A+v#u`^9OyhUK(^aNy(9p(XlupjMbRvfA z5CThfHyTXYAq2MU4`efDccZWI@`X;T_-Eu(xz-u2a3L!yO3Z9jG{S{=NMt?X>m((a z)M%WIRgy=$msm7o=NTv7zBjy|LB31X%WmFfJxt=+hIn#TA!%XQf}lWsU{qvKpzn%> z!%Pq}!N324ZU(u>4Em94AHD2z#0cS|??Xurn8fQ1ugrR4Ty4s()C=TgQ}l%7lqSYV zWrg$I(FvnR$B!b*idT;_>vD+J_I4{}!y1KVq=0v!nlGT1ccGFmZFPJBReb$rh_rRx z#x2_e)(`R>;qN<`t^s_KCZw~Rq_YB#VB=9`adJn(i&H6I6FYCrB-0;1{bUrs;L0}E z4mR!2&)9#GnQLA6Y;H?={!e}z*1`48t*zntURyHNo<~!ML6pH`_yiuq=P5?{a>X2F z0?ECA&^zh$zd2;h_kl|AThSJrwM<$RIzJ>#KPozMfJwZCAo`=|DaP!2wSZc;(Pg9Z zdGjMg)`I`=hE^;5cgXezHg8bU`3Tv*hj?Eg+YetDsSZDy$YKDP<{<1P7bn74nirq^ zF8h0tHPRKU4X-*p7cFFgbgaqhlE-c@NTPO|RDLv_1&pg*nuxt-ToA94Wa7z(*WXM5 zE(Zn6nN)`x8R=}gI~CzvgD2DD$l~D#JIQCDXmyRa(G4>1?n!1(vb;G2JOBa5L%;({ zz{nB!z+T?lcW9pw(}5A#!I-o-Nm+`$GcN0I6vsl8eGp|VMA@fI?bBF>58%ac?DAX^ z$Ko>NQqS9>c;=0Al^4_KY`t*HS?L3|V=&13pq19Plq`bhQS`HIzyitrykiRfsO zg$ECn?|cQ6Zz|-9ZeH~78zuzL7kMNK<;hbI^l+V;*zC?L|oPwIRL!dd8EwVw9J3tihO`l<_*_h zV6CkBK=Spzid}&G?w7=|4GC*BB)mb^&EMBh;lYT*vWq1|N{*YiDA!dPUu;6k(ucg_ znnWC45RMrha(R5@81^s*uG>7-tjpIV8PFnRy6O)aMVYdCuwfh0GN(Q-f|h~kmvZM; zCSmhRTwIJGb1^GqJHcyj9z+M;Jb4jio1~fD5{K{Q+xrqdLq!FoHr#K(_{d&lSmO97 zV=DfsBbcim5dJ|ii17NbToW&#^9-LhROT5zBGYXiG^DfjULU5@ZRiA15H{x&a2tvl zffPT3c)g_J^^u6zOAs$xAWvH$@#P@PG)1I79#T>`asl3XKNP=MqH#BAR>CYg>$5#} zlq=`V`YiX%6W2a>YC*~YQ}|nT-kG8^-qG2fXAGCfTu*QuNfAEV1nngMRi;Q*9z0aE zKUB0eRP+s0R5n% z=jC>F_&!8s)6WuddE;7aUQg!UP2|Pw8QCK;jBRL>mN$NQF?~Z>1a%9jJ$s{e30WD$+<7o>cW~5s@rH`aVGC|1=;B_FEx zp`U#V`q_JFKl?WHv+peBA9P? zpVDuhm>LPL3p+|$A2&Y{RKffy6Ozs1`i9Ziz>BLJ9**6(HRiFl8ArEg7)!Tj2oGN{ z%Ftce6=5h4;|vdl+JMb#lrr6hnmvV@-KI5r2AREpn(g`Q1rqK{Xy;gwdzQq@N#7S>4V}pxu1nw!8hmSbq@%MoAcSd9<(>oAqw1v zMtb&g2=@iqE$7LXmqe*{8gj8w(1I=hP^=N?s)?-ThhP-oh%b9Pr+M>2X7@f zYRmvaF^D{{m@RhToI~?=Y(Aw=ow$+E%%LMyGed1^=9^i4V?fQ&+Io?^NTC*B^8%XD z9w^mqNO-R;-2+gnQ=eNwtxLb*E$6}+d>@K2GRZ1yDDfI)TM1y)lP!-&E%Gx1)kUiBmx#rkYEv6hIyMi9Mz~GAy+03kt zOZZH#(mNiA!x(zCRrU^xzlL9YkMb)g?-)4b@4pppsIlMoI>S zl-l3;hG%{!n}vGTf%eU+ex1QyFIe1wXmVmWLlu9YB%Qn{5{zeLWKT%F$~6Z2ePpr8 zQbjt*-P^tQbdJ92L>e6v64T+F#$gfQiQk*!Zl|xEh}`gcFc6gtL0G z`N>d)e4e70H;5TAjf)gEzA1A$=VPnt$9FLSpN(+TFmVfJjvz zu()Z~b})c@$@t8`tv$fg>_^9E660yR6RS9E5|F24JS3Fn^T_aU-$^<;qa@V+`em#k zEx%A{`FmN9Ny{%@Y*@HpDp73E^0v_!T+-(0r0?Ln`jbJJfSf^?+~js`WENW5v2U`j z<&0op4IT9$^GL}E-h7J&TD{e$BBWcMLPk0&<0eL>$94~A}$na)e4-S0%w;ESG<*{R}9+T%`#4)@LeM(FU^W}=c#PSzkY zpnxl9vbaT7m-T!*rEe3UUJQMkWwwr;xxOLdS^=z|zo{Nc&2?^56g-*(3Qfb|r*hrSJ^U9QKwrU$0+SP>j z%IhTGX(8UN49&)z-eT6thc}XK84BYf;TD%y3|3)}2UyMGd6sd~ljZAIuS^Q=(#|E_x_giA=Q}ib_wn@PUw4>s zne3v{b$MSyO?ExGo`l!ITn5Qv!OmW=W#_MXXZ-MRPICoqw%PhOezi=M2E6l5D zn!$~_G$JG5d@(%5U9R=n%<0DS+4FSpADxg@eWBbv0hdiUupm2lE@x>qM{Yegdt^fT z+-37L%IiJ}xI)7IgzS)cT1%_BavSCKy1DkIlzz=7Ssm=bdBR=-_KJ5X6zibFhh4H% z(qAHDQXvLaL7h<_G!4y0YfvgWi7-=zsmJtVf|*my73NP>Yt?X7g6cM_XB)AD*${RD zyV}lVSJAGG-DSJq)xFh0>Ui}bt}54(>&VUIPH=x{+G_e~7Hd{$HfeTi_1co!vf3)z z8QMRzpY26^Px}h?lkLy)CcYBilyAo`x_I3Z-BsNi$0Ckp9h*CLa_s3C zjn13YRWip>Vgt{)J-;FD$&I@P@)^ zh4&YJQ24WR3FlhQO`V51M>$V*p68tCoa(&W`GE6z=X=g?oj-|;s1=Kd)x~;ZQ?Z{I zD2@}Sip$0Q;x+MwnC*gGinw^VRB);8Qpcr}i?2(dOQg#*mpLwrTvA-pT+X{(ae3-u zl^mqPl1VBpc}bO|8d58%vour+l_p4W(gG<-+AO6@r=?5MZRvsZOnNP4x!SuHaW%P? zajoE5)wP*xE7zW`16+e#!(FGjCb+J0-R!!j~HMuGd}fx;}QzbbaH7+%#@3 zZpGayxYcuO?bglB&n?7lyxSzV7`HgLd2S2cR=I6)+wXST?Yi4Nw-;`o+%@hxcgeko zyUD$zdujKo?hW0Wx_i6#av$Oz;y%uOvU{w1ynCYiQumea>)dy^A9O$Me%1XC_h;@O zil8FuB0RQcHJ0Qa%7B^Nna&FD`HnZo$c3c$$H{DPH}5hYKec^=i(t2tFW#92yw5US zk}LNy;?kww%4N(`W#%dG=iQ#VwQH|mF$|15B^dMj>}8#Nk1HU-yXMAQ7t#%TFBMIdye%T*T2YgZfx4PEn)jx;Og#j6All}E}@p!X@r7z&GL{J zx#Ox?)yXbd+>dt25)!sAIJjVkwmOvdn@zw9*aA%2{@sY+Ialn7m!xyQ%~%(@wEEJT z$(zs-30zHRaTad-~I%`vz<@ZR^=Av6P`!lPQyWn6YOG z=)k7LZ8colHN2g7pFs`G?KwfJk-JRVrj$ItNeE1s__W6Z#g z&iil$Ip1J9YYC2k7;V&p4B`XpLDAZ(7RZ!gO=L!G=cd z_dU$NxnDZn-0x=o&Hc)~E{iMwdT;@Wzhk2mw(UmPO#^QG=X0!n=5tyW(#%y-{g&?5 zZ`!!w+}Zu3p>H8%*;`yCdA2OPlS^<@qee~}YLE+8$-u>Msm#k*yp|pnvDGXni+)a7 zGd+EeUYOThjorEFJEtEyqZbl~wM?#RkVnZiWEVMPhPm{nDyO_n-lrdqz>bE850@wH zH4AjZc&x`i8PEO|36u?mvWa2AX&GaFHN?fvoM|51#I}L_=!nTu1sl~9U zrRyf88cv^Bd3O8IwS(rEm+w%Eq1bKZsk_hgN|j9CR!Q`yjTTzos2e!Kf54#i!*}dh zw{hFffc3t>&&n#B&-1LZ+26LxW==857Aj>vkcD%W|J4KkEGBMTDUCXCa?)Bu94Geh z%Ps2Ho$eD0*y(=xcD1t$+BUHDgU;Dn4bIEQ!h9JAsA!|Ds+$q<0czSGTVGlk8J@NsX-?%-tLR+Hd@N7(CdSJu%>Nu_i8;cP55>f#7Q=a|TjI9BXU$z`7SGRruO1m2xoDRj z-zDE^Y?jkCQ8S{ZO)>>d@DK1cbPwKs&Wu-sM9$MRnO%E9unFtAN!w!XAJ*^Ej80xX zVYNYA`rEGUo0H7CoL^aTY{n6zSqPW|d|#;#T+tr;DYEY&bf6=kqy9u%6c!I2YzXbB z?}zU6I9qo*B5yBUP{;j~Ek16hg{O{OmVb*6L4Tpk;nMB8jt(AXTHipOxO~H+RKvEE z@R5Q(C}!03K$G|+CNL&2NMGvo;D?~zw)`=M>m568O`1MAZt1LLrnnR`9vFLL#JWxi z+BnUzg&Wq*xUO9tvts%(Q%uVAB}?>aNvqRiO-t?#;lwB9y$6&FniV)J&@4WTgHy16 zhX3TjEn>8~fyPo?_p0jYT(|q`(%ehgORc+OxhYjFXfda6HplBTF7IMa?i!(wZ3eM` zhq}^_UdDsfYA>sC1$m%=b!3HxF1QerrYz3DTCS0`8TMSfhh6o!vaG?SZEG_Wlbe}h zW#LSn7J{#|{CM{G_r={&$}#f9TV;mj;c zJUefi5m%Qd%eCb=HLk<$d9ZNhqLm9*7n#K^3|bhpICy^*cifPZYv6cX4UbpLwYYwD zB7>uXBLl(aN3M)qIet~oJMKCupx?mSvPLg++v}|FYr4S&9QMEcLH};UA8QYqbooE9 zu~g>8>?uYe?~q(Vsz{zCZ+}XJ3$+6=NJ-z*#1evFC zV(OGfYT1>W)jzgZ6TPrW3fXo!^bZ5B_4*IY{n_S3y~T8n(C=%uAHAr5SpTYQs$M@h z$k((%R;iO#A6s$QaCSq0uTSgnZsztfa~gR2{F#7OJqHe|+qUhh#6aj->-yP-pISd;LErS_S$yos98rgT3b0?t}IuO2kYhXf0ck_C9HZ1 z9X!Wsmu1wkUvNk$_-IQn-@1gG&eh7DvOT4?L-t=@Hhby9MdoG6tCKbx4sGe*u4&() z(02!y7LS_&cEAoV)Z;Q0Fp__kjm5k`k*PE4VAb)xD^{kM;%1DjUbB;2XL1n;*+=T; zyXEZpU0e1Z-qx#i*t9W|CzylA4I4eeppz;c&a z&K!qX=@;Llj~;D5diLygpGuXWmCd@4dg?Al@%6sNn*_2hL3dn9kaA3Wj;S~6N=Rb* zgtbQ|95vu(&!1x9K*VpQd`-gH2}x${CzI#(!@N)y~WX6g|0EX}Sp>MQ#$oVl+TFTQGchD<}*TB*s<;Gt&m z;wDe^l8tG}y9`HDgL-u6)J=A-Yi{qWuBFidabJ>-fh1r*!bEh#J=yVAqnA(rB)db? z&GyW;&Gs7Q?6hY-NA}r!ko~7*vCpcauFYlhpR1^$+srmH3LN>kNRY2(^}>Z^CoDNv z#4dO=b`b*uvwBNg*R0#THE`_^zkrc`L)ZFmF=Onyb?w?M@NBT(NcwEES==hfj%tB9 zkIRy2mSyqgb(%XHIy6{ePU^m>>x$l5T$3AqKJ;qvm5~{~C#$C5D16wREb7%(-lQIn zH*o@3-RaS$eiH}#_cgQ`aOm#M&8IKzO&vNg-W)e^X7nUI*z`eIn+ZI+9BZP(1vwfo zzJ^;}V^)5|ju^4HtL1_8bF-E|m%i5K$%DH`K})x~_>*~BBWYJk&;Ff52l@Jj?A*U2 z=}?+kx3XWig+2zkD=@g1+`Uw4#glE#ovNvENjyTD!HwB5Y1E^_8MM(fv19J}0f zzKRsbCHc-BG)OOyZO`f2Kst3Cbb3G^mm~{;l;rl~hH7Ej=&7MGA=+u&!I3>yf>WfD z?S7VP$z>mVVY_p`u0OHKJd5*Qw8j6pVcE*rv*(-RKd47dAHDdfUdW!ZAS|nDI3w4v zbYts8OBQujRdr1+Tm88z$U-T9UO2pQ>tn+I0#S#%xdOJg1vQYnRqo`d5L0kecm&-l zH&yoH1ZDf2w&|lThtTbFM(e}q_Bo3Z{Y^Q&*OEUeOKy}SOK$K5^kJpqoUD;MVXfRz z{T_QlXRq4qG@ri=e;(cUWUkqh>lZV2q`zTg#G14jW?{GfXwNjy4qe7Y1ek=A(e!f< zVJLWzO?mOG?GusPSK>D9J*5{U$Pc^m=GmB$a{5fcQ^*k)x;bSr-Xq7Q`&2589}NHswI<4`^_k9=hLgIg`6M$Hbt&72^Vhu?u%LuUHw(Lm zTuj}yU^(4GV%mgpF=P)3GL!N)t|mxp4(v}jq2JSQyN@9C_UAJOf*Ur(w#^VeXWM4z zYTVAajV9S06oVJ8g1v;zi?T(siD1>w=>B09-eZoShH|z>)8{#Hx23( zZ;FeW897!zX2$sG5vHCK2lwl15UPS{Dm~mN)y4}mG&;N%pODVt>I>E_+M19Gyf%B- z>>;!Lm&rBU1+wShp<4{yagfD(1t~>ojDA}>2|0snX2Eh?+O}rhR&Wcpfw37BFme!> z$iZv z8cALK26gGOWzdl$o3`XCHWp-a&SSh)sRcwEJp7S%b4OCrH$~2xK00bs_nH z;X3&qN-(#ipLX}LecG+dwwE0&_OhpP*66OpJuwQi%uTpqF@Yny8w6bJGA<^_qi}Jd z>zqwNdkq-f`3slAb!BIvKHm$m-k4C=i+JM!u(>I#8+;cTfPz{*JwzkK<}`C8)%{fIdE*0~++|H*W#-LS#?% z4Xy?D1h;Fdkrgae&l`zrK$h3$g!4T3NSB!X!07XPKbyf6{Po#6cz<_Pv~oqJt~63<0ybMig$1eWgJ{MIn9_IVVjgE zfQRw3T*c;L2q32F3Sl_?-E-{dEG#>B)||R2WuJgGWW}2lY~%&m9~*^b(Q6HY8tXXW z-3_e1=CilmDwB9qz_oarw<~0~m6{DZeKE$oByOSbZXPzxy=jtP$gz?@KUp8He6lWJ zSML*Vj9BX|tkUdD*?wSIQp~hPCPA)O{6(dFnwRBU<92c71O)b3Q`v}}}Tuxn?3zf^M zg`k<(Ec0PF8%yA5TaH5Cw=8yd7NS9Gg=6#%3ydHsU+W9uV?yT6A7>IEee(Ohkg)r- zdB@r{0`c$R?MI^!%x7|fb1E(mdULnfmn(Kzc3|L-VT$DzYk6Sv3bat9qfvs!mXbbU3@BCMrjO z4RF5=HDQbZNmi@M4>e}2s0rH+RZ(q+aOdECGuycXoQp!b9>@{mHCBy7_Uvf59t36V ziR@L4kUP|)Dbor$z_~2s?@8(pWiqIokWtkI%5x0r;sfA>iZh*&PW201w?g$8XLwiA zdP`-3YZ29Bd!btJycVQcoWz527iY#nnC);Li3+P)pgJmN$P*($r9rGpKpb-oxkA1s z#(=uPxfspg0hI&Vv<9ex##?*CSp{HFRie+G(K$-@BFrUZV00ARRBfPK08n<5$^q)_ zfJ#6e%0StQF&$AUxOQUBAV-Mj4)NUBC#bDj4RH^kvWyq9184()0JH#l00E#1<7Itp zyDtydU*PNsXDh@vvA&39BB0D_>lZ?6b{&*!B64R-A|ueI9%F`b11%t2aaA|C_d>3; zjekM)R5PGHhY`y*K<@NeQ`8u)Jt!{`TKK~IE8E8QGB@a-3F)1&E zVal2ENGsd98pKm%R88o`R)Tt00$xc5zREyu%njtCDgo!qP~V?{mok8+rGef*Lwk;e zcMz8ukJQWy;DNVD17Qm@pMbBuKtEhSc2vH-sH_(!=>oI>s0UC7peR6dfHJmw4;%af z&fZ_mbUfrG-a`k*(_*RCA-p>Id&v}8!PmVn(0Em6a3%RnNBmV$I_vMp)(1S$& z^Mb0+_xgasFW-R)WcUr}2P@Fh0iY;c%Xw`J(1V;km;rh0OkVg_pAfq<4pjp1r1ob! zlutPqXM&;4a_mt-KFxVY=Q;O72%wvJhwiBb4NJ8g|h}g zqPAlW>H=pz$F?)~fhS_X78Bkev;|&JT>$3a|&# zZv}R?He9=dzVbj7R2=9tuvyF(XrG%l8n*|UcZ4v))t8 zr)iS(NLq|L=zkKIgeO44xm%BrYeoXQEP?D*Kt9Y4pmRCvUVwc-zdzx;nu3>g6|t|B zR+qunKZSEA#a`KL+XEsq>^5sQyBFTw2HNz7a~t5*6>ugr?+Ir@cM^9iDn!y^hr|0~ zz{feVMB+?=Gzi^Edk~thw$YsAM`#XdvJzYqn(u~p6H#4uE~K>vu8$%I)(6fcuhz)G zE{1sBz-|#)X#{qwH0YodR9Dpw#R>vT$97=1p2=PWypB^EXhiUi<3vxKf)?fS;2KZ3=)N>7zWp5Y<7{ z54C=_`J;9=pEUY%2mE$V{$q9JG$ia?W4Y@Uz|;*p4oqMuNC zR2MZv?NC?L4-G{@Xe^qH;_`%4ApyA{Bl;OtK=n{_)E;$1{n0QKjK-lUXcj7g)Qx&H zD~4J&>F84o1-5P9rWjh(v3=WO=&(=6*2T~hTRJRq0RO{;N}-CVK5BuyQFk-|4M!np zJerDT(@=#W-$LM_m{Dm|2~|f8P)pPS^*{sB2o#DU(KIy27EX=8BSFQ$bE%AKpoZud z)DiVWzQ`Yip(qrC=Gww>$Pu}t;;1b2dujr0TcJ*<7aD{DP&kT4)6qOzI1QAr2-L+B zRYkQ>W7Hb?px($2jYOl-1T+K9w}sOJ=ut`Jg{q<2s0nIAKMoxX?KK8XL^Dx5TF}4$ zh!8fK;uwnOP`rrZ6pGhTyp`f~iVqL$A3TUXMe%uxuTp%Q;(HW7rZ|)0w-j4^14jC@ zUkJ9dqnM}IiDFlZi&9*I;?fkC_Y3Mj(5@=QjVbn~xDUl6D2|{whT;T@SB)4txWCwXvZ;HE6+>7D?6c3>|fZ`B}BZ5N*1ar|8 zPo+4P;&~J=qIfCAt0>+;@z&tbz+i4S#rr8fO7SU*&r^Jr;@cG8qxf+Msa+<;Zz;A= z{DokR9mPDwP87RRTr^@(&`3=Qic3>mp5m$$*QU53#my;hLvcq?TPmC0{GXl~ss;ah z%>4_jhCdBx7kkjl|L^Y@up0jcJN_%I%7fWFSb3uUS6KJ2u<)<2)4#$l{|XoSe~2Ca z6)ya*u=rnNSMXG-gXhp3e3dR>bN#@Ehk;KJ13tkbl!DfwttcHGMyJq4bQ4keWv42f zWrvh|w8C~yv7MLN&YzSsQ&f>iroQdIr6SQxbNXDxtYOk^Z;sl|$8F~)%2}ngoy*$J zZEWWtB_-%XD)+V$LVt>$)iD66-~|E(IZ&xLqY6woGnyI23}r%@FeaD@VMZ|i%t$7X z8P1Gh0+=9`s1j6;DtDEna!@&|3ai{yI+cscRaJ-?rgBpGss^e2R3}s?*(z*Rwi;WV zt-;o0Yq7Q2I&59G9^{dVoS9Bc7p5!Ik?G8IKm(Z;OiSh$rWMngX~VQ-+A-}JZ}4DM z>WL82ml@0qVFogO%m4`4jp@$xV0tpWnBGhurZ3Zv>CX%TYBTB(fJmfJTq5^u9r{!S znx-YtQ3ow)0&kMEW)j30$ovBBK+dhnJ=;vVhqH3u+IHU>?pe@SPTkkN5==>^I8zKl)&xDufkZe1f4e}*T*0Sx2R~E~ zTCG2l!A~6kKCK;uG$9wpp5YmRabOBDI>wQ4V#p}j7i49C{TLO)GIorb;TR2sMi9Dy zybH{UvAYj+(NYiC9X#sN&@xrQw|xh+YXSc9dwOn-KG1Vp^cGsO1^NiM6~cg9BMacR zNM)A-=TD3XS4*L{+d*{!u98uGpoJD%OX1^K8z(C?_{aPV)Z)I27_3aJZT?g(RfoJp}>3x9L>%zSgaF7AyzAwyb= z3Rq-_59h)Vk3wQVn<7^R^Z;@rzX~FEMh&=sQn^{%j1I4*b(!H9$2`bxL)bEzOo;%d(!V7h8@k&sJb7vXxlSJ)i^B z)YBpP5PPi$Y3vVwh2b3oH1M{0Pz>9Imd=Tmt|bGS4!CR}{2|b$Nz~?nbb`hNoe6av zg6!C4Y%?UWt=ZNvZ%rH_J<_M(T3)^Zr07ChK>^p)6kZFxopj)+2VHd`OmO(|s zl6xbhO76cv%OcR2&NLSWG!{eo%buK7tyJgXT%YFSWNWonwsspp^ZLiFhh!*AG0QaPG9IH`D`PIowKA?^7#J8Fh*nX&f#R(c@1}S^#YZVV zMe%uxuMQs+6o771e2?PC6lYTWmSPLVUkGOGDCUEQMhs${D0ZRPo#LVt7o*sN;?fj* zQJmvN{2R>t*SHm&n*$JkranMzfa(C10m=iErE*GqDkX+1?L*n2687(lH2f(VG1ZAQ z@z90=DCc0R`_dMk29}{LXte;adl6vyW`NyGWUhi`vw+=gqw1)dqxwyCRdrkSQ1wjp zUiAqYm}4DSXSOI?nQh6oV`JEPY%;rsO=Y*UXW7ea2K$(O&3>}8v(wqR*qQ7~+f}x^ zYIoc2p50@+OuLW3?7Z4V-A)~&PE@C=52`P!AFH#u>Rer}F`XPegbUzexLMpHZUvXh z?dHyMm$^*ti$<$)))dv0*F+P7MZ_KUrpJ#X)1?`mJvzJz^g`||cx?Q7e6+xyv% zv!7~z7}=>RSf{SnsQ9S>FRyTUpPdxd2xHt^!;GxDJqIJVK81XrGIvo?$oDDa`xNqh3hg-qVq8PDnA6r1@K#^I6E*tH zdKz7_?trIW=(cqSJk@|Swz9s0JYPXxuOP2iP{&u0*DEN!0QtRw{9ZvlUqODaAir0T z-z%u+E2!ryS_Affn8yEv%K7Q30vZY^93bcZ+g2zTe{F$+X;ko2CGNj(GZjQf-6UB7WthPtZ)v-hy%aRg(1IEIM8rcAk-Vi2|RW3{xgYh{Y+8=%hrYd z9#=e1-T(e7hXOg2Ea<8<^03}Rr2#4eR0fCxm<6y6U?0GKfCB&r0S;O3G4P&&_snd7 zIRFa*76B{pfL5fKmXz0Xzoy3*ZUBQ-Egx&jB(4UI4rVcm?np z;0@&YpIi3tul{{2{@<0^e=pYsKh;59N1!I)-TVU32B0lKI6RvN=S(z=xdZS3;32>x zfX4uT!8=9L^I{@x%^)uHZB+HF?^MmLcT_E`pHv;-x+mdXRXwmwoT`phhW9stGh3*- zLwof^BUHVt7I@zR%0oET2+tbi@@`c~8QKosYV$l(tLlJ;?qGcbPb$KbwvfgrNQ30W zsft)JREq-lpH4EO>hBrNE8GeSVhES(!(8_k?cRf{e zCfa8(cV5T~jOwXbje3^aVL>ICO5 zNT+BMpgyl^OIxiu&|L*-@Q@ov@BgCrYKZlm-e*HjkO#zegV>(%>=$bm&5@+$O0UQp z&|j)95Smdn1s{bcHD;zE5%LlszALnyovIOXQ8j^cQ)GhtoK!wQnVgWtA*3gStZ55b z(H62fge*ft{=MG+Z}ER4X$3$1U$OPy`6;S$tB6NeVMSGM@C-|VM|}+ag9BOJ#6 z6rNZg=X>(@2MK6$Lwo>4M!6lS_el;iQclK)Ib=po(E49fyYWxTMniteS2`0s`3#Jm zQ*b6xw}xX*Y+DoCwr$&X^2N!-#>BR5+nQKk>`ZK(`OnpV?oL&A*V=D&t*X7Mc3aEgsKWFn$H1xLf#yq!;be1OScY%i|8R;Z%Ra~lwVS^#e zuoCUP&-W7FAsEt$siHD<&$j7NF!lT(SeEw3;;AEk$=d*H7Rv+8rTNRe$MkdgZMZW# zE}wc1s0|FJOYCb~nOl)7zs{4XTHDdBW~}*Lqj}#7%I9az8=zE7*9K*Xq>Cs<=+YsP z=yUX%#b@l^fAwt5ueEUp$jy#Wv!q3ZEO`gNkqqOt%6(!ZvhU4aHnRggS`cbYG0Xo= zkVq6^4gL6O^@kY$?KuDA<_a{Tf8#>vDXg)eq`&usOJeZ7 zA3_&Zl)j#c(O$Z+74NsCR&>=k>>6tNj>h4vVD}mMf|IsFFW%KyYE}K9`PuR-6YnVV z6w|oc`{b#?bcPFv;~JzteK+=7le7(0I~s}%#J_IdtAFp3i{ug~uBaRRA)IgB6p_8( z;sN@s`9Pj}kNQk@F8U1k5H@cRUMSxfT?I8(yG!&Q>ebAlccSMTD=ByjVZu-y>+FAI z9uN_zo!j&EtHgf!8PxUq-Oc@(eZ(3!{)6Og{|O}EnEgXtp%nYsVyBiIQv5Og{mwy; zXD)Q%Uzlq&tDG{qX1Ro#DsHX>UMT!6Y~%9fD$w=Y)hZ#Ojb8}*r|D|{!V0VRpkLYd zw=yguh&{39yrg6G`+ZO2yKqXM>=m0**mytMJj>X9i;jYg!ne3fEwQ$k1A>ysAI~qV zqwik8_fx$>i$bHsR~@DGb5GnG5x$;*Bl1H(Y-T6FQjXJ+`Q|+-H+nHoloyuZF3v?U zA7`OE_>l!PPwQat@vE3G^mVmlK4xA)4H8_ham;aP`gZcNp$5{;RCsTIVmH zMV?*cK~FrPBn-nnYWf51`2^YlD3zVpULtdTvzpJ;i<%32!YPt+O%|B&0aDLgZ#Wgx3Sxv)DK~sEGReJc&F6XZwbGEG z0ijFtJ2?G{xK_8CM$m=>z<|STy}E}@vNmX|`-<=Tf#4%PV|mD#y&oLjzJ#=?(*6`> zpDeI1BBJ&*uLN-b^|Xruw0Ou52Ivd_i*>;3u~lK6Pu%(amd0EI%Bv6SD^k7~W$}TD zJ{;gB>E*khJB_KI_?qpODTp(eEXXf~<%C$y9p)cye&&p=W zhaaqOhVY>oQs*ek{{?CC`Sx9)`-*ye@dlD_id)MnT(S7KT#d7VW0X|!eh^k6eN_>9 z6Ioy2@on&x-Dj}eCIQVhc&N(<(Yfb>XR|v#Iu5w*%%7#^fK|AT5}_3|pa7KrXN;Zc z&sM7Mh>O4jB9$CxpigYt)f~W-+SA%PRmHDPG$+t>PIUdMd{q))k8snELLEl1(A|%r z-Hdccu1IqqgMIV}JCGL!sG*(reB$ckP^F{4IiMOppm!SIjp<}TPac7}un`!Fk4{75M_T}fe zUHU*)p+M=^u-S1-6zE_ge7&*Wen5ICzkgz-4Q+Oj_h+RWoZStiv!@JjcPUvi>4{9( z^6v8)`#t`Bt$pY?in0WJAN;=AwL4ngcu6Y~a@*A0H2v-SO~l6`(-v>k0K4t_0qH)Q zwKW9l^Tn9Yp6j0{k{d!%^pR4OtMd&OH%zRk4*Ce{% z5O*=}vF!TRts@jcfdl5_%4pC{Kl97rCOvfg@u%wn5(G%v621*83WEuL%VU%7RmTDa zg!}|HbcEiC7Qf!XeMIst&E{*kKT?3u2iCxl)8*jH%~jD@bVXr#UuDI7`c!9x6F>oe z`En2V909x>g`-WBzYi4uS-4<=2lNKia}eSzWbgOi@e^TKV2_8yB-ePrdD&6QXv#HB z;%XgPl>^K|-P&F338vTK{3b}_PrwzsXie|pIKl%n&a<-1VIbwY8{pM9J{n(a6obLD zg}=b^4j%7jrs7&=7o^*b@4E<$LhE);njd2$aVZXfM=d#f7kg0Htzy>n6~*9fo6I^= zM(q{js4lGd{SMwNI(zE&=6M|fZTlWedhYPDJS zR*ZOTXjrubAmfijVtNF%X}BXwK}gks)%RB!O@Cd;q0EjFFS_HUyT zKVXvwqLZ)*&x3%HCfraKtQ(+)1_rA@fMSTMN1=nFBUzJb=rtD?`J!c(6 zg!=FJu8I0`sJx#4_PAOe1LjV$J7z+jPy~O@$p!NuF%9v;iR)Lk9|x=8Fz&vyTqL+I zLR0_F<7xkOXRb7)e;oXEo)DXpHs`SD-Ou7H)*Wg8^PGKy^$$x_B%ayM_l-{T(-o;mxLzNdw z*8^U)DUkAVQg{~;2qsg3ec{!ySy6 z9HXblLy$ZR#^`O70l0OpLi{u}VnC|hY5~Tt;dIFM+u8;(-QM&o(z<=1#Nzc@} z;cHr99q0!a#N+g-E6a}`EF1;$42KJnH}b86qwpQaeBEP-YvHYhmXglZ(N@>W4`ZPV z<}i|d?yLe_N4Szg+2EE)ICo@`i3k!sR`$df7a6`>AKG!rA$(%YY?VA zj$2vY)=#K>?$+?!1cRV-CwC0SP$tWBbUHJi*!a~V6P|1d%~M%r@EWc~Afa@97iNJA zUqG6yUir+H|leD~BBXF4Y7bH`cBxu7%{2F72EEdU4^;n1W#zc#`H3Y@!4)od&n4;dG}F6fh-ioUrLJ9-=fUS9Q3op7(=F^5|j#b2km(y}ck z<$E%f>fpeR!YID3s{OWVI9Do(q7eTCoQ>HZB3t}fVrqyBt)+mHn+oie-@FYIVQ2!4Qw9vsC=g+ zKO4C+;;Lro^Zwf)D9&84AmFEYh?flgtK-dO*=5(&v|so1R6#U?Ic4?~vF55dsy%s0 zFwsXqJ8MH+xy1k!Gk9M8*k{Pmt(|m_B0?`g@9aAvVoCnUS5L)Yfwp@n>pHt~9nX4t ze|#8r-o##vfx74X9HJ}ufW{m&)A0OKtj+4;6R0cgsmiuY-KyB18hC2gexf=_tDRUU zIa2nuUP4;D6wg%^_{j>0x?H8LTPD+4i--d{kR^NVR z)ud`|ayDw)1c{fb7t8!Icu~oEd^>ei#`LwBk+#rsa>yt|3Uf>ia}HG-wQAuRo3Q{ZeidOqs;6&k>o*MD-;0U-R& z4w%5YrvT6x4rt!hz5e_{Fr4AMlLxQ@2itD1K8P9jNi~6G>&nqOnnEE2D7>OO?dCrH~^F)5__S#PyXGm#`4T$QHDUBPa_itSEIN(h6Io zu&%_R7nI#bu(PqShQ)7*oTc?JHHX!m<@K;Q#Uk6O{zkLJ$eL1Mc)&CZu9nTCq2JBW z2Isym^$R=-C!jyEq#Y)AB4`_?fwLf(3~Axwfp@i#cePj?tedT*Rjg$zJkg zfmLmr<|S+&-z@;(v%+@*#%6E)M2vrjYG8MW$AKV8eiwO@``}HXEdX)(q_xE94d8p$ zrY@qdQ>AvW=@pJtk5mWr1ZeQZ>C<>PH}X_4tSqTXRk)&sx{8<$nH$fkaz_?vPb%*c;Nk2*mfZ>A9EMOGD5Jm-;w zxPRlX%oOG7mz6Hrp+PzF zl}7p1P%j(hc+pYidkqnxF)uD^2vlQ6F?yE~t+I#AUDdX;A!TW>bEPequ5Ou6k zxo|=RrGDNhW(+w6_g^9G$d<9hIiiVqItQmlO&&%Iyo6(~O=rB&2PpH0gVfQKH_6fY z-;u@p@u-SsRB8;0HK^+Ca4sJ)bR+%xENq#+Yzqt-o$SdZe9<;>!doKo^Kx}&d{c;kw)g_s+YFWDpxe!OFlIbn`K2y%t<%r(K6f0ITbaXG=- zcTLwC0jsEWJpLikdGyA-WNLM_Xk=izB2mX23Wn=9sTVFeQ@A{!DSmB>M?%T}HP(L1 zK=V#VBbpj(fH!=W_0%lVKh6OEz54{}#n0X^~hXH?yA5Nyh4PGGc5AQnw zf2M!mNHO-tFk0^HKK{g%+c_Iry+N49TG|=>AaBwJ`EaL#KkV9VsRa-T_H%LhCy3t@ zz0Aqo41I8^zQFniTfa#AKYtkL;I%!jeNucv!?qUZ+WN3 zukU>6Qh+B%a#YxBryv}pU6?+`MwG_rMl4)=L)pmmfDBeEoPIs=d>FH!2t46wgodHP zZe+pW27FSHbl!a_>Q*E)<7qS$3j7N)h!6Bc3RGQ*Nb2fH%!NDsN7A%csq;xsb$HsR zD6HEx7GZMZES*Bk*57h>sJ_UWej}dyyro#aBL=SqD$YMPiLm-i-kbLETLqCEydzbd zv2=GtArO^*z^zrc|Fpm?Yo`H~tAqGyELRpvn>Z~zYKd9Rrh>~%wlFIxt*oL&?ff%% zhcJIJi?~{8AGJ`Odf{h;6^5Lm6(nknNQ4HcSQT<%5hL@I)HDl96MEDK<$j7tHVaA_ z#0MMVRFV>+7&RJ-42eiagc2Oeq*$m6xrj4q$}gA_3X!u2B_GlhP?RQ;4N6$^0#7P0 zv@$)Riqae82}&xHWY&g>ur)JEj*eitntBP92{}hSC-9676Ya){*#FhhviKt8bB8Gz zO;p)UlCc^l!rdid$$vtkq|%8|1QaF_{Ud&+NfAOK#}7tG4h)m&vi%_W&nRY?3{6}j zOzKdcoCPgXufG6kL1coM$|NBY+l(BF#%Lb5I`Kg{LLg3z2w_1|@qxKM$ByxQ3;L}+ zNII1*J&YAr*bzBih^#Fqh6&mTh%=u+hc=0dOfN)M zl^aHvG=ZZkwTht8F^S4eHz6*?eswsM*dd;p%TFqfWL+2zvofK~Y!9Zys+VvXmcw@@ zi%X9r`#X$+v>!p`JRHrnFOGjp66b{`8N+e`p-nC+H;e-AJS>KTt7>m6p9m5oia#H_~I4I&ak4*5eA5>_$GYrFN z5}JX%ClPZ)F5!hjh98NNGQp}4b3-fvflMZ{H^4m{1~X|m7y+{<7OF%l!lfLjI%|@j zJ#zeQF{#vi_{wt!VD;_|;sZ+MIubj2k|KGM06j`B$zlM!Nu&YT-kK2Jn&jS^Fy3m^ zuZmo+iqx<1B8givJp1a|5h1^dHT0N%S4`kD=P4We;#i_bv06m2 zLQOlI8@-!NpFX4?ErtC$kMxPKcog>&tAr{H0yy?r!KkyN#vXPxikqJDiWk=tlK_+c zQmTmmRNH~jZb521FI}URFJ^|fkeX?5gkK1TjKCU(kI1GMmmMzGD8yK4!>q{&w+f-# z!qVn~iOx{tiCZ*imi#0*^*&Z8L~FgI>l`m@6xV#!@I1WeE%pT;5ehTO&row9F5yX( zDBLC?P6UWQ^YOL1SZ0V{k^JaweS^IwX}yQY=N^pr@$gMxkRHx#FWz5Id<*%m;p}BKvkv zAz>34=d)j!n{pzR`6v1KM=>|mVs_eE5kdaaB}^X(mEa4rOFml9TwPq#26IiBytkX)1Iu zC_0jowxs`^cSu4?S^DwL5uVE@tw>l*#kiQvc{UO9aQK72Wgru);HTgMX5}5RdPhQ~ zURC)dc%=`lu18SoN2S$NR&xneu#L33k4kEg8U~oUxkg6Qx`i!sae>voD*7!=+zYz6 zSri$|ND@nBGK`91nHG~!fEgAA#~fF3qK3BwFFbsgc!&$>!6GUhOcp>c zU_xS2nLbH6%*KrHl+I8(^^F$NA0q-F6##V?z{uNQ#o1@ID$znWosnZkn`#=SJ2h=h zk3HfxK|If(JvQ;qO%Fes8#&1z!PNWMhfnloM2&VzVH`2B>l33J zxKn9B&orP+GoI1hr=?@WqE(ucX+X8@#WXD9uNwYYeuH<5aIQzMQS`-bg3#QqQ62WT z4+GdJ)u2!vB3O-ur!*wdkQf#zZ-Tbbt!*cP*BU`zE}zTE8f9;ScTZ+NGLHjRQQulz zuSKfCg+iO;hABQAMcyKg>^m6AzgJw3t&(mZhbO)fMPVsCx&giQxEq@%)_jeZ~$r7T6EqY_DbHl!qu#9cLK;#LL!uNe(=f0kf{z@|K zi9{AUp`+L_qm~u|RsCT2*=1HLY&wIqO;YlT*0*@`z%xO#FC>=-#fbeZiD$eG7n}Jigm}=dV?V95sxDl`1ZY9J#kB zJy2^vU=6k?yv#jcThL`V+kS*aqzbyfD!W(O{ah_nK3kF~36VHq;3?Lvs>r>I4(W0o zo8GE^s1{gXrk`o@U8x_fT)2ZC;V<5YmVK`V%}9Irhyev}YJAsPWOaqMe4L(cDlRP# zTFzeDu%Wk2lF4IO&aS?F$;8e}NXbsw68C#$BxF;LZ6jcNnnU~Tr;se1Q4aOVG&YJMGs*5LLYXwJVRO>-`L?K~2Ehv`^hSf4GHr_pN!h z5^>==r0#OCyiMUO$c1f-&n&yLO(?F$t^QF__xte)QnhZAg~D8S5Ia=Sz4xh6Y%Vvr z8kz)of6l!Nf(rz@us{5wnx^Se`F_NHy)wxYf$#BCfLUMWtGBl^KdX&V&pCxB+;8=C zweYBrpHR!%wVsI=>{0XfYT!qnO;E=f2ep|s4A>ftziRz_qSzU}m}zLjvYW8ldg@v2 zUMiXtjI$Kq7{HZ|F-9{ayfBwMsNHINn`K*KQo~!m3H++f21Abs{P5xxXEK#rLqyQM4RGqgtqMuGkV3=j(y?#I_UY#LHG=IL{d3L2vW1#rP7ALe zP#3{Jy5e0v3u%1|6p^fR`y$tW%GaCfcaZL+LjZTjTF1sjjlq!N_7Q3pzl^HO>&pB% z_=f!|YL|!MHeW9r=uR6(fV0Q7?B*`(>r%Uiyy`VR-u(0g&x!Ljtyf(Xm78>fPvzgc z=z;Ae8dgR@R?f|&OlGD(=LMY;%RZiClp!v@W@bpU=Rm=xK|;iONni}gYsL!5vSO{1 z+jD(QeX+&yvE}3Jc}8MhYO+0o3b@_Ved9NsA5Gn0>ZL;#h@w2;wDrzbBy96bQA>GT zl+bfkIjjNm8LU|z{k5=b*_Qqjjf#PWAde29EZBHAo@gDDa z`mAF-|H`#k4Gseyq8^S8kJ-*9_ampA&VF<0boRTZC(z)^t#Kg^qbzEr=kCpR1$VL;?3rtWJzMW5nC6cA^xpPRJ;zu{mtX(us#e$h}8i51nxLyIv*5$kA5lD<>VRWjPu6ol!tA2*c6o3 zZpZ7k2r!Fz_T(+U^%Mo}m+5pf@-2XQ_X{B?+Oj3wW_Zv$uk{J8)hzda4nY-&%Vq z*(c7EQ}Y&pi`~-ZAqR9djXuZ6her>yZN&$9Bsd)zX>nXujD;EIPTk9fk0qb{TUnMx zG~jlEYe?z~5J%ebUKX`X&U4w_Mc1`?0BQ}vn>LOnAD;kC7YhG_R`pB&jR+ua=XRXF zo!4he$EGGZp*D{gy`5LLw(@5ohW@8O&cVjXfZG7>akkoa3SyrZQVzS7#e7IKJ$|b= zkzI#}Mvr>O{pR04UCratH(NW~6~I7?**pdvrVHTQyC>dOhhp6UkErfY}{)R$a~ zmR-v!z9GSKOnm1%->RmnnS=7)ez5PWplpO~z11)wXca6w=vu}--e5y-VIXX6ns_P;TsNtg{xGSd-n{*hFd2g$ahjYPi zC)PDkOB0^;&+sF-m$|cSJ4&#Fd4G`Zqdm1@UyZePeA0u)mx=XYGgLLxoNIa@kkxzfmD2qW zyv}X;?0Jdr{danDG#U7jFFLyCXjAiM)Hd-_J1tW&0vgHEVgyoE9VuslA(Gl* znO3K>O!Tn=Jyf|Nvr+*{{re{nzh>5E*^qxZ;U`dz1t$@}pn(6drfiy=$U|A%{K@E+{3Eii=*2?uA>LodztWxPOeIenAH z+4R1Ry~HqnD!1*askOs;H7y)VOkQ@)|Le6e@}!Nxu93>X)!>g=;Y}Sv{OONA`YFByAlv#ey^K&oxvtbIdK|`JTipN5mu2OOsO=AQs7y+0(HCbB@s2K$rQ z`&sxpu^9Y%diTG#mAmr^hVw3{Bnu9K4gvxL0|Ejf45GhZKM{Bf z0>b753PSKtaWQvgv~YBAW3=~nu{Jg{baHVtw6nIfa$|6Gvl#C7)I-yL<^ot!CWqp{ zBrpX|PzqnxlFrmtsfmj#4+lenLBRBcQc5l8W1wF~6$bVM!$d${>aVssG+b5MYHznV z?ENBGdY=73DgZor_Z7T;AA3h-ea?2hu6W*Yos)0mHNHE9?FTyq2ZQkPfp|OZn&E+~ zw=Mz&={4x>MO>U;@&c&_2Wh9eM|{Ae0Ka7~55NKO(3OOgg8`s7%YZT6!-K@k5Mf{+ zz8-S-;s*xEf+p}P!d#y4T-d=vfZ#P8ssk{H8dHB``kK?7kF1+B+MuA7o09VOEUL=Zu84rVY2V3&Bu8>B_i zNlr<(`EY`1C-u!y?gQ_iN8_9Ve2mj`4ZExf1`_9zz;QkL?&rr}g_k3lB+@s47eMp} z-Gsl~Xc7(Y23vug$D^;`CGmWqe1SlKnD9ZH{B95kgiz^*$@_KFAQC+TRhv$hBpMAP zBDUK;4!R2uxjvW|-d2WWNkNP1MuPVxPN{hV#W%`%Pl$YK9q;aVB4htM5ERZBEQajU zb<+rpdZ3#_3!=LJ7e_jTX#Wm})(^UYKO9wNHd#f7qB zTvRlCh`2x@L?;hI+#IVPigHq(PR=eK=hrN323S>!Y!W;pID<-k$y52D;QC)(MxvD= zJ4P`pWn8BT(8^GUW^gQ9>4nkrV;3qW1gIUkh*pQ+B!q~+AfU;oNT>(;je{h_=-yMY{Rv?z*fDH9{C7mNDghqF3~<|2uw`G70#hUCYwK*0L(O1%g^E9~{ihB!>b?7xoxsUZ&PjL{A%54+oEU){Ui_=&mbU;Uq#uNQ z^+*uFag(@Ev=VXXy26!DNOG(Us7ow^L*cl)#~7HSz)I8-leIf}z3xf;W?Tig)CFT? z&pd$_NiXPOL>3+#S2OShD}1tTqG$+V%syoEhjbEfEy|g%hHEV*{z(-Xt;Sb)I)8fV zVU5@y{Y;u@n3yaK72K}uJnrxCH)ec?M9NZdX{aaL3kW%((7ofeWGPmZjC}OXEh$(W znFUT@ljHT}1@YO2@ovoz`ZX=$xK(=fu-n8JAI*#wFxmffe5l|($a>Hp^^hL@gl;01`EY0I;0W`ic)Z|}^N?6KW+S@0b)pz(G$jbi!q*>S_h_LWf7F-|1AwMH{>Y`{%SJFrBpw_SLujYK{~W-i!_p11AGE1QYRB~)nmfR{&5P74jL;IHBjZ5nir^m> zDE!5xkWI>fswsY42wRv@h`ivkU_Zl|i3v>$jR##4GCHtO&=t}&gbeK%P99Ddt`{y6 zjvC&RgOOv;%j@xXXMF<26P;IwXOaL%vZQGAR(5P5t|0Es;Wwcak^krTrE-~Mj$xnA z=jug(!H~uC@xTn>OzzA>5uz{=z20=~U?ubRnweSov?7KUIrpd$?MiuQ=yw$s(8xC%#Kk!jo6=o}$bi5g|!0F_8 zf#rsl?Q*|>0Z<0pIXnAyFJ2eDdzgM0hU}CO;M}Tvam$z;M1q*GFkb~wQkYDC=l?+4 zA)v0knnx}O$Ci+@Dazjjr_xN2mlM7=GT}h^wW0UGAUsUnTtvH2n-~A|Zqn?yikfS6 zeNvR#3Th|*xS*#LbteqBVQJg1(p)tqjI$PeT#0+N&|~H4>Rkq7o(oR>yi}m?+it&F zE17YM-RBx#6w{1`UX(L+1^ly1w-#|XWu8*RQ25~nYhG?nE$J8Di2l3CUrak{N|{$F ztuy*=$v&m%Zy;QXF=3(Jh1IRO8pkDUEBHGC9Vl(R{+g>D;}h6s z>?fi@!TT(cm1XZ}W&Lk0_NS;R-!=bBdX4bUuw|0~lgBln7WhgGLH`#hRsYvSHPTB`hhHw6c$dUbk%^(uUWhwJCr-?he$g8)haxGASi2-%)PIBLB(#SRJjbB- zLvC@r0szRZ$j?Jm`>Ho*FKPf>!kC;<*h>h+dR4AC!!g}kycgaN-Vc6%wC})xc!qjG zWb7}pPWvx0Wa{ULn@xyFAj$BHzDO{TteCnjbFU8>-9In?7CMysE1|wWfWqvBY!Ed- zPHRsQ#`c4TWGsLT{e^W9DnNnh5;!o{$*#N0+^_sMre+=jj>IuGa;LIkbbRViZy9TyiS(tgCe zsP~%~hFpa*auCrDd6@Y213^rl>n+!a(!qWo9JkXm3|%qtV+M(vC~L8C;J^hAkKi{jq(l8N+0(-2fX#|1F_EA{lpQc>z^03SiNX$2<%-qaUGajb z9m8lxn9b+&Ba9zr%(o+mySQPRhIbv|W3rq^a~onnM~*ZwYq z+I0)Wk00aaE?-j4zbj$f!xrgtTT`Q8+hieanw_+6lb7T(GHqyWjp=l6UgR$e| zfalH(k_j}|;@0^HZ*X1nwEENCuj9lFR}B6)6lp}VXaqeH?-mR|Vh~(6%DJ0$o8v{` zk1iM+?1b3IpuU}ofOhZ zlo>RPLU5-Vt0JrDave7*H#s*6H)%J0H^~R32d#(j)0*N96sN@1O{0y`5g|HE+F==IOJ`4K zqJ}E3_BBmD1wM5?S$u{#EX&9~OsuHYh^b+W{hEFLeI4hJm-?6Vmz0<8m#CM_mtQZX zFL5uqFTF1fFPyiux4O4L6Ka3PL>W7BL#a+_J@O$6|0L@qCg~J%jU;mE6T)JMPlxs+$7xe+*BQOuflgqcY1eahdn7t8!}ze@6wVo zRI-**L&Xh?=+5}%j?m4APJG_-XP3`y1wGg1@ywx+jY#nuny(mTjI z(!0dF=GFS1_PA|2fIYz2;UARK4D$(7pFW%ZmrhJex-p7rqPenJ!;VSYh;g(mrYHSZ zy^%R)BST{li{Uz(b~Bx7t5T~(tEh*Phrv_PC1=Kjip~1Oo$ORW+E*G$n#2_8l**KS zT1y%geVz7~-D{V5bn4RNN@bRM04-ycP?b}aTNPmFh2GFOnWtL}|XNqU6v%hoAC&#_y5%I$20(?b&rL2Zg8(80K?gxCUc$B^9tI_6W z;7rz?xH`o3=JY1&$O1%ci3;cl2n&b{$P$vor+aynp_L>+TnV2y|&{&Z+pUwbCxTIrd@AahwXjUjB6Gr$NVwBD9dq7urfI%>!%|6Dy^@?v(WD|8$Wpk#r%kIK1e$$}2$HsI0Z|!#S zII^gjl%7fO4h=iKbe@Tn9J2+ve{hlNL!J*Q>cPGn&6QOWgLoctSv;G+!k%ECE!E6I z895KdsCY4M)BZztW;|0_DZ%kFV3-u`kBR`vuLni`ieJ-;^#b~N^Kob1B}5GnqR`@d zk+-*1y zt2{#Q&&dY8ml5v`{DvR$!jhiPo7(-=hDRRBrbk)`jt|~Y4(P2Ux!?szvmvjT90w%j zzB9VIA&F1~+=voeOBM)!l1yHSzS3B&CKSW3h8I&{XK(94dxe$|hY{X(Ivs{dnxMN- ztPDwF2+b~-6^aRQHGx!fg)4C0U!Z>@>;$i^R~ zBkoYd;`hU2-^lIJ9kZBx)OdlXO!||jiXk6f41LW0!CZpEX?Y9CSOrA))@y5sjia}t z@dsBptBG-LF(>b%_kIVw5AwUqauEu$5sM|oBV%WaF=!C6XetM86$^Zu97Z$x3E9Vu9yTb^p@fxzhDL<46L*-5(n<5Y6Kxjh= zU^3_Z8u3WL7{enP+eG`%%*b#2U;&0A;k{x8@+M<6Qs``y{+Vy+|K?KWW~6X*R$;H2 z_cl?vgcuSt&PXM=U(JCt|FlN!{b?6 zhCM&zCw8J=Oy@*|;z>Ap{4xc_+34B+5UJaj^}(M~9Lixlu6OVs$%Sa(2+Fse6P?Y( zL7c=JyBPK`QtUUR{80BkUa|IrkZaWQTxVDPlJ6VE_Ye7qa`rc6#&6U?+GA%hqN5Vd zy<(>aF+4p?9*Crc0TQ!l;3_Cn-l$`~gPSL3sR?P;Qt0TEI4Xr`s@$G2oy}~*LMqK9 zd>etgVhUNc+cc9L^X1kyK*|vrOk6W(srJuWcLAhH1k{sJ$kPe`SA=S zDE3f2LC+K0BidGap`+?nTQ3$)x_Mpm4_KL?BCJYQP_Q#b1-Hn!iUqf*xQ+$4D7c2b z&KP1{a5nmoEw#Zqn!Wl z${*KOI;5j^`9E?q~G6Q0Z-w)|B@fE(ElG7 z+XEJx7t)ioth88u6?`9}GOJLYjo9l>dAtxs-a>wKG?SQwk1H=H4FxkP{Z@MBuhzze zz(%GGguPBKwRLRNAER{OJRVBN(V}?V6wIo5*`?738iK2Z!R)EfN{CC&hH&@8!`xf1 zOS!~3gYMD*kz){&ZxgxB7u>?vcw;L(I$;YnaTZxb0lX?E?u9j`p) z*X+;4NizKTTdQ5CJ-1UMYmLc(^Z_&;bnn^Ty!bD>Q_F*|vY_uj?Q@lq3iV3nuHocJ z;VsWpvSg*90^sSkO@^Go5a0vm_`Lqm`1%|m_lj?cdk#jxdXP6 z;__ot3eYJ{MP!qBe}ejTmrzco&jVds-Nn4Yd66M#d6B(Td3U#1zU74VNOk1%oQp@o zo%_Ng-eM*{LrLOvJqWC{^DZ2!zIc^h#@+f~cg0T8<|C5><50gw7eSAL|DYU&{L2en zMm7ss2LA6Rn}jX{7lu)Q1|!NwY594jR_BD;q@*k6ouR(=h=VYZeGi)bza@NF=Y;9gnj(h0b` zCR&Yc?9a!wiSMC#`u-50DgihQlo{{o5iAJ=DiUWtvbUfS`jTCGnUblfSHpJMt#G; zHXJaL)4ah5NZ#uuk}z+L{a_|yv{OJSPdNv1g`Hgw5k%GRX&;(iPOXbjV%0i5P%yzF zLeea7{@#-T_a6178$y6FXzss4-Q9c4mu^S_ z$Dp}?;nO}+xT3b9(57l{pad1=XkqAL;&5JY-uzr#%Xh+UZb;-QCjUS4G${FTtR zoD1~ZH!`r``decxAo;s*;>*z`%;`-oLV}kk!k647p6zc?+%R?Tre->rp)nj_Gi_3+ z0EdokXK=a;CN}HeHv-qV__xplX2cFyUR~fTA||4>+G^<80V=Bi!9Uxp!j<}L?0gn79Rkz@86R@Od=vs zGph+~p(>V|$qV+!j!0hH{0aTTD-13G0zp7T3jkp(0G1cue?oTi3Ipf``A>9KLGvDpSFI&G45MX&>u_z zA>aad20ma)>`QDRwj8^MGkABr0>6mAAO;bB#56)rEFo4BPl;C|E74x^3$h29OlFe{ z$u<0!cH_jM;zi<(5^Kqql5)v*NwwsVWLKJfps}=hcwTgp^>x#RI zr;3+~zZI;F!sbgG51Y|80X88v(KZP-^K6#dth3o-v&*L1=CsWZHcxH-viZPB7)yp> zIx&5i5zHiJ8WX}qFzHMIvw|sOHZ!%%Dds!oKJy#%nt{v*TZt`gYiY~aDs6k&4ze9? zJJxo(ZIo@AZLaNn+ay;dZfhsdia*d3Hs1tL-Z7_SiMpowWPb?uN+ZQIKKn;E;W4 z?V@ldS{+4cY17C!HM^h-MK2mc7K-aKW*+aO>dfM9>`>P3fg`kdc=}+|R&DVpG3)3# zwY&e!jhhUbIeId&=EB@ls*~TYKX6c6w}0COXsMh58D`F+tOeN`-;{ueF)Egv^b7*1 zxbe%|J4dHYtk5o-yCf$|Nt>pcjLeK!D)z^}v~cqbc8`Sh`!nvsgHy*3@g~nN%3oNZ znVCH+c&KXntfLgvl>NO38R}@F8Fmv~3-{Nt58n-dZ|m5Tun}$&)9cDBDzi7Hr_agE z$XJ)TNlO!Oo-LG^?03B?zq;mPr(*G{abXs_&uz>;Jp^vErwLP+b4*@xWcDN#OAPxN%Ax4WE6ALv$;sWU-B3%G zW(98uP_bRQbYc6jU4QEiH8+k{uCCP5WfkS+*%iq3jLgikj0&wxx1cUJ9X_pv>+0n9 z8sX|D<59(&drKI_k;3h@3y-P(_`dwmA?>a`6$ef!A>O}fQmLjyqG-Chx#{e6<&nAj z61QviM^4^2P&IwVH}mw`##m93grjRvc-5I;%4)=^fcM zDrw2m46UpY9u==IDJxm4xmbR-@v7=o)i8H0Thj>ZC2%w=+dOOd_>iDvO`(`BGtMX* zr(z{Tyn6QgHV^{6_NBfyWQ1~%|D^7LQ#NkXYiNT@s^1)c=^}CFx5jI+57}-ed;7`a zU=;r&;!1dFB@``#X2o~V%vN~p9J1dLc4Ggv-z$cWCZhKB_S;*(M?Ib^S*zvUHMFW> zL)B4jj5xM1e_oC%H-Ke3NC@Na5rI~`cg@rlVnO}!y#>GkXk%<$& zQaYZUaQo*YSFistcBo5fnPZtMgW)Ht7>tQ~Xhp7F8jx9>Ku ztJ2a~T@x%k2y2fLEi>U#rg-JzRcn=J5}*^?Yv}md-U%qw*XPbU(obawEQp<Z_CBMQpFaXSH{3a*c=a)^B}*5VsB}K$fd$q13Ch&;{1jvM@)g;dd;>Xe-PW%+ ztC|jOK2{UAUB6tr=LiY$@)NfnDurp#{Eul+{Iao*RJ`h^ma)ghnF}))Osg72}C29kUCZtEGl47@t70=F|OB=sLYgm#p(?g}#m#vTHv8cMBRnlUK;?0o_+p6jPmFY0Q4!$@^!;JL}YpPe(b}A9mOkWlwoARg=;@%J= z>45yYg7g-mZheM)e-pgYq}U5BpcP|0o_Ax(FH$&i$pvWsTy>->BXX;DQy5b*ZPn-z zO4cVB%`2`qlvk%{6dT}4(={e)6RC)c^dqZc!ZyrQv3QrRZ2l7M5|-RFq$((6guPERm?>p_% zDkdoA^53tjFCV|KZA`DOiGBfE*{Y<}rHLw*W`Q$1i0ut~qm$qgbq;DCQn?L^z2hjw zB^dlWvodGdoHdkUua{c!?XPOZopsa(4ZX@3wIW*8;YvDN2x9XKdGfByIz*h2}u2mHWvF6<__kptOXLp~d*OV;D?Hl8# zo7E{?7o0L>Ui^ZT!pveR>~4C%G#~53s`D1kTR2}kBVkgMud4rqOMf(9yz^Kqn{Y$* z)8#8r1MMeX9HCucU~X(1>E@K^F^XFQo`re!b;_MfcP`(dQ9N6^bJ@>TGF(>;)m4x7VO0&#t)76@u$)=At!Ud;WwYdF#`Qk2;qy}CG^O!m#g?5bcB*c! zo|LK0ld#HVqk=~%r&WbsZQ8eE%LcTsm(3*Szh=H(kUu|Plb)TF5vel7R@7a8vif?V zRyJP6_FxH!!yzyVYM}}aht7{Xv;A0Uz*m9A+Q_+ezi!m-gQLhb$+0VSDpu8%m9X*= z$7Y?pd}P<<{o1AC(O=glRjVF6cmVstAuJ9pSr0aebzn!a;cOsOu@-RP<+F54FJ?|^ z;Ww#T@7ytlS;5lr<7Rbd?UbzV?|q;dw7&sK^s?}H#L`0pLTALI{8b8V?m~0uuv5Bx z`_?7pDpuS2fMG$vQ)sttS?TgM+B3V()m%_LzB-Xb$F{$hn^wj^K83o@RYT?CdehrF z?7-0{H{r;ePmdC&1qYd*E`5uNlCDY^$eP11SWk8sw^7*HtojOz{ot=z#5#q+^eV}~ zQ^V0ItX9I#yi;)K9d;nguw6#5=I)a;2AE#YI!R>Fs!1XB*Dux|y;xN_@9R?Sn!V)8 zxhbpSRp(>IOFRpvPaLKUT^C(x)NC?tn_IU~>MxN&#@1w<(Q1^??9)nUh1Nx&TJdH} zOAjV(PDWbV`pivR*OzbFoL!!#l{G`lTW}Oz2OI0)+B$m4`O@nB()vTI&plL{0%x?k zNmxa`J|$k0mJ*e#E0og3D>rUXtu6gJA5{iSY0<{wijtaTbsKkXm)7jteg2{HuW9E; z4w>rbHMSw>`}#d)yS}4RQjLjoPpje2%*E|N-t!B;S+r1_oD-KBp$d-Kcl2!4!6p>a z+G7nrK{F*Z3;i+Tm?lbmczo4J2PF#(BW6v|$hJT!rA;l`K;N@%giYeIk_}5sHK#Wo zJAPSpyM7$10Zuf+3z7{>%a*Rw94kL^@Vx4m17lgBWp_8ieG)i^#kb9z7CSdNPLq|B zm7bd*Efil!pLWnsHEdSc2<{CuLGynZ{4GrQ%zY3eB(d5JaEjJh=n*H?k8Jo7PtEk+R zQ-NmR^nziNGFT1UlMPj}U4KRC^6~2%@Czs%@I&w6lV*n`YZi*P!p?u8tvhy|lyz#| z#q=3>@7Ma(JNE3=mRB_FIIendW?~-}_X_gW$|}=a24v8+Sp5+w`3XuOLEVUlJy;jk zs$UP*o$dUv2h`kes$9KMlUGCLCPmHlQS}&f0ru4v?`M8kb@=yxR8YF3+vp;+v>F@s zA3YvXJ1tNjJ}tN|;)J$n7ZY#XxpQyjj@^4VC&$DXlVY{9dKj}G4y&V~hNL6av&Cb3 zpc}^6*W?WGb3G-4!*8<#*e>i)SGF7LPS5f})0IHy68nL}MuObb@BfsJsYk%Xii< zJFbH9zq4lSh(awp)q%BO<3b~rEKSnT(fM_zVRhJ{MtHlCfGhHuzaaPpC0I`uyWOoD z3kD<{>Zui)VhNp{zgA6?=$eMz^H9Uv+a*xhpFP0oe_1-|( z|Jk3=MtN)2TUIrCQj%V$DUTty>}cF`Q3dhco*t}dm^16g`e-NklkpN+q*{jEL*);; zQMMWzVcJH?+Y=E^b=q~Y<>962(xc*x>g@XbZJ{rNnw(d{IWX0JoS02u6G=rgH82^77nuSy^-EW@eV=Y|zTM zGhk~hh z)pY)4iZEqvbWU18_-rAK2=4t(`&Gw4iT`| zGA1rgH*1=5W>r#S#qQ;6%QW+LlHcTJFPx)FOfTDW@YsoRbcfv3*mzxeXH28>xJfB< zQZ=P9)&RDn&ir@xpgn;$JdowLx=OTyUW1 z@ku2-`PubPR%)EPGD8(^44<_G#cBJ&18Dix#%v3tTU>3Ah`FozBr*GCYbTQ4NF9@0 ze0u4{sXJB2w;iaxhA!F*{flM}RkB|nF&U>ySbug0s;=ZWnX#-nSuK7H%}E(t-ZFz( zIcIsMQ5lz)9T6S0ZFQoCF5BGU^8s`=9w`M>nB0oUVkyUQq7)P%~S6ugf{siuF^nV)+kn^HO`g)(_Zi3k(%yBHi`#Es%brSNKCU&TK3jsZ&3Z{Xqv#7 zl#!Cbx>Ye(tH@&Zt(cpGx>Z~X*hzD@h?W5odY*q03$k@|6%44twlu(z2Z^&Zw7dTF z_uFT@eb#A~W-QK1Q^qb%`zBfAl{wbeOGOW*qAB((`snQ=H>z(G7uhcuROHEulP;=2XReH*eqQ;p z0(4KcgWwj#fAwt~x>{QzQ5>Q}QXr+yAuCGD$~LPi%5u{qXU@$-sVd}#>gN7~jmx#s z;-vX=jPwm^i;5l`w#sm|8u|FA7*!_lO&xopMTRyK^jdtzL^Yv#mDe7H3ma*9%~8`g zM`>nkp1-q?YFhHXMo9ef{Ozua1q;?{%UhiodPhqAX)?zo9v*$Zn=y3OTH; zKTpz85M`}Jb!@RX9+r~uP+cn~W`E#5Co)np5AuYVUg}IXh!<5A9oVNd{Vti&TFT@U z?E~X(KwQo(s!Uj32WAp2>(@i-UbjJ40-=Mo7 zw4-Qkv3SV@@_@K-bJ5PNN_g%<)p!YQd!$7ZB34{yEj`!j|GAi@mX$TEu3lY>w)U!s zRWaO$YNm&E*kKq+9Bwh&Nr_9?-ejG4DV&5hIu-tC+Hnnyj!}DClRte_Sr@aNewC%B zCl3twkMS!kwqNmN$*q5s@UetGvFgOGy_)h3Th{DVZQGt-uu+Tb{kCchTpB4scal;v z1%^oI;}o2ePTxqs7}21iqr}mR(4ezb6Ja4*vExydkpu(i!&qq}bT~l3g*3Bn_0e75 zD)(k=o3mOInn%*xs%w>p5)PlH7z6B9C6RHwi+J9pJny=OHG*@i^{WhJGwB*`jT+Dz z%`#3_O+|@i%fY77dum-sNCI@r4ot231nrW5pX zh*R_jFfbo{0B`caA;mqK*}h@Z)*W*yQc|)q5^3`JephiN985miKM3uQt}Ee~rPZ2N zGj=IMZ``;^RkLphJ;YG}C0l*h0Z4(I^Y(pMS}-dF<7sFZLzk>aZ0E2s)a=T}d%Rt(8kBsv;$ zR%WW`ko*ItpbYvdR(XjyMq{=631~qhzEqTtocGca#XZ=E)5P|nfB*LH>r>ARKsWqb zv~xQ2tb_M1F3ym1YowCXjLvR)Hvb9oUyINR7`7O8WtHjBqKckEoq`y&q<5@S)18XN zX!m6qm9i>qPXi2Wpi!;yCWN&_#m<3(blMaFO$@zn!@6?qmG|l3*aA+;OS&L@D zI=>D^)*`R<1g$MZoGt=XDG z(ip%VVW$9g9$;4h_6!iW08Rj03UC>~hhTUwK>P%->j2w;5wieR4zPuQmRr17Z{)d;u{UCwiF??tpLu!~j6_2gE>}m;s3C z+<$CKOaw%rh?oS32^isz5o0kT7~pR){56KZ1o&S7e+BSo0RJ7}F97}rz@G!+Hoy}A zaUWoZapF0^j*76;1a?70+y&TG3~K?{4JmOCV0SR$XMo+KvF8@VF93rW)&#JBapHG? zy%*sk0yh&84*+h7;c_YQ5a23|_!Z!48t-jEJOcP240{K#LjY$1{tv)g0S*EFFCb`u zzXSN+-2b2mZw9yt!@uf>Cra>n0MDTC`4~P7Bg`-Y#s57*BLa$~B1&W->Mt5E zGKz{swWOAGBZreC$Vp@jnM$rCcae4EQSvJJ6ZtD?5>sMZvAuYac#XJ9d{BH^{9YoF zm`M~82Z^i1UlJ!-C)q7&kerwHlMa*yN<*Zj(%sUd(&N&T(x0Tin-ONVW{zfE&E}b{ zH9KH-#OyqUQC5_k>P+>fhEtQMC~6n=BRznwpf}ObJk)}+D6}ZGIAU?v;;jsqS<0+s zU1g!NGqO9D7M3oSo|e-r<1FV}R$Dn)4YKmJnr0PcwaBW-YJ=5os|Kr!)`Yd(+Qzz@ z^))TFBt+&b@vS|GWLWPF9^9JH>RWP&z2xlwQhYYN3El)W3c1y zE>>OKyHs}hsjGX}{aufBebMz*w?W;8bi3ZYXZPyvHQj&g{lxZJxo2w6^q!eL=k%=TS>5ww&nrD|^?cEj?bWN-fL=R$ z{nNX+_rG7petEi&vQO7O-TOHAaqTmzPeC73U%c<6zT5lm@7w6q+i8T8pVJg4ol~q+ zzSAbBLr#~R?l?Vmdgb(?Utqu4{i6Hb?)S3aKhBu5rE@1|H|OEb-yRackAai(aqqN@3z8iyW2julWsq_J#i=89X7HK8-w)|J#AisvkTpXN z4f$uNbf|i0zo8?C8iwW%T{pCG=#`=W3{wp2J8ayr z4PQRIcKCteKMjBXRo}1redYbtw66?bT^pes;Wc9Nh{zF{BNmM)8&NajzvmkZ>e{0?`ht1yw`f4@qXlE;nTxsh|f5mbf48eXMCReTKXz{hx#V?Hu_%jHI1?u z*%qgb)z#z7mZ#&diUs~qpysb?`HH`gw?1Hh4W6zHL zah&hC(c{*PD;;;uANP0ipXi_EUo~DfzW?}b=^qe?l;?7Cf zBx2I2NmnM_4ICc0KJb^oKPFF_ykYYDAX!jS(2k&=gWgTCn=)+5#3|8JN~cs$9WZtK z)EiTuO*KvPnU*}Qd|Lgqv(tW>_HNpT>2}j|rmvq4gJr??!Op=R!TV?QoslzR*^HVQ z4`=)_bI{BoGe^&?o7ptWdDhxlhi5&U^>TKf*`Bk<&7L+pZg#@#g4v5_Zws*wQG|RI zGACqB$f;0SXl&@3&^J1R?vCz{Fn!qduqWZ(;Q`?%BDzEjiI^X;G~x&SP<^OAPXD!j zfxbk)Q-3gWNaV1{u*eOOjggO|+@n@R{TSUZdWAu3=wc`~>@l>)C}X~eafxw@sfl%r zjgOrlTOIo_))dz%u6x}0xRkiExD#=g;$Fu~<7dWikG~%OGNF5dAz@iUL&EJu+r+7f z$CCOb1t!HLElBz;S(EIMJT*B#d1G>Y^7Z7GDR_!oiaw<@WbCv2$EIf)@=NzV zd^ms=6nUoE#Oow5$aPWROI|HjReL=vXu#l-hB{LL>Gf;8Ic3}&dZ7`g} zli6^xUW^bZQg4N`$#6uOO|m2+%_hS*1ol=({DOcmQWj8NYuZ;U|M}3b^@jRqhZTRr zl>?c-B!8?w`uz{eUne&?HE7&w^*b*q8>`MdI9r>RyHQhFLn>Y*Z;aS5xmfyVSQp9Q zyh#B=l|#;iyb9I)5YrGoMmcKA)S=U7Y}^{BNslBIe-`OxG`<6jugt*oI-5}D`-}L#Q36X~> zS!sUl*Xb=^?3eF8vf~g8Jfz4mowf}>5L*?!@6gGuKW~IUI$NC6BYkwt^l4|ldgOag zS|WkcGY3xHRQ^2axL2>B;X`Ir2G>l}ERrbdM}|)H@2hmYGYAsjUD5YjDn-+V7QkHDHg$&Ygeg9Pzg%U2a@8C%U-wOqii9wuN!%eeJa8xH#%CeE-{Wop*> z1IBVIz%d^{vy4p{2Qw-&d2RA_XrHCN#M&L+<_0Mex!f(6JR)Jc=aIz{#nwmAl9V-}1+};igS$}t zcbRrFY$2N;4)fW?4RA5cuVeFJp#+)F%3%t&4I&BD#vjKO*zZ+KWo+?gs?{w2iEq06 zPjxu(;mz;{nWsHxVYE9Cbi`Jv?0p7uU<-A5F$4#k0e+)QAZN)|m!o zV5`r-<%bCq4!cwAjn)xlEWE@9O4#Kvn<gRSSNZq)#~4lAghLKTxewk>Fnq@-L~) zzg9E&?g@739*WC`AN~2b{A9}hf#TwdeRr7n4i+<}V73^Ay|oWaKyf$qfr;c{Noz2> zgp@&`hA)}A*3xi^sg#{0Ks>K075TOa)-bKXa0xjJv9XD0id*}z322T@!LS%5nIW8! zEshOxXoZr@32wpk%?HnqDdJ!N^kNEkEjU$nr0IO8li%(+dQo|E=8Z18pt;F0nvKz9 z#n!sDHL9C6VdJN!hEDOJp=3QFt>(lZQp;fW z;;XaLP47?3FSR%-l2)h{HO^|;dNpJy#msYRMchD2v0)G;i=#09lQ^O?GLeE-`E|z4 zrgwFXYDH!X6T*yNJ*a%d2I*1>RMb6$A~;?dO|ipK-dD1AY??-Kh>e4tSPM9Kp=Ryc z1q;_{6`42Ee@}jtE=663pc%uuy24(tFLb#BU7-gY+V=I63-|StR;H`G%f$!oX(akm zGAQAHyHa*Uam!t;IK=(T(k2=2E`KPEnieaX`Bo&9t%G`<@^%5GEG`j!Jd)w2Fn z$e(JM)kyT9Wb^-_u&VR$)dgY##pNtfO-pnQ_5`JhQdaboVrOuhdw~fMkd0v2>u7h+ z5X0--?rt9p?GF;mQO1gd@^{g!JQ9A@Qj1o&>CIuZ@o$=@D?-sKpT@8{Q!p7SW_7K> z@gSojRgcG&!ghInI=# zshe81>@@`wGvs$0;iE=H(_JWH6gg2vx;W7ByAFKI z$_55R_{VAs;rBDdjjbNchLX~fwVJz|uQuLLLF{~Q7H6%;xv=<1|HkjrwTspktzDy( z{Yqi=jbEx|i+Fv1A>}6bmSBcGlS?UbP9mEMC|MxIeaCt3DB*y@x4&`^C46ECZE9JY z?ULU%{`_R;#&5n}r&(V^uFOeZ8K=@mNb@K7f6AKOc0g%lG00(Mm^?rldv z7qu)OrL3R>NGryFHcKp2%Os<&vn;w{}lITB5M~tNaFB&|0Y85q!NBoBz;RFjdME@s8-F|-r1W@YJe!=;7d+`63l%p1C%hu#p+vgeebNp33J#L}m6uMHxBf52z5_0*qwAY> z-Cev%Hj$fa+0ET+?7d;vDE8hvs31)g5Tq^AT$L(CK#`6hprF)U`T}CFi5;<<#Fk=> z@!Wj}pL{cS0X0wZzTZ!T-D!8`oS8G{%>2)}X%tPO2xzj ziwifXiXFB(jlGK|LS1AWfo{D7a_NB6QU>;l|JnoGA{apgx zc6fFTmu}0|WceRKUqMipRZ^IQE=dr(0S14E2IJpozEr+wyq51?3O-l|a{bF>u*QVo zj||KUtQ7}H25Q`=O;>vP?%wOmZQCH(k(M2NNcp<#J}6STTyU4bH>IeHH2#F-r@cq+ z-%)0!hlZqa`%1ROspH(DyCSjWAVdXlAlOFs7LUzSP0C%Ec|mdFSmEh9t)Jfkm3$F=qlMGzY^~Y3 zD#)zDb0(b6WUOucwzzTgF1t8inj`Ua@msrEu`bmr%Uv~RPM*t!?d*a%aEX7O(bl(l`?4UQ6`j&6A*s=h0J2wOf_mdg!aYDKWC>}r`9bgLM{l&kNj zlo@PgyS-gwES1Q1F_QI+;t&%JqIpl1d(b7R95rCYWQM2+W{R<3n9S7cbhWj1y49Ap zc9v1xYMs4a)oK+Sz*fyk^u>O{sg?vkV*(6{6;h41kDt-@IkTPEKSPY9f7(KNC`Yp} z1NhaN$0DHbLM-{gd72v({MZRAqgE`|K|lH^=MVk21$n*#mi=F5q+N>{Ig0=9Lh!us zqqK!rlufOm&WQxnd6j@VH&32PielXxZEU3Yt=24G11eDgn2QSx(-s-OK?nR5Yz@dNe{Vza1^Mtvba+0M$bkDpQYAxN4+)&ILeFHwXW`lX2utKj z+z8gPv9ZAELeyB#F8Bd!;;)^5T7E`#@h1uG;z`j3Ai>)34UKNI4r+9eq;t~|3U^F52zk9=%bC79$n<8u=hA_zLxeRfiA8MCWp} zPj*apbY_$(G)n0r^tzJSv1MJzIwhLc1JC+-F!dKu!pxJ!!8`Ifxi7L} zaGP2?Oo=}4Jph@beoy;>+0A=pPmW+6Yk1K$n z9NG+a417_K+Vw^qr;Y40z~Tu|&#K{b_=|Y*chjg~Nf3D-}!a ztR_0U>`ie|1=&gb^GkM?Dqmha|LBUn)~15nP~>r-T%kRZr_WH)0ee%D@=Fx&CLNuy z+BV2_qsrF7eF2gxnjK{Fe5@%w*NOOq3bBr77(3n-Iak0QnS3$T!1phKHHSseu~=N- z%DOy7A;l2#^so$mL^+HHL~vtG{1{{It3FVi?{gj zvLe``i&W>R&7fTwzqXP-1Op(0p^p$O3+-9S=A(Ru-mr_s8Q0(ViL@PsZb|5eBqXQ^_7CBl6VXA??xd zq5H_^hvYMACnLpswnqb_r0@j{Oi0}G$}fenrD7O}ZOWO; zmrt2jv-H~8v-(@-)}NZlg>Pam>|e2ArIWqY8mH3Q@|^k;oIIA;EF!@k6yGrnV&4Cu zheOe_B}J!Qeo%t+&j&CSx{rE=z8JOCe(^?Z1!hZ|JGW2Yy+1Zpbv^t0>K~Nv&J92& zNHJq{pUHD8u6lD}NfD{Z3W0(h3hU}F9D#2N&0urImP$BNM*B2e;(udkwM9ZwetL2keOjg=Eq$UJ${%y`5HK$K;0g zY4)+~nnR+ZqDzM_964PihVS@jX20~nzMa0ixmfSr0kI*bN2FnKVF{r*p;h$45uT6jQ*N-ilGG+OqX;IwdWv6ajJAV2aC$A-Ej|3f}10A01 zNqDkviC|%c`h=Q@!l$)j*qg@;p8Oc7r?nu5FV5@SH|KDN9TTjlDbQEbhxJk+B_GT{ z_e*E2Dpws@+%+OXQnO}V!Wv~a)NU{ujru+A4`00_IOF-Z{4ctl;5MJNKCxK;uAz&6 zA(Ah!&tH3J-GQ#&8+7V2uYAw0=*xw|nW(W-q-9?ei17b>SMY@ZP@{nSe58gz{4LN0 ze?kEWr%U9sDd?1cE7+oj?nlhDy5GupGadZ^eldK*ph?&&QK5;*0`Om$2;TvN zRSOH4i11%Dfs1fvpbxZ1pQE8zuD3^Dpx#(&_rsRyXD|dtKzl5z`*NT}a)y4nFK~Uz za%G?4Q;?+h592{rRui9H#BI-$_ zOA56Mq^b5UX=}Hymcz&jb3(j%z@z}iC=iot{b2#H*z6w9ArXsA| z4CWNT=mPo$KN&R41Ei7ENl{o23R&^<-cspV6#Xuf_4C`i2kS*IVzC^uEP(+=Y#!eD zA*F);ozFbS_}VYswpfW~^#BUy!U}9rQ84>t?KZz6j=oDyB7fiKW0^5hi8dkz4Mb~@ zJ9O?2ef&9_seRrDtUYrh9wi zb>f}8HS6yUqJwFef_V(SjK{EggQRAN6rf)EQ|Dd%sxw>Ur5n8u-`DA`2$3f)l&NUw8`X(CTGeGtc|=wB8hwiaciq#>56VF?K703 z>wB>a`KiQ27(u~sEzYUOIYGu8#PCzGwJ?JE>6V$cE){G0etNoALk>DMXlV*f2GkRwJg;BGE%nd2U=D#mRe< zRXa$_k1iwfd_kF*?|z!u=HcMK^ketpua6Z61Z4~E#lBV_+>5*3=?9;0y5F=_AW4;I3(f+KqRdyR1J zTBsohukVCvhWTwCV*V%$;-BmJowO$ z+X9{b^^mqN1p|10Vm$h?m(;77?eIC)4Od;T7K?t2Pn zVrn+&GjZP&^>j5Z6Nt;~=hq8t(!<0~c>c@(-t=ky(ju0e-x9L79pQotrYI&7$-vEu zK!jU0W<7jvq{u7w3a%lX^MV(j&OF}0PN$w^8Ugs^qNobX&n9TU>w4&YRdiI*jOuB1 z-*tt3&EJHKSifetf7dsPfH;ITMQ1^oZe!PV+}gM z4%|@!>f`{O&{M1`L8nsG2@+)TUL$0a|@xcPah_7Mk*b2%rJH+I$A&Q4fq2K1ipkn!IVyt(M2G!lF=1Ng6ti@9t{ej zXrGV4=SyW)&7v0YIbE@x`sm)_pMCc|Wyr*8{t#c)UR%klv|HDJQ^3~0IrF#NR~YX` zgg)UGf9GvF{hKe#SXfhv)=2SwA`w8ml1UCXn@{MWTJ{efG1vh4>HurJS|LFrn!TKj z*CmjkHoI8iPVQmoMq&L{2+Q}jBg}ZhW(KALN1+{>GVm{j?po0c+&~FGpMf5f)mDl5 zIQzS(`wWN6=u4U99@{Jrl~;P6rbwBW6&s(*g%nG|wrvgfP_FVVJeTB zFIwcon-xKr&I}Ieqp=2|Lk_u$hZ@l*Au8yyr0H?k`7|Pe#*G%0~AvPQF)DwnMl~ysL*( zdb;W^Mf<)VMcgvrRI?RBSFK~^q0o;qd!UDa8u~6jgj{VgTErZbJ(RB0uWy@BotE=p^sKo1Yj(a~>_g~GSZ zZzX`-gW<*7kJ_LnkMq}qm!7_PhNYiAz>+e(L_$AJV}*lTlygW%-+XrP&MRGUpns-H z4$jCy3rjD5QuQ|tuKR}uSAMD?wg1rI>Ysn=#2RPc<;bUgu0q?tX+Cb;rG)^-W?#Th zcvILDurbL=Y3WEjaBQqKv*#-U|L%c9E&y>`_n#EpgLc}SkR55N_k;C@xw4ea*8A2f z7ufi@Idj%_K8q$Pe2{;pjDB%Ep+4`3DkGiv5oG5CYxZ-W9#_v5MkyqGG7eiZj>Dgh zgB)(-B}^*7S1b%9KA?Z%jmq$kzQ1SR^URTzEdA~PUqGP0Uz|fN1fYdq$qyyqt~0x; zU#F*e-th+}z+;{F5+(h1$%_5u_MB6R$BCVdrf|GOiuJ-%(zwXjctu)NT2zV(PL!Z} z>AoumPnVXM78Y0SKc%cH5Aw_9@Z3rETA#5zwCq8*e(t@r-nr->$8` zVUeL>3i|D0$FtHsqw{7}tub9wb#BX5<@dFjS^325Njvo8p^W=xu%+lxF?|P)8D=uo zh50(2^N}^HT{hX<9d@ndb{%3od@~LlNX`Ha(#Oi5?>H_##l?l}4&I@VZ()%O7IpK=34Uf~HC+PUop>J`8GRWI zoxX1abh{vlZk{KVBh$z--W=~7m+{Wg!;eDjO$y5N{(9OgRmWbAVP8F^rhtM?g?22z zCYVB>LqC=rl~it_)@ihGMF-QgqGR=N6xScRo<)7}_EKFYN`q!G|3wFd?@>!Xf-|Yqy_sP87P_*F_D~?&d~)4X#iUtQqgC>C(3`E(LxWy?e?0|0A%*Z= zA<+0YIl~{)f&$~8GE=9{L*1e{q>TEW9L-;U8qGb4D!g$%0O{;UtcY`majFU7F0 zpHfbkjYWiwZo&9-KbEI3nYU0*ZCt!)XbAn-5efs_KrMtF8zLJfKQ1me3X6$?H>AMw`-&cO1saz6)MrHCHja z!TGmMs%suvkJXB$3!UaztxVqUp;B*<&^6viP6g_f6J>IzdM#Yiitg)yDHijcLCR=+ zoPt&;$IU+e>e>14pHvm@49en?OC$-tc1i1$7dFh1^$N0>M0@}x*Jixku9{waRi=;D zrKapPl{;b9^(CTfkj_z0KNRHgM zSFtxLF*;ENM@rB^Dg8E9yT3R$$Fx*elTxERTDUDBm!p5jkEh=zZ*fjtq?|X$d(|q= z)x~T5_BE#S98VD!pTKR3kf@ze+f+*&&q?=KWvx5xYPzQ8yzgn{+4_v+Oiu2E+G}}< za4jwPO10cfcZFK!rPK?plMK+fO`FkrGwmeVo=R?}-;kT>6z%{l6>g?GOXJARbOE`U zP9rzdi6xS_Z9aS4vF#PLdSD=;f|qycAxtfpRthdUPdo(&R(n>_P5hcpWit9YIu$Lg z%*(Dmp-75IiNK<|SE-bKh6YK)4us}pD<12P-8SCi(@m+R68c%9&!)uH$^nz7A&FH^3UxF6T2*z!T=N|L5dA9c&>1fFQrS+7r0%#XlIb~ zVbN&{Kb}hf&Q$+ef(jD zM2@!eb8;zu&J;HPqa)SX6!PWk3c>O*%P(L+{0oc3vYix4A<+lZS;^@0eHmd&H`{OkglrG{x01aV}JA3bB$`h^=`Q1lx$OTTRi8}oae5H{vbXmfiXTrLV8k+3n& zAHv3zw}y=g=4WgFEM)oF{}lq{?7xKo2{^&R{r@EdNb`Jt7JSX}vqG`H$G3k@@ura! zise@o2CL!TaTZITk^DEzIoa90N2;n64bJ%sb5zR@c&8pwVtb=BCunCPmsAk2 z&m+Mps_U6e^JU9+ZgjL#tS)vt=b@_Fn&ac7aCC8BtDjBWyRh?>WuU^Gzswva^w|L=G$X?a&EPfyQJ;+k#G>9+@ zZFx>1SHdhb-REp!vJafY?5cy2$da%t;Ujisd8f6q>(1ZUb$Zi+7Iv*Fc5h+V2E_(} zUH6<__Yrp01#Xhi_l)dXK-e|l5`~6gZpH05+$A{BYbW7W`b+jG;T1NeFstA&VHN%? zdQ>W|LJovmkeo|FGT|2Ati!wWt1{XKx3t8Gki-p2Fc}= zp&#KG{~oW-ZwbdBxd2wEVPwnd>__4`eX=lXTNkF-xG?`Uo>MR+6JA5|YRni{sT z!XsGroPt$^N03(t$1#82!boslMWIl*a*2Yyf1mPGU$VRdAtTrrr~FJpN3g+D9&88^ zLvyK6LP9K=-?U8mPJ-jVZHwdo8!Y&eBM(!Z{$bh+m!&8(6wmq}|7+GqLN6yg@vF@Q zw`e*E!aC8uk60OPQ!t%u{S8;l)73VCJ6Xwsi z7=L0})9qs?kJfW*^bPZGD0l0a**3>@He9*3{`dvuajosrRkqg4ID|SawJ$q%w5;mH z#fl|%6`Za8s^#;P@+I!&29t784bO@B1#pW&)8H)ueNRJg0sog&NP&Sr7}O0_golKO zL)$GV*;jEOSCyQY7MrTvn-CGP2TyqmY%Tn!45G_Khic*XO7VTe z*GyJ^<^J!LKSR4=$T2X|e^(&Z!79Dx){jsk)85^X0<}9c7&_vCeFHnw8@CZi7Bm2xdH7GKvuS&f*#!T-sWHD9!S z_I_cFVIhaK2^*gH=JRtrO4|2(QyAz@9@B`yQJYM!I>dxNWp*B1xc+^ zHeNdnBb#SSbW-{JVLC%!omuRKx%|#%?{oBJK71IXlhF^Gr^ZMj74AsrvuHQ|6T{QG z=Ea+2un#?z&<{}#dMt5~$pa#F{DpeFA*Sl-5$N&gLB&Z*K2q zNnB1*OqDVO^>9Vjc7sf-q$T$Xz#|U6F@>e*oOHxq=eTXE8fkD=aNbV}I4+ZqpmOtp z%0KYJOj}n~3Zmi^JzbdzWrkDCw|yn0Qc%5+WHl!mBNkh)Fh(q{*jMq-5sPmgt0+03 zik8yeneQmNJo7^o;Bm^;@C{a39(IQ$rnbDauHHera+!nODl4sh1DD_4MF>20@JPV{ zkB!bk;IZ#mZG{M%0^|yP8-H*txoAJFZM{_A#s_PuQnb1RX82^cMEJyH<>yw>6>!~^ z#S{&HKT1+7y$>1*?3dn0eiD~W>({MTSQ(=xB?(cJf?J{{r5)zz+ZFY78L6thF_Pv^ zkjLBybxL_cae}t1G4w~;M&c@yu!zYV$hP|R6oRP5wa10H_SCwwu*5KO0Yxsh=ME-UTMy}U-&lO7g>WXWua33z*sovGok8rK)s1yHL z>vihy#_QDUAFflUQ4P05clFmA$?dy2*7$H{fE|8c4aP4Y**rVT$ptJ&U4$`*6?yv>}#l@ufNeA}b1S z1+D0Uixr}sMaKjf0Sl_J#>DHljK~7-2106*a$DPiHTdSamO_t^btx z#GA}Fo~5gXVts=T!(C1x-66My>rS)u=Ft?LF@}Pph6_ypk0Ly$uzC=YLMw0~M_g#% z7+e7o3`-VJqyf?28*nw8!EHYwU2Y8tW_GU{)>nX{nqH~FC9O2L=mrfgI}bSsqe#Sa z$b~AeAV3X85!@v(4P**a#}fR;VNC8;Pq*DLYZoqgOxu=%WYASheFV%sLx3Fzf5096 z0L^vuq{w|A1%8ID<}C4DD-sxCbYFw%yk~2w=tC;Yw_8B1M^=Qb?so)Nq;D&J)zjMs zQ8$_^g?=A3rvwOy;)QCJ&0vtGwANe432HC+~ys*~FfrZdBkAT`7W8f+4vAeZ~^3 z$?1;)DBnTfUDPQ`SSH4#D|n&YMk`C8kIv9lm{wm^ffe2diTNHJA&90m6>{_Gg z;e7#jr7RC5hcIoQ>0ar6(bErbhvvglW|^bC6-WQIw$!n~h}U{hOYmCZZp`6K4`-a? z;^X0J#A`h`BH*=7QNnV)tG_IOh=itImm6_IFWbb)gIM+!MId8>A0d<*E|?1mqLzeJ z!tA|89law0-Hqora8f73rhe2%m2Mj@2tXV`3EhVP!1E;SZt^v zNoxesk7= zjs&1?$0wMxBdDvo8)~d#93a5_?RvVNU}1s?7N(wHVUB8$J3rczV0NDC{s!i8;7#+W z!N{r<`s;T3K!Oei>qyYIRaMb?`d&9SZmxu`_u6Dnl^vE)eV zP;=^Nc^VfVowFxp&$f~-LGF%$)0KUN;IHsb8nq{KPm<#DX6XBAu-N2;sHjBME}4_} z`gLm*Rs~!1IoWZEX)096+meW}zr0mKheN$*?c(GS)N8`UGX3#lFfT6C(=RNDYvp~5 zgLp1C^k7jA-!YnspkRge4~l*v6w;wGuwgB`^8 zW7dYv*)mJvvfq9GHkB?>;*;!uAX`zP%_xskk*e}Lq-w95e`4){)Vyb`iF$!f2-TVC zpHWJlE$?9a+lyB z!dSXF9=_^D;7No4qLAWx{h4C%Qg(!4Of=<70i!d*lg5*9cj$?*m%CB$<$bg4s&H~c z{PqohhiSbPZoMVu=r_4N2^>O7|BqMOCLbpyC@5hJA%zY4<9Lr>%C2Z}c6rf?6T1&0 zsx=nz9Z=b8&3^h2ix|E!JYt6Cv2@e9do2Cz{P$R0{gEZOofzUC`l^Bs`rzbR*t|~I zH0sT%7I)WLEH1DbdAY^qm40;_x|_4;u8?_k4W zGkV*?V(kZq+xu&9SBb+doP(RgjPRGopu&8*DWp^WE| zP{wmwLm6v~k0OO3nxN5;_4{c|Yc08^MUygm{|>LXr>E6Iqi#Z@T=QjtjCecrWQ`I) zf0jsq^8z}o19)Qz;K^QwuiGGFp|CxY^<`+Wgn0b{`5iO^5Xcx#o{^A;z1l% zL3`oSE|rvLb2&qM;C)_ePW|6twfVSXnC@uGL|mAN)c>upi9v!Hh^AmA!%D}G)tQ~D zc~+sTp@aUh_!X4XHcx#uW&98=Y*&k3=;8AU@eBSUBjABfd;|q57N9^WtxzCO2KvS#rxM%o@ z+elaE^P}xaKLjz-q|bxSY_6UzAo-g~ekyMz$dmFm;AxTO1Msw(00ISn?y69VZtBm% zE3hYgttM#0PcjaGJ?3Gx05pUhjlVY1wK(T4&ar6$1^#zq6T#kyFC^g45BNe3KVxVT z^1_iXm# z&?QLv2YYuiYmj5hUnV~hspFfDi4OCH;=`Tz!U8FZFfinFYu9^5QX9{}1b$(Le*dwA zqOLL0B-ywwU}7&FqakH`tZ>ku}ENVWIh}Q zz(5#&8-~Ip5}tlE>TZk=V$Pw#@C#!H=WtIyggUaptQM^TzTDYF9?SDmLH z{#?o6J+K;g7X?9$B!>S?*F0yF3_{Uqau~T6os_un0lMb#vX7#nWZ>~nP>W!%UYuy? z%(!72!{aAjU%cU=S!o@p^`Nf9TjPIn8DQh!+m~RYfOSaq7OCP?bZxDbjJ|6rLv$z_ z&;NhA#2l znRIqT4Cg*q7;(?^!q zVg0|qUms?f63Z5cL)D>ByZ!RE{n;%~9GOA%B z&@Hcb84TlK+-)?LyxzqEeLiAY>+4;7TQ3#gE6EZ}^t*ExXp5 zhG9K62CGIO!89sj>8hS9UcBPuVQ*O-JS5JhX1Ddw{#}heNl(AWhA(5SJ?eH-`QqIV zSe5u<(wXro+-@2DS9wOm(MO866V8uaYPZ$JS>?3RVG&X&nq6g6W9EJoOP_v!L&nqX zp}+p8=PLTIOGj6ZnQA>_NEjCq5*ebjlO-fXCMfCm?;>t3LG2X-r_CNVYSD=@ZV0MnStV*zo=G`R~y8rRC)@=Tze^ zN>*uIvI-RW1qZ)BdBWZAfT|C&Wg3^1%pZq)GJeX?QG~0Z%BMi~6|Qth@$7>gkJc7pa)cgGX*0 zRm6tv4vkV-$F7gHN--UoJFgPV6nG2x0%pRDUsXFxC1|LWu64AD-0jSTI7#S>I||Dq zE0sTnOOZvlerP)CsX$*}nf1GyN*h$Uvov&*40 z1kz;}=3TPf*Hzv#lX#|!68K?a-n3J_6fNL`B+zr2<4>cMJ9qAi2oo`epX-Rvc)l>P|4pTijVMv)ki6tP!jEsY9{^xvvL9Z);8$kqZ+O8@e}img?s z9f=}@R0%$Oe;q_>@vI2b{{UQ4E&Udr@iQ5x0bM|gjRY`+|<^GclhPDUu$LDT==+uC2 zsN>v0sNIyg`m1VHc+#$xrTfB5nRe0dvY{%m)1wvI#6=5fq`iI3s)H^;GY*8$}9=reQl<%Ge5 z$=boT(qJ7{iE;O9jxf7|gLmyzx^7NwB{tNZ605@#K?_}n=3>=G83N#tM zm;%yZ6wg# zABJP{OdE}4fmqm4Xr7N@vRahR_Y>!m2{jHi;ho@lng1WKF{3oCB&86~KNy7?D^t)c zc!{}jQ(`F{gT{KUQ9A@Ubq$lEZ=qBozwnkVdtUfe1IDsrPb+nDG0`-=m znZGZCFR5jr8nV}ix6`Tjliem%k9V8SyfZ^LC3!i-+bhwq;dqbw z3Yp!U^2&|N-&ww+EF{8HJ;UFtWP2B^h2N-AB!tHVN2zS$Ty|R~oA%CIdJ0SwU~>H> zd|s9ltjSTy$yRm;n^nf$>@JjQu&i#v!}_qL-Njp4E!ooU;w`P#xTRrnTZ?N65|@Wm z!#HNK16A-ROTR^fn#VFUKVD;n#qZl+s3J)Y7QaVqu3+)oDhTfgCn+!BoQ6dasFb1a zV|n;uH+z*OUBS}J7nB-y7Vd>0z^amP&YN3i{*77s+(tSmi$C*`5>qyRj8H5IZ_Bl9 zesoZ+VF$mTzLUjM4ma8|>)?=vEkc&tSuzuGi;eo|#@`wXiO`my6I^38H9k90VcD1zT_*Ht7M(|ErL%M!gGp1l` z(Vjg~(R;{iW!4L?mGR{7Gqk(L2lbX5l2$`+3GJXk{ZR+zKvLR%j&{~$2BiA>`1`3< zI76N6m#L!d8^EzswvfH40cWe#LbiPa&fYJqtB*U;{7W)IzTAp{#!uY)N4dBr7yv7Ec-SWKiEzfHf!}DK7XC8{Lp)Z)^ zLt2m~U6~)+C3LDfAhWot&PT>7S zo5nOBb!(a&lvHdZC>rTiI{p@uow^SjCY^Fp_ObMs@gQU9q~Q)!v6LP|UaX4C?rVgO zxNLQ6*)=U?(R`sWd|@nY9?0?~z=~3#UYu$e%fL6(*-rSE+@I?CJ2M7JBxO=CCD$AN z6k7f}1094Lk1-@gFuDWavN*tSfq_m!*?u_VS|{i%lFa}EASmRG9Z-=I8O?zZj_cX0i_W%Cr@ZJoVooyvKwm50r?giT%Q z_MXZqKWSQeH0RDE#aYb{j>lBT99JHms$9C<({lqC0YMO>lgd%wYpu@kmxXu#$g#>Q zqf3Z4iaDFEDT6vK94>QFo0ZhlO?otA_+`k3b{3x{Ozj@pLJ>)3p zpR=%8X9gXsAWRPxwRAmnbY)S#47HCy<_i|70s>wAJVW<7cFBca*fLc>0N{;2==~Qm zx<2BdF6^lC$Ge#gb=={i{Z;1_&<}li0(DVaAETmk3ZgTiJBvOaune_#@`&2)jeCAM zR2$@zTj--Yz0st%5vk04HitAvy_#q&&Pumze0xyy#-(pU>AL8It!~joLXu2lf{{ zE6jB;6VHlSdMMM2x06}11kVcIM0T+BLUygP@^H|WZ0_LZeGZEhC`JznvLCh{bu3op zx;dsTRW4q*#nTS+e=CGy{##=$@m48ZP}hURkA)S`)0~~9Df9C&OjMsJHiN)JbX6%! z`-a#_=&C5{5-5V%i^jmNf0-m}OltlzNzs@HZ=VHASv>j<&+B;jP6AfgY<(|BV312c zidMS;Gs?BBm}-EpsdI|Ej>ncARvolnl(a&JGmfv;e~)DQ zAObFv_vQtni;@j+aV@&&Bt_fcqC`GIqlMF@a7b$gzX)Da*ZAL=oML@ey^?-)>x9ji z3FD^s=C(MH7aqR^kt6CbYSAntU9}?ZfE~BhQQ}&AV%rHNR`^as*H^PH^xkWHm1g?+ z%l8!TCN}h4uxhLGT9y1sW{*upqE-I}fE~ox=Vz_Qt#LSnWPN8VvB;=()uFzu|uscpjk*f34JacW!=V0j7XJt z`ZysXJ^czVFd6-fw*;1=U#&36$>MrP7T19cAJ|pKcU6m;^u*V&3DeVGhNi<;-dE0^ zP0O!VMWbrHVT={}RqAfHNWD~vL@Up}=D-J2Gl?wado{3|{D?9844n<5UQw?ooOh7) zp*1hw*bV+3>Bd{bH>4Y6jgYcZd1;IM9fLKlTDn%)sHV#303u&&iR{xW@88KZE_$PI z{n~Q_5w3aBIm*}MJxl2GVat%z1+QvQ7=0kMp(L>r?)f_K#sO6UU$kU|JJAQR|{#vyZT{hA`{Z5(PZrHkQ=jPLTk zD}(xuBS+U9T?xal!B8-V;g`wjwTdoA;eOxwh8(e+XE>VoQF#BJ#Mezj)Es zUasE-`|kAH;cp7>;We|%*E!NjiP}evJN``Z?#JTas|rIy(^UT*BYL$)%MaB-h+0&B z3@#GKR)YiM9JFDl)6RbCSuX1)n%d3u8{JoddTG&2LeuY`!!R&6Z$jc(Qyj)Qt0JVa zr&Dhnsn?!An|D7YKTemBwbwMfc`nn-7MUO^5?O)bNpXBh>JgPbyQ=WK668f#{&Di} zLdybtz+Vef%FLQ7A*j~9miBAvMAt-QSBFO0)}BhL)SXhiL7%0L zUuPK>f-Uk5Omx=%m}2E0^&X36j`p6(jg#)OXPTsR&ErQwqeh~3nz^ptQPHm0YMz7l z=(%NhJ&MyQJwF#b%VhEukvhJo&TOv`cJwckSsIfHSlUG3D>1MCAV)lR0>()5C4ZAyvhFU55S?km%fPZjv2 zNt=$T2NrY54#~FZ&Zc^)Z(%^KfBB}L)|8Bn2OIF}vPg=SA~(raa9fAmwo1`5aFfVU zf4m{tXkj+qkc#SE8|Y^sg8(L1+VoI8cHz?X->qMtw0{G))j^^zsSB)AzIj;n>y@Ro z6XLiiyziXccf8`1;_-yS*;Z?V+}EqpHcGMz%9BczC#qalEStZ69OosK`$ish@!==e zn>E!yK@IJ@2P=#ZsJ7(0g&RSF^U^C}NX7md+C_s46lfk$w3{X!RxnF;=PiAxyjrWh zv757z(%u@I5bq7El=Nnem1jwL7$@&b4$F!$$%0t<+%RpR4?ho!GZQ_mBU_XS;m{(o zM|~ACcA1kZXs2IDV8m|wE{D_hBxZ1zwMoB1Zw2&(b$Fv{o~P%%Wb%s0bGAPGqz1Dx zK8|)T>!g>a!0wncyU#`)@48!>WSu=N&H4?>>{2AfT5(R^wf#r;9_|_=jajgJSO z6xT&B-N1WEmPiMqK)eHaFWopa$iZ}%R8#12F+hh^>myh>kbC2P2kF385dL|>e8Y-; z9ty&JutK&d4{T+hL=xWu9VuKi+c-7nL3T@b=TNO-)zNqY5+A1*C*V=r!BA3Q9t_3$ z)!(9WR};&Aaj`#<)po^^>P$846pqLjRKk2cz2_kuGFUQn?nC4*L&_a}N23u6)c5I7 z=)O~h7FEhfiN!Kd?tT6c%oWgQ=u^~vj|$vm^tp%D?f(uKEtQOk-o7L>}jg_df3AX^Izo>#;4*i4~o z69oeI!uw?NTr6^crmkF1sIK91vQrAG6d*^E;=!ApcZGRgX0w&|A9)NMI>v3JvsZMC znv>UsmTvROg1!_4>Mz#N`=Hv>ZTM7J7KMrRBr8 z<*!luBi*++?F#cDJ#2d8-EUAY4-4GGXxzgA+sj~;7Uq?S;6HltOHebAB1Ij-rc6Lm z!dJvnsHl!o|#mkt){G??_&zt+HcJ?)lGRfE^BWbf<|duIs9l<>uachC>|jr$#a zhT4xEj1=3s0c6W`kwIPaYNpqUcdyBQDLMK2#hdzWeehP<*9uYHumXmcm9zH$arfSV zO&m|y@b1ZyY@LyfWjRJdlIgt@Na(%y-h0Owf{jhbkWfPp#dOmNU~r)rn-(AhNazFz zA%uhyLI@#*urg<&_t`yJ$i^fjzxR9p_;lL2w!61GJM+x!-t8Uhlt@z#vKcT_!OoH9 zMg6)h=xJ@$aq8$nj)>?n!+TrmpXz`9Lv9vlO_(-mYL@}iTSj)87Cm*`)Cs;vbc>dL zvU1VN^+)0^?Az|Ua^2QXlC3`|!_#%$*h!?FYhpZ*FI8(Qat30q6}@VN+7j zyYRQUjTe73!rOk8SD)c1?P*l>Je}`5dzhEU^w`kCs+2AP^IJ>_{Z7%bQkRd!FJI5! zgd01$|G3sxMN{hryj%ywU)i90^vRhYS&;Sk?y-|MIsV}z108I+zSFCZjdh)oGze~D zmPYv=U|rI=xUOTqZm{mHyXC0|xMc6xZ(%`RlD)%v<*`Syx$dzZT>037J)@IYeWClaghKBYsxp#)g?s^e zfeVoDoUKVS_ggPqUb>$v&8nRTEX+^Q@2U_nSakcFbkoB8x@{jTw_kJFdD^^h z;fCFZt?3&E^Hn{q6(mA|iis#CdVY@|1MjaQ-^}JKNs1nVv0$_t6me zegoSH2IEupLog)`#xsT=43ojV76#K5*6kPbCleQrTV^n&*0-6i|7bH^Sz%aXH=ePb zFdW`zI_R9>Ja1kyaZ$|pvIf({Mh0V>&r-g8U@$$u&mS{6m7+I2?&>^cHa)MSyfc)& zQ*4fY``AHS+FQ%kYp7_7oo#&Q+}`bpYrnRc9zVDB4DW2MJ@Cw>?+$!^<#@`VKFb~R zKAbyws>RrbRYaCI+3y)e&8A20oM!8{j~le5owZz6PG^zRI^=ZoxvfWdm#myFAKx>m z&oak+HK!z{(v2tXxl)uZy2j^G85O5_%=od<(W}PAZ(O;CfA2n;&%H{IVfhm&`#uek z3OXAvvN5A!&3fzlxU;sJwvS_&ZHsuG;->mM#drL9ibvOMN~km0Tt*?#m3*) zy3}C$WrV@>(?&y*Qt_KCe(-1Q*(X;yOY-wrQGX5Ok6rO1r|wOD9K>2Dn67#~JaYe` z?K@>msOgpx<6OSh(B9f5X3K_;94z>bxfY){_v|q*>?V=4WrFFEDC`Urwukq`w3R95 zTP1AB;y3d%o~qVkttqonC7xgB%Qle#E3=#Dz~}+@+g@M2PDvroDdx@l_AX7eBo5!o zKR_KZk$(?-P2B3W@z(fNlVXMsnmWF(!}M3hRpxGscJnW+C#Jf;UOhe%*NEA&ak@iX z=7xByY@=P_yI8rMrk`WKFo2zE3BRjl6Q8~wYBSx7Rk}J4o;Dyt?7Fqn)>!wg-g($D zOgDUX?6e8iDU%lS$qe^mSB##xB*r=@W?28(4%3U+nS;#T7w^K=ul!=;-xfD|Gyb!E zlr`P8S8#rkbMO0xZ~q$1IbRKNz7@02&Wc%T?`KX`XQ`=@i7t1wG=4m<(|>^>-nxFp zSsNdQuU=i9Zm~?fANR*tXCeLs&jz-fC8sDqzO2HYs?*gr=uAJwD$&lo>Qsz}v6DBh z{%DQWbSZZ4nuG(W5)OsWo;rP^HEYIK>_S|C`EBLHhOctX`CO3lo^xz%8*^MTR}#}F zb&vUMJ4jd8-}ngqBb3|JE z7U$kQWiYW=$nlHV5qxW-!Obl7jk@0pepNeV7^})KAA~>8nTA|erJ0<36n^>=KIe?L z0-qRm{wlnEK05y->g5$NMJo{JE~GeL^2hDi;HzvfAC8;zGL@eUH?T5^{CG+ltIChB zJU7%3ZuoO+*3)YbGU}O?nu!J_faOzaS!ZrC#Ikx|O4wy{#bV++;lF8(;f76&c6*%8 zAGiLAC#Zo0fg-`IO@^H;>Xk-3Qh5|^*a#l&<}(C~q#izGx>dkt`fDt!3!tFdLsJYK zYN(cJnryfA>-9mzh)G}BL=wS3KJk!qkmWyQ`XaUfe;wx-R#%|GHO|HJ;Nq)VZxj;| z)ry;j@#~1l<5h;%HYgLWWt$mO+mKoHS{sAM)__4lSqy^JIjmZpm#{jAVRin3)p?m< zP<9R(swTOxb9u@x_e8`3TyU9*C)*l}bY`V;rB_ch)^e~~bNDyU3R;xv75PWc?53aU zutn&meKLO0*eJ`0DH8?^?zDO7NIQ}*i5k3kh*haMM|~X3q6`wxgT2oxu%gV5O+(sP z=GXsDmm_x5Z*>w3nfh?gWXJtNBUW4Ysp{a?g>m8;(A}{t$ksoqf6uwxzN$>))%NfV zh3}@;c^vB84Rs#xuJhr)?0m-14W5X-BR?$iNrhK(jh3|92`79NWO#4-w>AA%4 zR7`bJt+X=xa3!1ffy~B-+aQJq8YZRPL9E193k>|j_h%6|O@)OU{L$8v=`h~k$2z~s zSjesS*m0H*CQlh*Z=YF8r@UXQzT#87`dL;xYo=Jg=Z%uKcW3@-Hd6{xL?T6c5u1|FS-+{xw10`seO}Hw&nONT zvDI|WftixEyL7FXtTm-8ehr%P&&{z4DOY!=*~X@tju8G9Wy0ehA;{6;tUtvzUw5no ztaz0{P?Ol_ownQh!s&n|TfcHr%&>F(Vi#@6hqkhJY#*kZk{2R}(F;+cw1q{u87OA1 ztVl?1+PCn;*W+xa0~d}**-Xjt5jIoOg-^j5Rxvq?Ik))BpbztxL4O~M#DV;M(c@n( z;au9Ee0=R#X7rk?b|{Q9D~#7Ytcb0R^FuQZ)mDr^Cmeaoj9Sy7qe^t)xwbwd6822z zT-%3Cki%*|hhRp!DXoq(kR20q=)nhTShyRVo5S&*QaJi_oD$I| z!jQ24O{KV=Rf@^+d>&rBcPYfHt{toXnB^$w)R?#I+q2|=a6ld!cuNf*Jav3Ohv`V2 z@+;;UI4c<801STa8o`|lwB3O~aCBTCGCmLp0ZebBG;ub7S8*uJGa)Oz4ay9c2^4$=87@?U`71stL1IML^cX2BI7@H||7@$x^n8g; z#E=zDR*dIihN8|<=I@2lwB}0lSTQtkCs1b&Ufr$6?Vf7-%h{UEHqTx1@!~kkg%LSt z^nHIYe(4(fltk_1QG+Knv=$RH0Ouu%$$WoWnXj14r@Zeh0Udt%Cs#91<<~4<%?t); z+u&*AMb)8kd(u8b#kU6==c;z^HdO6S{HNZmPi7VS zb7!VR1;YfcUtc_Y;$6{$oV&hK<~HFa{j=|urUlt`bcvWo>7Cb_+AH#Q*!IF)`5 zocc1|^ySe4{A~ea*g*5UDxB=_{WPl*VA3c<42yO1 zsDVvs!YsT`k1Z#&w6UGxf*a(n9(t#T(L4Rlt9N=Bz0+IhoqorAr%G((a>E%z){Dqd zqO&{=Z1y^5XEO^rq~xij1k|ihthjh&kk6GjI!x#5WaT&3GIH+3i4oSpBiDQq$!&do z{z7%+e!h;#{>mC5`TIo=V08sm`gaTIpBp)JZbx6ES}p62Is9>AX1~V5cmcYh&_lfn z-3|E;L$<$)TxYxtC})^}gkp-+lWR}XO*aYyquUvjR!Y}${9Wb{oa^bVUfKyj8K0Ad zQ;nS!h4|dG_36W9*loksTi31f*swEvl91@H@5apXHI^rmjKm16Y zk9E{DAM5C=`B6Nv zsB^W%%rmCpb8tw7B z*Of7^OssP|63|b@XWkMsJ{0yaQP{%r&8m*&6= zjoKlu{hPL7B|cWL*Orxn$6{r6(|rkWV>GO4#$r+T1D4&xxAjxq!}yh12CL#qbN5BN z)M1V^KFsmKhvOqVh@li@b7L5fUaR|T%cpxbsSP$^ z(b(~7*9Q%z^si=9cGNNqv*nl(t1Q`IP;MHp+a?-v|3s!TGB$|Sxv`rEBmN?C{UTsQl}kEczsH2hR4hQ4RuPfu7SR^Z(yioI&L=&9rE?1r++ zTz6W}G6k%P@5m?TfC$RG4TieY_GY}30x?Zv71A}VqI13ZkCe1M`*x11p^!F(N|dy- z<%-2TFtSJcde){r5?SDE$4WhVUCwrGa38idWC-3>ei)ehgjgB9lomIm^IXVeM{|@@AqrhvVD&e-(J{p>7s)L zWZKP1%B+F<%pS@xGy7U^8h4xd&AB-9wtfEG?RAqI?X8oK4b1e{9?U4*OS!BwrQ9ww zx8CAX_BnGR&JH@)^Hx4(kTZ|A)62p-BRJp8h=1&|j4I2OesQeAvO`NV$9$q=%NJ*k zT(*Dl&P96lT(4!U+_HnqGNTszI-4z0S}elp)J5AC`Pt+9H2l!z@0V;ym(%C@=V3>K zo%_wVOjIKgN@|dvWG6XD?hz-IXhk}Rj->nODSA!{lj=zwr2$fuv{u?7?brBfx@*R2 z7HPI?&S)-czV{jGb66{BE!ryDzS>CbSnW;iAG$%h1-hsD?)qu^Rr>S#d%o1y=sVhX zvhRn!t9{q|Zu33l_l{o`zgm8s{f7G;G6Wi`8yXsx7=Dn;$W7&za-=*>o-MDIFUjA^ zcjTA;8h>B^YW|b_=lP%azn;gOr*xj`dFte8oM&2|!+91wq?_Qi2W#oeVk~bTQ~>6E*2f!6uujpsA>-jH$k< zjj5YyfGNThX_{qPY}#T^GW}@!$@C&PPjE=EEx2&-yTNsW8wGa^9uOQA z{88|d;JDy5!JC5zP}dyPA8NhnXYI~>V@Pm_CBzX@ zGUVNmIw8$NT8DHB>C5bf|Ja$3S-f+KS&U( zGHUqvEJtKT(vG)tL}c%IxwncM5=;*jw%|~GqjVA4a*GDDye$8*_NT} z4_Wr_NIsRmef*Tw_BF}c)sX|^dRxnOXw|6gzCJfbI4+FbF|w1T>)?L1`wUpU>I1v1 ze$cFx!3ZZ#qmDqmg5iHP0yTZ@w6zXdd>U=ynlaH?pGK2m#46Zi{yCV_&vbWZ?(H34 za!r*LZI;FO9@I_RGWk%{vk6y+9`3l>cb@*6EuVdU-;y>iHDZfBX<+-cm8?D5&6wKP zkv`14V0FU61J*yU^(|bnaoa+UFrBQL_V&XKbB14iX5sHD*r`{VsP8J+&)-!byKf|o zjd#C|CE8(J+(^4$H$8DqauR$tz}UXi?Z&dPo;Lx>bDr8hb&k_Gmxm}L z*kd-F-PE?%DO#mTM9=8(=mBWFnBCF4My4v1HQ{eR@2mWv3{!sA9@9Ny@9+I8K5;#N z!QX}f8wc)f@w-wj)YvONn(a(sms8yD+~S{MU*m-WIw^>u%pE`w|CPxrO6 zDowpV-PeqNx-S9RSY938m4gxwHMf~g)is!|%WYy)ocEH0_VDi%tUUO^LDLo1ko{sd z-K{dXORK7u;y=`7zKs0xHIuIPJXLPDeSzL|{cg(U)1O&xHNT?Jg4G+9u$!*5-`?)V zQ2ROM5)u|~d-nPQ$EAZOf7)VyHsW-@au(B-8m-%ww$FFogY*7icgr>ny7q1q>8P~6 zee&FId`(xrN<038-6%dr$Y1zDKTmtIC&B&Tz`n_8)`hx04c_jH%i9lXudGNtblxJK zGqBHmHT1rb=?ueD;r@!@=ZBu5@iCV0DH8?^=_rQAcQ&+{9^J5+UR;{8GwHBp>qqN9 zTw|A;*|N|0ci*9tm&J7T{s`iStb8F>_10IbSA*A@RUuBlWaX=Qx;5)ptzXTjivJus zcZXK_V*ooaTQ@dx+?a7u%5vrBP?_If+Uq@lzVucA%W%}Sh;xX;3F#_7{{e!6eNJ%fx! zyfSZj&!Lu)Ge^w;TOQ27D#B9q%;0bA%M-`xTF#BwamKQB!Ip(v?54X5HZR<=#d7?E z#DUA~^Ylr}Hz#~<*)n7E%q=`2R$DBmH|{()*S;okimrOAf#o9>VsV)6E*!ZaBEr&t zO22yZ?8a}QO>1^3m4twSElToebI)=_2-J`B`;J{T& zCpjj1J`Q`}ru|46x1t0*IPeg)sooz%=S&p%?Y2{ zaHBo$IKizW1_uVbocHJt)+)t{no+Kx@XSNS6k3**--m_G4=hJ<)XgZ z#zSL|S+5^DoV>wdod2#Wl}URoa?7a$ZE}v+_kUyA-`Oy*cl%AY5w@3AF zzE}UTW1{RUM``0$Z(EmWJ+(>xo44RU`WJ7(f2O_#f6_3m=MDJg{+;{QR{SiA-`+YY zUG2MdJx>k2`lp4_o!8R7up56jq+YO3Gsyf#ly6a~9Ubs}ozNC=Ha^+Rt>~GvkIGYqzY~4vVxdd`-mq5w{g%=rNsAkIi8<*krWg z`-&gBF&~WM9?`gM<2S}^d!PA*8qGa)^OWw|20hz#=+xjitH?CTchXYr^SbMM_wQRW z%%Zfr-}K5C2X>xVZ=bL0uy)^&)7Ee9f5TcZ-GCo^COW#!)}{4JE?3y1lx$JIUE7|= zuh@;;?(NWBxW<+!OnXA7>~w~*B`jInR;PTZY#bLI6BYA8zFF+&?mF3dRZPOHJ>8&4 zW;Sj)v!H+1%fiZ+`nss%Q@MiTtK_}Y^x@Sn_9U-^qcBRbE1IH8y$^j^Ro2g3r!jw* zr_VQsF5JA_By8kIQB%e{`bT#d)Y59?M(b`0O*+WV9@MY}870h$RJgDb>rf`me^Bgq zD+{^BeApxwRrRT&bMPmtH3t--ELNP>G~>Z+65c7 z&rh~8^XCo9%ypEQTc=?eYwK?7SC4j#9jJ}odMx^!mH9uu!$N-O`gxa4j&%e3f6~Vq zF@b+bWCt6dWwUk0p*_Wmgwx_b`vSQcD%Eqnw2V1`VP5su{ z`b6!TF+EoHvnoMtD=PtxaPdtuy)oOZ-P$r6$Zvql<}Lg7E>t$`(XZ*y$}+ghRHk9HQMMM?0fpWHA$+585)TP0TlEB@L`tg~v)h$D9FXW;&=CQHL7k z0Z)9od4NMMXP&wtWqP6&J#TV_lc7Nv<@y)DCHN~d9 zqeK?nS@~#dN7IVhhs5)EN&NFxtB%m)3933JLXz7TNWsBuK5p_ZysX4^BfObUnpyzHN^bg z_BtJEbnDWheTO60&g{PMwZmxc5T3XvdF#$YagNU??277Y={tOQC%ddPVTGX8hjc=t zW##?`cx8HL)Kr@svPX&1j~X*)oOPc5#6B$xynprbBg?N1k5;VHYDmOj`>NsEt-C+l z`nmP&(LuFKSE+&OX&n7VXh%XE=I{xpCBF@t_cbf|wP{ph#xV27m8&*-`SVlZF#PMF zy}PDFZn19~36AaRv8?R?i(;%(uE3ySOE*T?<=OhZ(Vh0aXH^Wv(G#5OPzv2C&g8o% z4j$da9ev$t^q)@G)ymHd{N+%OJuip4wb521rdiKMRz=tGF(WMS?EPoooaoeim1Du= zx#K2V@oPRjtjaxAl;b~rnz)JtXc z^u1Ed%1636^R%W%tUa5vdgJP?E4SvGubVyMX@&4 zKVf9Tg2f-tU1aArbzbbJCoS?KTQB!brZsD1K1)C0PngG%BfE|4ZS6c{{qhkGQ3H#|--^jG!v=jguCK#b zcDZ@O+$CbD^rP5#hdkCYa^l31;sz0Vv>Q_oEoXUb{NCwuF<886QuN>+lVXu@o9*;> zwlil9r>1S&b49UG+qJ(aQ@U!)@=Xu-IWfjQTW`8sb4Z6ybu49MXS7+#?8nZ`)^%12DW#Nc z)fL^|Nuj^93M?-h`z5R6YvfP!W=6^8?u&NsMfYBBXfri*r_ERXKn!iKiCZmOSFW5k zbsf4)i`^f~UYP z+k5K(r=9k28SBpmr69u(CN3Ro9XMuaH-~XIyS|IEe)~1c5UFJ{>zP8oPnX4w3t8=w zY*V`=+yiF$v;5x&sj@no&UEmm!8DQ2r90@EODB6hg;TWl3s+G52V0yVMzhUU<(JKQt&xn?jS!g2L zo5)OwG%5Azel~2kcnf`JSv+>V3i#k7N3E|`)}p-EzEUYU>)ST`Cf)XQ`NkESd?19G z*+wlJs@thxwM#cQMXSt!x5A&I{9cLW@a@&#lbvIWz-^A3w|I>Z^eGVZiLvT^OgY6_ zEk$N^rW?e_#U$GgBh6oaukC&0t0=hrMIj6tHp?ONZ`M%$%^D4BuQqJkl#wZN4gNrmXR<*SGcq+_WHd3yDIaKe=$5k&;D&Er72n+!y}>H)bDq8z z^yT5JH(R<$89sxQO_UXqJT96Ycag&Ux$W;_NlK8M?jn@$m5L=Y+x+nv=b_JKrQTHD z#g?Pl>139gEZ-bqlT8N~qk>9v-Dst$cHWA$^EO&wI zHKo=|$lLi|b*ofwt!M}I{bWg$!+=5Sl7m_UK4MX4^)KO`WnzRDnu9D*6fzo4m*Hem0sopK+eu7a*vlrWkH5fPBR>o zAII{CtVD^wg)(iLzi6%eafS;hG%^0kcQd8 zBL3yJVUG>6@@{1SOO=K_Hl*}J8MNuZ;4f|R<_T*fd7H}iJ2rXkdTabjIXc4#`Dp)f z3Y(C;F@?pY$o!VkSbob$?j3KCC+|#*I%WO*^Ih8k&K+&6XocUDd@}!bWeSzW(-#}% z*;|ul?z75=9NQDt9gu^*JKzjDAa}O*86oe<2#t|VkCr)KnET(!yp%47cU#^L#<^v) zmfdCUk-0mJvNFec>`BdUYBGJ0%z_k~Hc3~W*|f55fl>iIJ3cR7cD7=(&GW>wBXU%v zrEg>uS8?YA@%1j5Kk?ty*#bpl_fq6!#rCIORw{pcLDqb!x{vAP5Z3-NjC9oj zdYKJ~-NQaeVpWr6F_WVvpG+agUogmg5V)gF=Fa4peJm1zc36shb2iZl6Q$JE4!Jp0~cBum?fnye0lGw4XLVLUZMEs%%Q3z$-!GKT_ zf#+2Vp#(xX9-pU09*q%-^EI7BDobZcQK>1h(+tv9sz!=PGf7)|3E>>}M`1sjv?Z6Z z-<9a;Q>>4Ywi*MeElnovq;Bo@L^j#7pnMg}|0_iW2cW45UX)3}eBoNoNAbkg{gK_;z;Cmf6 zkE)Xx*I=wI2on93G{CwLNk*F#LHTBZ-_J#Ohu$RtB0NLA?vn~Upblk`rVwEWyAY>{ z2t3_8ng?WxPZbgdUe}?eNdbg02*nYKA(TZZgzy1EeuRn$H4vI0wBT`&-Y)&rU&@pgMHLnv~dV&BXuDKq>qvAOUM-DhyIE7 z`jV9A=LIi{BLCuuhx619K7C9IiL`#m3v2og@s&2CeIO&bhI%N=CAZAD1LUP1x$Jt3 z@EgK|ELq7JxV&&#@eW*8Jn{m$$Tb{x%ZOJ1AL^2eE(PH?g!>-($Pu`VaQW~KLO$Fw zB6!8i8;$mWEYm|IzgrHu%xSp{Vjarmj4mK%sWi%MM|l;57wTHb#~t^2E2-z!(L9`A znhM}AA!TTD$l7k?vl4Q717Qbb_c?TW0m(}rLN1<@iW)82gr_ZnvTPt4x|#UW@1Tc? zi1Q2DW+E_z>-S?)j>qHqBD6zjh)@TCU#mSrU4+I6RS~Kq40Inah+spghftHBqg6;K zmmeVuXnR_l%Ui!O1_QKWsr!ZqubXq@s{hp1+F_X%nyr=A7fcl!X1| z2t57)tU0e7q%}=;xuihwYzt&#IN$@%&;~7e5PE)x zXrxv+m&YyJeptJGG1wOamqn?q;JGXrk>&w#Y!BibMtBG9+Y!gkBOFJ*aaf-P#`0@f zajg-;4-+<5_;B1dL)WAS#7FuC=}RFFF9W}Z25~oHdlc5HPgDqPVZ+)c_%Z`^%Nox2@lhf|^LuS{xri)E@^L15Nfb5T6E(TEMFI zA2&LjG#EU3;BXQV-Zv_O#1S7J(d8n6Soy)8TS;M327Z16;6o?Un+zczkn!Y0GS@36 zB?e+5`GJaMNe$S@R-`lOLxz&kWCHn!%=3yV5t#%N8!3vORZY?e%g58KliHmED< zM~0IqGKtI}3q-8ExNaU2g8pD}^fjuG+N23&wHxVA!pRsinam^$-SM=<2+stTj#MO7 zNgdLZv?JZg0ProEOd+$#B6mFWtzh{I0L?0q_kfAbNPE(Q3?vaGhQyNDWU)J*9wp3& zx|AZ7$@|dX=A;AZNd}RTWGtCV=8#X^@q7_1u$iUFyQCVaPg;`U@H)XlVGz z{^44?poIl3DQI~?t02l~Z4E)|3ED)^R)TgAw40!P1RW%3_(-1fXhFvcI$6+<1f3)3 zLP3`ax?0c;BS#O2&~6iSm!NwDO%wE}peF_WO3+J!ULVEN-V*e#pbrIoBIt8LGda~s zg8B+-jD#fUf(5k*8YXB_K}!o-QPB4UttDuK$e|H~bj<{9BWNc@0G2pT2m z_{cH+B6YEX&Jc92po;~K6LhVhn*`l1Xkz4;QIWcRf*us~n4qTwJtycDL2n3pThRMa zympTSeJZF^(7!m<`v__fG*HkGLGzCvIC`YMprFMCEh}hcL8}Q`N6F`+f(?&`PcREUK^%!E+ejiwB}d6Aa)DeY zLVqOR@vUdOxFYu)P?>YCA938a;7-T%udxE2?LXxz{J$>j&yu z@^!CEy4Nk->(OdX=r^eQ?h;Bj)U|dN!cJO`Q|N)D-GzQz3>`~9phM{x8cic<6b+{% z=tw$>4yWU21RX7zBv}fOLM5~0F9k_?rFSHw6fA{EdFU`HP#Pc&lm>Pv&E znTF7JXeiA`E!0Z$QyX>Ag0v7VK*JF8J>aMg8W9Bf4o1mB;M0b}548Z*`Vs|xYCrh2 zK8R`O<89PHW$I7!P$LbXfiy1-B7YGVh4@j4YN!v@QXSPJHbLxMuAS?ZsLzk!i?8s2 zL*Y>uN6S=(Z~F&$*BJitGqG+?{uJw$CRc66A zUyJ@$8u^OcB#%fYIGGB(QR}mO{V*38a+&p z(UbHHJx4FmtMop7M4wV8{Y&zZ3@A&8lwT?+6(w3|)Bs3SJ!;2x476)7q^lve$3oAB zK+YPW{OzDePQEn)yF{w>(I8)F<u>GeeCCfT!ccKdqAG6Vc!TT$%p#(gmhQO zegI^~0!{A)S+9ZpKuC}kdfyv-sfqo(kf;1Wfj-cKTG$VwdPr~^=z3XN8?F5@Jqx-3 znxv&2=s;SL)~61{Q%jCg^U^~+p_3F?KtmATK?p_2hXCoLR)M<|(kVf|OoaOu9PhaW zq#QvYs}#~oA)OQwOChs4uYi=$1PLi!peD+FxM0dX3NrJqQYIlcYpq(zM7G+4`Zq2B3a}I0kB3B0h!mBY(P={)u%t;YS(K&#VCp)dSY4 z4|>SM(Q6%v9`#uCsVAbBI~hIGSo9{Rp)dXs`pz@ZpPfZ!Lw@>7{iOcVDe1JPxTb`r zq^6Xnw5E)vtfri%yrzN%*aHmE3Qvb$hudolw6QOiyf{a}gEnptifZbM(gljrHK9N{ zNLha@1ZcWS*gR+_5EGb*x(*>enueN&#H?wqX%0@Sxpn5&4%g%K zriI{xguZec(Oz0nwmjfMK(08$cWk19k0NoD& z0w|)!60p@56%M9_MHwU!m+#wXOge{kEpeSdcdIpX zw_87Pt+#GHqM$5cz%q_#g}FSSJ)6C1QR&CdI`)$_ z!c$g^@Kh5cJdMN%PdhQf)5{%O9pO>8)o~nkTOF%Wx7G0&bz2>CQMc7`6>I-dk)y~a zLAMKNsf&XE!Cgp*oqv$kPzU}k@eN3N8 z6{T<~T8fosNUNn}>5=qQ%G5|2UyWT;7*bpr7PgM2k*1BNn`VHI&Zmygc%QjGYkd-Z zj`>{od8{q2Evv1pt)^|DZKn;_j@N#qougf%-J(6Jy`;Ua{Zacwr_*)Ojn+-nP17yW zt<`PQCF@dkmvlFEKk6Rop6Y${Mt!i}q7T!T)W4^%rEj8dr|+U4t)HvkpikAG^YtY@ zQU%vJsfz2FRMqvP^uFsEyy@z$Oz@(a>j$z3;WEM%gs%~v6~=w1-UE8 zU7@!~1LUqCcLljC;Po8DMl5>TbpmJW=5j^~RT8-Rrox;(Q(3EDl)*^(< z2v-okM!1Ub2>O!YdWh>iL~S18dJl2Ehq&HD)aD^-^AP1;j94m9{u%ye+Z+lc3NGcvD)Ok#Xh{4RAfBf$)9#x!++S zIuTjwE<6xbCUR2mn!UbNoD_C_Ly9AmN2rJ}4`Dt+5<)t{L4-pHhY^mrzM(izah@(f zSctG3Ar4^$!b*fy2nh(g5OyOZy1tRZ5Q-t3LAa0b6T$<8pAjA+{DSZZ;a7ym2)`jb zLHHfl{O>&d|5g+JySBVZc6`yBsSi8T6rlw|ON1C4Ta5K1_<`Rc+(EdDa1Y@=!cW4_ z6#C;uxeOOW+G0c_)pTV@jaL$_+qap_NpM|Q{FBV}I8 zO~VljdnW9K60P(u@k36JrB>poERF{M*H)B(OUUgia%zIQK0t0AQR0V!3lDMTq|`vv zr8>^E!I`_FWQDL-5+y}h(4ujO(TEiEXql7?k8*M=EC2Ld^LJ~jR2x|5yegPuY zAMSW|F@Btt*W2*x%_V;5VqSaSy+sNoODa4(GxDRnj?k-D@!lj8VJ;@xo7dKk*5{*B zeB>^O1mKLCXFgKYo8R8~{`;TnQ8xMd>5cI+Tp8|7U$4W3ytebh_TPHDa=HG5Z^p;o z{a-ti#ka6*M}PmDys}ah%y!t~wOu4z{QV@v^#a`d*>w)JN^>99xiV3z=PoDK&v8Ao zSBjS?EngpYrNM*n&g-RTGf%cX{?oYEhBp>n_U1ju9pv$Z2$}I*LA|n&DwH;dZU`Q$ zT42d`B1F{+qN0n&bKD2DQ*%`KI!B4$@N=z)-}h>7hoI*Xeo@=o^$idhWl<3Y+JqpD2AkPf4@N8t5*+gL43_QNSG|#H$?1?rUF%WgxCZuQM-Q zzln6eWtGEo<}24p(0JE8*OF|D}v~SM8M@mtCoD8SxeEwZ`?eirmQgzRGpA{Ax{w^||M1Et4zS zE2{ucnQf4REbFDp8Xt`bb(hWHu4(pP_G9HZX1nfVt31*bckL1UJ|=YJuOcx{BFz$*ZcxfOsU z-iL0PfV>)k#{$`1&rm|%%jMpR5x9EED=$A0;{o5|Tz2cAw>~O4Eu-sK5&!jHRo7)) z=?>wD=|_TH`vkwZ-2U!5<+_6HtJr$3=7>5ygjC&x*Q4Hl3vum!jZ12KJ3VC)d{N~V zxhSv2zmXOHEq*HJweCIb8{_5lG;;rCp;?I7=K2$Wbq-W~tCDH5T{R$=7&Qcy|IS`y z`?>4(CLBad{FC>V74vs2f2uO$^(*N1<;J7;R)sWpqtBH+uNNNed`%PGeDckX_pTqa z_$N@}=eH~K8?JtV;|k|4Fy<-zmY1prLtdfQ+vjyj$b5j1_6LyjS9}i6^3&c@CJCu6 z##nht>LADR-u}0$m0rK<|F)!W`*UrWsiL=Dsny|V%&xuIS#zPgDd|eER?U19p7yEoI%KDZU3iVw!BfU13*n~ z1B)YAU7N%eIVxUt9dey~g@djiUeC&P#x>2g*0Y!BL4zy2ok=!7%zfsu@LK;46V-TE zJzMBCxX%4UowBFh=3amFZ&LkZu3zyn2Kzydp2goQc@_NP9MeL>Q(y5QTZ+4|d%qHY z@b|gvF8t-UMZ!OGdR?BM1{~GA;oO^Yd+17Zt#v(t*Piptcf^492oSCPyYPKpvqx%~ zxlird??t85q+ z#9I&^v@G(I|E4eX>Zf(L`fDgH{8cw4?r{dl|I?iDynccsqObFq`-vPyV8`x2FS7D{ zE`qPSzi7%e2ksUBs>T+z#Xan*!xaB zhUMCu*oQW~f%IBXe{KU@ao*VAN*A?Hc5N1WS41hV@*Z|pAHa1Bn#D`E+LPvn>kqe= z`}}oj00#|dC&A?`AMh>gYj%5;-5)W$VLa-8`}w-*-|Ft)|J-fu>s4ZXu0HX<$QO4~@&h`ydO9&13eT%kId%n*+?W^_J z;H-KEy6r_E$z|L&N9n#NI_`~&5w2eZ7OA!7x#zUX8raLD|5!ft_xCdFFKTcHzS!U4 zEKzY8rBSl=fBfF!3UAIalUqul>ofN_i^@-L{SFdG9>KqO^m_UnKkoAhk5I@n=Qw{x zM4QbQ%+H_qKn&jN`6uszr_=J%p*7y*Pv%$41&gco9@l>BU&w1mRQbF0`UpWTKhF1( zx#pJNy;iMWS+V~QJ~2`G&-)MluU$RM(+&`5TL*Q`FY*&3aD1FZ{DhQx#-aHy(1WDv zp7)tRVLNix$cVPi=8xy%$-Ej5$m5|rzl*uVd?KFARkw1hQ;@(wcYWQ~o9`8bU#FHg z?6o`-a~}DxKiG3m?OyltU7xvqpk&BlhS0nR!W%g$${nO?hnuP?u8aIs89$g4HC#!A z_dyT4mJ;_El8QgAA3yk-}&jBT%j^e2oz3nK8$> zHXo;FuFLR~IcEEy1a|aIUSjzL`t}CzkV_2wysw2{;44Pkp1_L${$cBDgkQ62BG5al z9euU{^%gVDNk)`({n^q?|PF(P+Mmd9N_@4F-1&-+bm^73ij z`pAEN#KR%f(%_bjTrG*~5G3Je$izL!!e-#{Q`dd2Euxq86YuN5$IU={T@c=MCid=Q z>rR&Mg_MvXzHpD*H6Gr47Dibh*TK*kKI@g2E!b^w{t&ecCTjoe5bDIOg|8T)z7DN4 z3ST=gt0i(N^JP+(b0uN>6g=(1 zNRxyb?}0`B1qkqnl)}~-#JJ`5==^bAEovwFaA-q6cP$^g&+;<=fj*Hzl>^kyA6E7; z()`1yE6TKokGK=w3+B3a69Mvo@;Sx53@+n7T$cHLBemuzlLoy1Q}y+bN=T^peO-ad zR`-0af>`rDnA^8<>$0%^xYBd?aUI$xQ1z?$n3d-)Om1cN@)kt@EV~4$Ql;Ki^AjcJ z8pWUE)noB-@8|w21nKYx|4Wm?XuDs)ZPkuE79|#UiBRTSu!R2NsZv55qCS4$27lhz zAdY*q<<X=>-lx@Sr63#C_a#&_XWxbIgI*^ASgK=ZO*d>Jf}+ zCBv%`A-8X*@;L*g3=r+awVaP1We6_%y2lp^dveR>op9?RN_Ygd7I!+u$g_G!#?5sx zl9P2m&Bt|5$kbDCK=3*Do*v|*8cM;CVw&++G(KwNCA-mB_S;5u2d;q6(z>iy`&xwjls z%l(I%YdpPE)wg9HoAH+ScHfY523k2w^8MWR$`p_6znyK#J?E#Wb+#V0$o+3L@L%No ziW};a+#D^kwBv94cK?v`3nA6&Qvj-rXX0vFw_lO#b3kvIvlBSPbLFLc<-NYbn7_l1 zzx(+jXH~llD4!Wf!b{2RtbzPvPw{Wc`@0x1z9smngROrCFOA=AGJ+S}tM}pkNi5v* zr=XXs`xkdNbSSgh$H{|K7GTJ8QP!Z`d-Wb1_~%k9V%+YjTL!dZeE&I)>D)bv*X}^6 zW3_LU_j9iOSvBw+{@>-9dz9|c7w*>)j^+>&k(v7t0PbVxx26ES_cfkLvc0-Rd;6LV7Js0Gs7k&ws2U$gE zwXgG^^5##W=sdj%KX+ftgQD5`vHvDth5O0we8rsr@SO9R&n5Bo8Ug+lSHDXBrL=$( z8qY|LuRy-%xQ3tbWyo8N8oViIet)LCdq*ccu`>Ud$S!7la9ywHelkk6bGHR`Kb;4^ zJm0HY3eV;~|&*Y{$rz+=B7`YnQ^LY{v1^w%LBo~t|)GWZfU_NDMn-Y9cf zeePFx3A}!8JkOR|^LDz2(x`VzUI5FU5YM=R*Lba1t7HG}n7YLefv)FYW#>eHcg9BDvj(~n6#(KQUR%;R75H&6_bifC8Uy4DXFwnRw^fzmnuq?q{>nisjBq8 zR86Wb)sSjRwWT^zU8#Z8NNOgvkXlLYrH)c3sk@XRy^s{tp+5L#ch9rZhOj$lk%CH#YKtLdjRUJK?&t71aGtmDT;EJASH38G!_}X?TWBB z?_$YI-p3LINvQ#esf)#o`t<-R3?ajT?jx~SQNMBMXYm@^$UM~0LE^9!5H&1_8YYT2 z#U8;mzQ9ryQuP3>&g)qN?K+dx6!KJyE~3jwUAmgCCynVwx{*4G5Okvq z_+6Hde~@xm9JpqAq^*D@1g%pM+m*1qLn>n_AlfRFRKb!@Xp}{?n-!W>4J}h0i%rzO zn5chgQXh++G{8bhLo6joBP@J|eq)rn2^I}$ip7UC!%~Jc$5ImV+XDP*iKPUjxHZnU zfgI~eJ1jbAaC`8h0~SBh5lbP`35yOg-UXcPibW>fuoy^pEdHVmiV01r0BIV6+7HE2 zTFjv>jFt%pw?<$oLn5%05bab{v{O0YL=1StTdRnWzT%?IiV8FfgqF<(_vT?SLmKDf z$U-aH&ah30|_>o(L`^-O*JK(@wEdJ1g zd&u)X`3dBQ(DVBod4=iQKGb|;^pIAze z=UB=RhNUENVkrSM$-p+(vphn>^3b_-E-3>fT}T3;ZHtJRE{4tp(&cm&u?x*}&<%70 z2^0Dk1gzakOwht@B$$3mcj9aUG}26yXbO3U?xFih0im6tG>sl1`GCjAiG`yv$q#)! zMQrpmv^J2QqZbJULSG^!=w*71Nc1|rNi_63`W^A1x9ATj)sOT?Qj*@GcZinWr9bhv za#Qeu{z{(^J+S=`;!B@VM*OIgW{^Vk1$7afM1YM3V51IHFZmLG$xq_5n(|5cpu-l) zLX1F58wr%`lAUm?;2_*Ggb_2WLji0TlnRm{sgP6%@e50ZNiZx%5gacnK~G^hiXmok zsW^_5kV=pcj=Ch2qb{)mbt@oMMX4fUR+8RDoGMZk#OIh~mcE1?%qM*%eMR)rS?MfF zdqMgZ@o!3Z5dW@p5Ap85Y{&cM2NE|mD z!_baietf37GQ^rGMDjR(oFaalM*eJs0QMUIJI#HF(M$w}S{?xR1+)zu2OyCBV2B|| zl<*`q0@-+eoFx8i`2cpZ0QUZ3bhNBKtj<2Hus*E6eOS=(WI&{Q6iIsd(u4tw20$h> zKqgQS$>a3$BXa7T_yIKEKpKJ|4e0^YQu3^^lpY|NuaL}lh!Fe42*PL(g{Tnw)CfcT zvI&i2CpZWs01%F_?GBd^2&;$`b;RQOVG{acb$!rOw?qK$chLKM1BPhjh(xzU^!5W0 zjP@uHh!neGUUPWGf39S_l8A2qm?HWGK>Grr3xd$SLeShIQV>8+uR!FyAg8yJ*|$LQ=xKJ`Q3MjoffN}8vDwiJ$5w{3uO(@Ux`2cyV)3fZ|KnW1nD39OIj>QE8d`qJU5?zf>uFc+(v+`z3cdMA{N+FPUCcKKVi^XA z01K8FkblHG6lMUKGDPrx!vR^2cSr1N-_3Uy)`kf1_LuUoR|{FuyYC(Xg6mO$&^YgP?XYUhgT3 zv-5tmb?2&Gf@UE7Wyqd|#q(dUI5lVyDqa)rxCY2r4VU3{tOjocit^kUyt#>0i>Ow$ ze6*!}G*xG{`QNX!>IqUlg=4G+Vhz=KULVfh8^O~&kVCu<@74?6)7-T^T@R93Qo?Cd zs3^9H&asXYF`v^h-U9GXH)hX*^aa5Jka1?vS^~iMG0~c*rOqNnD#REX!J4Lc3&8lY zPy?tqYgmm|!I#3UbG$WR;BNKP^f zn9&$^{s-+@O#r2CWntVooh5cCz-C{9`_dgqBA7>pNJ4+b_`P~xSR%QOo{|JqHC0m4 zpzNPGmUfZ=V;^e<3Gy{I>B#;_t1+xlR1K+RMr(0M%786;(h~k9 zwL|LNis~T?ZJEE-o?hI=% zDLXLT(Z}`r=VA8G%Dxg}mU`fEzDCLyO1c z<&4FnVK9k>6#w655D0b06H+o7!@}T(G%o>5D3XlhNF)+Tpou4LZUl z&%1%f5Jp7JDVCNL|2)*uCh|s4gV-4+{r6cF9dU!U$CQpwX0eS{;`@{IUM&lgR01P9 zdc%`>s6>T~s@Cb|tN(4qQ;Jq0pHa-OhGf8K(vi%Xc0l027&VxGsErFwmo%;Hfkf6x z6pbaq;d+K>S2u=QWd9siNE4U<1To4~h*@zfV#FKYaLI_VF-E%Vqv-RhtkK znT)BRV*#8~uz%IOgh-l!c3uG~8RLxRp?LEQxkJ$G$K69Ra!7@dk(NjokrJ~)nPe@M!ky1{DgjCXdLD48FIdYL^VnBFyBPg-mUFns6Q+Reb>OK%o&CSm3=GM;_ z(Bq=xx98NL{t>N#ya%+nE?$wte%jIOG#X>fGgearxK1aN?a5<*Q0nx-g|5AgEi3m= zaP-aEh06^sVD`CKRc?mUgc>e|iL%zoXPwV?=vaSQO3O|+#<$ISbkw$-&}VK*^Eu6r zYXyl#^>^0QvQpv|PbJpF%~Go5H)@N+cQ>GzljM#Rc&D!1&9}PWV08K3{ESC^5F0Yu z?qi08dR>jsU?)emTa!UB2Be+!`x6`PphuKnJ+hqEn%Q!X(pB~BH99V<9@V|7j^?d^&2R2y_lzRizqNAIM8Ls|c}Dds+}{-FyKn6G*%@$m!LNpSdH zud#f~J|^_k{Hx8ZkC-B~ADsH@6PHoP9)(mE&&L=o^sXbJWL=aJLla;jL{ypqlA*r8 zD{)tLhg_3-G`(g@FG8;=HPpud!Ulc|p>WAOK7pi7=j?=-)#Bl)!6g&OiKr0^BnI;n z&LYOnkwZIaU}5*g+{V{AyJOnBbJf7v5q?gJY!f0p6@x#_lsuXndG_&hsYKokXK-mFIWUGQPd+xKdUc4Ofr9w4&F& zE~2PZE4i{QMOF}&WVtK9i)V#{i81Mr`6*mkaT$|s391|RqmiQkPkVMvX|j#jhJs?; zQ52@%o=29Jjyt?Qi9||?ISYHoO1oe=#7RgLyqDqa@#CL;p_?g=C2^h&xE0&UIw3M4 z%sY|~{o*E{*B|YV6zFesEbuCPRzf$QxYZkWtrPOzYJkhAQ=>cAd`Tm( zPVlC>c02kHr@}2a7G~{^;K_A~k4=3)v{t9X*xEtaDkCS!A6B-v-J5h-eufscs<|#} za<|!O&dU}|kz=i2j&<%DG;cb}X9xa;g*DUo0C_hzpBE1Q8w^MTa>TFU+Yx`p%E9+p zZ)0@Z->3>mO6CY5JBt0ro(avF#JsI^+xa5=i;0cwd@Sq9#c?ST$8+$QB=`C5D5en7 zSA10LaJ?w%6E@`Sx-p2J(SpuimfI$i?oBXu)K2ZbBk}6^&wVG}bD?mVv_S8*wuJuc- zNpQI7eN#t8+6V0M0wJ@!+RRPOXN6>~BB@c|OJKdRyWggI^y#8(JWg3O!jJRux$2_D zV=?fq5nV5;b5Eg0&u>rR_#s-RG3kA!cD=&w&$Gzqd83$MP75fUd;85qF{P=oj#nOg zROL!aNtUqLST)C>&<#W>FBVCz4}b0O$>a8NAhA+I*<`i`smB1V5Xp%#rRPC*CgYZN zR7Z+4*BsJD+4~6>EHwHHZ~a&U!SUGU-9h5N^AEKR6lqSYx$d714|q}h6$$RQ@5MQ6 z@FtiQ_2~}Qx#vKU<06-ak(Rt_>Dru4rlDSC=8^%!x2jaY#2pT7n8P9gJNDqU80nBw}8OhyN zWsyaCmL(By^k-c_IO;&w-*Rod@yu7 zuUTuL=(?>@=f9fc%1p!?Xj*L&)cSKjURM5W=iw{i&~&#gv9fm_W4GVXch7EFS?78m z#1DQ3xah60>|nj@oo*{N>gArK@o7D5?4x$o@PE4c!gOVUwvg!&xQNf%)J)bQ7tGclJ?J6U`kA| zYw%5I`2j>#dbO(NJHLJm^+k-Ofc< zHfpi|>eQtY13v$bwsC!73XQe&T6{cSJDrpmy(T%OvFgEUCUI<4s=NC87We|`b}3~$ zi_bVo={NJ`FzG67W$&UvnEctYv|i3!V6a{HsQ#RS8Jk420sUmX{p75t8XHMY1pCIkd|+ z!F}<6t97&S&C#6&uB~gA!Kft_O#~uLh$_P}afO6OmU@KXO_ojxjI3I^}%8V&aziT&vAUCC@p}a_v?z=2sdxH*iXr zq|hL10HWcXppY}*ez33+D6E=eaP~TRfXW~-AsnJ@Dt`9&fm%16TY-_8l2p@FMq~d9 zJHoptkw|}=W^8oVR3ADqd0ax$!_qm~nqW!Kr|cRq(jrpXql<(h->F?T5iwHSL{U;v zx{?H@$7C#JKC%9fMRI1TGkQik(%wl-us}pzGRPC;v@))g{?`)Hcf)FhZ&&%b$h>;% ziOfOTk$eSxlhsL@Nc+?)L%YrJIGbEGxk`H#a>~{Dh2P?jVXgn1Khi^|5;71GT~2n# z``=v6&k6@xF6b}TD6exmRt)@Cx@l=E<796ek-tr*PXQxha=GZWvaglia|~yjLi_bW zmtpwqZ$vFGgPdD8S&TcOHsN00U*9QkPnp2yEXXnXbVHR#$PRN8C14dtqu7z6FHkE` z8ou~3pRZwWot*QfuJ1VrF1dm%@4X5AeBu`B%9?4#QUWp`SrTb-Cn_X6Pi}6+YGXf# zwzta0O^N3fsZDsv4%hfm+b59|to{Sn2M-iXF7f((bUz9Osu$WEEMg8;UeBFQmB7vD z2O2_j-^ptyv0{G5E(Z&x4q;GkYBmrYx0cRlsu>Dj@uY;vsf%DTwe4?qO1))O$>3j% zs;0f`%(C2c8ZtOARH*Gr(+KqB8BK4lglm zW_@;=8fCodQ}@JCmSjz`w3M1GC-o~s`;(PpO(vX1%80}}EG?Zu zNpm~;3T)S?l80VO$WFp6RG#Lnw-1@!N^_{+3yMuf6SuFg?DH4BXbh?kwUy&fZ33?r z6SQ}vov+3Hu1vkb`AS4-4E)HqVJ+u-lZadXlgXW;>ubdm)v>jF#bsR7$%OJ0`)Q^q zGUF9~h0o9K8BX4$61~5Fk*YT&r2@LrnXk9xG>DW-?%vqrT|ib^R9RG1R#~SPd$|}o zwX+d+74_1ZL+!igLN8slM(u)Nb>$V+T4b2L5?WF8f_I-a@HI1>2{@%Kh9xAh~4-URl zrP#-_!ekmOg7zyzV{Q8_MHqFA7i*WxSBbS1{LS=o^a!5sVb!$d2|VHpe1@-_3p%@u zrlm(_|Erz66fg)1000C8004jhfLF{o;^Y$mK)O930RAuHXyQa~YG>~_VUNujEo7A34y=>06B@^Sp|{uS+u#JJRB4n1OkDw zAegM&zr5VPn4)Nm|P7uUCcO@5=UDz!e!`(>qOo4_Tz$*n% zU!_wQD{%q_BZ`ZG&U}#M+{nd!dOR%zy^#5iuu$aPj!+-$nk&*17a$Ce!$n!-av#rP z$H|UA!8QR@TRi99@yqj0xF4kgiUULeNMFEh(Ce++kK%421^!c5RN-#}W#90A02t6A z1g3DF!DB!q@!Pdm^I&)+O=}?g!R!Q_P!b5lfCD0O|5+4cXg=MZZQp!)`+ea+I^#jU zvBRYFL}E^rV}PW?!*nm#Z{jC@40K6Zp4hNnM(nSphl>Wk(ukR3snp6Ng>yZk&f zVC}ntJl24j245EjV9foGPjx6wefROk(#8RGDyyNM7{IP=c0AF*l=oWxkaMVUm0==% zn0hMkNqymYRbdsP&J3Z*cu#d8?%|v(gJ^wP%=LJt{#oW)JT#zRB66%;F6YbB)!lDr z{d}EGZjMeaE=PHIvbqVO_Bl%OrjZKhdHc)+gah%}=Hkm(E(vt9x(*Jq!Mv+Pl zbRuclq2WPHNl)wIWd-A*dmX2X>^2QqQC4QHc*h#&gpUO^a8EwOF5{G*LV-ztOwHpl z?Om=AjsA#YApOhcY;Wsu|Gi78jakBsR-kiuw_m*3U#_rXoBcsjsa4C{FJ8blavqn} zG*)WD%gCvUa%Lp6B6hi3KU60VYA-{?divQdNaF2>9Cw70oy)2xASNnhw?HQ1BBBJ- zl?oB5PoAmCB67%$Hh5vR@m%7$1w8BUWZw|FPo43?gD&;tsf_9kB;XGT=RJYzX~j% zOMryI&pt=U4q+UKqAzUEZJE;t5D!2kZ^tNpn5Wr8kJNVS?QpsRsqjRAHI$!=g11nh z8n)i_o)DBE{eVF`kUf_wE1DQu)MFkW`PvNOCRC&?V7BJ3j~P~E+qW#;&x-&bW-JQA*BT3-%P9}~R`~8BfT$3(UOd-B8l`ZA zuww7&ldk*pQI1lb4Ef5i7yFkwvy#EL@3s$Lg?x)3+%h&VdBqukous+|+#c zEzhgyoBm|ZS__DtCG-SZG`**Q9ztMX3`N%qsL-{lb$D(Jz41_a(dy8LHO}>|x53n% zM~rb`TKo8Pgg6o{Cf1^^5AyXk7yC7Z4XBuSjGGG1f}xh5IB^|!Z4L1$-B0J$9WqhJ zz5A|wHe8gPXyV5!HdZ{zW4o!`W$*0(5#*H##K*q#-Fka5Tf`%KK-zmb4EAKwFWc!S z3m?YB3&_M3$;5%-pK-tpCYX95ryx{S04%4DF+bcT0Q6-5usw*3KM+NNE~-2*Y@`g+ zE=*<+T0W^csAdprKJ6=LlMq)ga6>1tW_`|Fq>I?c4)Rqf-RHzr?6SMu9P}fY&s;`E zjB5e>dX#S;{v+_$d>1T85I=zCme8CB8w!jN6I!q-0mfCmf<7}Rwosq?AGm06WPXYU zKdx0s*C3ujVP!#C_IWUG z;H)b-n9CybBWapcP(VuqZS?8ZpZ$xn^+M%B2V0)2&{fbz{c32vZ9S*C)9PgfucEq~N6D-A zS>XzMH3s?XgI}V{F(VF}j{yMyK?<9f#C4v5JEX~l6w?1}N&|0YH zl1vuKEPRqkngkUVSq5QRsOPYJGM?U%T&%2AR+t;2v~wb&ia2tMB$C0u!WU(D+oK4fT=CZx7?;tievh&!KWjNX^A(X&?=wG zcv9X;A(i2@D4JY?SIGTDJ)r>KXPIn}TcB++qdeQMDIYXFQlsBkH@S*)Nu?UBGkR>8 zvdVo)rW(D~cWl(!Cw0r!g3%e}I%#8#=nAeCxHX7osItm-imw&GGn8rsUzf6K zbc@v`^0tTBg5?#NVkkHFT{)s!!2N)@Xkb-;vdUQn_8F04L|+HHN^Q;ajI=9)>F_s?XyRh;D># zAIZ7VBS3GYc3`K@5H)cJw(P&7Q)dT1lLzPkfSK55zi~c6 zzK{Q6KR(?2(s94T@L|H|9`(~Nd+BsdEwlXY`}r2?{Y-a%rbwh?iE5D5K4MUX?q}dqSSWHxgh5NarKX<=PN(DFQr@gCZD&DGG=a z!LxeHw6IO+Ah+>h`A|&^D6@YGGL`n)>3ULdC3J(e!3nvRD=Yi*$=Aq~D3*!pui-VIBo{gCr zSk_XVNju}a$G#6C7=vMm55|NUW2VTU#|#^SwWVyyUlPN{oeoj&S>J*`bG*fTO94a_ z93=%_pZqPE9?v-R%JJpHx)M}Hl?`vxixX}Yv4K81{$f?G zas=c`%;rQMi8_LHrR+-G=E2Vn9y#8re6oD``HFVtZq78{sfi6qqFIb)&C~VLW2MbX z;SXkE3`7|23nXw0x_Tr};T=FMtkWwXg$|Fn2m zQnkD=-WXpVb*;Oi(5kkHv?;Y|v8l01xN_WJ+=yx6vVPgXYveKVT6-?N^4TbBskQ!T z`m&xJx6cTf5y=vhyb{n|v+G6RX>I`$8z4C4R&gCHs^olUb0gU z;zKNg82ajd1&=&EI|jxqn07n3Ts}wfIE#aTl8C>3hFti)(0NmwJ~f14JnRPebo!#Z z{Q|aUT8o9ysJ4UHs0RDzX30(ZMTx?r);IFPP2{-EH*DI$#{aF&chnvFHwyGO3KaH_ zUH@-XQfJril-GGD;k{%Yfr@YfR_Kk=d@jB`W-g?Z>{MrKi_YAfyLUL;$y2%mm5uI!a1`WE@{ zomBV(vhd?>@ck=(Ij&U(W2-ix)~}7V{U=TU*u4f27#w0B459%HctKA281u9WCBOhq6DEQa4VW>-Uuxe)BZGYI!T0AW3x;J`N$bs|1mcM3nhf z^j;_7bMeBRgEP0#3Znq|@EoboCGgbTSN##*Vm?L?VXF^4ND$@0C_eY(pWGt!{$n5w z4}MexU+6GvBI+nM{^$nsN_wm_$*m8hx1L}TFL3S1oI4aupy*&+g&bNgx056BF-mT( zBHt4wUzMZ<^H}&N<9*eL=%TW&ouyHCMc}q_|AO+vV%hz5>4W7zzi_!9-lwxqX|wOs z@k7WY_fQGgf|wZ5GYUf4EQE?U@wv<&<1}l2$OUuP`%VhHyGW_%dC!aJbzeoTz?Yye`I8qz)g313G4k8LW*J+zz0vJA7STVznzjF=kL}L z*BA8z+{~l5$wm2?MP{QO&qprySeBvD^^5qKr0f8CHq_{I%D~wSE5rO?7DS+@G#g{> zjjfy3(!_PL75*ZR$O;NS&YC|9$0-kG@|H%PONdX;VS|K3ydPo+MXuo%v9hQj z#A6i2h0hbO>Mxht*o&@=(dl%?wk-Z=L#-pn0G+Ps1=-%G3yE*&@%H19#Av; z3Lea|*#?@k2~=n0FU!bZkexaqKej`@Z-V&P2J*5A!*M!a;W!BP@n5SUN?cf&iq-Oxf8lm zC-ld5=wEnr6SVm{P!nFDIxN3mNdAJb{0ZUF1LB<<#0M{s7hWJQEPqyL?u794;lE%x zfrPUBF(vs!N{V|F6c4CKZcvfjK%)PFncbnVygT1Y$gmMkmm~DT%Fn8#7z(}Z7DWmZ zXUkVcM9zx}y{Ea@7}gLnuneRnM6}k*#WXOkLLqE$Dy<(OJ&j87aJeWRh6`e{t;gm_ zODqqj{_boR2C{^J%fl^Z{`5^E!zN9gC~PdTyph?91&tu=WT23hy~SxKhNX_z#NuqoK=$h^3g4egKh;a7ybS!nvaX|>@qsSN;` zSNfk2^gyBOPb`rjmSH8Ifvp+Og2~U1%xcNNogb#?7 zBF=!5E2jC&W`j5<-?F8OmUFPjDDbk!KzQ3@9USj64@~!4MBn#Y2qOgkehj<}k#18S z3-R3UPfS?4j%Dx)*H*Zq-M-q7JsQ+OOgCZO`s(r6hVgV+i9z-TGp5%B{s z(`X4Gli1PkyciIb=%4@noq1odIdlF~{p-9* z6#-b_*TsUE@FmP%x8))}mkTVnbF7ZJ6hKtvgivQ*1JaUAWUflp^Se{!WL1~DP_S{> zU@$;aNhr-vhnTS2;84P+@62XW;X;}rp}QSILf6j_5)Jh66Z2eZD(AvCtI&uYdTY9b z@?=YpEadFJ=zb&}Z|U$%Y-~M5f--Ccv))K<_YaQ9SnvgBG|W07BU0wx!6R{YU7);n z0kc}W4`{Fd<$8ng;s?x%?LHvB{iz5Df7`z%Jb^Y59zmN&_aj6h zNg5&fL4EW4aV~!gjllntbM%eJHvaOi{HAF_{30KZIsGB+QP}xW82usn@gx86OQa57 zp#KAQb*ld`sP9{xiGL~{ecbsKLV1f`+Slt_;f$DR`uwK9^ z_3ayUx*ywKyr_#z8{JI&_ra>Iw1Y)ClCR^Wby*ba%qyRB1_y}CfZzjiYHD6x();i<8;{_ZQVWaVAV{JpfMF_qe+nn_Eq=MMZwmu|K>NdnfbPd{p)CMCW1^ z%i|y9#lB<-D!=Kk+KoZ2A6C!q`}OzY@sXW)^6#Pr_d z?PudfDCgVHPvKz{yHb{~mn)JYeen}~g0~MKHh^sxn`}_9PMijpD~4@!bid%$rYp6M zNWBn~A%cQ9771NgM%YFeSy)NLFM-GriX*F`bY01)+@2~nQ{ao(mhPJ1np75*4~;Jg zCO$eICowx!yV=}oe%vs97%Zw04c`K~gDppF$2gM#Qkqq1>T`nIl$TMDwo~I>9j*?? zl4HQJ!X)BIU{Wa+oiAZ}r){)u+ z*#p|ctG&}Z+`EZef>*0Yv`3~#%var4$5-n+>l60}97l?atJBq0=MroqWTRw#x?anq zb+TsQn(^l(6P{+AYIV5^dn4y}?QJw#17S_enL%raT1CB7eFpG~?VeC=Sh@uF(zi3Z zG2dD2$?(zokbT~|{8<0k0N;qKkE@q!oo&gp>7DWo`eOYcen!8t+u&>b+4@fM$@yXf z9}qa--JRR)Un=Mn;tNBB(+pz|LkW|B+ZuYCDxbx?SCCAJht)h10_k ziA{}V6cZC`HgXa}AGM9;jTOQX;|k>%;Vk7a9<;Yk85Y*6tC>ammQW!OlR=cfRm~VQgd$Nn4A8cIES|@NS(k8nT83=3De=)b^W6 zaM~wxG?)ur=<}Ub$pq3vYw3yzmo)zyNNaGhArGi!iGlX+hbcQVNjZ_nWHb{U_{lw) zYJrUONQo&?0hy%qu;R{DlhNrn+^>T!i|6i%=^7S$D<_6tiQ8&rDQ&B)E10CQ*d(Lm zCbxAC^TN(pdYDFajlohuU^SxbBCP8EDsM6yJXyUy&lap1LF9z`Mg zR%0LGR!pQe1&YRsKcqqNN%i?-yqbz5vRzn%lTZJVy+0Q#p`=zZSrbp4G>{rXp#_7rXtmnoz*3({O?gzIDdO&} z&42p(FHx99X(hv2)*)&AFNUkpS_kaK!ZInAqEaH#q#~Cgn0#7@KMp1+4QTmw&suERc zHWq{#7vpL>r(R)A%omenl(Hkpu!bZ2K3AE$$+OVjL|2CA=xs3aAb4!K)#l2~A#x?k zb>5Ey9ttXtjiPY%dHuGN6<4^E8&0i4d;olF@0xt~wc6r>3$NJpMZPJ7(gnG-?EO%M zQSy~HRl(_32zfkvhmECdhUt@wqsGLmNl|jPmK5B`eLpPD@ap@ovJq4k!-BZ9|Ca%^B9%q^R&dXsw>bYV4rgP)x z?wVC(QiYe%^551l@akK6Fu07|vITDZ5j1)|tu8eUC*GEozFh=089B@RQ&!TS&yOJS zl@=Xx*GMT!ni=7G84R6&a^oECkB-;&Mi@iH%(ahPMPStLF<2*P7)_Pjiqq26N_e`B zU-!S8AyALEwTY@Kk*J0_%hbPMvSd;jZk0}KXHF{4o$|~cX+tY$H|);R4pg>QKaS0x zSGNt(CfF!es#RQFb_a)_Cg+Jp8BwrNMNnDU8Gn?yN!U0Yn+%6?hpZ^ii!w|!?jm1@ zn5#8)QCS?$B2i?P)0@{iom^*a8I@_adShhPJgC1akvev~p3b&z7jRtU4;q-fCryU; zaLe@cxRV)5q^CEP`;Y66Y*tZhhzx`ra6KIyWvdNXQ%d^Nv2TyRIL@SpH;Ji#xpkLY z&36OH!}vy2TODxNhev7*$IH3X)XO!Z*aUn;Omvjf>4U3&>pW7X8W>CjNFZ zN*$ZsQL@_@`d(I*5Y#YoB&uQb+EcG)u{N_JqS_6HI4qoSvWqRNRZ-2W{lflulaNbdkN^2 zD@UVX^Y`HPB+2zrOiC*EM$pI~6^C)T<%jU8m8yR;P<}b&o`=rO&bo5|}L2ixQAZo=Z#F+Hpk|GhO~pOtSW|w{6`$q9@>MGe~7; zCfiEO93r)C#Y(qkORhdJI`>SGOh>5+TA?QMZ|E8D!8(b$z=p(aJL~vvGOs!3=`dOd zXoeDbOc-}-`c_fX&OWQEQ0%Ue8ou2biEy>zD&>PF1+hLIemIvv_GVxu8J z-WOawsVff0>O70yi$qdvp3P^oKKhO=@`77{kC~q;Jd88tCiGGeIfxp8QRU9-qodSS z?E)z&vLZEm(Ub4t*lxxZ19@?P#AyF9OfA(Pzbu(VQN-05tkV@(2lzUV0B2+dHGGSz zKZC3{LM4uk^?f`1+?yyuZk185phKFx!PnI3Fv=<<+81|g{v4LRwsZB~U&h^7wq>tV zb~2t=ev}u9CS*{i?S-cghf5v7HdOkz@5o{xg`{SuX06-ko2NM;NV$^TCESj!BF|a& z&v_Tkb$7`ZBLDpcm>yE;&F1-i&FUs!6!41!dNmsQ@V!90^e}KK1jnm+>4`uBaAg9Y zj-B>eVGo?PKpHTM+aGQY^9Vedx2nDLTb4((T&(XcMcb-g*|$DUvIo+H9L#e)i*d8p zI6ULI%3I_*GpU_CSss$~CBLm>XFgYo`BYxR!^lNMq+~y0_AV6|DE{pHpTS{+i`Zl= zb?vnb)bdy>>~oakxSH7%9hNv6osLeMD&@}oyP&au>&_~x=G8#RIFk4-}Iyq z@&z&KeJJE2aOxr=RhsdC#<7HrD|p$C%5Qg5XHqa`5&!P9o!i)PwalSNBpsFOsM98& zj*jE)DzXr?nk$Tb#>t$!YNRP7v`yNk4PtL7YS3vyw{}q)aF=?Ai;JrcX@EI98(EEO zCs%iW#uX;6t5)6cBT?swK7Ah*p3E(8>Z-dlDKlj*aXFM}Nw3%V!lEkvy6GdmB!5Qj zOG?Mq0bCPu@H^~neo9niP-aNTK<(Dzp(L?!wGznT@^Ww+#xp9nes9_#XuXZnC})iG z(NM0bHYj`^WxC1HQD6tn?D-N#@AI@7ims( z?-f#Clt0EHB&i5g*~EOxFr!cVDz^JskROw@cO(nDXh!mqckvVb0CZo>)FUe;9UxC6 zwq9%N^jJ7)z6r-9$H+=VMrx$B8J(=da=BuzjG7)>Lg{?j9O@#IPhmLN zy$hU_JiWE}IHJy!N^|WBZUZu8=!N5`=4Dy5VKV#s2%nzIrue|^pVR94u_+{paod1; z!mBk1YrT~Xy*P@7R#u4_Yq(boItR=eL9S5+&l}Py{NO6!Abi)`)p@~hasqdi%+1Z@5e&BWKhX%hYj zUwNR#k0o5E^%ShuDg-%Sa+gP@z;U zWNydr;dySLLqV8HyPfiudDA2AR|Cp)*4f`=>%7`l=2{js9jHQIjObeI#%vm#zZD6Hwm>M9_C8!7K^LOsXqSZQ0}?+Sl!Z|hgpbuDIkdC z+0ba3bVtr8yQRW^!c{(C>Ei8YI^g=$lVHuzY_$5X&j8BQ@N)Hj*unCR6+h+kdnmd6Rk%V)5U;XC0#EEbZ>^J#HpGEL#=u0GjRGx8{+t~;p|^C zg}{_-UP@}^AA0kBU4kzh-F1r4#cx7eE#|+XsbHybXt4&-CP?tzAvc8!(4fd)gAEB649!)*s`g1wd!u# z9&d9)0bAYg4!uqD!KdT(h8E?L9Rxfw3Cv#iha@K2pOv7LSY*{TPMrS-Pe8E0V_(G` zED|3-Nn-+XNIdF9(JLk6_%(}nBKxoQ0Slfhys zv{Bun_%$x&-bT{QOk+XvtSHG$>U`43oqkGA)Vw+8#!0>?0|WDw2zh5d-q+Rr|C~koSBm_UO6sz%a)lM zX=41i5XJD_@u$moEL>5ho_v^`k&`_$Lz$3Tx*ctR($(b~GE0+^GcpsCOVi6WQtEUn z-NAhKGi9($m3<97M3odSo3~7TWaYuVXO&Mj4eX`iw$#9V2kC(mvT& zS@4WI#iVe$O6YtY*4@ZOcJ<_%lBX$%!=~gp`$mYAU9)rjm6d0_raR_`WDU*=m7p^d zSD|`BGxr+n8Tjz;SBL)i>(jm#T3REmN&l_wUT%P7QTV(GV-%cs4fGP9Sa^8xUNw`v zJ$|L8Byr-riOMOtb7oJ|EMs!lD37dR#)cUt==4h$Ptr^tL*}gBH|3!6_2skokIht7 zldvNt<+SIq%U1|!J(o>MiXJyc5wtu0%)0Lpnm#paW~MSeebtuTyAP~bh3X^dQ5V8` zd<|KwVs@?DuoJR$Vs!Mn#O)eJwxb4WtC_hQHz-~Y+0$8_K4K+xes)=0u);Vqr65Hu z|1dLoW=f)B(8kz9Q`NJ?6VQ$7>`nSSbXS>9v71+|gHEcHO&U1Jev28V(T$j4&mP!w z;#B0`z`+sWBS-I#IIr0yicjCLVN2=yEn8P7$Hk{7$7!Unu&x)XHy5O)DB`DPquse4 z?M|loGIm|zqLLNLrAw#htky6SXXWN)E2m6ZXui}vhXbiY6|g&(O+s`Y>fvrU1db)0 zDXux!WAdb|w5gNOSbY4j_wE9fXC{7)UDR1&{eCyg6ltmWBuBwr56jf z?mVg3m|vdD)Fs2oY|)~^6)O}E!=W?RrgvauKrG6km(oM_dML*RW*NdXj46}-;@}M{ zW>F(i&FjP!b?2DJ*^VEeE4pf@T!LLB(mlo#%S(!i7pdo6A$7CzN)ITc^2Cp)D@MS) zo??`@=8)lVn3#bjb3XJ)Gu`+L-S#k4gCBlLFx+cXWEy;Q39G$HKtGfwO^PAn4ilD) zy1j!e;vP}br74pZr=d)#8;&w%)YiAEZRzC7r7KIzl+3CE730Q9*nq;lgKL!cPE_12 z)Pzv_f~1(y%Fu)zG&>xoo)t?Ke3`B`m+8#vvW*+l%MuM~sfkGpao65tS;g%${fTx! z|Nhs%cs@6I!mux%48+bpdUWOJ&_PSpb0^KoN>?P#&X|#^4#*xkbcm8M^@K6&X;f~U z$Qhh7(rcJ9GpBFHKk`9!@7={%vk9l>}o+xQ8mNBENK}xQkyq zlT1O*9n;~e_;lu6;ojoy>RxE-M!@{jVrfy73L3wRTbNapo1fieY-)Iae`R)VVbL@V zbMz}BNf>uhwz(4as)QEiCo^@{)PfxKL_JMTKT%^8fhAQb{bm+ONdoW9;E4ojJ_Z>W~`DK8y~Nq1RYf? zSFKjAT0S{5HYP8NG0khKVvg1IVPle$qVz&dwVki2q<3i3pUer^@#xdj7>ueUU>O73 z(x(1LnfRP*@YAuxYYeB%xn%-387K;4FFzw=j-Jmz^;2hb31#3^4Rep};!K{Ppw(wm zdfQY0ZDprlZiDo{|CZ)}Ur~9N$FQ9^3-UU3sw$p7=}lHruF#^s2-$u~C_-|lp?%4q zTR|=fBdEAby`y8J1?6f>JQ2?gbr~Ei<;{m8yGEOC}bFgebVbQCb%>X(rF>uw&)0 zTl#d_v#7IaWA+YIcApS7K2cLZF{USHvE4A0*j?waPIWIz_0>ac z{@#jFhGec^J3}KqA%nrUhuvW)F7p?f3F)Erp6FLl=s5pn(Tl$oaF>{w7?h=tABsqG zD~pcZQ@}7WGgc8S+`Mjlzj-l{G{#)XJRQ4F&7hMWPX9nN8#bn`No3&goT~$GK;O$F z&qMju!IzjGG#t+{=;}0>VNY{ZoiC(LbA!I_5lh*zXkNwA9F;rs@FaV>c+aC6<%(PFAiEbt_EfYc# z5@IsdTQf-JNCwReRd86X?(L1+tIBt&vlu8I%C0}Of6*~Cbn66W(&AJllLjAOoRcoA zy(!-X{TOJ!5O$w;T+Mysidd%pjtyIP_`qqHSQ@sZ8S>7;%~x+ISFfBoeT9bM+V$k@ zIj0f2m0Kp7%k)wj&Q8awo-@aFdjr)4(de8>NkE%cys2p2!etAXLkG;tW41D!19_Zc zP$FEy)WDn?Ml63+?JkzT?JSn=gDq8yBUXem(2?dmxeg!OL3@Vvr8q|}0HP1c)PMU{ zKr?FCMLe5JXXlo!Dq=3py}r3hu`PXL`Z6_Rj6#v05rIaD0$H7kcIvvy9!%qmD%!+B!vj;M%X-ykz9r~v3dGVRh}kL&Q* z0~9N!Il5iyFD^@i3F*w;IiI?wna)EIIuhQ+)dXEsUwSrjC&^T+45`M%#MKP!pc>1V zE6L1RX(@H5N&jV5*#Q zvkJv0yM}S?e-Vm{H9dx~42oH4>1yTbG{T>i{+j$I3};1;CaAtPo%&09ymFA`IJNfgQlG z{Q%nsu(beNjS<}~2tPph0-_%v`~lG)C)!$=|CcoGfanYePe63RiLrnfWB#v$iD7^U z5)s1z5r`3kF=7x#gaG^_hQG(~KLP#;;O_wb2H?K~{4K!$0Qhf!_!Zy@fOrb9!#MF9 zz$!%883MZ~A|3+lI)>E&?52cx1h5Af@fcu_806{{sjH;9mj$+5CSv z!fOF;!tmZ5af2Ao19&=(Ps8w@7-4}CDE{9tf&>Jzd4m-`oxo=+@qGk-xGg>l;D-P~ zU<8E`3q`~hK ztRjd*IB^{im4H|ah}(cT3WyVcIEE890C5u#>i|&&h;l%jWQg^ExC)33fXE|=VuIKR zh|Pd_35XeDViO>?0^$`QCSb&Cj0ginBp|dnUIPde@Ru0z9uR+G#1QkJLP-RHEJ@z38;) zrl?xzD{e#~iU_Est7twCZ9t+A7UzhShSba;ptihpj$I$4TR) zYo+I<)z&iWp4OwRCs|ioKd^pdU1wuq)859#rk~9So0&GtZEo8Wg0qElxU!khEyu zBDzI&i$7XQTGB1`En{2$+iFa!r>&l~7Poe2-Lkb?>)x%Www~L1RqL&7TD57@rbnAW zZNl0Z+stfJ(q>DWZEbe8+1+MuoBM5ExB1)_YirqdaNBWhW7}r5{p%O+Uv9MP*ltz3 zzuWt_pVB_3eO~+g_SZYG9Sj{ZJG|`hj|=G{b7|@_)@wM9xyv?}J1%crxQ?wm z_U!22aa6~N9aB5zb^PY4a&76_$+eH`Sl0yCJlAWk)voV4`F9%H>4;lrH!rs#Zlm3j z-Ll*bAJt&Ws z9$p^9J)%4&c}(+I=W*7f%HuCj%+uOa<2l?jr?a^8pw5T8SazA#3Xi~ zg>H&&Yr7rlcD;Lt?j5`L?moEt*zQT)^SdwVzOnn^?w5Kr>Cvu7?;gQDj6JsXIML%q zk4HWJ=qc~nqvznB5j~APSN7c9^HR@8J-_vG>eaWGu2*WW{9X%t9qx6#S52?F-pbzU z-o1M#^q$^(X7A;_xA#8Lr$wL0K6Co4=(DM>L*M3oJNF&bcU)gX->H39_dVD5iB~_b z0bXOhV!g7w3cap*{pHPgxAgAqea`z&A4{JhK2v;-`P}vS=!^OK`zHBr^F8icP7`*Q=V2RILK8xTGqb-;`P3kQ@BxHI780MkHfpnPDnfvy944eT>8 zec-Zz8wYM4xPRcgfp8EQL=TD^WE_+|X!oF_gKiJ{7C;5G3}_t?5s(xxJ>YWyH@N@c zfrF z$40*$({zmYnA9v~X`)Zu$IRA0_aV6unjJF&w z9j_QaWBlClUnWFO$eXZz!oCUbCYVC;P)Vpd)G5?G)GKss=;_c)VR%@tu+d@j!X9b6 zXw$Wo;eO$J!_P(Zh*%#{5!o@)D{_}kuKPt7rJJq07S$mtIBHzfq^Rtu{HU_1?a@xr z&e3C|7e}9nAz}u^l*ZiGyXqHBluT?rasI@;v3RUB)+V-9Y@68Camu*pxW#cN7V3|$??gjl7CMjQ#z#tq(r4mO*w8PjlGO|W3h3)@rd!S)Z)~0snuz8nkvmDZEV_= zv=?b#(p}Pn)6>$or$5ZF$mo-ioUuLQ@60ZlrISRH`bZ}Y?rAg0f)kc>?+uj{6uANElEzzEo95#XoMzlqsa@@dN>-2=yDiD z4yBU0AkrC8%y1GH1WDRFM(VfXhH3IO*_~(SE)Tza^||~r+}@e}B>t=9^qq%_7o(21 z*su236}A4jV&A62_pj_TPAyZHUnAvj<5z~43@wtp4QMTP%^n)iRpD`Y+{Xy@o%lWa z5sKks!+nEBtzH|WPU%m|KkrCBpLuS!q_tQIb%#{)ojG~5d}_`vGgMBahv#WpjR=o7 zUp=LkuF1KkPphLY$hJJ4_7HZtFOM_5vyV6svpafE#raK7OaGSipr&+A8yGh(?C7AX z;nyT{#kD8*ow=o`8F;!2CmPzN>$tKpJ3`e3V)?$_+7SUA6|L^MLx;Op)}B14mK)b6 zm8P%CkjVFO1*h3=!_VKpU9o@HI?Y{=yWRGNN@8L|l7=hg+g6%xuxHke4<8m9-7ivO z*lFB#OmSk<;nQmA7t6Zd>DYGImUvUwo6Ye_Y>_tf%zVdlv_#6C;H>J-U{~%Ca8%vE z#dJLmTizjRIIATpu4kP(y)69{`p7mzC?5^i)OoW*xMt)mO1^0@bQ%)#8)r?<5_7Fr zk^RK5&1$kh+@6!3jlKe##nTr#r^`FrK})h&4BKUpH^f}Kbh1b+kNF+ilG0^pZRB3S z;HoPGTxHtCa#OjqK$ynmUV*tV?E;qur;3sB?b5Ik=tlg?S+EbAL#Io^p* zse#CWO{?fHmN`&{oq!Ah@f@~LCFSz#ywkDS@I7%Yl7-vq^rSzNobW^$d z7+sBEPBpqm=3G_z&8adit-_$GhA@SttNe0q!9~|#d{em3!N^FK4 z{$SFf(R}FkrD4~qh-+{fYl`Hik(J^vO0b z;mfi>v1u7MT7bSwGKJkFOdH@)_DdwpCH=)FHQH&j#9zz}!XjZFDdqf-;iiJyGH40u zwhvCcl;4Mma0EN6yx@4rp@S!y96h`H*bT+KQMWkp$e^qgy?R{$xvG5c(w)l7v$yI; zD<&jIP8g{k6POt|e`HaTqx{V-F4XJ|baCEH!-ZQ^#_*9-y=hOCtlV@_e&3mvziC5D zJE*p)WIJEWEBmPAyUg#GRQ9H&Pp02A9jFXZNxf+7ZVl0rmbOEVoVyK;Rc8FIeGNPZ z7u@C+KqK5(#r;c33(ap&m@J>k-@4KAM`k&1yQ!p=uni4&qz|K|nW{T<9lFzV`kXr^ zm_CMukuJIoT2$If7;X1?X>wtnD`p` zeRq}okol#R`z|VT+BLmJD>JNy(9_a2W(VM%8lnX)O`h}8KTRboHl3Cy!YX?>y{vA!)g{G9P9<>;`{#bfr3R zZ;T#kJ#zXtnMF;#n)x*SX%G0DV@C@1F>C2VZ$H0!EvP{D_;iwES3WS~@xBrq29r35@&xw#Kn4Xv@m8 z!)Ardny9`@$&bx@5Kjl}I+J))2?4~PK`+><%X`kMSCBq9PBROh^`M@A@n)A7EiGQ6 zzE*l>|9R!_66(DY9v{41Q=C&cWvW72Nz1BgAclOu8>Bn4FN-YI*t4z-8t9Ho0{S!rF6eAg6OUfEV94N_&Putlb^#3ECM zvr78A3M(}=^;7Yy`4PSGUQXr68}bhuVMz|XZNk!GIzc0UF*gy~(cD|E_@8X-*>&Ps zT^{=_`}#lG;(D&y8zU=o?#W-kMesUoLT}K>-~2Dm-UBYGV+$MxH@i#jOE!klnRGHpgW3z)&pv{lV!# z*A9U(8781r3}Ak!s90eww1Cm zb84Z>>x*|^mFI8UPRvBz4%!^F4DLafyu!j7lBlK(MvQbuigAIhym0*qx68Zr28bni z;|AAD;DdMSe)pH%p`US%22JR6h&VqhtuX3%WMRPJy@&On=Oq#S7WEVP<@)Cymp0~{ zy?rcu$BqPf;uT@E(*EEo84^sMhN$)7>-TL|j94V1pS>4_xdf}+q=x46=WUdmiX|#u z0+?0SR0ii%x?p=>03`-63r3ZpQBCBpff(k(IgD(igRHzZZrilOxyN47_U!GM-uZpO zy8CbuOhxB}=qEE6IRlNvf6*+FWcGx5_;?wXHRwm-Ej;!C{T53DPnf47cVsH;zukSs zV(3l9AKINKgKvx5z#vYM23A7ob{UTmeJ2V(4d1YFmworUg>Me-fn;luc<^?GpM`Lc zNV0HowMMVXL8V`PZNn{CaL3{reFT1j_e@T7dTy#bPj%Y+h>u>adzz!Ibd#^M+g7=I ztWE6d1idL)F4+ZAI0_XEeJOF{nwaIXev?;@*%-Gm*+)S)nQTy6+DgY?vwOEe{>&lE z)m*x2jnkr~W~uRRa<^qd=fl;$HL~X~PJSr%$n%a>(3g&6rys76KAv4PGFxt#Zkl*T zT2hi#efFrgce-3M8@gSByi2;Zjj*Fp00+1n#&VsvtCM2xO-qZLvxFYbURJB5rtxc& zw#aABKEAf@y3jTAq))NzXlcx$Y(>NL6DJI>V-X|n_*rS0&oNb|{7$3g$ytWNv@Pr6 zEM$8ZF}I87&hEEp{qj}wkG;HIa;ZrnX;)x9*jW--2O;A6h4D7Wu(CFx-vX#pGnTO9)nCFeKez zb}`%?4i;D){0_{qIC=uh*6+YPhMEOOl<)z|?A{j}FACtK8KW8A_-Xh>%{uWu*Y%+$ zGUU7recLx!ftV1`U2;bjf$BsObQZ(JPPY*31kejcGu5S~Rn_Jvjg8ls8wV?lN-fS4 zC1r?GHyP_Fx6n6C6*U@5yu6}<@u0#I(k|qr)K7wP+Uh3Gr;|HMxb*Wd(gUmTztz~P zRd~uf6dqDatMF9q_?!O2<2a4$(up-FLyIg}%$(dfqE&o^e}RMcKLJc4+66o`==dYy zu9mP>sQ=%X4P@|usC4kKMNhoJUAAHUwkIj*)#_v;ijL02i3is0i zKv1MxeEMyf0QzwG;Vd#g+0>#7lP?HB7Rs1U_pRo8iWgAAy;ZhVTpxs)4vV1-1Kil%uVkp{Xk6sUHr&^Zo16U#knk9TS!S}Q@yZ$ zH&F!^D&0F+!&`&5h+^0;2I)(pk4lFKA!iJFBA&2BI8WSiL5NbY%Ktsq6&`U59?_ZA zES(4nmbTl>(wQK{qReG=okKUskO`8b?#LCbgm2Lhu*=B|4M|tf%Fwiw&?FhW618`2V(5Zh9_#(> zWN6Gt_y#7zq^BT)A!WIKJ2Mm#XZ9ghgj&J+F6?cg?bXpNy+*C1@Glt3(g)QiS^V<} zE7`&eTT8Lv@EprzUMkqD(!JG&$=3it+;~BFRXl5n5Dt$)e~9NAW9_cKN{EWZ#4>K3 zlACu$|L{XN`;abyA1K=Mm#jr6*UHx|71AZEu=JLvzA_&Z{3VcIS#*h*b|1b6K`nHl zrWRC8aAa_7y!3$$^hP5M=i5%Rmj{TNHqSmbNrnvi4@RTW@K-~i+x1(8w+pctHs$cu z4K1>Y+NhKx3R>kw9Ea?-EtQR!TMb($k2ouelid96x*O;xU^! z-g|xgx6A1SBj-(PS4)={+8wiz7dRw3uajDAv|YH_IU?FcPFr}-6VeGjSx5bfWFV-o zeSXdQn9Wherd(BWzBE7MP)VYko^~+)U{1aix=gGdwq%XhMmxEs&6b5oByC?UmL#&# z@U%vkQ(qPw<@(~ael>Es3^`)Se5#Neas@`0*ca-0Q8Keyd(Jpx6$5A8|Xooo(0x=$9VP`dDph%Pw*V}-%#!5Qh&P*J$s zeusUkGBmRLIZ+u5jYyBojY#VeDhhTAatT%*Kx4a0W>PRKsM1mirsc-~h6?i{*-!n(-=L7Ka%OdS3_c#q+qm9ls9 z028osYG`CUZFYsx?S|Tl=6bV>lN5W+nW_|XJ2MA63rmN>lgBekPAeoGP5`>RQYmQC zjAlLo@c|I8$vI1W0J?zS9?XUzqh2CWpkm6(4XYfnG8rps@9|CCzQlbo^6I3sh38~X z&P*DL#Ktqm8n4c;R4M!p?oEi1^5D}wlXS82WRMDaoY4n|Ys;=f)fL*q>I!# z?Q4Z$eZUIC+SiJ}x*LY|OAPBc4C@pO>y0d$2p{u7kXd%9G*7qq*rmhgi_abtz#?uB zlOReyu*)k{u}>B1yU$PWsAzBao=E?6|CC+P-uv`I#EIdt(Mi&{-3NC>$oH##_id7G zQSJ@!QJ{&3#lfIpg2N($56IG@cKCRC?N%zbiZZZNGR$!1$dNZ@Jb!+@>FLv7uZ>Uy zI516Tjb_YTX*4TXF=Itl)3wU#MujAr99oj|w4+eoLDK8gS2$sfrxLPMWKk@9OgBSv zB{SLR?z_83K7Kfz=i!>7NZ%A`vq*}%ET1}7j)rlo8R&CGNS9&YS!J0A?CnlB7p}LD zu$5u-A>C1EloSnpH5AM2V))l>SbW3hvhz8)Q;pTx6(xU^clS7f=p|M;rdj66J=U)% z@;a={^5}u|R%lOEi(=;skQUzwm!+Par-QoQ0CP)bs4( zd&eRFcx$n4VR`Eru1mQ9o@;tCXgZSOt!o-G1pF^dgQ?IRVp1-dWR@bKhy=jg~2ckQziv{6@Vwk9Q0iqyGk}-^h_igQ1=Vy9Xq){wLr1` zu+YcdR&662X?E%M-IF!XON+dBM=K=b*mLkLe-_x>2P^x7C?oC!Gh#GF(nVjVqo26q z{wywE`&J*OynOVEzK=6rKlKmFnieG}(A9YhW0eq$EdT4Oc1#q8+%nyTW%<#PHdh*`R2v!}b0 zlV^Gc{?3Ze$d=<~>tH+!i%VhD$xqB$u*y@=waJY_`uIVQl?fAN$PV>Ieb5H97AT|# zlROpcrVC5`a?~zT57kb06_&Sr);MXUIuw>0A99ZDudqUSU;xD%YJsv9J+~I_T`2>dNM51#duzSWzhxg+2}hU7?PV#@j|-5xgJkvUQY zZ*>cw-oR78{#4ML9sb8qzNp^UMbQ9oScH>{@Yo8UJ|$y&`jo!co1OZe$>?;Vz+-u% z9m+jC60Kjt(qM%opK8WEYmahk$FOuBIm)da!Qz!f#eHDjO{P+)b3BT)2f1LS1tLim zeM#-kLo$V`BdAKooDkPWzwbxU|7j@wzvP1y>O7A(ZG%Y!-s{#=r*YTXBiZMgOQc_% zR)d*M{&HtqBu3W&ivHb3V>y(1!&41^W(&tP1DW@esWEtneM4CKbT5kDM$So352Q@E zWz5*I|Coh-;Fe)+W(;-noqj=^+v|s~S3IE0)Z~y=&7ZQW2U7GY9W)Paj`-&We7R+d z*fG>`qLAPw;;>4x{Q-U2kd!gx3mNVT+_86u+}g+HuWn8B8TA-A9*!&DImQ;W?ZVpB z#s~DVUbv=5FH-YZFWmW&WHbqyIy9_fhP;Y((hwvhhiF--C$c^TgBs11+{~-wtaLD5 zRJegHjM{BuhgY=VZOy&^;T1hdL6;%voni2Uk9^&smM{$M z%@643pK~!YuY>#%|6DVG8?=bs!al?~yuNW?tCoJ163y$STi8F|>ASuTYzur%KU>Pu zzngJ&Bfc&+kf^tLSOPi5HnsVkf}y2*+UQG${Mm1g;U~$libiwi2~hq!V;grK!^WAyu({giLEzp-pTxNyeC|nZ{(tM;bSW(U2hIDx+kV2G zU&MOz0PZ|bhIwF1fa8s^q5C`TPn%r!a0K-m@k`YnHiI9x$B>#y-9U4c;GoP@a+f~_ zsXA`E3h**}1HK7t_J1G`4bGcUGOg6G2RNa(yJy+h{^H#uVXhG9#49(Uk5toj5-Jc+ zr9^bWr}1LRbu5&ez4@-n7*^@uZiCxx^h-@w&W)*B20d7G8~<5me7@bS4bH-CbheFi z6OZZ7pxf`@wum<&XsQBN?R6IC&%I=>x9|BC)?r=xM`QRAVTG>=x>ljC;3}5%8?Mwi zU)6{5Hv6aagG)%v&<)^~34=fa!=<1zwQfKpi5u{sKBuzkhP3V18l*FK<`$KsJi$m9 zonD<}`Wz1qEbd?`mER4!O5}quh8=i+$ES(|6Vh%eNjdhpv_byeHE8u6s z;#sY90aweFG4%1usbad|{a7)5ydN^fKUaV$`pKQ5ox&yvZ;Jx*0?Lj{x#{Au=pEx5 zxP33yNDKVG+;_CW2~liFY*>`MEUu*Zvp12ac*OeEzj({zXA3{Z-fw^rQrLQen)l0c zOG`JbX7g7h+8Y>tM7XJDZmYpRc_8%%6A}Hg5}AnU=J&*sxZgDVYsIbhGGg%l4}MHo zX%Qt*Snm+PST#Gg-SYs82diIMZwlYBbS=-Nd6-F?ykH>{ckpy!owUF+)BAvYp_ee; zH^#$VYO8Yf@|1Vj;zQ6`5EFBJ+7qg{aZDZ32R-pP7vX5bc{h-F{>m%E#B|BB16FBU zGq(E2gma2(k( z;F}0tvFvFeZCg||GKwfB4=!aKFS{bWKlki_1xsAr?Bt2OLvQ+N+2x~~OlC~8>E)`x znBIRVFCr6T`q5ESBQz52*lfF3A<0l*U#Dd8b_&Pa=#obi?fGeZ87X@E?4R zVY}Yjc&^mv5G$5|Px3V^OO|61^EO4-r`HPUr_tI2XjG6Urf&knVy)c10Vd#bFVwi; z2Q@DFR85M0P)Aefnbrx{S*~;^PPhjiP<+i7YEspwViLPZ!OAxJHN4ZzVIq7S zq8wx^Ew^soq_DR3S-e=PKE$@+IST8LC|yk7zm-$>BtO-ESFHR~w>HgeagyDtgUe-e zO}!lL6c+2|jdJc}<9&te$B`xpO)_nY@8G!uA7;?2o!xdq8-**P9*j*7egp_o&iRHx_h z=Sl0)FaL+<@ica}`WhIQSC_+rtNL}VlOE9==k}cOb+_;|k>HBi75u5lkxW1dh<=IMS;G7K0f|I{{GTsrWZw#Gt-R^uhTOwYueN-tF1^%&LMis z;iCJ62@mzb<>aH2^gT7yYUVMO1$ieY*_x1&8k=sIeA3i_tH65NM*Idi98zCtwDc%0Qx+2~1!FDz5|hwq8l zFNKBT(2(FzIkz#5*&7hBSKhu}v^O9mQ~~qEkzxD8!{s$qcMm_7wcWKdu2O{ih3(!c zl{ip{*j)^}MQnEFw$McoXTWWpA*LJ9#2In(L3U9X(mqTiL9(E$@b9a-c;y#x6Wv%e z@>R18a3pK7#$N0&W)f zoKR{&QB@*}Ka32B(1VHyBDy1ePjFEs-_B7z&LXspL|c@b>wW zfEyfxY2*^Ot46;VhEVWw9<>NYP{&(I%lFo>u$}kw+Ej6`0)DR0Kg9ca4dQPQ&ZuDt z_okRd2Eh&U@5x#k>w*1pIpDI`c*Um6_ky)o1oU?G-S%n*K4^4=%SGtJCmkU-k9erz zR?;c_M_c~V{opS)Y8Dha&}sTKl$bsZtz}Wq4%??X472en7WMdI{B(vleu`K|{nBat z6s0wO>a_#Q=wGa#?mrT6LoC_3oz_ojSvJA^QZZ<*lDZ-WrCAO zUMC~T#|Y(gKO@v(Wb6W1avvjfq)1}YfzPLSY}Rh92}b8l9-SABSQCQITLhhc-joT! zCOi_{wr5Q`v3c$hL||+#CfM9Xu-T&%n*(OA?!@MEjLk_Hn}w+-W!Eq^O|;0YBgiz1 z!R_(LJVlWCVIJ;j1Xa!>^U)gCWHR(yco{xjSOWd@-?o;WH$7kRm`;b%$qc>up7=$~ z*$bDXwHC(*V-lWpPQ)a<`>IdQ-l8jdw+$9-aP+SYqOWCz1!J$nV?aPVFOiI$rFE}1kBEuTZ_EbgEMPamyZLE=O&K$SZs}-9! zdswS2^cJo;CkosaxP6CT@NTtqh1n%hqQ&f`n28;G2?oCdX-YP6>D$e0e2QCYvJ?sve%8+>46eL!KDZ`YC zaVtc0(@Rl^Z-|eNbfvY$d}m@hU=joq&B|)Z^uhH$X1Xc^dJBkQL>U@UL;liY7z_Tw zQKC_3n2)pf7PV`S0FgRvdzyFlI2h4=ga`&Be<7mHVAxVL4F46;MF`71CJ9QIM(k>J z&l02Bbyy|)%BWU`wlXO&4S%|$X~GL4{2RWZQecwMNaTSg3HyjTe}j-BWh5wwvs9i| z!L?Efs~)e)o8bree)Y|fqnAxXUD1z~hOLUw(~N~v<%?(8l_llrD@F`+S#G9~B(fXX zxfD`!OJSI4In1fnhjn%IK1k=VaHRE1-og7N2l9T&^uE7_FQEP&z5pG<<2a*&nWyf5 zc0AQIGRRWof|dz`W0OKtWX-t_79Gy(k)NH{w-e{}bGOR(uq|5W^)T&pmViD*--jg4 z?M7LKLs%&OD}+TEAHqUGzm5!v2o0BaMzJte(Dz9o3oOMR7zw4Yn6ELFi`6^uJV(Z^wm=JsF1=bR+rbDCND_}Afbw(dc{GZtHN3i4AkNVuHs zxk@Xky|c?&Ic}o*e}v0Hk+`q3s*hJFZUGaO5EPQ27|*t^=H`O|%gx`0fBvcKq1HJ} zao_D`Q6guOMsc#AS(MDpg)Xr2ImOLoK#$!~+TG7bx!X}@YMp=aTw(F~ti;{BqZQHR zSoCy{aFw06FcweSX1;W~G?`i|mbCZeUcX{B@<(j@K&~6-2|rO9ZUsd?pfAOBTfw3r zH0(5-E~PN}QZJunpT(rHvV%0xQ!Lu+uxKFfXHGZ7QxcSp23A7RO$sOOp>9emY^#T_ zw)Ax0B2Tsy#w2FP7s$?}Ioh6JQ4Sh*2H2Azyv5SbN?__L7OBy|8x-at+y)cJ(nT&T zI)sK-Vx9FN^%sgT6K?-Z5x2jDGYCV&p0N(^NZ^gkK-aW9KnbUR z*FSpYP|3QI+$;0}n2XH*9uF?=|5rS?1KN0S^f+%*A-z%?6i$ymV1yN*WHb_E*yK4D zL>S(AH8MIJquG+`z+m(%_5#5lTCBwAgB*fB{9E_IIl*OQO)v;CJO&}ghkEgx$KZ+) z!#gktM==H=@oNl1B9B3wh%v}t0HPd-A;=CI1~E zNDYZvB;)o!BN?JASxujZl%sh7i^9loClR(T!)!gMk;J5t)6F+{wl4c0Y<;SOt(*Da zG+)@-OhK1@W@|W#*}4y*1c)gmOx*_)!%NK6g9%eF>}2ZqYdoDCFjK!IOr77s)bBfD zVC8o*b!QB$mmM*%96Fi0pp&T~_H65^D7=)H>!;SifI7OY3Sv9x?H^R3BEiHe){3M&MJtiVRQEX*Zz1vYqD02@M7{ya_j{{u-S6F+Wk2nqv2RywAQ`AGDtlDYgc2eMrarcZi_Vc&aetYBJ z?6=XG$(>FsuEc3&@@Jow$x&?kcW|iFWbIH46&+Nif92jJZatmMWxi(W#B@cwK8zra z68bPwc!fAhtPmQBx%H@oscN@27E5pyU2era;t)}S*VOj)utGQ=7e^zBON2feA)F`X ztOtEA{krBrO?^#NjeaV3iuUBPxv`9ktEGd5%yeVQ!OaSKb&R83saA_LhuzQ1E><5d&L!8FLpnsX=MtHjoQpVGZgpx&sp70?~9N5u%Gr zAx-o%k_*v-rO;0_1*g@DZsL3i^oMV&K}Y$hTDRa5mvu?N9foh2w#)UmTa7MEm}Ig7 z3-hPetf(@Sja@kRm+{q0TJBX;mY-IbpQ<#zE(@twYja0 znF1jLQ~RRwQ-_PotBOtRk0{pLTC7!lQRMNYba`x4LPWeQ zDk>mgKVH<; zU56nZ)U)@czR(kT1B3s!AGV?&;YXwxzhbkSg92u@bIhzY6|Jvouiw2|VQ!Y7KqB9T z{ePB8a*00u?mq0riugP3I@8qtY{s)sBkyZQ!e0I#u|zrS-y?K$x#I%vhNhmGFG7ny z?f3KWcirpNBT%#_VRzcD6!ZhU>W<{g63wsYz}WWb!b>8_^wCY+(`)*XAVfkgq+Jc) z&<$MFXr@U_KWOh6CW38HDx@zUS2!sQgLl{3*BOgpC#nl< z>D60!Q3QSd5GJeyDnlMBqCI-;=db&|#6Mglv+TGi{4GF1 zmsgB~4CdU4BWKRq95q_B-r8h!u}uv*W^+r~x(zVV9^8trxm)vDZc} zBXPOnlI6Z7d|WOsnUhCiUSUyjT%4jPMA-fl+Aof?Py0W9pVQy0aI|^CXzyM>G zTt0WbD&UqOIpgQ!8{i{z@r=nRDn3@6p$Oj>yieAIN??!H)bg|a0h|=uyIGpAl&> zI+uMYA|_QX38tQ$=Y75=un1`mn^QRDzV>>bB*kkE<0LtLiOkQ91qh)bQ( z{JM@!RM5Xws8h*h|5L*#4{ryy!`R)B_FAilOXsz=4Zpx(bBecu;J>X(2eDf* zjc79`fT(~)FOgjhOjok{hc0`y(a&Il9XsaJcoF^9%a<+8D2`3Wn`*X*w1J1Wr!=>% z;3VD5n^K_fiunP()*2r)^JWkozHWFprc^jT8s6s(x-_n2LGd5`&(L_$VS13se$ZMS zyr6PaT7b%P87uJVhsJO*~5R+BR}DobB)>+XT6M9bR4lEw%^Rshd{`}49zA2M9Xtj9tNw{ zkq;D{V@F~>W}S{i835rOt-s&L#!JJfvi7T=$COXq#hv`4$%wDUo&aa`WcL4HS29>* zTS4*ugRdJ)+vsMTTSju5N8kydX6C|IL5fJ6bG}opXCdKkt#jcW=t4$lN2O48=R3_t z3SszaoN@ua`C^*#9Sq-v)9zGuCLJX-eHmF*gS3(RH=%~-^)RMQz>PsN#&4VV9&f_= zSq1sUnQ02pO}*6y)1{nzOnW~u8nkf!z|r$A!w@;wZ%lh{F|vL$6?*KEhlB)$$hJ6b zwplARE!bR{nI9ROESIEEM~D^IjkXJ?U!1wnMz`Scj0dw0E3QAkSaG!wE3QAkSaG#z zt+-Nni=!KDg@oM;+vt1!sQX%edZXpHpP>GV%Yr7bOhT*bc>=p9j5BRI8?*H{c;wLRtf!1N>-kQaR}9<0QIa z07btYrn$hE!|2f#Gt^`iuy1&?Fs(JuDNQ_?)EnyLTV3#eg;PQ`qX)6?NfF-k{`eyU z`o?9JKAy|cb%oS(E{@RP80ylwHC3HrXo}nVJ!4?cCs*) zt~k8;bY^Zud>S9Ca+~iSPnokSE?+^PE=VhmO_I~)=_0?}fFmW+@uduX&xDoCrmD0? zE{}$?NKZ47SZ#cj(v{0L{QBEiGck;pZMaA zsVbr9LVpUT!Zs%M;F-fWq?IgT@rE|^>rP9X zFpkB*`iOz`ngHvctZ{}xj3Le-<7v6~=H^#sI{J|Bi*ufy|GWLpF8G+nPD1OdLDmtm z9GCc5e;*fNP)}yJujgK0nNk&HlaD3=EVX*dH7z3luwg*jSojesn&YowYwMMUD<}4jm7Jyy71Qk?drjk$LlOrB8`l z>CJq+Y4)Y?)O+Bmzra&}N~XS(eMDl)^W|QXa`$n$*SOqJZs2GZHv{X7u+((;(Y<<* z;HK1kTWZpnx-Yd93zduZ%yXV4bxhonv|WBVT1dZ8d&YRDq)Lw#CLRlylNNN}Y2ji^z0mubO#4_ zEQ_YN<|^p-C&w~l+C4=yx3yDbc%LJ}{gHY2oyuv;E2SHkVh-NKI}wp_U)xShpV~4h zx{fz*>xklg2l|?o>9_nJf_OtuO~Y$E>Z+@F_*F25xC7s43}WNkJ@F>y8|VHj3w_x# zynYa8+t+v*YK8%1ks+r<8Z%Xv3TND?r%Rd)+C=m%jTx3NCL<#(U&Kb27dA-?cph5p zD~#*lAtxVCIq^2e)mAss4_;Hs|4d})hK|0_eUa?^H?&2p8GXA@qmKt@3=Ji~Ms zNAYGbWt%7nfM;as_$p-wm>S}52qe~UXxpdxj5dQ<(KNLIMK<52&eDVU4W1vbqjoVM z!CUF(-W2BK2uuerF$Iw09Si2<7}B<#Y4pPuKf*+k%&#(s9@;a_0j{dvlWKabBB zf1a{c6m;c2lCd^W{A4k$&7$a%BP{fT_J2(84Vw)q-Zk2)@w0REw)Qg&eW7E-f3t~O z$h{>dXK3k^zvt+1Z^Lk!e#L`xjo}aIX9L(9=rTjU{fw!-9br4cLzSn}fA$c%G|-!# zaaWn2iIq^im@fE>h0vkT7DB$h0q!zWulyPX!~k7~XwVbCGGfvXoXfA5=5EdKijvdH zh1-PjzR?~YQahFF)@^c09UI&@hg$Zjo}o8%48WOsMs}@x6kX7lrJZ=Iy1U#-4F2O7 z`~?L3xCr$8i`ktIcYYVHiMjJH$@N@B8taH`YM^J6^%hG1Y8#kc#^TtWzU;o~Slq&l zsG!SuUX;_N$$N!+ivmkdOC`=!6K}zKwJq-SyRw)zx=c;lRFg*OGiqeX4eE@7yhs}b znO8vhFvy7+S_M?)>PRdE33Fd<^Mi5J&Ne#75VvD%$PX@uo8v?s1->aS=zKh zN#S3_lkPwT@uaJG!Xgi@H&4H=#kw%GQSc18er8RL8J3HFhcyB))5>}phx57_5G=^h zG_9s^u1Gf;G6k?03jkO=M%Jf3R_MZ%ivnOn81r$$Qh(wK>EXH4-D7L`ejm9HjHXhn ziuuQBaw>$9FD;09aqX`|;3aX5?OWYQEKLf|6LF7xy?rHsAsX93tY!`9=?37@1rX^^ zvlfftMQ}p^-)ic2Q5u&@-5l60$RPq=Ad41imSEXf_wDJIX9QsRZ(Uv}CK7QqmWWT= z9$li?YtQ5)x;bH~cr%fTvl22e?liVoBF-RI?(~)>&01amo z*(Q>Vqc&lPXI#_I;QZUYKuAA;UN;%o46#DG0a-(|FbtkwYd13%gDc8M+fbo!73a?% z{dE)lEu73gyf;r#=|WJOAd35g@n_di5|FuIfnyJRW2(|Gd<@H5VEJRZjO&+yF&PED z--0=bebf6rQXG)e&E*rsbeX9bb=!$X3_vzgWC4AL1G`BObyaDb`WP ze`slqkhd88w)4d#G){^}44W`?r(80fDyU9OrQYHF+`575tI{of08{V7)CU5Mz8yOr zEfJv+zpVJ#A1j9w+xvEa*B94E*KD`aW2TVetOnAHz(kWHFno zeIaWXjGT5$KMT|DGj2L;V46-*eV(&*uu4eZiY`8I4EnQCHZg1KkV$v?8G6RaK}>lB z8MC_3AA^1;xs>{HFvWH4IIR-3d&9q(T&(C5dZl3`F5U`v+62&_yw=bFcThu{X8agb zfbKwn74#^g#dgsfeHi^}S6evl1*|oTBdK=D7`*Rmkv}G=fivMdx%;G;yy5fl_+$Dsckvoi zUs?MadTAf=>C^FuPfxTG8C)Jzzg+(L37;utvq29G_$Pe2YoGAxg}NfeoPLv6YM<~K zAg1rPS90(0m>tzuxh@Smh>#D7_wj_rs z^&21j20!e-hd13%@N+q{{&2ZRz3h*7O&|rq%*)eb75l{We@>>HIDbp}Vfxj93oVt7 z4su&NyCq02ZMPE74xM|@QGQRfqd1`DoRt1lC+2#71B&BUo8|O>s*hXDTx4rB-A_S( z3iS62@{=tUM@9xk${y{lGaDkEvdrk0Ii|;pJmeDeFEm?8LKDE`w@)4jAQhQ0f%QQ* z0?zA221V@KFMkHTZ^KyVDm@q!9k5?MQM5B?hp!aGZ zCKg9Fq%%#@~O zCRbLTbM;P^BO%(rTwIg0e6AFAS+HQ5oW4HYuoi@WT&=x%6pPJWDg7f)=eE(sFa{1V zSZq|At^S>@5pKOh(M?a;YGLXI)9A%A#4Mb@P(c?5ugSH(@*hA(L1w?15U~s_lnTS-lNe3j6l?_aY37t{HX8oT?PJuE?bxQy6Z`tF)G0M z5HY%c3B#}?MK?FH^h-a=OkE3kwQ!(T_i!s5ekg!syoHRq1_QwZ9A`s+Gy)BqghnAN z6x4=(ggy$?mm9%A&kFed(aRDfMt$VL3m7!f66p;exAYy%kxLqgK0U9Z2S7uHX_Y}wrDV<+kDfgYlx{y96NkZ^ZaQem>{0iMk# zZVuz+73?dc8>WOVKHMlhcdVl2SkZQMqCD|}FwWUJ%0z~G%^5#oLD8z~ZVF7ekH)#r zHXJHNQ(>wN^zf7ix^7*(&HcPr_d^A_ZD%mi?DLb`?6Zt8Kd3h-b45wB^nPs}D1znm ztxORgN(xfdek7Ds1E+IMx4sn$9tmJ{4P%*A>2gU1;*XCoef1yv2FYeD-(+K_u(feq zj((IPcd=pUto@tGEz{A!2bI#>Vwm;~NSmq}9+&?z6zQz|WyE5WW0l@=@}k;7slD4SzQb44?~0Zo`}= zhpWquDv+Z6TV}!%{;`)gZ;th!jJhoPWr{+Arm3%jrd}6D}Z>RZ|Be;gVm6VTB9nbDk>Q zC~k=$0aMXr)Qo;buWz_Nft3kIVhf_PdV~c-KU97%1@F~wVH(^Oju*{9BUJ0W9ef>o z>=B_KAVw&;c8j`frQ~+0^y?l#-)0!xf>rWUcuj4Fr6MqlyZ}R?pY*ZkRaK6BvM5@W zI&FZIzK;}(M~~ej=PD<+SBj_an|F%56gWU!?w_?QO8$!|+%077S}FQTjEp`khpxLY zm;~x3&QJxzDXu&Gxtv0ixoP$M8569yPg`-rxJ?XQ6ysvE-%5t2j6gpj1{vI)`OaC9 zwX0}Xo_~Ow*J5Ay>aE?=^KvoCMD7jq!wXu3efXLfy>S_)r=LsT)IIq9aK>(Rx?J*k zbGxHG<-+@0GaLb3tWF+7mUxZwBGJ+CHrI@|xialGhgaP)T$*2aOW^=6jFzU-xYTO~}hH~X^smIj;U*j)DgvJ&Dh@nZNI&c39oL@jGsv=bFD^nJW4 zzV@RU*gM*z08i-glBy>8i}8TQkoBwtuV)SHv$y)nS9{t*UeR8M_OW!a=?t9vFVT=# z){!kEj&^X2G<<(8+w0R}KNb@oZt*kyrE6v|E3sBtL-GS~!-N`f5!`59tL>|Yulye3 zWqJ~B_x-^cOccq~Vx)>u=xSQmTZd5L=iAvm!Kkg>EqZ>XAchlZw80Jstu6rJS6g)+GOloN{bcw$` z#J{`WEcf1COZD2gWz3QEtfC{XnRa$A&bD^xPKBf%gz-Ujx(Pl)7;`i|yQtXZkgeSo zCmXwr%|&=cDd0|FgtR~(tfOicFeVrs)uQ|EEZV`9!)V0*HVjz(uxBv%8Q!3WVZBy~ zMhj1g%3!pRo``3_GKUgV(iQaTOjWY$7Nv5FoSuk5lPM?Q>dbL*>CDN%y!A8d_5y~! zptq!QSDCB~mK?u9ph0#9n}~nWMTmlK%rrcdDiH|WSzKQA0tVpnnO~Ln`>Ol~TpqsR zD@=7~xnk&p72z9L5uU+-9_k~k6#W8ygf#|$H)`QI(PaFAr;ZioZ+pGgclZtF{zh+! z*4Q#xu@r7O!yr4B${_9b`^Ze@U#r1_>bGB2+4vjG!&MG;R>|zF;`Nb%Z}~ctNflB- z*OL22V5wKpCzCT5OM6tx5{vMXpzi)z}O}enS4Pu@M z0`1rtu%!J}8$1!GWFL(`Av;~@u|8dqwjpZuQt7W-jht-dPV3hx*YAj(+r1>BBIQ`A zUUhkX+k0ufZ@ujq`5AkY+!-{VdvTP2zYNa>gs(7_@p%fLI-!@1*^X5* zG-5Ddg4&~iR}JX32!4ur_8x}IDo&9nV*f|<($8A<{|pH5B}OZp_N%v10#^^Sn)IRT z16bDzp-=EW(AAD5k9zC+qn}Jx$-TXuytnvA&+cCMl!A3)dRzNTF@1V(R>__VvS)2c zmFE=s1u3U4jU;G;rc%PCz=g$RtAMBF|*hC)mtl} z<@&OEh~jU;llXoMA5pY3R=uDFlEicpx+mU)`?w_gttFB4k)KjpE5&-yw>9V|dwaf* zxUpio5T&3bNWm50Bf8IoB&LVt$e!M}9n^P%>x!1~8S_CO}EbK&=`fOXbVB^pp9*evd zI4#zDBuXiXtBpUU_cS-J8gyhi=wb_8%oc%8p3%r$MckUW1*w*}l=DUJT93;cUs%=k zJ^;JmQuhHOWUGCtaRNHC1%JR9p=6Z05u&buccVVEJ(>TMe%8d*GpR*qlF!KKx7W&S z=ggVC;%CMB`A0?cvxhI82K>5W<)Gz8Ny&B!_qoDNXD)5KAcG%3at?Ya0$wW_N=Nx|)IUUz{_AAQvgx2z?Eq z*ADsOmWyKO8wq{x!bT}Zom_Y}I)x%gR%=+U(+dg@V!3)1vOVA7{ znmlCwklpgnQI8vfuFfVLMwXL{ZJ10wZ7DJB&aKCUH~|wPT^tTRSkdE2aSRUA+QlXsdO7#A*)r;h+*j^MiZfn?W5{*v6-dv5LDc%nLHNV5V>zy?Y%}ee9f6> z3fP3f8LwsPn-9U6{GU7>s#&BNKdzO6{Lkb0oQa3zgY(6-muAA}F_rRTD&xmAPE7l> zQl|))Uxk_1bYXfc?0F&xuw!S!uXx2J@1a%8o;*sbu2kgaCzW25!a(%HWn|#80i92`t^x@{&ZnV*-Z?HA8C(o0sI$IfxzQ2g% zc-7vcl0!IIwS%KFLUU!0AM>mBP$#@PY*lb$xDO1yt>a|ORy)if)mMwrv(82@kwzsK zklft{4-IbtDY6$2Z2I(_Xfb572fx(#kWKL__+HcH7CaL`SGdGLoe1^vBhQTwlC54I zov>cvIa{bab#dDj8O($JpbxIF3hBUbWWT`J%VUiqdA=~=cxh~<3>0_!qo1M_=!!@J zMI?kYT)GZESGSW{zk0|i9?{PHqpp`;iRlx_Gy=Myt}sCcW3j&YJ!}Ju-q0J(#QSg; zBtk}86$3?dAsiQT`t4X7={6g>Lth1b0{Yhi3sR6?M7@zrjyIm+vr#uh%Oy7FDBaU- z;MXbu9fQb(@R*4Bw95&vOYs7imJ?Ylt3@TPn&G0zwM+LclZ~Ihb>ljP?It&KBk9Q6 zr7gbl0I_nnYP+}hiWOeNou=*b*r`-+)#JKAI}_mL9ONV$I;*t#SyS$VqlfnFiB_OouBXT z_s1{r-tNv$ee>GP?#|TXM^2aXb;#nieC4?paKkgWVyXu3c--W^{?>(b?T4QI6o;_!c>u=of zi!6HA!8LpJ$M;U~9Nf>Rg~>~<9{>BjPX1>1TclGL-{q!;sz1%JZ2cxv>i*S_aB&@Ij)p{+*UB+ZRj5w@o0QLD4wzG<2VAq{tMRlYDIw=WP8JK5 zhYyZ!6FK-kKi@4?{saeYy}D-4>Vw6W$V0k?b_wYn#?NrOEB7%^mGO+cDL*oxw{NpR zZ}Kteo`BP{ch|;2Zak8!y`irsT*7?t$;yO9fRe^@KxDts{3s<_RQ0H6J{FE@mw87uJ zi0mn{CmUD4g{xhONT3#eZZFtGX~=^vWB0_YAc0zz41!-`t+?A;l^98FJ_-^R$k}ctx?5UMs-ia z=<})^?3XP{R3dGMf;()Mi*m!=q>__GB?tWR#JpO(pShMo-7dl(*Sdh$2QU|MuxGaP z0(59g1uw}M_~=kdMD$K$FyANJJi9hOOFnhtuvsJYO(*X^XTtTsu2%c~qPZ4OIU6@7 z{{r#MPt8+nL*|XmwZsF&YGCB)1#i;|-k}u)E1UEs zk0vCKg$q)#SL%a{WI7Og=MWigi%aL#P%Ml~2s)y_oV5y$a^ zY?9qk9oF)SSe}_U8XSG7&PIJ&&eVF1>P+c4p5~+G*|`^SjkCBy27@0wls?5{wRnNN z()^BHD(HI-ja)U^G_AADfA7&bDSBM*36|gzH~mt*4w@1?J8x{G@6&6xpOa?`gM4hnWp;0w0bJ=;k=gGI-ZZ7f?a)?@aW$C{Z(p!MXffhLM@}Z zHi+4f)40iL=HMg3IOeA2$=YRJJwtowJ9V4qH_YVi?+c@}<`;&i&IjW;Wx=$$GiQ5_ zoa5m?aGw9%X@N78Pvy(Qm#u$}wI^u-!=-7cVUG?31 zj~hM;MwO+oznpuK%KPI&2GQ1$*D$^^cf3k?t%NTecoEm6UAyNYS#o2jcJ-A0>$~as zs=S0eVJZ0t+@$IkkF5{iWSX8To9j1hW*>d!cITeYH{qbO{37}7RVULw>XUZQ2;6AO zw>?8=Rl&=R^)=vLz>A*e9$jQU+{Q3OADtup0P@^RQF30ZL1T<_<`M0@0<`nCu=N{E z=l8FBNFEs%#&xM29S%CIzmyYpD8&@Bd3|i64r_Qt9FHcArla@$wu7Ae~0vqE2M65RW<2f0F&f)r0v^;b0@Ek5Y5Com;6G#+rAaE2{FOZ+3;6ej~ z;tqk-UdmcYON)vHS#jc(`zlQEp;`SsuKFH6|E{TdJqIf-^VUtGw z9^Dyr0T%y$mX2p})Xt04y_Yn1sQirp%%0*@8S^oGuz0TvM@}uOYhxWAGX>Tm$SAXuL`0T5>gC zoQ(FaWs~trHVpT+D#CDISx5N{zA$(gJ+00bi1-%<9I04_+sQoSb9hFk&K-S-*+9mt z(ha#+XBu+1STFG(xudn`77mMVpszR7%VU8leX(qNXxR2c`opWnObDeDrN?O7qG{WF zqiNgX#J2g0{z9(i2(vyFyPcQbHlNnUFOAw6uiqCn+B4L2UVd?*&+%INrhU8`ECl{= zHyoXQSy)KY^Ah+JFV569aGA@&y=Z0Nu74bzH8{!0Wo8)EZ|Ly$&k8E_NdsAC_V5G0 zbS|Njip#{kaS`pR=~E!h3g32+>JH=(Ziq6fPZ(~iV$!+981R7VtH^dGz)UB@z{aJk z)NS^jK7Jbic6xUrlYR>ixF&t@QritbJgsPCPCch8eX-5MGY7Zsi8h6+Mx|W1yeIj> zM^zhKMNE-#3-`Y!#jkQJpHl^!N@s|Xjo~UE8u|Q3RSe(h-J36;GU27Kxfi8W+=oXh z^6o@wJ`c-Pv|A4)gdNrGk2b7dGbdoo$ayooNK{-R zMzh&`j>{r@!)r5#8~7RJ4fG2t&b)7#3KurY~^3Xk&h<#Y`#LF?q`mGVTLkrTa1!U3pf1^03D2bDF!eoqT&GY?8>Blv=Ya*_6h`SXCjei~pP0^7RZC4n$+ku`c2#x|`c6jrJnB=ey+nh|6W9bK(+D6UIBxgd*7eLGdVf$^w6yAp6 zCz|uL*ny;L{y|o~ik8dkxqQ#S!?aGg(h&{52bF>vKUyQaMnigmkg4mEqW=|bEiV&)D_$SpeQpNeCiv0pe71bouYsUxN*WgY^amB;jmB5iI8J80X z6@#|X-f3Y@(ME(Ui;UEVhtoHi{|pR_+VEv}`9#CY8DtgS@X6E3O00Av?jRp6sWg_V zrt}f1q0UeHD8=vQuS^L`^=xg8;_O+>fY z1rn+=8?;*wA6%8B+wc9ypuXeBj+$!R<&P^HrjGXhb%v*jEVN5MHu0w~*F7k!;-2wy z%%$lYb{~Z|?4Hp#>{_UBp%^ml_|0m(wwI3h-pL>k*R=IY$&%z)4V_6p%^Ub$b2W#| zaegly_k!1(&w*f+CW7&v3PukQ44V4XA?8{RUVd6Em%Qv0lbMI|l{)~+1u58i=m1E; zKA-LRq#%k&!K|sGMAJN}6kN@jNyXq30y_0bHgF#ih`?V&1U{lDl}KOV)50T^#Ql;D zK7{M1i3;Ru&a5=fEIum;h@~1NNw+WB5Ve|U5K3SE1?^6Q=JLxbIo1aYZ#+LgcQ<^5 zI~OmTlgS%|xY0}8h^+Rz_;Z}QVT=k_P9~v?(r_UXy73ugesCIkwz@g~wQBpc1?d5^i9B@JBO z1hB=V7^^mVXIL8^8MQ&AJ=H)o9i{#5$Il7vA3o+z214RjfuryUs)7C_<202W(k2&In0YO&qaesGe`Xm=b<8 zbRUr6EHE+w@Xk(tMH=svuuAt%%C6LEDZwztbYR(l@c@q;nAi$=MywZ+ByrV6FIcQ$q zJ6;%eVb<_W^(8|=6D5()-lB8jGQb>}ALfPu1(*3x)A`Ps<6~@`S4PgeckJMv?`u5o z_f4>otigB}4>RJYiilv@nUL+f5_Q|=Z=Sosm{+>J`1PFl`CK6Ve(ota3_yj`w0h33 zUqJP)etxHIWbhIt7EgRxHHWS?{pKLw!QJ3BTqQaV{#5YEGSnHl{jAjS-f>q2$~6F# zD{0bnXcDBL3$m9xypw($TTV5ayu2JmzKo@dv1if6*vpZc(67$YU+=lc4Jx7Hnvl85 zyX952`CCwp!y(ciDPj|19l?k>%t?}g53ED z>s9x|MMDhS5lAqD#6MD=crHB#8n}a)%hGa3+F}(sul-Hz6=zhx?Oe3~0R3p~U~fZD z^Cql^dwk`F1Idcn5Ig-yh+)E6E*U}mIcRwo*)92(B+00^fp?`vB?W#oBpHU1x!4o0 z4Y4_k$oEUb??E}FAiCD|krGfbCv*L?D(-Of3Ke&>xhKeEbd;4iU5^6(h$SA&ub{z_8vbLF%!E%la7)^vuL6tkZ6E;lNQ1n@ousd zIfP&-c9TH>HmR z3YsT0cC2|L$rMW=*JC8tMna|=X-#@z=XXa)7rLdcy2l-CenqwOh_D90R3$G5U%wI-q$5Ze=QliLa8Y}K@&&y)k9pNo_kYzW9OYG z`rn6g7AAtD;(d=hu#_w)zLYK~z7&|{KsUa&xi`2f%Ol?!h@TQ4oobl1oH!>3x(UvS z7j`i~8AnMOhn4~%y!+`PvFC&xdw(;j#U3G_3yD24fUI`jh^}@%ptAmvOJxg^3c-maemXcPXx;T6T|n*4#Ev z@i370!heX%Z9fy1+kO|gm8`ie<@GS2nB988{pW5(J(MIg27he|J$Ny6`P$ ze!ABoi?WY9O+NMOMJSz_6Ocx}1mrSLnYRiQ-e=%G>;lSWt_zD?8%-$7za`@>U+WsU zrCx)od$tB;!a8~E|qh0ISi zH{|KCi-+N)Jrz!o;r4FSi8w=F2Hd+59dT!%J9J%m7<2O>BSG)?A3JX3bR%e7LaN=! zMyr#CTc^6e?tDfgEH%H0Wco*Q9Aj>-{SdsrOamP+S?tlcp1w}kTOUo27AHJ^ujf)r zKzSM{Z@Is}ZsOuuvwZbq$FE;8$pk5vPlVD_n?vbmN`xDtjr^lvQH1_TnH#l!?gssl z#T#N5rzr=@xxFc5kAiK@SNnZ3c=-)J4&=~UgM z*|U6%K+HCLqI`PLj0JOy!)6Q}+D+eh{JF;_99@gNNz~+#=e7GuNqaXE3p2X8t>7)5 zi6OgpChE4%-y8_U!IQ?TMAG=1+aG~ypMRY}3LF5H?hkctXiIq)YP|b%9Uv9&04WCf z=duAByzMpTyE4##+vW9;Ee#Bwzd*NO(fkGTi~)nk`AnYbJ7xT=Df2h9aN7`iAmZSj zGs*GyQgK7l~>~9=8T%_J#T!mMe<)`=IoiXqZHoj#>L@@d1s-N8KN@5(V$C& zJprm7vUP)*bi;KUpU$A)17j80Pw*;@%%z{bBYqHkm3|QX$ofIBdAnfKHPJW>O6!#y zq2(?%7VLPOV8$dQ?N3EGPZOkY#lC+uPtJD<72?cS!w5aViJG>3XIfuD{*K<4DS=_OK z(RLF9zhae&n%{xpe$!X_>pj8xJ`k<%T4H=5+kv9(C3_PRrM462a?#i^w*#oCV=B&* zD!*u|{5-L+TcZ#y1+KdTjcjT!ny5W$V?gbZc(|VlO4>h^ROPi{JJEey0;H{W&Hzg9I_SKFC<8DU^Xjz}S8N2F zkXt$+7WklP8q}l?F(?ViktcKqz5f{4Z`@d7v+wN+ka3=Z*SaoZw!im~*>i?K{%w*N zJSRhnTbSEu|B#=Hi#tl$-qb!&76wBCkfb@YMj2OD)K(0(N*Wv&CB?jrohbxJhobcu(ezNSYh^oBNNZEHe!vlT$P`Bp@?M z3~qf^iW}#y*KSFOUzPaI5E&jxND(o6>e!KUXAU)03D@>owr9X$0~BzTbb1VNy|{!M zx!1K3OO}b9em&JNn|5=8*v*qi_M&QK~pD?$G zF9Q|Z|0N^i@o2tEcRC&?-*28e#NhL1q}VCnjm!;1!t&K%lR{KAF?KBKY0TUEe!(0syrRh~lqry)S~ z^*pckkXZv3cGgz&A-0y6o znr%J!>PCL8Vp70_0N<%w`n#~wTZfacE|IQGWLE4cX;Zpyvfak=0XwCcpmcu7X*hqrDd<09|7W>hi- z_0y(q>d?LA=svv%4o|*(W^39h6E2o#&?fVdeH3}!_~wDWqA|A5|+g*Qy8N?+x%*Aa!gm{usNYlg>Z_C`Ih!L z#}twv2I)~<)E4bRf1)>xk*UkHWtKAQn3EE%q>*H(WW40Ec#+aYY8Po+q+gN2MaC4FROHtp(M66HIa}mHkw1&vEb^%cuTf|?jX_gZQ%O@z zQ%BQ9GeYC5nW~wi3D@k_Bx#Oo&TBF?w>1wnFF6UP;EHoKxn|rioDb*E{mO-K;anuQ zolD|QaA&zpE{n_NKDsDf^e$ywD!MdwY3b6=rLW6K7hjjjE;C$ycZqb_;c~#`sLLsr zG?zbJZo52idFGO3Yxgx$CE*s3=?1wP?wrm5bIZ+O%l9q8>%N7qF0yFz{vZALe;lT-bmm2GgPr+V}g* z;F_vO3D4h|Slc6oCvtvzc>^2NQnpCGZ_42KdV1cWL^ZxXue)CsJ6%oLov_6e(p%0K z?l7=M*M94w#~7!ylTF-ve%2}d*^G$zBc?;~8`H6at`^p7XD*t)V5YI>wEjN5^i}%b ze1;v)T)unZfLEVLQ)poD?3p_Df$E!CCF?>^c2iFZsNVNJzh!Z{E8eHTQ_MwW733B9 zE))Cu4Vg9sTqXa*{`)5-RmNT1%FFTSJU1D?SHX%Kgv}b7e}gdA?#TstglY#idOrPUq-S0uGJdZj2k+WnEQ$w@$zPI>eOSMH?Csv*dvOaq5WLO}q82 zYN{z`3*LQbM-JIZ$hO-MTfp)T1#L`qMzz2?b;4>Qa?f)Et?OQm{l|5$*8cZ(uUOtu zc3F;H$Y&JhY_fFdq&B!XKS(||VEC^+$nI)ya5LQG(_36WBVo?;-6pnNU_BKJ{?$1- zR!=tcjrPZDFX5PrcMW)>d_mNv#as0E{@k2+*t9El-I24pGm{fX?lA5i<`Gp#-=^1Z z^Sw;j9+ZT8^v}+F)~Md8PpR>KAxp_?t6%StHJX1W%gL?VfRB~4u zBq#0N0K*M-`lMmTsBW^2yI3rjwU&Fd1)1w~QPx8K0o)3;xWK^-woTx9^MO=N+`|rc zvERK854cPi8a&o=4;uOO@76$9`F0~*96P_bisd)@oocv)Y=d?ER@}BT$91G<#_Ixe$)-~Nq_!DhI9{pKIP z^y%g~tmjly^QeBY!55TV=81hrGL7m|Aq`g4Fa|9idvVz1{x^&9WAIa1B{qCA-Klbf zxKrgMT#9$XJ#Jr!jQqpI&be*aY+ffd$Gh_0_!aiTS+a8S>U_-rbwG;0NuJZkP90V( zNIq@%)LoMf*2Fd4%E@tm{ysmHe=2(|&%*Ak_URBq2YI*3K$mXMWbNh8p;Oh>fA4N! zq2Jwk<~?qNhhT8qa6MctyA)r}#N7?#6+PPa4Ka=mo)a5!Z5Qs~7Cv$KN-sTcssNVW znd}AF_~^h>XAZ@jjwQ2!cLO^wikrAk|Kx5Cu814)N?e$4$xni|w1b-bf=$qt`spXa zVvd{CIrA@h`QtN}aNtEvR<>F7m`hxY&uDMUxtaVK1(&$+U{X-39=pEZm3rQEE;aT6 zmg=x{)U7VZjK{mzh~b^}Z9RUQ*W1L$H&EcWu6%nOAYZz1S7?GBcY5f~*IjJlyOb}( zcO5+@c*ztao{!rr)MV?hF!`F`h>&n&TKK_3=k(z#e_yoHbVm{V>-^w(`fk4r?Ks60 zBxm`#c+HV1{$O3f7H!?C`=q$yn^E4=YmWbTW2BdC?Z)jZ zcj(hr4w_+_tKhXuS`BWk;}Uzvd8QqX-MA@=jD}|}^^$Rkb3bZ-3ksYMBh@(*r;pQ* z^ts$=56ZeC?z50tQ_h^J&!C3weVK<1Hho%JJYS#_ivxMB= zwcLw>)|P*kk`mC@G&b0GWM{qiu*g+2Ow;vX8(k>GX0&lsfO9<&(Uw|6UD#rthBhn-$t#OQMGlxACv z-1P={y7pM|7>}NwBYV#zMBJ(cNc_+=B&qziJx~ICSAe!lAScrbm8BULLwm zJ-yl()#I+KGCEu`Hww^X;)(_?(Omwjw)2Wuzj%Gb(%>awCN69FdD+O2xzQ;){Js{S z2n<8i#B8c2y6c;aJ$KcF_twh$UC|`8^{R2koAP=47CnH172eVNXB^aDIechOlu0e! z?rILq%qz4+ZdRHP$WrnKw8T$?6nTz$2W4!*GfskyCts&2L6ug;N}1Z%VB1rRzE1U~ zz}ZA~uDf=|l*J1tni|Y)HTsv{%8s1|m*ZV@pvQOwX0Lb_mS88WX?T}cwCd&KH5SZB z1V&e0W7CGsp&LWiEmrcC^0sNK_Ph0Iu_-b%eCaCVkxfT;r0BC!dRDF4*Q2>f?QQs6 zm)&59O(TPJmOLW5IbZe7!WryNt^bbmlQZ?W+U-a0O^Y9OI@2hEe%5j`X8*|y-OcXT zc$YRECQTY;+|)@Hwe9G}WPR4oL4BGw9No#(zeA#&dvfpg@an;)Ucn<<^A7sXJvK*7 zGO4xoD>`?TZczLQ3^b$g5{zQ*W5w(T*-vY!l|zQa3)nACCO4xW`wj*Slly&%Jd zZ{jxBe9sR|FvX`1-|E#>wsE9qn5Ujs=CRsE!LmuQbK~Q6+3~MG#crEBb%SyH2yKXb z%kUM0d~`hO(zx0<-xX1QMpoN3WcQ$Z{Z;+185r!7BL!D#x|VmdZE`oKwQOGWSDW0i z`ulN*PluTL$|o+EI+;C$TVm<+Kex@i>^69QmyrYe_3z!M-V7co7s_XU9Co+w$w9|j z?Hm}Y6w12WUo}AAf7+If3rt|aGR!+OnB5QX+6Ph`nOgx$uFSLi1QS0dB%5b3r^lu5 zU^SkIhc(7(zPRbPcG}1LO7XS%hMuKrHtO>nH^FUAJiTU8+x9t0{r)~DU7G1we%B_& z^{p44#K+B^xxu(OUAAsg?=^$dCuh9zI}RL9fdkDYW>`3{o#$f&Mm^Mio7|p zVup!rz%w8@tkz?9=bWpFN3R`QV|<0)Mgv__QJz! z-V;0XCc3auZ3BxvUCA;)Lxnvvc~6Sh25Pb9^>Y}U*D3dyZ1hvU z5?_O_`=%N$Yzj%&*6ec=qff~R1{0 zDB{%MAAxjka4*>>bxU)yPb#jUGEWU){Rv|BJbd>01otl*pR_hgsk;OxAV#Vgbivje;b&mxmjixhjN^p9<> z=N-#c;OhjN`0|h3vE$8C`;U=@yxB|RRL9#uLN>aGEGi~3@{s=Jn)-gG00rN5N$C!} zgRafdc5m*a?MvSdvDbfYH$KCuksu-aiMR}1QYjUf$zcz zzPfU$BX1j{k58BP4EEc8LboY&(~?bK@D(LYuSZi z5sNnJ&m?X;9&b8w?!dd<4{<5{21Xtw`Mom+%pN|+2OQLyduQyOzK_@818(faR_U=f90o20Ai-tDV z@m_b$Q(-h*iC-dPGhOe~VO-?WaO1%>`wt$|r|;_36r9QXI9U<7BqDUR@j&FBI98aI zl%JTQstn@_mg=pBmx9 zRBu)rw+Sfgw`J6*992{_85H~a`cIiKas6a=Cs|XF?0?Hv84}j#N~|n|zYW6gt77py zaRU>4T-?AUd@^|uHljzcNj-G+sOZVY4Sw5Z?pvT_&j*rsaoFAK_ZAD0M-Pwoj_r}n zS8!7w#oO#Qc*?}>SiWeO%EZkHq@XFi( z);!C6LmM`2dB9ZNMDoOmJ%ZJV{g2_5DVRN^i9h)?4R=Y#Wlq3Q!`zEK^yi@)JO5m= z*lm8@#f^x6vF~1|sHnER!CAf;Xl2PQ^u1duOn?%I|ma>8GHc zgr~4_7CclZ1AB3tidEo-rT4M+TNvL~)XobPw=iaNjoOy@@*)Kvn|FmQez)8FKz2%@ zPGUA*!WAz`aRYX^fu9cJdluJp#rqX(?k~A*wQDE#T{FaHYkALg3Ra4XmH@pjqdqZ!1)n;vY1uMQzhKm?*8J2#yXF)9jk;Re}h{!wanoDfX7}I&b%~QN| zL&uHv7&2&Gq_0tZ1lK;w(CwY1r&#i^@ThLf{LO*UMt0O_<**UHU0Q$_vXX3xc?X!} zDbU((>!J)5Yd25V-8vJ%R)IQ$4?G{(n(VvRj_$k1o?!5xKc(ShoiW^%J+R{7rY**Z zh^STD^cyz*IxoV+j_*3Px4w1P?I%xP*pzKLcdi={U}yBEKX&?W95Z&x*TrXp!#xh z``41Q;kj zZg-#$tP4t$1*Tc8-O7KNsydJ#@b$SgoE*T;(9fC0ng+?ou;SY_^aTUyN^i0Yv)HnVuUd7hRpR^BI z-4?nnl*O%o$Cdd~{#c&KF1#sgDi0YJLOeq`d0Qh>#rCsfPOJfAsj zL2UyO@ICLS?Hs(XbB><9XBbacU}p9H)0V85Zko|qHkYMtK!?Vxc`DtpjtvktTW1;S zXh~UpfB#LJ=9^fuTCaxC>EbnZOkn0ve>SJnJv{Dq`-j{E_8D#;R*Y|)H%-e5@9Kk7 z2)^ij+%XGxx-W&m3%Jxdye)%aXPGC;+R10-O_V`sI$m@ESG>ZogJpBqZJobGpPa;c zsmMT?P3+U4a+iVKOzKy-s0>8B@?jP+9}q&B0FO|8raP*|yhUXt3~DKLLq^FUWI`FJ z6jK~E2XJAcAgmX1hcIWR7Ba%IHq*yqf%s(rMgdd-s0dJ4JeC4z06_Ar0P*Vp6oEWi zl6=UK2}89c_faLua8yiUL>`jXkXHoqU|yh3%wyC^vH-4wQ77~ot|uV}5{J2tI!Vi* zhLYtFe-GSu5sx~!_YzfP-a?%gLfWcGD(wPwX#{y2kdveWGD17LGru4SX%Cd>k8e zm1eS0X-NarhDkx?B(+gF<|9BENLvlAE1?eP8ET5&TP`zy!ubo-LD~|vf$%nxvTz^L zNoqm-c91?8xig)RMp7QNW$vRwl6y$QWFRGT4LLG9;k-C14sGcT$6`=^4MKOIO)G%< zXqsgh9GwAJi2^l(V{w!SeKHj4w+R`Lg@T)eg?a%%-Hia104hTpDoYUbl@67Gb1gF* z`fDg$Z$fU;Cuoere25!{>M@m(E5HbVVgP!8asWDjegF!93IKHhDg!hFAnA=#7mJ1I zk4iFG7M{>rIvbT?h9Qkq2IV~in!H1fgci~vK#wwT{Q46X0ODb&V?E>qb*@0;86Yn>GBuD=vIY8=@JK<>0qR2d#SS3fR_L|m zHNbO#$2MO13JAYYUa<$lD^`BV7I@q&%V$`Q$cg zD$1ye&`VkacwGZ@9S!}Sg4~!rkk2Q8Ll8%as?s`uyux`UX-!m|q-EM74%#ebjsuTi z#4;BkZz+VYMGTd18N?@LK)wK709pbx1t=k2*9T|?P#vHqK!1Sl0ObHo0L{dEb(wCc zDB&N<3()t>0MIwJp?nWilqm2x10DcAqOB+dP+vTfa7V$WSpJ4%SpXBY9ZRX5(OGRfa{_2S7Sa>m zAhZQuApJ*dJGK2@pqs4yT^#HK>D%dWkJxv2NJsk718ieDgcF;-3ss|hIuh(h4TL0@ zL4N8Gp0Ydx{zj4$03`k+IF<)mRY&cZi(tP>0nHLnd1ehN5AG5yyU=Cu{;5ILFre;au?tZoL?dKmC|Yr@ZTOdHV4`QPZN3( zyGCS2I??i%bS~W61hgSEbVL%#47esVF9p|x?j)^0=pV>SS`u{k3(&V#St4nASaK=d z#r}}Y5or#xO=(W@{8OYkiSr9;C+&(nq@EBb!1A}`85~Oj)CXA^21k>qH=Ke0K7ehT zi`s!+S5kS1L~>>~*p!OEdjQN`pfwNq&jCAJ3c?7@3~&^EF(wl96Y!#BE}VlOB`F8@ zq^N}?8;&mlS|PP$4dn9<;3DLE4Ep#Dw2_om1#A_R4YrEfToz&DFEzr+IRh#??C}N?JJ*0un7hDIX0+J0DMm$+51A*s9quTFCrd`0+h6a z;sC=$e{~mtK?IYirwpQ>OX8_TzqcWc+Y4-i6YwXo55$iu4KfMiAmR@bKb+W1u+62Z zZ8Za5uS6Yb_;@7z7yuQs*HMKWTDSG+g>=KFO&W_@kDN4O3>rVyYw~!s8aa@N77KEQ zgCp2;J?OeBpdVVJ&ZsvUf<~cQ2SOrdX+%Fox6IJK&yLn z?OXz-^y<;61bQOoBSlW&dl*r9R2}4_9qNYqp`mCDnv7Gz^VJQ_yU*5G@ts$&ebnnG!JCtBLBN=Aa3CpaEz&8i)MR92A6>iSgv9 zFnBN}L7UYAjo1RH+Y=2$BY?gEC=e||%f)yKs9`Z^OC?krH9##vLVBS=$Qw;SQ_)nAmpoZZ4d!S#?U^Ei>qG@Oz`W>xAtGv9%PL>8z97OR_idRz{O>qpx zaTF&|oHESIZ-n$L#px7hQhbx*dlWyS_yxu9C^iotKVh8oZ-N~hC{|JIOtCA)#VIaD zu{*_8y(f7MbEr*mONzTuJecCK6i=r(h~hAcH;?rh>E*DO;slD5C_YJXD#aHmzDjWx z#o1%WPZ{U%gyL5ef1vm;f@O$eImJ#CYbbUbJ7L&ZnUUf$6j!9UI>mJ%$|PB1id$0L zp5iVP_oBEz#hw&XSvDyzfLGD7aj^Yv&m!r5c#Wg9e zPjORM%UJf7mo6i@e?GSp8VNbv%SgDGB4@oI|KQ@okt zKPZm#o8s#ykEb}1;^P#br8u49Op0$(e2?NslS%7dQ2dT!GsS-stZ<-MMX@u*t`rxa zK4Q`YMJbBiDXvO!ZHgOG+??XJ6njwI1Jss8)SLh7k)c}fzhn7NU>W==K)X1CUjG07 ziUF(fGq~_iVTm1<+F>C?_ET8>Q<(iJ?EF*M<)?6={|~X#PvIgzg}MKXUBOeS3!Xz; z@Kt()&GiNw?hige5cmYEQ8bD{aVP<$ptI;Ax{j#)N*4&6<$#21v{5`pi^uii@h{=X z6c;3tX)0c~7bKc#OT#71Rv3E;caDq4lj8A-aFi&;V@2`kAs#0QIZ0NF*J2GNH-)1t z2w*4El3DOr|EpZ42Xr zmP{L_Ez^Q&%`|7~GWD4HOarDN(}-!zG+~-D&6rjYuQ^bw3}a-Jj0>Y>T$!Sb8&izY zF?yyrV_-~7DW)`2k|_Z(>w_MZgG6Y6zg?hauHe(Ufgh>^t>%Sz@Kc9^PwN0NjmU*@ zWK;~xI5CA7HB*>zW{NNx^f$6Fzm?2O()Pqss!0Cz+fa3^F2+!;w6qT%=#!@=2l7-@Hx zWWd>4)D&o;gx(VPI9TLlfd>DYpMhHPFZ5szG8j0#`xhRUWPFFq8HWh))O}&B5(K{a zdK8NeqYEety+C0}D#?1UJageB>F0PW|l2Vd#NCpx$95|{aV}$bnkgk!yU2Wie zD#+O=;Ip<+{~jPm)tMGR^9g7X$apQ_r(YOv==Ev9gUy-lAY)3#5&aFl*bZc^EK?VB zl!8$~Z)-tD`vI5MgKHN0-W4RaKk#gQxOM_gC<^jB064e-To(eqa06)`2>jd-uGPRL z#h|@|fV;_zL}B0=9Z33M;Pu9E?F<~G2e}^tbZG+DMS!1*gBI`vIcN&k8b$#e+zn*C zD$@*l`*$V{a41NUjOoRUU}`e07!$-3Y7Vs~wFmYDnPfm0Fs=Ya0o(wJ0RZ!D+Aog0LL=GvtO40DM1n>kkSH}V~7vu!Vr%_%YZgT zt_1kC$YqWSHcvnr0^nI7D=QYlnxRYD|e&)C8KpK1XL(opq?S|fXcKT_AMz4 z`H?ZToVLfA#&Dqawusoup%800$bMna06cB61azws8tlT9p>>eZxa8UZxsvO@p=S|j zObsoC0gc5_{&FNoNk>UK9GlW|oW)-2DE8Y>TGqerJ;Xy@N`NjS8m$cB2k6g^UwTxM z{@p%ReU}m~;m;Z9)eWu*RWu;|e*r~FtB4&ifd!S&egIad{RRCFJ+Gk_PKA<~clqXv zD$@C)hIGEDqit?SiiG*1FW17X(3fjr?#DXAQ-eweSHFWOA;9~8$?98Yl~#m6Z=OL02InPWyw8jo&L ze2?Ns6u+SO9mQsf|0bAmpjhSSGkpZ(OtA~aZWI@%xCF&zD0Zi~GR0Oe;%6}PpK(Vx zwgn*mOjCe{0CfRs0#pU4Nad9HR6+_@I)-vUr5yJcLuHpDrtT!5z6$!#I-dx!>Sod& zUI><Lr`$#qG#L67~ zou#hQ;?if@)6$y&tiVKQt#S6tdMV?ZkbWs|WWt0__ z)s+pE?Uh}WeU(F%qm=WMJC%Et3CbkpNoA_?qVlRTOPQ^FqI{+Np#00x*|D5sW5>3R zfyhBp!;&tkYxy9lXUUc{uzUdTypiQI(6*!H23iJi1t1gPPk^fcxt1GDFu)yvy8!n9 z?ptn1odJr#eFiPDka59sDp`L5=SxtC2ulwxk#`7EvKKS_SdwP(AkXuCSeL$ z@)(WfJ)DvEC<<8~fE6wbv}7RkHO0@s!%`s@?mNQ$%W(G{;|#t!x%UZhA&4!J^hRpQ z0O}(NZT%Jtt+Z0Apfh(=2I}t)P#vHqKnTDRfIR?501^R?0we(>Te29q&%k{q6ksVp zIKXOvH2@I+kpQ~@VgYso#96W=B>>6;qyjtwcnt6a;3>c}fad@&0A2#T0(cGZ2H-7} z`Om%gp z9>YCRp6xJ^rkaqpCeW~n1xwmmo=Un?9od9afgsP1?DOxnij6Ka0R0@Ngc?siRG=NizOFA3qxpWu#!L7yON5?339sx zIkkq?KZD!`Lakqtwpd=kom9Bf5JG!F=o?zAGH_K3s8a{LAP2M>YSR|!AzTUJE;PnB zv?_pV*8CH{$zRBaku(D?AlIy*7bK0rqjQinh92x-`2^uk5bg#s8UYPETmFI=ZE3HP zbmaUQ+-nB4>j15h!dYQRQxwvag}WUfzC_GJOV3>3tOVR?4OT$TETr#5vXIJE(gJZ1 zYJgh1fIqSt#vTh%akyIo?pA^xltPTsl2&kRjp{fUp4<7L)^sj#4J0OestFVs%ck_jO_-+PLTb#cDky&7k7(nL7W%Nvg zihzarl3TvK|3w`?izmg!>&N!>vE2J^LI=B=eLweSmbZ3S>Ho4$gl_M@3d{Y5ZZE%+ zT%b`A5rn!HqDK`?XQh@KrJ^;r`~R+P-}_mf+4r>N`hQ573xDs#3-Brg4gqiAON@5~ zCPWq<8KG3t6ArXhFmeMeLdJ}a$jR~-+$TR5h;`mB)suqq`VaMeO=@Vn%KlEQyf2it zd=k0DiDEbFefa62Za3^wJ^L5szlGdLe-^e2vvOgvd@*1Ai`;U>6F2dwvAb!=7jqxt zEO}7+1Iu~KJIfy14F~AI572LU03U$rp8!Aq!dnoEEvGCeEgAW8!(Y;qHWgSohp&$0 zClim#d=gTe=JFf~G?v<=)7m;D@D#KFe*|0+4;6@>^>Qpp>X@OZd8dNRVz7SY4Ia z22y+0MlWj$KHsGlybVO^K)4BVQ_<&oG&RIjiMi5tgXJbaGHb#^dy3LlI@)v$i4#Mf zKw55CvcM}umYoIG_#H_H?R#hoxoNoyc)jI!%bI*KKYf+bdM&rL*GW7lb2VRnGz`kf z*HX)4yYq*@!(ViYv-pHt;IkscdIHUb)P>+&ps}OnPQLu&t#$%>3tM&ydcg9C=ogX} zdiF6$vmE+Sn6DyQ?J1=+siD>~*)B6ju@$5)GKgvIGbh_!70rcksh!ULD!uhr&hjT| zBb>QIZxy#35V#h61psPCu2>EcjR?oINVmJtSB{ofM4!;>k3h+Hs2;RliS(9p zcDX5OsX2rKKxdg%r`X$MQR>ZKtR>|9{OefsSIUwKx+@FL3{bMvvYYm8uH`VXXC!a9 z+HbjFc?tS22kP_)YWl*G0d%Vm+K30+wIN@AN>L+y*GCXI2ui?qVGjkW6`bOmpVIDJ z_T5-t>7)PjQ{}s=D3tmGpY6*}YFD;g@U-%IgS5WTGyf(pAtyVDqwhKhzY?N%GZOlt z25R|lJwTf#xAu;m6p8d#fSi7|3%z5#A~mtx{ z+N%l2gD;kzug9%AL$qrDg1f2{O+e{g6KYt&-s7Ra`v0|lKl`&pSXNs?|4*}&e{EU* zr=KDpZHj=W!_!_QnpA2zVY^ez<_!`VAl{a?pzQLs)!h;cI+fVn;vh{NjN*hiz{IU&kN>w^ zhb(7NNhC3)5Svxua%Eqz&hChK&(DEM>k3Tq5V-3zSenmB1ycPUEY1h``$t_4abJDs z7V#of-?{g_++IQbHbeg?pauu>-N_;EO;gKSgtp{8)h#md4L`a$jP!&s9A+Z${Nh2G|%K5s;CiQJ6?n|{rbN_y3@iiV_#cf_$cj7x}A z6|yV>AA(R;ZSz-z`svV@u@UjWWZ;WPLC%Radn@q!kAGz3@q=-lLjhrq1%z3DD$rkf z;uuzH^QMF!p_3eHE2Fbm2z+!64b>xLCo{qs3w)O+mMIqE%Z}7v&jT;yJ@t%jqXe*_SMBn*8*2*Gv24m${%6V$*X_Lpt7k#! zEC;U<)3Khly<&er*@8#S!kFkbZQFH$!o=^iqk#}RlX}W`fmcshl4!^cO3m-;IB3UR zG7}4SbUl>B3jJ*L0Kj_Of|}g{o3+=ng@)Wl!WiwQ7~>wDJ7FzrZ8=^8TD`IPl;7xL z@QpuE?)pgE`;YQLe_#AqS%LOK^^FJefAJIOD$nOd|A(JlZ!7I;?evxW{=hFUC{N0t zQt?R2aQLb$LLm&2bk}}N`<>iA(Aaq}PI(S|;vxnY{w5wzIs6~&s`!&bUF2lGN4%Ei zqu;;F!@le{;xUiTsr;3%t@&gAqi0WjE0xH>PeB_LMTB0?`RYe&Xt@Zr{()T)e_v*x z-&)5mKt~z+(oR|_EWmB1lF-FEe z=~}_6(Ap7QXco1E@`t(qI7iZx3drdrwELY+F6?uoya-zA#n&_51^i?b)Ih~gw2zBY zU9Zlk@m&QUg3hS@Q~wH*No1G!RZj|RrK>P!LuPiqnkD?fFW(4D^VLnEe)qn|<@tVA z$tssGl+?rOlekh`mb`UX&`ji4KWht1Lg`LlM&tB760x>a9&17w2AZFO&g&8zAb2X$ zZ}^o^S@7cWk268ih&TUD4GMw%NVO08hZ%X2zmu5X`EPH7oXaVXzxn3Y7vD-reFxer zqL)f2$B9z>O}`f8yZqb_^sYDyZ;2`3?rA|2(DVI3YZyDy5fqs#*U&$N@^KJ&0MCRP zi}T3&{6`pZJr%qWuNrgRQdf8kxh=}qzubR(vnk8 z=tsVgqv+|{d{<-}^CQ~~I+=;3*F+}}U%}c!#rN~JBtgE!VwC)t`5Sded z1%5FP_b-CyOZ?XdL|cRB`T*)ArLBESZS-3zaZ`Xptv#(pWe^AbRT}IXuu zW*B`wvcy;-LEB!3apoUzegfLH8LlsbzkR~8$8yGU6zXh*(Mh7^pe2pYJ`+t>7+RMF zI-bnJ<&g0#of{YE>_jEv6^vwAN>Lek+6ML$ygZ=Jll;8#)srYQQ1>J4w*;tRp5+qI zop>T?aObJWeNvE$Je&0={DWzUZ-t%|XRYm?7elWg>RS@oC*Ou>kZlYrT6Kj`7q}9} zj!K}C8t4vs1KRf24|&7>=|1TZSw8zJw3To*hSu9`Ds8v&A1tB~bXy^yUKy};#b6A{ z(J!}!=V6Z2cXR@MbQAiau=otUxS(Gl)l1q-3fdm)Y{Qpl49}r$!jmpDodJ6eGWb^H z=LgVYp`H#z8(OJD^C!NvlPK*4&(ebR1m5@n)cZ(l2fBvZHG?n zCQ=V{R?>d?Vl!Oqv$jdxVG`Fmw?MQg`l9Pz+4l&Uxh83#yn^O2tg(osu)ue3P(|SL zkL1k*>ysZUix_;zZMJ#T@K|1_E`Fz0uWv;7+k*0*&2_nbeXFVFQI$kTDE2lIZ!8~-wA%Dv*4lZ>G- z?fcjH?9b2EnWa2KT3<+b=7>!S?&?_mU9QNB#Yt*Yn4Zc?o-a zyR%c?-}lVy-K}WnMr+N7@9q2te;iQz+Pd!mDRW(4nm;IQt3|&muK(SNxbY{?fA75oSGfEiQ`{A(~jylt<^ zf7Z^3XC14*kE*6I*u(B5^s0nj_^IxmopM+Dczp}~!@Pf{)kM9YwP^J_6e+jpcW3|h z-q=6N`wmLis_umft*eYu@qcrYI}4_BZ(t6g-1)Ab`+rA&*Oe3NRo6y$ssBZvIA}0t z{}mOQKmT6DA8Oe6u8iTId@}<5OrHRv)y~rD;jG4fh(3`njRZKilIG zwY-h}_y1xh(~j9c6HLR3r=P&CB_uxDt@@aU)*y=IqfFAO?M3J z_lBZ{nNzJA4b@%D3@7d@tX}-{Up>0RNcR^6UHt zzl$392w&kR{6(O!h#(Ox!bG@;5KTm+h!W8vMl==8ge+o3oQN0AMWRR&Ek!GlELw{; zqOC|3?Zu-aLv$9IB1=3jdWybigYU#eaY_73TozZv_u>a}Ra_H4idu0`+!sHgUD`@% z=!by1-w{gm{dZ+uBIq}!D)dh>%#_OdVN3aCa0*(cfVE+x*jSd%D$#G9soyf$G*-pB zQSbFazg=Rz*=2T(%|@@?W3N-cE#njUdu%!CeUzQ&$A!c$3$@U5i&A$UhMGt62-Gy1 z$D^)Id4jNs=Day-af~O652Xm+79~#ObCq8qbLE%GO{m0-?sVCI6)RBA5D*^5!cp!> z7KL|WkQ`Z4^sxbboPcpS3CR`YC4<0JBzM%WAM-%nhGC^yfaHt%jb(mRLw`^(6*SI8 z3ZfbYqlW8noekh25{w=MIUoY`DD_MR2^Fk0@tFb^X0ufOI$y-n`4YZ_b>S=cI+m%B zzKFUEQMuDDP)_CB zD9K1_s)>ebq6NLfahy^U1Nv$V&ZV28oGMer>HKi7f zz*$DLv2vwww5=1igOQAM|Hg#)3B|rJB;{$9;h0rNAi2*#a;34W8hfJ zx+7^|f-JO04Ah(%FS~d$wAR4PsW`$M{qSXkCtw(=tV4HF7J8V1Je+T&WfYJ7#wfD09XlKQ3 z{zP;DJI<6}zJI_zMsA<5&vBJ6kW}mh`wCY%jihI1*g3Sud8XVKyMSas9DIvBzhf7X z|0N{lS&WxaHsv>+D)s}Cnq5Uw!4B8Zo{HBk>^f2~yMbh7H<6;)Eu=_x8_CMKg~}w6+gqzp;YJjc^1XL;omSdzrZiz$V(jUz<=OBGA-PH zgX#E9euwG#U4D;+@caBXrV$KobbuQ*_**M<%pmmi#8YqK&5Rf)e3%Kg^k>c@Km@P= zj2MB;6{CiQd0^xS!gjC-W@Zs0LU4Sj2xaaVO~SB0Tp&&{szl((CZY-UM2bk}saThJ zE7oOxu&xbf#fn%Q87C5OOmop3$16_q5btAL^$|zKQKl8g#4(iiLvaenetP`lkL2v zR4J8(kf*}wX$3MpdBO$~*OIM5$X0=5t01uF0A3Ya1(U7($yUK+M;~&Qo}6VMXQ^o1 zH;|`P0sXK!#G0p$udwM=}&AL#fG78ZwlY45cGOIbg(0 zLD>{TS?E~}M)H(1EcGaysJO{QZgL_wIg^`Q$xSXWQy1(}tmH~hcre3E-LS2=$xLo? zB{#W|o7~Aw9^@uZa+5c?$&=jV#Reb+kd*?-N*1z`A6dy4PRd6~6d(DMk3z{uLF6O* zXc$aB@+TkZ$wvkn8C7H=BbmsROymp?%|Zzk2bsu026B*|9HfGSwquWC9~Ifhk?f-; z`{>9%4(t#+hCGkMK4#eG3*@YL$4uUFBky>ScRa~EUa-zZXJ(4qd z$CZrZPR237H+NAs#U`#~6Fu+8`>`MWeZa%%UQ*7|1LF zW_c6aic=(Vih-P>BBvP0DURe6PEJviQ#9lh9XZ8;oTBGPFgG&7EMLG=icOrzCeCCN zSF(uZ!g8c+0Cu|(DJVZ_QM2IG}gSV5S= ziWAl`&6p$BGBUVP#u5X^HWqm1qT$l0`B&ZY^3fUy&kG zFs8K;ZCDW2K5dm>4U1G3DB6j3I6h6Jf%W#7ReNJr{V2{#7wOC*I*5)qH$!AFf6+;F z!pPZKbjBFfMRdXbOp(dlL|4qheJ~5}j(oC27Ov7m^g#YtQDILn(F;fR7JZc8T#LTg z(+~4?AL3p|W1vK1pbJs1BT|jTs6yv+b#yADRs@Y&jTsHDV^kTn{AtuuH=1c{Y1A^& zsAXT-m}tB*5w#9Pt%<1B6166xR!ifRiP+T~7W zI}q6>B3n;nYsq#dV%m|I))CVxVp24Y$wra737XCY)n6EPhKrW3(m3y`fMvIB^0 zcOu(`$aW>N-HB{xBHM?^b|JF8h-@>F?LuU`5!tRpwhzeefO9*7Zx7f2dw)M>trs&}W6B5OpgOMJQ{rC`PM|5~FZTi6}vD zjS*u|x3OX@@);+_p)H;j&m#Zl#B(_QdGS2neL=j4<4Z*;_LPY-Y?q62P&HnR$M#F& zCA93z;$>`45EIZk6`}&=nJ6YA&q`5=E50HSIbxES1i~hZ$+*fCfw_}-RlJJrX<{16 zIbBT0o*7~Wwr7f2$g@gRVb5$a8~r^;%wfS|u9(Zh#XK<&9-1%agR|EJ);Z#J@j6`i zhIj+-E)WaR_tl~rdlrdB*j_9aqvw{0CD>jnmLi{JVi~rVi{;pUQ@ja=R)`hI^DXff z3ll5FN-(!dtU}+f7OQcUx5XM9zgDcp_Byc+23;@KW6uV$0oxnJCgihOY{s5<#5*X@ z7O@2kZ53OQ=Qgno`EM87LFW#!1N6Tu-enPDr`U<8*d=x&hdp8s3l)3CUX*#C*oQK_ zC*DJD%H2G@s1Y^Hm)MG;`xXje*+f_jc{IGyy^6@Xdld?85#+gW@?3Z$!lH<F844N;{hs#HXk6H#RVRa3zIR8VCgsx+W#2DWF4 znYhXQYeuWNF;?4Nd_V*lt_vslDz27r~R`n6BBuZatjIz zM&v*AOgtZYCY}#H6VIpaGZ0SCxiK*QTmQPJw%MPgulj z(!G1{wZ8A33gD&eVCS6ti0#@0mBh%J)W`}yk6p8W6cJQe(RgU*BvZ)i7X>2qDUmy_ zfeddVD&WB(q8I;DJ=Czf8m3E$Ga;lB4aCRI9Bm|ari-eYvuQfTSgzUSJmgH4_m z6}XhRE5y+X`M&?P1!#t`lk3FndA;Y$9UloTaAJi{5j9Q5Q@5Pjzop461=MsoFl2fi zqaT|d!Hvh&yG+emT1BN2r?8VaJAC4#;&~D~(P|E_5sMukA=H~3p~uclj?*?26;A-? zh;b^~*-6Kr$>Ylx(xTHJ7#|=fA}79$eSYnU9vo@Bixz%g6-;=yhoD!I@~Y8kueK%X zOcym!%FtD!nwr{tA75;3?PPQ8l}p4$_e^ui;;S)!iV4MSL#6Rs@fjGTU2W~>t~~<` zz9)oB3!nHe9k_1~H}}t4&8sw9Js$w;txQgMlJ;Cvj$&q|r{n70<}z<8-u>jqcCQoL zOfDJW5-~v+9 z_oIexr!KLuZS~6LtjdhBJtvD#>vZ`WY%Lw02Gd3}Fiuh8%viCbD24tKPB3B<5Urt| zsaJcdDX~M2Bh@@AvDm~+l`!=%ImjAr#!`nD;S*MBI;w_a6ZT=hHDOLlnehPv?nQl- zf8%7Py-5xFq)^j%oC2Pg1wzj>tdn$X;1J@=J2LJ@uvX8%OG90IP&1JC*zWROe1T ziA}!RI|)_pZ`TcYHTkp0$In^t@^w;^ySROHZ@lvcrv2SVXB4g|bls6S&Ku|D74@EF zl`K6j?|z`c&HG8WOFIA8?$ViT-_G%f;7KmHx4S(1o$Sgam)vGZJyiDcHR}7?u1Ywo z1wPfr%raZV*kB+6kd#>B3iyg*N@lb)>c;M zme~5014Q5V+uUZlw}0;5>e<=FUu-X_RcBmeM~v$?NTbX%4TCNd0+uAi$HfUSB+3;657`T0%cI^#1U%U?je=@Rk7ICZ`)4x-3|DLvc!cA@3 z9N6#b_vBm~_5^!v5m?*V_Q!Lzr><8~!IyG1#0is#@keZ#m~4Bi`>bs%$b$Ih)0u2X z8T5n5M|@mPfRm2HYpinh=y7r#F2iRxUC!CMX!4eLnjsDT=-G6@k`JPViHO2w}cDhUXkJavc7vDv-8XmoCbpgfhsZ;t_ z&JtPP_0G@sGV;DV%hw^cBh0q&c3j%^_v4Q88yQmf6I0axXh&^DNA#ABjrR{KbWYms zxS5;QCa!zdo+l2=p2@&eVYfMZ+-rjrJCoEy)gSox0Xbba#gn{GT!+`+&144;Y}J!l zyC-tRB0i`L$L}F6gUvf&-nr|&jJ&ozvq?+93v{q;u8-~OC+cvAwcF?W9>;^bIn))g z)#)5w(@U2lI2avSRbQ4CkJznhIMh#9Wy~X#?SP^0dCVHPk-2f~4`Pla<;!gg%GUTy z^-=Xvx%lsFc0d)27%6QEjS*SYM~YAzI4Ma;z*O;egE{X`;u=s0P!qaZCM)69Gf`kE zbLdv*rnkN~zxL6p=X|4kTJ3S}yDMMIRm%3Oxod(n_-`(z1s}zwEe~4W0xawLtAV}r z^m~3dyi>nYStEs&gqDBnlC)H8dL1lbpKtvKjm*OQe$+(Hn;Eog;IXkG4pTrLv(qHCJ?Lm0HWgj%ia1q#4$O zHZ2IapP@3}4%hhmFWLT>*shGH7Ed0C*dc|Hk+kXU!=zv#gErNNB=5lWyiPFUsG88= z+G1!&S`AUOQV?kQVNz03cvtxY32UijoC!{evZ*W8`Z#PK60tEyL@FZ}IfppAN$e@T*`)@u|E#_6~xEetIp_qHYZrl4&W~ z_Tv;36U`xGf{Q?QeC5H=;QJHC`OGR1F$xMC4S5Wm9PaV7qH--Otogp%@m>3Xz0}xC z9B7+nm+?tT8VV{*9h>n1ebTj%_SBrVQ-X$cQ_H#N_ebBSo z$eT3h5Ugu@+PAwDUDaGMYw_)?4vx_ai_7PFZ>yHN_p<~0(zfkLy+WMlhX#<$efb*d zgh}O|bA<$*`tsUq9O>+^4<7xxQ~J!AAZE!3C$V%V^Zu{iE)jZG`*J?*Vn z>ue_I{Y?Z|26&wL{)dtClqh|lq1x}$ZDDZV;(6Bv+i~B{h2P$XY4_6(dtT?D{>*T1 z2w>?gDt7h=$IDE+<#JVWe-YL3r$jj&)x6EMzY$k0H7y_Qm3Wlt(7oxfM@z|Ec2TbQ z2AXpcnOe&b9Q%1czMzNr8-qyVtPZPrJjeJS)G|X0hjN!Gxar^Nt&+7VAgD~C6g|iB zitU{Fezy?$9OjGKnt`2Hy`$)9cTntdX)JGCtigi`Ygc5MY91))yT+)Y0SqN2WTdR@ zq@$-Le`g_LWMbM2cbSk6Zx|gkCK*ADxBr#p{X6u&jy5^R?$5^k&zFm79<$#3xH)Yw z$M>LlY6<7gNByFd{k3}Jq5N^|b;{rOMr3yXd{8q?%Qf>;D^s7V6yfZwo6E|4^j+W1 zpK7vwDPt5I?8Ni2c5HQ_bE3+(==hEEGW_0C);eh*vwP{|d~#mTc+?&LGRv#r!18PG zLWh;3B>hoDcF{bg`fk~MXMrm30%NqK)0GD2<f~B|3wPmj;Gt7` z^l#{vrdrng{Mu(_lAV4t3o2Uni_1Lw0l1e-b{g|qhr`$2dt(%OXELhJOP=|4xc#iX zo%Z8qWt@5L>blQlr8w-HyDa}>Zu`G8m7@`6;(rj;M$H>j`3tcK?~d9^C)xC`58X?b z7W>oHJ9hjA)M+J#ZY)^R#O;93@7Cpyq}$#8iK-5p8bHbX3gP^pjV9zzyMXa+IDu2r z%=}v;g(vHWiFva`oZbsM2zD=11+w6%ENNM(kOs7R%I5kpLIfuDH69hanp*w1h)yp5 zr~G~14Sv7Z;Kyq4ILl}5rSb`>%!`;?&jscaU7l{Y^Ywkfls#JY^V+uQ%BSaE2Y;W7 zlN^M|>>uGq_n$mt?Uf#dx5~kcx_6jNzB8OG_QgUbU-L>@eYa&;d^MlTmm{cy3U3p) z+Shtz)tUvt&#SK*+c+Bc7l*rg$=q5;o%FWzu+J;+9UuS4-GUvi5PtwV-|kZ601W5o zMoAkz)d~H8-7FtP*NEConDL52NCM$^3gt;IO(c%1zW-XKBR?mf#+tK>@*uZWW)hRy z1e>;yO;r{q{>}-4?#*dv%IA)T3YY!4x;Y)^PG*wBcVRT6KOo3bT)IN9EkSc)QE+m$ z!;A0Q$M12C{f>+5c6bd|d2?G5MZmF@SX$)Qd?Uvqb)ThE*y zN7T;yyI(KD)C{Nj@f0Pq^GrI)Klk0fo<871;9n2-&oFRIY}obq2J?f!K>fh|{dOl9 zE_w(7&cA`;yum}CPT8ykyHCpe(SYRKJ034^)`t-5femzYf!^G%(7DFG$6=O5x2GR&0R3bU2->QFk z5c+l&`mqP(lV5qzAJ5@Pw;7N20txbnqdGA89yVWJw%*t$S0!`AjUWR-{6p9u-0>^y zqg>Nm#3!UiGq1Q6egMzICwPM-c*5XAjTZ=%7o-L1E<(qF>Z*IQzzZdU#0orMVh@l{ zJx=xe`1KhaA8XeolNjRif>Yk5qO!}_Bh(ZiAP=|Pm{Do}2#e_;^cVC%0DPd*;FpD< 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%0D5H$!>I@d(Agn%A070B>iRZ$K$i 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%0DHRz-L^J* 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

(v{A)vz^H&p}H3zdCr>$ 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%0DBkw?!oeXnATM0s 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

+ public class Tech3CAndroidBridge : ITech3CNativeBridge + { + private const string CLASS_NAME = "vn.tech3c.sdk.auth.controller.Tech3CIdController"; + private const string BRIDGE_CLASS = "vn.tech3c.sdk.unity.Tech3CUnityBridge"; + + private AndroidJavaObject controller; + private AndroidJavaObject unityBridge; + + /// + /// Initialize the Tech3C SDK + /// + public void Initialize(string clientId, string clientSecret, Tech3CConfig config) + { + try + { + Debug.Log("[Tech3C] Bridge GameObject initialized"); + + // Initialize Unity Bridge for callbacks first + using (AndroidJavaClass bridgeClass = new AndroidJavaClass(BRIDGE_CLASS)) + { + unityBridge = bridgeClass.CallStatic("getInstance"); + } + + // Initialize controller with method chaining to set callback + if (controller == null) + { + using (AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) + using (AndroidJavaObject activity = unityPlayer.GetStatic("currentActivity")) + using (AndroidJavaClass controllerClass = new AndroidJavaClass(CLASS_NAME)) + { + // Chain methods like MainActivity: initialize() -> setDebug() -> setOnAuthCallback() + controller = controllerClass.CallStatic( + "initialize", + activity, + clientId, + clientSecret + ) + // .Call("setDebug", true) + // .Call("setDisableExitLogin", false) + // .Call("setEnableMaintenanceCheck", true) + .Call("setOnAuthCallback", unityBridge); + + Debug.Log("[Tech3C] Unity Bridge registered with native SDK"); + } + } + + if (controller != null) + { + // Apply configuration + ApplyConfig(config); + Debug.Log("[Tech3C] Initialized successfully"); + } + else + { + Debug.LogError("[Tech3C] Failed to initialize controller"); + } + } + catch (Exception e) + { + Debug.LogError($"[Tech3C] Initialize error: {e.Message}"); + } + } + + /// + /// Apply configuration settings to the SDK + /// + private void ApplyConfig(Tech3CConfig config) + { + if (controller == null || config == null) return; + + try + { + // Set debug mode (returns Tech3CIdController for chaining) + controller = controller.Call("setDebug", config.debugMode); + + // Set language - pass Java Language enum + using (AndroidJavaClass languageEnumClass = new AndroidJavaClass("vn.tech3c.sdk.auth.entities.enums.Language")) + { + string javaEnumValue = config.language == Language.Vietnamese ? "VIETNAMESE" : "ENGLISH"; + AndroidJavaObject javaLanguage = languageEnumClass.GetStatic(javaEnumValue); + controller = controller.Call("setLanguageDisplay", javaLanguage); + } + + // Set UI mode - pass Java UiMode enum + using (AndroidJavaClass uiModeEnumClass = new AndroidJavaClass("vn.tech3c.sdk.auth.entities.enums.UiMode")) + { + string javaEnumValue = config.uiMode == UiMode.Fullscreen ? "FULLSCREEN" : "DIALOG"; + AndroidJavaObject javaUiMode = uiModeEnumClass.GetStatic(javaEnumValue); + controller = controller.Call("setUiMode", javaUiMode); + } + + // Set orientation - pass Java OrientationMode enum + using (AndroidJavaClass orientationEnumClass = new AndroidJavaClass("vn.tech3c.sdk.auth.entities.enums.OrientationMode")) + { + string javaEnumValue = config.screenOrientation.ToString().ToUpper(); + AndroidJavaObject javaOrientation = orientationEnumClass.GetStatic(javaEnumValue); + controller = controller.Call("setOrientation", javaOrientation); + } + + // Set guest login + controller = controller.Call("setEnableGuestLogin", config.enableGuestLogin); + + // Set OTP requirement + controller = controller.Call("setRequireOtp", config.requireOtp); + + // Set disable exit login + controller = controller.Call("setDisableExitLogin", config.disableExitLogin); + + // Set maintenance check + controller = controller.Call("setEnableMaintenanceCheck", config.enableMaintenanceCheck); + + if (!string.IsNullOrEmpty(config.maintenanceCheckUrl)) + { + controller = controller.Call("setMaintenanceCheckUrl", config.maintenanceCheckUrl); + } + + if (!string.IsNullOrEmpty(config.serverIp)) + { + controller = controller.Call("setIpMaintenanceCheck", config.serverIp); + } + + Debug.Log("[Tech3C] Configuration applied successfully"); + } + catch (Exception e) + { + Debug.LogError($"[Tech3C] ApplyConfig error: {e.Message}"); + } + } + + /// + /// Show authentication screen + /// + public void ShowAuth(IAuthCallback callback) + { + try + { + if (controller == null) + { + Debug.LogError("[Tech3C] Controller not initialized"); + callback?.OnAuthError(-1, "SDK not initialized"); + return; + } + + // Register callback with bridge + Tech3CSDKBridge.SetAuthCallback(callback); + + using (AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) + using (AndroidJavaObject activity = unityPlayer.GetStatic("currentActivity")) + { + controller.Call("showAuth", activity); + Debug.Log("[Tech3C] Auth screen shown"); + } + } + catch (Exception e) + { + Debug.LogError($"[Tech3C] ShowAuth error: {e.Message}"); + callback?.OnAuthError(-1, e.Message); + } + } + + /// + /// Logout current user + /// + public void Logout(ILogoutCallback callback) + { + try + { + if (controller == null) + { + Debug.LogError("[Tech3C] Controller not initialized"); + callback?.OnLogoutError(-1, "SDK not initialized"); + return; + } + + // Register callback with bridge + Tech3CSDKBridge.SetLogoutCallback(callback); + + controller.Call("logout"); + Debug.Log("[Tech3C] Logout initiated"); + } + catch (Exception e) + { + Debug.LogError($"[Tech3C] Logout error: {e.Message}"); + callback?.OnLogoutError(-1, e.Message); + } + } + + /// + /// Get user information + /// + public void GetUserInfo(IUserInfoCallback callback) + { + try + { + if (controller == null) + { + Debug.LogError("[Tech3C] Controller not initialized"); + callback?.OnUserInfoError(-1, "SDK not initialized"); + return; + } + + // Register callback with bridge + Tech3CSDKBridge.SetUserInfoCallback(callback); + + controller.Call("getUserInfo"); + Debug.Log("[Tech3C] GetUserInfo called"); + } + catch (Exception e) + { + Debug.LogError($"[Tech3C] GetUserInfo error: {e.Message}"); + callback?.OnUserInfoError(-1, e.Message); + } + } + + /// + /// Check if user is logged in + /// + public bool IsLoggedIn() + { + try + { + if (controller == null) return false; + + return controller.Call("isLogin"); + } + catch (Exception e) + { + Debug.LogError($"[Tech3C] IsLoggedIn error: {e.Message}"); + return false; + } + } + + /// + /// Get access token + /// + public string GetAccessToken() + { + try + { + if (controller == null) return null; + + return controller.Call("getAccessToken"); + } + catch (Exception e) + { + Debug.LogError($"[Tech3C] GetAccessToken error: {e.Message}"); + return null; + } + } + + /// + /// Get refresh token + /// + public string GetRefreshToken() + { + try + { + if (controller == null) return null; + + return controller.Call("getRefreshToken"); + } + catch (Exception e) + { + Debug.LogError($"[Tech3C] GetRefreshToken error: {e.Message}"); + return null; + } + } + + /// + /// Get user ID + /// + public string GetUserId() + { + try + { + if (controller == null) return null; + + return controller.Call("getUserId"); + } + catch (Exception e) + { + Debug.LogError($"[Tech3C] GetUserId error: {e.Message}"); + return null; + } + } + + /// + /// Get device ID + /// + public string GetDeviceId() + { + try + { + if (controller == null) return null; + + return controller.Call("getDeviceId"); + } + catch (Exception e) + { + Debug.LogError($"[Tech3C] GetDeviceId error: {e.Message}"); + return null; + } + } + + /// + /// Get login time + /// + public long GetLoginTime() + { + try + { + if (controller == null) return 0; + + return controller.Call("getLoginTime"); + } + catch (Exception e) + { + Debug.LogError($"[Tech3C] GetLoginTime error: {e.Message}"); + return 0; + } + } + + /// + /// Get token expiry time + /// + public long GetTokenExpiry() + { + try + { + if (controller == null) return 0; + + return controller.Call("getTokenExpiry"); + } + catch (Exception e) + { + Debug.LogError($"[Tech3C] GetTokenExpiry error: {e.Message}"); + return 0; + } + } + + /// + /// Check if token is expired + /// + public bool IsTokenExpired() + { + try + { + if (controller == null) return false; + + return controller.Call("isTokenExpired"); + } + catch (Exception e) + { + Debug.LogError($"[Tech3C] IsTokenExpired error: {e.Message}"); + return false; + } + } + + /// + /// Set language + /// + public void SetLanguage(Language language) + { + try + { + if (controller == null) return; + + // Set language - pass Java Language enum + using (AndroidJavaClass languageEnumClass = new AndroidJavaClass("vn.tech3c.sdk.auth.entities.enums.Language")) + { + string javaEnumValue = language == Language.Vietnamese ? "VIETNAMESE" : "ENGLISH"; + AndroidJavaObject javaLanguage = languageEnumClass.GetStatic(javaEnumValue); + controller = controller.Call("setLanguageDisplay", javaLanguage); + } + Debug.Log($"[Tech3C] Language set to {language}"); + } + catch (Exception e) + { + Debug.LogError($"[Tech3C] SetLanguage error: {e.Message}"); + } + } + + /// + /// Set debug mode + /// + public void SetDebug(bool debug) + { + try + { + if (controller == null) return; + + controller = controller.Call("setDebug", debug); + Debug.Log($"[Tech3C] Debug mode set to {debug}"); + } + catch (Exception e) + { + Debug.LogError($"[Tech3C] SetDebug error: {e.Message}"); + } + } + + /// + /// Cleanup resources + /// + public void Cleanup() + { + try + { + if (controller != null) + { + controller.Call("cleanup"); + controller.Dispose(); + controller = null; + Debug.Log("[Tech3C] Cleanup completed"); + } + } + catch (Exception e) + { + Debug.LogError($"[Tech3C] Cleanup error: {e.Message}"); + } + } + } + + /// + /// Interface for native bridge implementations + /// + public interface ITech3CNativeBridge + { + void Initialize(string clientId, string clientSecret, Tech3CConfig config); + void ShowAuth(IAuthCallback callback); + void Logout(ILogoutCallback callback); + void GetUserInfo(IUserInfoCallback callback); + bool IsLoggedIn(); + string GetAccessToken(); + string GetRefreshToken(); + string GetUserId(); + string GetDeviceId(); + long GetLoginTime(); + long GetTokenExpiry(); + bool IsTokenExpired(); + void SetLanguage(Language language); + void SetDebug(bool debug); + void Cleanup(); + } +} diff --git a/Assets/Tech3C/Runtime/Tech3CAndroidBridge.cs.meta b/Assets/Tech3C/Runtime/Tech3CAndroidBridge.cs.meta new file mode 100644 index 0000000000..937d79ca0b --- /dev/null +++ b/Assets/Tech3C/Runtime/Tech3CAndroidBridge.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 50744a202f3e9e24a80e10aecf427dac +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tech3C/Runtime/Tech3CCallbacks.cs b/Assets/Tech3C/Runtime/Tech3CCallbacks.cs new file mode 100644 index 0000000000..7f40b826a3 --- /dev/null +++ b/Assets/Tech3C/Runtime/Tech3CCallbacks.cs @@ -0,0 +1,150 @@ +using System; + +namespace Tech3C +{ + /// + /// Callback for authentication operations (login, register, etc.) + /// + public interface IAuthCallback + { + /// + /// Called when authentication is successful + /// + /// The authenticated user ID + /// The user password + /// The access token + /// The refresh token + /// The type of login used + /// Token expiry timestamp + void OnAuthSuccess(string userId, string password, string accessToken, string refreshToken, LoginType loginType, long expiryTime); + + /// + /// Called when authentication is cancelled by the user + /// + void OnAuthCancelled(); + + /// + /// Called when an error occurs during authentication + /// + /// The error code + /// The error message + void OnAuthError(int errorCode, string errorMessage); + } + + /// + /// Callback for logout operations + /// + public interface ILogoutCallback + { + /// + /// Called when logout is successful + /// + void OnLogoutSuccess(); + + /// + /// Called when an error occurs during logout + /// + /// The error code + /// The error message + void OnLogoutError(int errorCode, string errorMessage); + } + + /// + /// Callback for user info operations + /// + public interface IUserInfoCallback + { + /// + /// Called when user info is successfully retrieved + /// + /// The user ID + /// The username + /// The email address + /// The phone number + void OnUserInfoReceived(string userId, string username, string email, string phone); + + /// + /// Called when user info retrieval is cancelled + /// + void OnUserInfoCancelled(); + + /// + /// Called when an error occurs while retrieving user info + /// + /// The error code + /// The error message + void OnUserInfoError(int errorCode, string errorMessage); + } + + /// + /// Default implementation of IAuthCallback using Unity events + /// + [Serializable] + public class AuthCallback : IAuthCallback + { + public event Action OnAuthSuccessEvent; + public event Action OnAuthCancelledEvent; + public event Action OnAuthErrorEvent; + + public void OnAuthSuccess(string userId, string password, string accessToken, string refreshToken, LoginType loginType, long expiryTime) + { + OnAuthSuccessEvent?.Invoke(userId, password, accessToken, refreshToken, loginType, expiryTime); + } + + public void OnAuthCancelled() + { + OnAuthCancelledEvent?.Invoke(); + } + + public void OnAuthError(int errorCode, string errorMessage) + { + OnAuthErrorEvent?.Invoke(errorCode, errorMessage); + } + } + + /// + /// Default implementation of ILogoutCallback using Unity events + /// + [Serializable] + public class LogoutCallback : ILogoutCallback + { + public event Action OnLogoutSuccessEvent; + public event Action OnLogoutErrorEvent; + + public void OnLogoutSuccess() + { + OnLogoutSuccessEvent?.Invoke(); + } + + public void OnLogoutError(int errorCode, string errorMessage) + { + OnLogoutErrorEvent?.Invoke(errorCode, errorMessage); + } + } + + /// + /// Default implementation of IUserInfoCallback using Unity events + /// + [Serializable] + public class UserInfoCallback : IUserInfoCallback + { + public event Action OnUserInfoReceivedEvent; + public event Action OnUserInfoCancelledEvent; + public event Action OnUserInfoErrorEvent; + + public void OnUserInfoReceived(string userId, string username, string email, string phone) + { + OnUserInfoReceivedEvent?.Invoke(userId, username, email, phone); + } + + public void OnUserInfoCancelled() + { + OnUserInfoCancelledEvent?.Invoke(); + } + + public void OnUserInfoError(int errorCode, string errorMessage) + { + OnUserInfoErrorEvent?.Invoke(errorCode, errorMessage); + } + } +} diff --git a/Assets/Tech3C/Runtime/Tech3CCallbacks.cs.meta b/Assets/Tech3C/Runtime/Tech3CCallbacks.cs.meta new file mode 100644 index 0000000000..b7e5fd3738 --- /dev/null +++ b/Assets/Tech3C/Runtime/Tech3CCallbacks.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ed5aa8a6da34849438530838098c8ca0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tech3C/Runtime/Tech3CConfig.cs b/Assets/Tech3C/Runtime/Tech3CConfig.cs new file mode 100644 index 0000000000..6d31bb34b2 --- /dev/null +++ b/Assets/Tech3C/Runtime/Tech3CConfig.cs @@ -0,0 +1,114 @@ +using UnityEngine; + +namespace Tech3C +{ + /// + /// Configuration class for Tech3C SDK + /// + [CreateAssetMenu(fileName = "Tech3CConfig", menuName = "Tech3C SDK/Configuration", order = 1)] + public class Tech3CConfig : ScriptableObject + { + [Header("Client Credentials")] + [Tooltip("Client ID for Tech3C authentication")] + public string clientId; + + [Tooltip("Client Secret for Tech3C authentication")] + public string clientSecret; + + [Header("General Settings")] + [Tooltip("Enable debug mode for detailed logging")] + public bool debugMode = false; + + [Tooltip("Display language for the SDK")] + public Language language = Language.English; + + [Tooltip("Environment for the SDK")] + public Environment environment = Environment.Production; + + [Header("UI Settings")] + [Tooltip("UI mode for authentication (Fullscreen or Dialog)")] + public UiMode uiMode = UiMode.Fullscreen; + + [Tooltip("Dialog size when UI mode is Dialog")] + public DialogSize dialogSize = DialogSize.Medium; + + [Tooltip("Screen orientation for authentication")] + public OrientationMode screenOrientation = OrientationMode.Auto; + + [Tooltip("Disable exit button on login screen")] + public bool disableExitLogin = false; + + [Header("Authentication Settings")] + [Tooltip("Enable guest login")] + public bool enableGuestLogin = false; + + [Tooltip("Require OTP for authentication")] + public bool requireOtp = false; + + [Tooltip("Enable Google login")] + public bool enableGoogleLogin = false; + + [Tooltip("Enable Facebook login")] + public bool enableFacebookLogin = false; + + [Tooltip("Enable Apple login")] + public bool enableAppleLogin = false; + + [Header("Maintenance Settings")] + [Tooltip("Enable maintenance check")] + public bool enableMaintenanceCheck = false; + + [Tooltip("Maintenance check URL")] + public string maintenanceCheckUrl; + + [Tooltip("Server IP for maintenance check")] + public string serverIp; + + [Header("Network Settings")] + [Tooltip("Timeout in seconds for network requests")] + public int timeoutSeconds = 30; + + /// + /// Creates a default Tech3CConfig asset + /// + public static Tech3CConfig CreateDefault() + { + var config = CreateInstance(); + config.clientId = ""; + config.clientSecret = ""; + config.debugMode = false; + config.language = Language.English; + config.environment = Environment.Production; + config.uiMode = UiMode.Fullscreen; + config.dialogSize = DialogSize.Medium; + config.screenOrientation = OrientationMode.Auto; + config.disableExitLogin = false; + config.enableGuestLogin = false; + config.requireOtp = false; + config.enableGoogleLogin = false; + config.enableFacebookLogin = false; + config.enableAppleLogin = false; + config.enableMaintenanceCheck = false; + config.maintenanceCheckUrl = ""; + config.serverIp = ""; + config.timeoutSeconds = 30; + return config; + } + + /// + /// Validates the configuration + /// + public bool IsValid() + { + return !string.IsNullOrEmpty(clientId) && !string.IsNullOrEmpty(clientSecret); + } + + /// + /// Gets the language code string + /// + public string GetLanguageCode() + { + return language == Language.Vietnamese ? "vi" : "en"; + } + } +} diff --git a/Assets/Tech3C/Runtime/Tech3CConfig.cs.meta b/Assets/Tech3C/Runtime/Tech3CConfig.cs.meta new file mode 100644 index 0000000000..39fd2c7efd --- /dev/null +++ b/Assets/Tech3C/Runtime/Tech3CConfig.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 95a442ac7dacf8b4484a10035308bc31 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tech3C/Runtime/Tech3CEnums.cs b/Assets/Tech3C/Runtime/Tech3CEnums.cs new file mode 100644 index 0000000000..9107769385 --- /dev/null +++ b/Assets/Tech3C/Runtime/Tech3CEnums.cs @@ -0,0 +1,64 @@ +using System; + +namespace Tech3C +{ + /// + /// Language options for the SDK + /// + public enum Language + { + Vietnamese, + English + } + + /// + /// UI mode for authentication dialog + /// + public enum UiMode + { + Fullscreen, + Dialog + } + + /// + /// Screen orientation for authentication + /// + public enum OrientationMode + { + Auto, + Portrait, + Landscape + } + + /// + /// Login type for authentication + /// Matches the native SDK's LoginType enum + /// + public enum LoginType + { + GUEST, + ACCOUNT, + SOCIAL, + REGISTER // For register success handling + } + + /// + /// Environment for the SDK + /// + public enum Environment + { + Production, + Staging, + Development + } + + /// + /// Dialog size for UI mode + /// + public enum DialogSize + { + Small, + Medium, + Large + } +} diff --git a/Assets/Tech3C/Runtime/Tech3CEnums.cs.meta b/Assets/Tech3C/Runtime/Tech3CEnums.cs.meta new file mode 100644 index 0000000000..0b58d42a40 --- /dev/null +++ b/Assets/Tech3C/Runtime/Tech3CEnums.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c35f3ea36736dfe439eb6f4b8a314dde +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tech3C/Runtime/Tech3CSDK.cs b/Assets/Tech3C/Runtime/Tech3CSDK.cs new file mode 100644 index 0000000000..dd9111009a --- /dev/null +++ b/Assets/Tech3C/Runtime/Tech3CSDK.cs @@ -0,0 +1,473 @@ +using UnityEngine; +using System; + +namespace Tech3C +{ + /// + /// Main API wrapper for Tech3C SDK + /// This is the main entry point for using the SDK in Unity + /// + public class Tech3CSDK : MonoBehaviour + { + private static Tech3CSDK instance; + private ITech3CNativeBridge nativeBridge; + private Tech3CConfig config; + private bool isInitialized = false; + + #region Singleton + + /// + /// Get the singleton instance of Tech3CSDK + /// + public static Tech3CSDK Instance + { + get + { + if (instance == null) + { + GameObject go = new GameObject("Tech3CSDK"); + instance = go.AddComponent(); + DontDestroyOnLoad(go); + } + return instance; + } + } + + private void Awake() + { + if (instance == null) + { + instance = this; + DontDestroyOnLoad(gameObject); + } + else if (instance != this) + { + Destroy(gameObject); + } + } + + #endregion + + #region Initialization + + /// + /// Initialize the Tech3C SDK with configuration + /// + /// The configuration object + public void Initialize(Tech3CConfig config) + { + if (config == null) + { + Debug.LogError("[Tech3C] Config cannot be null"); + return; + } + + if (!config.IsValid()) + { + Debug.LogError("[Tech3C] Invalid config: Client ID and Client Secret are required"); + return; + } + + this.config = config; + + // Ensure Tech3CSDKBridge is created to receive callbacks from native code + var bridge = Tech3CSDKBridge.Instance; + Debug.Log("[Tech3C] Tech3CSDKBridge ensured for callbacks"); + + // Create platform-specific bridge + CreateNativeBridge(); + + if (nativeBridge != null) + { + nativeBridge.Initialize(config.clientId, config.clientSecret, config); + isInitialized = true; + Debug.Log("[Tech3C] Initialization completed successfully"); + } + else + { + Debug.LogError("[Tech3C] Failed to create native bridge"); + } + } + + /// + /// Initialize the Tech3C SDK with client credentials + /// + /// The client ID + /// The client secret + public void Initialize(string clientId, string clientSecret) + { + if (string.IsNullOrEmpty(clientId) || string.IsNullOrEmpty(clientSecret)) + { + Debug.LogError("[Tech3C] Client ID and Client Secret are required"); + return; + } + + config = Tech3CConfig.CreateDefault(); + config.clientId = clientId; + config.clientSecret = clientSecret; + + Initialize(config); + } + + private void CreateNativeBridge() + { + #if UNITY_ANDROID && !UNITY_EDITOR + nativeBridge = new Tech3CAndroidBridge(); + #elif UNITY_IOS && !UNITY_EDITOR + nativeBridge = new Tech3CiOSBridge(); + #else + #if UNITY_ANDROID + nativeBridge = new Tech3CAndroidBridge(); + #elif UNITY_IOS + nativeBridge = new Tech3CiOSBridge(); + #else + Debug.LogWarning("[Tech3C] Running in Editor or unsupported platform. Using mock implementation."); + nativeBridge = new MockBridge(); + #endif + #endif + } + + #endregion + + #region Authentication + + /// + /// Show authentication screen (login/register/forgot password) + /// + /// The callback for authentication result + public void ShowAuth(IAuthCallback callback) + { + if (!isInitialized) + { + Debug.LogError("[Tech3C] SDK not initialized. Call Initialize() first."); + callback?.OnAuthError(-1, "SDK not initialized"); + return; + } + + nativeBridge?.ShowAuth(callback); + } + + /// + /// Show authentication screen without callback + /// + public void ShowAuth() + { + ShowAuth(null); + } + + #endregion + + #region User Management + + /// + /// Logout current user + /// + /// The callback for logout result + public void Logout(ILogoutCallback callback) + { + if (!isInitialized) + { + Debug.LogError("[Tech3C] SDK not initialized. Call Initialize() first."); + callback?.OnLogoutError(-1, "SDK not initialized"); + return; + } + + nativeBridge?.Logout(callback); + } + + /// + /// Logout current user without callback + /// + public void Logout() + { + Logout(null); + } + + /// + /// Get user information + /// + /// The callback for user info result + public void GetUserInfo(IUserInfoCallback callback) + { + if (!isInitialized) + { + Debug.LogError("[Tech3C] SDK not initialized. Call Initialize() first."); + callback?.OnUserInfoError(-1, "SDK not initialized"); + return; + } + + nativeBridge?.GetUserInfo(callback); + } + + /// + /// Get user information without callback + /// + public void GetUserInfo() + { + GetUserInfo(null); + } + + #endregion + + #region State Checkers + + /// + /// Check if user is logged in + /// + public bool IsLoggedIn() + { + if (!isInitialized) + { + Debug.LogWarning("[Tech3C] SDK not initialized"); + return false; + } + + return nativeBridge?.IsLoggedIn() ?? false; + } + + /// + /// Check if access token is expired + /// + public bool IsTokenExpired() + { + if (!isInitialized) + { + Debug.LogWarning("[Tech3C] SDK not initialized"); + return true; + } + + return nativeBridge?.IsTokenExpired() ?? true; + } + + #endregion + + #region Token Management + + /// + /// Get access token + /// + public string GetAccessToken() + { + if (!isInitialized) + { + Debug.LogWarning("[Tech3C] SDK not initialized"); + return null; + } + + return nativeBridge?.GetAccessToken(); + } + + /// + /// Get refresh token + /// + public string GetRefreshToken() + { + if (!isInitialized) + { + Debug.LogWarning("[Tech3C] SDK not initialized"); + return null; + } + + return nativeBridge?.GetRefreshToken(); + } + + #endregion + + #region User Information + + /// + /// Get user ID + /// + public string GetUserId() + { + if (!isInitialized) + { + Debug.LogWarning("[Tech3C] SDK not initialized"); + return null; + } + + return nativeBridge?.GetUserId(); + } + + /// + /// Get device ID + /// + public string GetDeviceId() + { + if (!isInitialized) + { + Debug.LogWarning("[Tech3C] SDK not initialized"); + return null; + } + + return nativeBridge?.GetDeviceId(); + } + + /// + /// Get login timestamp + /// + public long GetLoginTime() + { + if (!isInitialized) + { + Debug.LogWarning("[Tech3C] SDK not initialized"); + return 0; + } + + return nativeBridge?.GetLoginTime() ?? 0; + } + + /// + /// Get token expiry timestamp + /// + public long GetTokenExpiry() + { + if (!isInitialized) + { + Debug.LogWarning("[Tech3C] SDK not initialized"); + return 0; + } + + return nativeBridge?.GetTokenExpiry() ?? 0; + } + + #endregion + + #region Configuration + + /// + /// Set display language + /// + /// The language to set + public void SetLanguage(Language language) + { + if (!isInitialized) + { + Debug.LogWarning("[Tech3C] SDK not initialized"); + return; + } + + nativeBridge?.SetLanguage(language); + } + + /// + /// Set debug mode + /// + /// Enable or disable debug mode + public void SetDebug(bool debug) + { + if (!isInitialized) + { + Debug.LogWarning("[Tech3C] SDK not initialized"); + return; + } + + nativeBridge?.SetDebug(debug); + } + + #endregion + + #region Cleanup + + /// + /// Cleanup SDK resources + /// + public void Cleanup() + { + nativeBridge?.Cleanup(); + nativeBridge = null; + config = null; + isInitialized = false; + Debug.Log("[Tech3C] Cleanup completed"); + } + + private void OnDestroy() + { + Cleanup(); + } + + #endregion + + #region Properties + + /// + /// Get the current configuration + /// + public Tech3CConfig Config => config; + + /// + /// Check if SDK is initialized + /// + public bool IsInitialized => isInitialized; + + #endregion + } + + /// + /// Mock bridge for testing in editor or unsupported platforms + /// + internal class MockBridge : ITech3CNativeBridge + { + private bool isLoggedIn = false; + private string accessToken = "mock_access_token"; + private string refreshToken = "mock_refresh_token"; + private string userId = "mock_user_id"; + + public void Initialize(string clientId, string clientSecret, Tech3CConfig config) + { + Debug.Log($"[Tech3C Mock] Initialized with Client ID: {clientId}"); + } + + public void ShowAuth(IAuthCallback callback) + { + Debug.Log("[Mock3C Mock] ShowAuth called"); + isLoggedIn = true; + string password = "mock_password"; + callback?.OnAuthSuccess(userId, password, accessToken, refreshToken, LoginType.ACCOUNT, DateTime.Now.Ticks + 3600000); + } + + public void Logout(ILogoutCallback callback) + { + Debug.Log("[Tech3C Mock] Logout called"); + isLoggedIn = false; + callback?.OnLogoutSuccess(); + } + + public void GetUserInfo(IUserInfoCallback callback) + { + Debug.Log("[Tech3C Mock] GetUserInfo called"); + callback?.OnUserInfoReceived(userId, "mock_username", "mock@example.com", "1234567890"); + } + + public bool IsLoggedIn() => isLoggedIn; + + public string GetAccessToken() => isLoggedIn ? accessToken : null; + + public string GetRefreshToken() => isLoggedIn ? refreshToken : null; + + public string GetUserId() => isLoggedIn ? userId : null; + + public string GetDeviceId() => "mock_device_id"; + + public long GetLoginTime() => isLoggedIn ? DateTime.Now.Ticks : 0; + + public long GetTokenExpiry() => isLoggedIn ? DateTime.Now.Ticks + 3600000 : 0; + + public bool IsTokenExpired() => false; + + public void SetLanguage(Language language) + { + Debug.Log($"[Tech3C Mock] Language set to {language}"); + } + + public void SetDebug(bool debug) + { + Debug.Log($"[Tech3C Mock] Debug mode set to {debug}"); + } + + public void Cleanup() + { + Debug.Log("[Tech3C Mock] Cleanup completed"); + } + } +} diff --git a/Assets/Tech3C/Runtime/Tech3CSDK.cs.meta b/Assets/Tech3C/Runtime/Tech3CSDK.cs.meta new file mode 100644 index 0000000000..72d6fb5d15 --- /dev/null +++ b/Assets/Tech3C/Runtime/Tech3CSDK.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3afb6189c673cea45a34e6e75c1f5ccb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tech3C/Runtime/Tech3CSDKBridge.cs b/Assets/Tech3C/Runtime/Tech3CSDKBridge.cs new file mode 100644 index 0000000000..4c0b34086e --- /dev/null +++ b/Assets/Tech3C/Runtime/Tech3CSDKBridge.cs @@ -0,0 +1,332 @@ +using UnityEngine; +using System; + +namespace Tech3C +{ + /// + /// Bridge component to receive callbacks from native Android/iOS SDK via Unity messaging + /// This GameObject receives UnitySendMessage calls from native code + /// + public class Tech3CSDKBridge : MonoBehaviour + { + private static Tech3CSDKBridge instance; + + // Callback references + private static IAuthCallback authCallback; + private static ILogoutCallback logoutCallback; + private static IUserInfoCallback userInfoCallback; + + #region Singleton + + public static Tech3CSDKBridge Instance + { + get + { + if (instance == null) + { + GameObject go = new GameObject("Tech3CSDKBridge"); + instance = go.AddComponent(); + DontDestroyOnLoad(go); + } + return instance; + } + } + + private void Awake() + { + if (instance == null) + { + instance = this; + DontDestroyOnLoad(gameObject); + Debug.Log("[Tech3C Bridge] Bridge initialized"); + } + else if (instance != this) + { + Destroy(gameObject); + } + } + + #endregion + + #region Set Callbacks + + /// + /// Set the auth callback to be invoked when auth events occur + /// + public static void SetAuthCallback(IAuthCallback callback) + { + authCallback = callback; + Debug.Log("[Tech3C Bridge] Auth callback set"); + } + + /// + /// Set the logout callback to be invoked when logout events occur + /// + public static void SetLogoutCallback(ILogoutCallback callback) + { + logoutCallback = callback; + Debug.Log("[Tech3C Bridge] Logout callback set"); + } + + /// + /// Set the user info callback to be invoked when user info events occur + /// + public static void SetUserInfoCallback(IUserInfoCallback callback) + { + userInfoCallback = callback; + Debug.Log("[Tech3C Bridge] User info callback set"); + } + + #endregion + + #region Auth Callbacks + + /// + /// Called from native code when authentication is successful + /// Message format: "userId|password|accessToken|refreshToken|loginType|expiryTime" + /// + public void OnAuthSuccess(string message) + { + Debug.Log($"[Tech3C Bridge] OnAuthSuccess received: {message}"); + + if (authCallback == null) + { + Debug.LogWarning("[Tech3C Bridge] No auth callback registered"); + return; + } + + try + { + string[] parts = message.Split('|'); + if (parts.Length >= 6) + { + string userId = parts[0]; + string password = parts[1]; + string accessToken = parts[2]; + string refreshToken = parts[3]; + LoginType loginType = (LoginType)Enum.Parse(typeof(LoginType), parts[4]); + long expiryTime = long.Parse(parts[5]); + + Debug.Log($"[Tech3C Bridge] Parsed auth success: userId={userId}, loginType={loginType}"); + authCallback.OnAuthSuccess(userId, password, accessToken, refreshToken, loginType, expiryTime); + } + else + { + Debug.LogError($"[Tech3C Bridge] Invalid message format: {message}"); + } + } + catch (Exception e) + { + Debug.LogError($"[Tech3C Bridge] Error parsing auth success message: {e.Message}"); + } + } + + /// + /// Called from native code when authentication is cancelled + /// + public void OnAuthCancelled(string message) + { + Debug.Log("[Tech3C Bridge] OnAuthCancelled received"); + + if (authCallback == null) + { + Debug.LogWarning("[Tech3C Bridge] No auth callback registered"); + return; + } + + authCallback.OnAuthCancelled(); + } + + /// + /// Called from native code when an authentication error occurs + /// Message format: "errorCode|errorMessage" + /// + public void OnAuthError(string message) + { + Debug.Log($"[Tech3C Bridge] OnAuthError received: {message}"); + + if (authCallback == null) + { + Debug.LogWarning("[Tech3C Bridge] No auth callback registered"); + return; + } + + try + { + string[] parts = message.Split('|'); + int errorCode = -1; + string errorMessage = "Unknown error"; + + if (parts.Length >= 1) + { + int.TryParse(parts[0], out errorCode); + } + if (parts.Length >= 2) + { + errorMessage = parts[1]; + } + + Debug.Log($"[Tech3C Bridge] Parsed auth error: code={errorCode}, message={errorMessage}"); + authCallback.OnAuthError(errorCode, errorMessage); + } + catch (Exception e) + { + Debug.LogError($"[Tech3C Bridge] Error parsing auth error message: {e.Message}"); + } + } + + #endregion + + #region Logout Callbacks + + /// + /// Called from native code when logout is successful + /// + public void OnLogoutSuccess(string message) + { + Debug.Log("[Tech3C Bridge] OnLogoutSuccess received"); + + if (logoutCallback == null) + { + Debug.LogWarning("[Tech3C Bridge] No logout callback registered"); + return; + } + + logoutCallback.OnLogoutSuccess(); + } + + /// + /// Called from native code when a logout error occurs + /// Message format: "errorCode|errorMessage" + /// + public void OnLogoutError(string message) + { + Debug.Log($"[Tech3C Bridge] OnLogoutError received: {message}"); + + if (logoutCallback == null) + { + Debug.LogWarning("[Tech3C Bridge] No logout callback registered"); + return; + } + + try + { + string[] parts = message.Split('|'); + int errorCode = -1; + string errorMessage = "Unknown error"; + + if (parts.Length >= 1) + { + int.TryParse(parts[0], out errorCode); + } + if (parts.Length >= 2) + { + errorMessage = parts[1]; + } + + logoutCallback.OnLogoutError(errorCode, errorMessage); + } + catch (Exception e) + { + Debug.LogError($"[Tech3C Bridge] Error parsing logout error message: {e.Message}"); + } + } + + #endregion + + #region User Info Callbacks + + /// + /// Called from native code when user info is received + /// Message format: "userId|username|email|phone" + /// + public void OnUserInfoReceived(string message) + { + Debug.Log($"[Tech3C Bridge] OnUserInfoReceived received: {message}"); + + if (userInfoCallback == null) + { + Debug.LogWarning("[Tech3C Bridge] No user info callback registered"); + return; + } + + try + { + string[] parts = message.Split('|'); + if (parts.Length >= 4) + { + string userId = parts[0]; + string username = parts[1]; + string email = parts[2]; + string phone = parts[3]; + + Debug.Log($"[Tech3C Bridge] Parsed user info: userId={userId}, username={username}"); + userInfoCallback.OnUserInfoReceived(userId, username, email, phone); + } + else + { + Debug.LogError($"[Tech3C Bridge] Invalid message format: {message}"); + } + } + catch (Exception e) + { + Debug.LogError($"[Tech3C Bridge] Error parsing user info message: {e.Message}"); + } + } + + /// + /// Called from native code when user info retrieval is cancelled + /// + public void OnUserInfoCancelled(string message) + { + Debug.Log("[Tech3C Bridge] OnUserInfoCancelled received"); + + if (userInfoCallback == null) + { + Debug.LogWarning("[Tech3C Bridge] No user info callback registered"); + return; + } + + userInfoCallback.OnUserInfoCancelled(); + } + + /// + /// Called from native code when a user info error occurs + /// Message format: "errorCode|errorMessage" + /// + public void OnUserInfoError(string message) + { + Debug.Log($"[Tech3C Bridge] OnUserInfoError received: {message}"); + + if (userInfoCallback == null) + { + Debug.LogWarning("[Tech3C Bridge] No user info callback registered"); + return; + } + + try + { + string[] parts = message.Split('|'); + int errorCode = -1; + string errorMessage = "Unknown error"; + + if (parts.Length >= 1) + { + int.TryParse(parts[0], out errorCode); + } + if (parts.Length >= 2) + { + errorMessage = parts[1]; + } + + userInfoCallback.OnUserInfoError(errorCode, errorMessage); + } + catch (Exception e) + { + Debug.LogError($"[Tech3C Bridge] Error parsing user info error message: {e.Message}"); + } + } + + #endregion + } +} diff --git a/Assets/Tech3C/Runtime/Tech3CSDKBridge.cs.meta b/Assets/Tech3C/Runtime/Tech3CSDKBridge.cs.meta new file mode 100644 index 0000000000..353dcb291b --- /dev/null +++ b/Assets/Tech3C/Runtime/Tech3CSDKBridge.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 46cf26ff28457b04890e322b5b161a67 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tech3C/Runtime/Tech3CiOSBridge.cs b/Assets/Tech3C/Runtime/Tech3CiOSBridge.cs new file mode 100644 index 0000000000..2aa3a12b95 --- /dev/null +++ b/Assets/Tech3C/Runtime/Tech3CiOSBridge.cs @@ -0,0 +1,147 @@ +using UnityEngine; +using System; + +namespace Tech3C +{ + /// + /// Bridge class for iOS platform to communicate with Tech3C native SDK + /// Note: iOS implementation requires native framework. This is a placeholder. + /// + public class Tech3CiOSBridge : ITech3CNativeBridge + { + private bool initialized = false; + + /// + /// Initialize the Tech3C SDK + /// + public void Initialize(string clientId, string clientSecret, Tech3CConfig config) + { + Debug.LogWarning("[Tech3C] iOS platform is not yet supported. Please provide the native iOS framework."); + initialized = true; + } + + /// + /// Show authentication screen + /// + public void ShowAuth(IAuthCallback callback) + { + Debug.LogWarning("[Tech3C] ShowAuth is not implemented for iOS platform"); + callback?.OnAuthError(-1, "iOS platform not supported"); + } + + /// + /// Logout current user + /// + public void Logout(ILogoutCallback callback) + { + Debug.LogWarning("[Tech3C] Logout is not implemented for iOS platform"); + callback?.OnLogoutError(-1, "iOS platform not supported"); + } + + /// + /// Get user information + /// + public void GetUserInfo(IUserInfoCallback callback) + { + Debug.LogWarning("[Tech3C] GetUserInfo is not implemented for iOS platform"); + callback?.OnUserInfoError(-1, "iOS platform not supported"); + } + + /// + /// Check if user is logged in + /// + public bool IsLoggedIn() + { + Debug.LogWarning("[Tech3C] IsLoggedIn is not implemented for iOS platform"); + return false; + } + + /// + /// Get access token + /// + public string GetAccessToken() + { + Debug.LogWarning("[Tech3C] GetAccessToken is not implemented for iOS platform"); + return null; + } + + /// + /// Get refresh token + /// + public string GetRefreshToken() + { + Debug.LogWarning("[Tech3C] GetRefreshToken is not implemented for iOS platform"); + return null; + } + + /// + /// Get user ID + /// + public string GetUserId() + { + Debug.LogWarning("[Tech3C] GetUserId is not implemented for iOS platform"); + return null; + } + + /// + /// Get device ID + /// + public string GetDeviceId() + { + Debug.LogWarning("[Tech3C] GetDeviceId is not implemented for iOS platform"); + return null; + } + + /// + /// Get login time + /// + public long GetLoginTime() + { + Debug.LogWarning("[Tech3C] GetLoginTime is not implemented for iOS platform"); + return 0; + } + + /// + /// Get token expiry time + /// + public long GetTokenExpiry() + { + Debug.LogWarning("[Tech3C] GetTokenExpiry is not implemented for iOS platform"); + return 0; + } + + /// + /// Check if token is expired + /// + public bool IsTokenExpired() + { + Debug.LogWarning("[Tech3C] IsTokenExpired is not implemented for iOS platform"); + return false; + } + + /// + /// Set language + /// + public void SetLanguage(Language language) + { + Debug.LogWarning("[Tech3C] SetLanguage is not implemented for iOS platform"); + } + + /// + /// Set debug mode + /// + public void SetDebug(bool debug) + { + Debug.LogWarning("[Tech3C] SetDebug is not implemented for iOS platform"); + } + + /// + /// Cleanup resources + /// + public void Cleanup() + { + Debug.Log("[Tech3C] iOS bridge cleanup completed"); + initialized = false; + } + } +} diff --git a/Assets/Tech3C/Runtime/Tech3CiOSBridge.cs.meta b/Assets/Tech3C/Runtime/Tech3CiOSBridge.cs.meta new file mode 100644 index 0000000000..327d3972f3 --- /dev/null +++ b/Assets/Tech3C/Runtime/Tech3CiOSBridge.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7199bd7af3b75294c84f9d6451df86d4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tech3C/Samples.meta b/Assets/Tech3C/Samples.meta new file mode 100644 index 0000000000..a7dd7ed56a --- /dev/null +++ b/Assets/Tech3C/Samples.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a947977eda82ae34b85413ea17ef265a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Tech3C/Samples/Tech3CSimpleDemo.cs b/Assets/Tech3C/Samples/Tech3CSimpleDemo.cs new file mode 100644 index 0000000000..0c609186bb --- /dev/null +++ b/Assets/Tech3C/Samples/Tech3CSimpleDemo.cs @@ -0,0 +1,473 @@ +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.EventSystems; +using System; + +namespace Tech3C +{ + /// + /// Simple demo that creates UI programmatically + /// Just attach this script to any GameObject in your scene + /// + public class Tech3CSimpleDemo : MonoBehaviour + { + [Header("Configuration")] + public string clientId = "your_client_id"; + public string clientSecret = "your_client_secret"; + + private Canvas canvas; + private Text logText; + private AuthCallback authCallback; + private LogoutCallback logoutCallback; + + private GameObject dialogPanel; + private Text dialogText; + private Button dialogCloseButton; + + private void Start() + { + EnsureEventSystem(); + CreateUI(); + SetupCallbacks(); + + // Auto-initialize SDK + if (!string.IsNullOrEmpty(clientId) && !string.IsNullOrEmpty(clientSecret)) + { + Log($"Initializing Tech3C SDK...\n Client ID: {clientId}"); + Tech3CSDK.Instance.Initialize(clientId, clientSecret); + + if (Tech3CSDK.Instance.IsInitialized) + { + Log("鉁 SDK Initialized Successfully!"); + } + else + { + Log("鉁 Failed to initialize SDK"); + } + } + else + { + Log("鈿 Client ID and/or Client Secret not set. Please configure in Inspector."); + } + + Debug.Log("[Tech3C Demo] Tech3C SDK Simple Demo Started"); + } + + private void EnsureEventSystem() + { + if (EventSystem.current == null) + { + GameObject eventSystemGO = new GameObject("EventSystem"); + eventSystemGO.AddComponent(); + eventSystemGO.AddComponent(); + Debug.Log("[Tech3C Demo] EventSystem created"); + } + } + + private void CreateUI() + { + // Create Canvas + GameObject canvasGO = new GameObject("Tech3CDemoCanvas"); + canvasGO.transform.SetParent(transform); + canvas = canvasGO.AddComponent(); + canvas.renderMode = RenderMode.ScreenSpaceOverlay; + + // Configure CanvasScaler for responsive 16:9 ratio + CanvasScaler canvasScaler = canvasGO.AddComponent(); + canvasScaler.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize; + canvasScaler.referenceResolution = new Vector2(1920, 1080); // 16:9 ratio + canvasScaler.screenMatchMode = CanvasScaler.ScreenMatchMode.MatchWidthOrHeight; + canvasScaler.matchWidthOrHeight = 0.5f; // Balance between width and height + + canvasGO.AddComponent(); + + // Create Scroll Panel + GameObject scrollPanel = new GameObject("ScrollPanel"); + scrollPanel.transform.SetParent(canvasGO.transform, false); + RectTransform scrollPanelRect = scrollPanel.AddComponent(); + scrollPanelRect.anchorMin = Vector2.zero; + scrollPanelRect.anchorMax = Vector2.one; + scrollPanelRect.sizeDelta = Vector2.zero; + Image scrollPanelImage = scrollPanel.AddComponent(); + scrollPanelImage.color = new Color(0.2f, 0.2f, 0.2f, 1f); + + // Create ScrollRect + ScrollRect scrollRect = scrollPanel.AddComponent(); + scrollRect.horizontal = false; + scrollRect.vertical = true; + scrollRect.scrollSensitivity = 50f; + + // Create Content Panel + GameObject panel = new GameObject("Content"); + panel.transform.SetParent(scrollPanel.transform, false); + RectTransform panelRect = panel.AddComponent(); + panelRect.anchorMin = new Vector2(0, 1); + panelRect.anchorMax = new Vector2(1, 1); + panelRect.pivot = new Vector2(0.5f, 1f); + panelRect.sizeDelta = new Vector2(0, 0); + scrollRect.content = panelRect; + + // Create Vertical Layout Group + VerticalLayoutGroup layoutGroup = panel.AddComponent(); + layoutGroup.childControlHeight = false; + layoutGroup.childControlWidth = true; + layoutGroup.childForceExpandWidth = true; + layoutGroup.childForceExpandHeight = false; + layoutGroup.spacing = 15; + layoutGroup.padding = new RectOffset(40, 40, 40, 40); + ContentSizeFitter contentSizeFitter = panel.AddComponent(); + contentSizeFitter.verticalFit = ContentSizeFitter.FitMode.PreferredSize; + + // Create Title + CreateTextResponsive(panel.transform, "Tech3C SDK Demo", 28, TextAnchor.MiddleCenter, 60); + + // Create Separator + CreateTextResponsive(panel.transform, "--- Authentication ---", 18, TextAnchor.MiddleCenter, 30); + + // Create Show Auth Button + Button showAuthButton = CreateButtonResponsive(panel.transform, "Show Auth Screen", 70); + showAuthButton.onClick.AddListener(OnShowAuthClick); + + // Create Logout Button + Button logoutButton = CreateButtonResponsive(panel.transform, "Logout", 70); + logoutButton.onClick.AddListener(OnLogoutClick); + + // Create Log Text + CreateTextResponsive(panel.transform, "Logs:", 16, TextAnchor.MiddleLeft, 35); + logText = CreateTextResponsive(panel.transform, "Ready...", 16, TextAnchor.MiddleLeft, 400); + logText.color = Color.green; + + // Reposition panel + panelRect.anchoredPosition = Vector2.zero; + } + + private void SetupCallbacks() + { + // Auth callback + authCallback = new AuthCallback(); + authCallback.OnAuthSuccessEvent += (userId, password, accessToken, refreshToken, loginType, expiryTime) => + { + Debug.Log($"[Tech3C Demo] === AUTH SUCCESS CALLBACK FIRED ==="); + Debug.Log($"[Tech3C Demo] UserId: {userId}"); + Debug.Log($"[Tech3C Demo] Password: {password?.Substring(0, Math.Min(3, password?.Length ?? 0))}..."); + Debug.Log($"[Tech3C Demo] LoginType: {loginType}"); + Debug.Log($"[Tech3C Demo] AccessToken: {accessToken?.Substring(0, Math.Min(20, accessToken?.Length ?? 0))}..."); + Debug.Log($"[Tech3C Demo] RefreshToken: {refreshToken?.Substring(0, Math.Min(20, refreshToken?.Length ?? 0))}..."); + Debug.Log($"[Tech3C Demo] ExpiryTime: {expiryTime}"); + + Log($"鉁 Auth Success!\n User ID: {userId}\n Password: {password}\n Login Type: {loginType}\n Token: {accessToken?.Substring(0, Math.Min(20, accessToken?.Length ?? 0))}..."); + + ShowAuthSuccessDialog(userId, password, loginType.ToString()); + }; + authCallback.OnAuthCancelledEvent += () => + { + Debug.Log($"[Tech3C Demo] === AUTH CANCELLED CALLBACK FIRED ==="); + Log("鉁 Auth Cancelled by user"); + }; + authCallback.OnAuthErrorEvent += (errorCode, errorMessage) => + { + Debug.Log($"[Tech3C Demo] === AUTH ERROR CALLBACK FIRED ==="); + Debug.Log($"[Tech3C Demo] ErrorCode: {errorCode}"); + Debug.Log($"[Tech3C Demo] ErrorMessage: {errorMessage}"); + Log($"鉁 Auth Error [{errorCode}]: {errorMessage}"); + }; + + // Logout callback + logoutCallback = new LogoutCallback(); + logoutCallback.OnLogoutSuccessEvent += () => + { + Debug.Log($"[Tech3C Demo] === LOGOUT SUCCESS CALLBACK FIRED ==="); + Log("鉁 Logout Successful"); + }; + logoutCallback.OnLogoutErrorEvent += (errorCode, errorMessage) => + { + Debug.Log($"[Tech3C Demo] === LOGOUT ERROR CALLBACK FIRED ==="); + Debug.Log($"[Tech3C Demo] ErrorCode: {errorCode}"); + Debug.Log($"[Tech3C Demo] ErrorMessage: {errorMessage}"); + Log($"鉁 Logout Error [{errorCode}]: {errorMessage}"); + }; + } + + #region Button Handlers + + private void OnInitializeClick(string newClientId, string newClientSecret) + { + if (string.IsNullOrEmpty(newClientId) || string.IsNullOrEmpty(newClientSecret)) + { + Log("鉁 Client ID and Client Secret are required!"); + return; + } + + clientId = newClientId; + clientSecret = newClientSecret; + + Log($"Initializing Tech3C SDK...\n Client ID: {clientId}"); + Tech3CSDK.Instance.Initialize(clientId, clientSecret); + + if (Tech3CSDK.Instance.IsInitialized) + { + Log("鉁 SDK Initialized Successfully!"); + } + else + { + Log("鉁 Failed to initialize SDK"); + } + } + + private void OnShowAuthClick() + { + if (!Tech3CSDK.Instance.IsInitialized) + { + Log("鉁 SDK not initialized. Click Initialize first!"); + return; + } + + Log("Opening Auth Screen..."); + Tech3CSDK.Instance.ShowAuth(authCallback); + } + + private void OnLogoutClick() + { + if (!Tech3CSDK.Instance.IsInitialized) + { + Log("鉁 SDK not initialized."); + return; + } + + Log("Logging out..."); + Tech3CSDK.Instance.Logout(logoutCallback); + } + + #endregion + + #region UI Helper Methods + + private Button CreateButton(Transform parent, string text, float width, float height) + { + GameObject buttonGO = new GameObject(text.Replace(" ", "_")); + buttonGO.transform.SetParent(parent, false); + + RectTransform rect = buttonGO.AddComponent(); + rect.sizeDelta = new Vector2(width, height); + + Image image = buttonGO.AddComponent(); + image.color = new Color(0.3f, 0.5f, 0.8f, 1f); + + Button button = buttonGO.AddComponent