voyager_base-83d560e0d0350eb5ccd49f0320347575.js 283 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332
  1. /*!
  2. * jQuery JavaScript Library v1.9.1
  3. * http://jquery.com/
  4. *
  5. * Includes Sizzle.js
  6. * http://sizzlejs.com/
  7. *
  8. * Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors
  9. * Released under the MIT license
  10. * http://jquery.org/license
  11. *
  12. * Date: 2013-2-4
  13. */
  14. (function(e, t) {
  15. function P(e) {
  16. var t = e.length,
  17. n = b.type(e);
  18. return b.isWindow(e) ? !1 : e.nodeType === 1 && t ? !0 : n === "array" || n !== "function" && (t === 0 || typeof t == "number" && t > 0 && t - 1 in e)
  19. }
  20. function B(e) {
  21. var t = H[e] = {};
  22. return b.each(e.match(E) || [],
  23. function(e, n) {
  24. t[n] = !0
  25. }),
  26. t
  27. }
  28. function I(e, n, r, i) {
  29. if (!b.acceptData(e)) return;
  30. var s, o, u = b.expando,
  31. a = typeof n == "string",
  32. f = e.nodeType,
  33. c = f ? b.cache : e,
  34. h = f ? e[u] : e[u] && u;
  35. if ((!h || !c[h] || !i && !c[h].data) && a && r === t) return;
  36. h || (f ? e[u] = h = l.pop() || b.guid++ : h = u),
  37. c[h] || (c[h] = {},
  38. f || (c[h].toJSON = b.noop));
  39. if (typeof n == "object" || typeof n == "function") i ? c[h] = b.extend(c[h], n) : c[h].data = b.extend(c[h].data, n);
  40. return s = c[h],
  41. i || (s.data || (s.data = {}), s = s.data),
  42. r !== t && (s[b.camelCase(n)] = r),
  43. a ? (o = s[n], o == null && (o = s[b.camelCase(n)])) : o = s,
  44. o
  45. }
  46. function q(e, t, n) {
  47. if (!b.acceptData(e)) return;
  48. var r, i, s, o = e.nodeType,
  49. u = o ? b.cache : e,
  50. a = o ? e[b.expando] : b.expando;
  51. if (!u[a]) return;
  52. if (t) {
  53. s = n ? u[a] : u[a].data;
  54. if (s) {
  55. b.isArray(t) ? t = t.concat(b.map(t, b.camelCase)) : t in s ? t = [t] : (t = b.camelCase(t), t in s ? t = [t] : t = t.split(" "));
  56. for (r = 0, i = t.length; r < i; r++) delete s[t[r]];
  57. if (!(n ? U : b.isEmptyObject)(s)) return
  58. }
  59. }
  60. if (!n) {
  61. delete u[a].data;
  62. if (!U(u[a])) return
  63. }
  64. o ? b.cleanData([e], !0) : b.support.deleteExpando || u != u.window ? delete u[a] : u[a] = null
  65. }
  66. function R(e, n, r) {
  67. if (r === t && e.nodeType === 1) {
  68. var i = "data-" + n.replace(F, "-$1").toLowerCase();
  69. r = e.getAttribute(i);
  70. if (typeof r == "string") {
  71. try {
  72. r = r === "true" ? !0 : r === "false" ? !1 : r === "null" ? null : +r + "" === r ? +r : j.test(r) ? b.parseJSON(r) : r
  73. } catch (s) {}
  74. b.data(e, n, r)
  75. } else r = t
  76. }
  77. return r
  78. }
  79. function U(e) {
  80. var t;
  81. for (t in e) {
  82. if (t === "data" && b.isEmptyObject(e[t])) continue;
  83. if (t !== "toJSON") return !1
  84. }
  85. return !0
  86. }
  87. function it() {
  88. return !0
  89. }
  90. function st() {
  91. return !1
  92. }
  93. function ct(e, t) {
  94. do e = e[t];
  95. while (e && e.nodeType !== 1);
  96. return e
  97. }
  98. function ht(e, t, n) {
  99. t = t || 0;
  100. if (b.isFunction(t)) return b.grep(e,
  101. function(e, r) {
  102. var i = !!t.call(e, r, e);
  103. return i === n
  104. });
  105. if (t.nodeType) return b.grep(e,
  106. function(e) {
  107. return e === t === n
  108. });
  109. if (typeof t == "string") {
  110. var r = b.grep(e,
  111. function(e) {
  112. return e.nodeType === 1
  113. });
  114. if (at.test(t)) return b.filter(t, r, !n);
  115. t = b.filter(t, r)
  116. }
  117. return b.grep(e,
  118. function(e) {
  119. return b.inArray(e, t) >= 0 === n
  120. })
  121. }
  122. function pt(e) {
  123. var t = dt.split("|"),
  124. n = e.createDocumentFragment();
  125. if (n.createElement)
  126. while (t.length) n.createElement(t.pop());
  127. return n
  128. }
  129. function Mt(e, t) {
  130. return e.getElementsByTagName(t)[0] || e.appendChild(e.ownerDocument.createElement(t))
  131. }
  132. function _t(e) {
  133. var t = e.getAttributeNode("type");
  134. return e.type = (t && t.specified) + "/" + e.type,
  135. e
  136. }
  137. function Dt(e) {
  138. var t = Ct.exec(e.type);
  139. return t ? e.type = t[1] : e.removeAttribute("type"),
  140. e
  141. }
  142. function Pt(e, t) {
  143. var n, r = 0;
  144. for (;
  145. (n = e[r]) != null; r++) b._data(n, "globalEval", !t || b._data(t[r], "globalEval"))
  146. }
  147. function Ht(e, t) {
  148. if (t.nodeType !== 1 || !b.hasData(e)) return;
  149. var n, r, i, s = b._data(e),
  150. o = b._data(t, s),
  151. u = s.events;
  152. if (u) {
  153. delete o.handle,
  154. o.events = {};
  155. for (n in u)
  156. for (r = 0, i = u[n].length; r < i; r++) b.event.add(t, n, u[n][r])
  157. }
  158. o.data && (o.data = b.extend({},
  159. o.data))
  160. }
  161. function Bt(e, t) {
  162. var n, r, i;
  163. if (t.nodeType !== 1) return;
  164. n = t.nodeName.toLowerCase();
  165. if (!b.support.noCloneEvent && t[b.expando]) {
  166. i = b._data(t);
  167. for (r in i.events) b.removeEvent(t, r, i.handle);
  168. t.removeAttribute(b.expando)
  169. }
  170. if (n === "script" && t.text !== e.text) _t(t).text = e.text,
  171. Dt(t);
  172. else if (n === "object") t.parentNode && (t.outerHTML = e.outerHTML),
  173. b.support.html5Clone && e.innerHTML && !b.trim(t.innerHTML) && (t.innerHTML = e.innerHTML);
  174. else if (n === "input" && xt.test(e.type)) t.defaultChecked = t.checked = e.checked,
  175. t.value !== e.value && (t.value = e.value);
  176. else if (n === "option") t.defaultSelected = t.selected = e.defaultSelected;
  177. else if (n === "input" || n === "textarea") t.defaultValue = e.defaultValue
  178. }
  179. function jt(e, n) {
  180. var r, s, o = 0,
  181. u = typeof e.getElementsByTagName !== i ? e.getElementsByTagName(n || "*") : typeof e.querySelectorAll !== i ? e.querySelectorAll(n || "*") : t;
  182. if (!u)
  183. for (u = [], r = e.childNodes || e;
  184. (s = r[o]) != null; o++)!n || b.nodeName(s, n) ? u.push(s) : b.merge(u, jt(s, n));
  185. return n === t || n && b.nodeName(e, n) ? b.merge([e], u) : u
  186. }
  187. function Ft(e) {
  188. xt.test(e.type) && (e.defaultChecked = e.checked)
  189. }
  190. function tn(e, t) {
  191. if (t in e) return t;
  192. var n = t.charAt(0).toUpperCase() + t.slice(1),
  193. r = t,
  194. i = en.length;
  195. while (i--) {
  196. t = en[i] + n;
  197. if (t in e) return t
  198. }
  199. return r
  200. }
  201. function nn(e, t) {
  202. return e = t || e,
  203. b.css(e, "display") === "none" || !b.contains(e.ownerDocument, e)
  204. }
  205. function rn(e, t) {
  206. var n, r, i, s = [],
  207. o = 0,
  208. u = e.length;
  209. for (; o < u; o++) {
  210. r = e[o];
  211. if (!r.style) continue;
  212. s[o] = b._data(r, "olddisplay"),
  213. n = r.style.display,
  214. t ? (!s[o] && n === "none" && (r.style.display = ""), r.style.display === "" && nn(r) && (s[o] = b._data(r, "olddisplay", an(r.nodeName)))) : s[o] || (i = nn(r), (n && n !== "none" || !i) && b._data(r, "olddisplay", i ? n : b.css(r, "display")))
  215. }
  216. for (o = 0; o < u; o++) {
  217. r = e[o];
  218. if (!r.style) continue;
  219. if (!t || r.style.display === "none" || r.style.display === "") r.style.display = t ? s[o] || "" : "none"
  220. }
  221. return e
  222. }
  223. function sn(e, t, n) {
  224. var r = $t.exec(t);
  225. return r ? Math.max(0, r[1] - (n || 0)) + (r[2] || "px") : t
  226. }
  227. function on(e, t, n, r, i) {
  228. var s = n === (r ? "border" : "content") ? 4 : t === "width" ? 1 : 0,
  229. o = 0;
  230. for (; s < 4; s += 2) n === "margin" && (o += b.css(e, n + Zt[s], !0, i)),
  231. r ? (n === "content" && (o -= b.css(e, "padding" + Zt[s], !0, i)), n !== "margin" && (o -= b.css(e, "border" + Zt[s] + "Width", !0, i))) : (o += b.css(e, "padding" + Zt[s], !0, i), n !== "padding" && (o += b.css(e, "border" + Zt[s] + "Width", !0, i)));
  232. return o
  233. }
  234. function un(e, t, n) {
  235. var r = !0,
  236. i = t === "width" ? e.offsetWidth : e.offsetHeight,
  237. s = qt(e),
  238. o = b.support.boxSizing && b.css(e, "boxSizing", !1, s) === "border-box";
  239. if (i <= 0 || i == null) {
  240. i = Rt(e, t, s);
  241. if (i < 0 || i == null) i = e.style[t];
  242. if (Jt.test(i)) return i;
  243. r = o && (b.support.boxSizingReliable || i === e.style[t]),
  244. i = parseFloat(i) || 0
  245. }
  246. return i + on(e, t, n || (o ? "border" : "content"), r, s) + "px"
  247. }
  248. function an(e) {
  249. var t = s,
  250. n = Qt[e];
  251. if (!n) {
  252. n = fn(e, t);
  253. if (n === "none" || !n) It = (It || b("<iframe frameborder='0' width='0' height='0'/>").css("cssText", "display:block !important")).appendTo(t.documentElement),
  254. t = (It[0].contentWindow || It[0].contentDocument).document,
  255. t.write("<!doctype html><html><body>"),
  256. t.close(),
  257. n = fn(e, t),
  258. It.detach();
  259. Qt[e] = n
  260. }
  261. return n
  262. }
  263. function fn(e, t) {
  264. var n = b(t.createElement(e)).appendTo(t.body),
  265. r = b.css(n[0], "display");
  266. return n.remove(),
  267. r
  268. }
  269. function vn(e, t, n, r) {
  270. var i;
  271. if (b.isArray(t)) b.each(t,
  272. function(t, i) {
  273. n || cn.test(e) ? r(e, i) : vn(e + "[" + (typeof i == "object" ? t : "") + "]", i, n, r)
  274. });
  275. else if (!n && b.type(t) === "object")
  276. for (i in t) vn(e + "[" + i + "]", t[i], n, r);
  277. else r(e, t)
  278. }
  279. function _n(e) {
  280. return function(t, n) {
  281. typeof t != "string" && (n = t, t = "*");
  282. var r, i = 0,
  283. s = t.toLowerCase().match(E) || [];
  284. if (b.isFunction(n))
  285. while (r = s[i++]) r[0] === "+" ? (r = r.slice(1) || "*", (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n)
  286. }
  287. }
  288. function Dn(e, t, n, r) {
  289. function o(u) {
  290. var a;
  291. return i[u] = !0,
  292. b.each(e[u] || [],
  293. function(e, u) {
  294. var f = u(t, n, r);
  295. if (typeof f == "string" && !s && !i[f]) return t.dataTypes.unshift(f),
  296. o(f), !1;
  297. if (s) return !(a = f)
  298. }),
  299. a
  300. }
  301. var i = {},
  302. s = e === An;
  303. return o(t.dataTypes[0]) || !i["*"] && o("*")
  304. }
  305. function Pn(e, n) {
  306. var r, i, s = b.ajaxSettings.flatOptions || {};
  307. for (i in n) n[i] !== t && ((s[i] ? e : r || (r = {}))[i] = n[i]);
  308. return r && b.extend(!0, e, r),
  309. e
  310. }
  311. function Hn(e, n, r) {
  312. var i, s, o, u, a = e.contents,
  313. f = e.dataTypes,
  314. l = e.responseFields;
  315. for (u in l) u in r && (n[l[u]] = r[u]);
  316. while (f[0] === "*") f.shift(),
  317. s === t && (s = e.mimeType || n.getResponseHeader("Content-Type"));
  318. if (s)
  319. for (u in a)
  320. if (a[u] && a[u].test(s)) {
  321. f.unshift(u);
  322. break
  323. }
  324. if (f[0] in r) o = f[0];
  325. else {
  326. for (u in r) {
  327. if (!f[0] || e.converters[u + " " + f[0]]) {
  328. o = u;
  329. break
  330. }
  331. i || (i = u)
  332. }
  333. o = o || i
  334. }
  335. if (o) return o !== f[0] && f.unshift(o),
  336. r[o]
  337. }
  338. function Bn(e, t) {
  339. var n, r, i, s, o = {},
  340. u = 0,
  341. a = e.dataTypes.slice(),
  342. f = a[0];
  343. e.dataFilter && (t = e.dataFilter(t, e.dataType));
  344. if (a[1])
  345. for (i in e.converters) o[i.toLowerCase()] = e.converters[i];
  346. for (; r = a[++u];)
  347. if (r !== "*") {
  348. if (f !== "*" && f !== r) {
  349. i = o[f + " " + r] || o["* " + r];
  350. if (!i)
  351. for (n in o) {
  352. s = n.split(" ");
  353. if (s[1] === r) {
  354. i = o[f + " " + s[0]] || o["* " + s[0]];
  355. if (i) {
  356. i === !0 ? i = o[n] : o[n] !== !0 && (r = s[0], a.splice(u--, 0, r));
  357. break
  358. }
  359. }
  360. }
  361. if (i !== !0)
  362. if (i && e["throws"]) t = i(t);
  363. else try {
  364. t = i(t)
  365. } catch (l) {
  366. return {
  367. state: "parsererror",
  368. error: i ? l : "No conversion from " + f + " to " + r
  369. }
  370. }
  371. }
  372. f = r
  373. }
  374. return {
  375. state: "success",
  376. data: t
  377. }
  378. }
  379. function zn() {
  380. try {
  381. return new e.XMLHttpRequest
  382. } catch (t) {}
  383. }
  384. function Wn() {
  385. try {
  386. return new e.ActiveXObject("Microsoft.XMLHTTP")
  387. } catch (t) {}
  388. }
  389. function Yn() {
  390. return setTimeout(function() {
  391. Xn = t
  392. }),
  393. Xn = b.now()
  394. }
  395. function Zn(e, t) {
  396. b.each(t,
  397. function(t, n) {
  398. var r = (Gn[t] || []).concat(Gn["*"]),
  399. i = 0,
  400. s = r.length;
  401. for (; i < s; i++)
  402. if (r[i].call(e, t, n)) return
  403. })
  404. }
  405. function er(e, t, n) {
  406. var r, i, s = 0,
  407. o = Qn.length,
  408. u = b.Deferred().always(function() {
  409. delete a.elem
  410. }),
  411. a = function() {
  412. if (i) return !1;
  413. var t = Xn || Yn(),
  414. n = Math.max(0, f.startTime + f.duration - t),
  415. r = n / f.duration || 0,
  416. s = 1 - r,
  417. o = 0,
  418. a = f.tweens.length;
  419. for (; o < a; o++) f.tweens[o].run(s);
  420. return u.notifyWith(e, [f, s, n]),
  421. s < 1 && a ? n : (u.resolveWith(e, [f]), !1)
  422. },
  423. f = u.promise({
  424. elem: e,
  425. props: b.extend({},
  426. t),
  427. opts: b.extend(!0, {
  428. specialEasing: {}
  429. },
  430. n),
  431. originalProperties: t,
  432. originalOptions: n,
  433. startTime: Xn || Yn(),
  434. duration: n.duration,
  435. tweens: [],
  436. createTween: function(t, n) {
  437. var r = b.Tween(e, f.opts, t, n, f.opts.specialEasing[t] || f.opts.easing);
  438. return f.tweens.push(r),
  439. r
  440. },
  441. stop: function(t) {
  442. var n = 0,
  443. r = t ? f.tweens.length : 0;
  444. if (i) return this;
  445. i = !0;
  446. for (; n < r; n++) f.tweens[n].run(1);
  447. return t ? u.resolveWith(e, [f, t]) : u.rejectWith(e, [f, t]),
  448. this
  449. }
  450. }),
  451. l = f.props;
  452. tr(l, f.opts.specialEasing);
  453. for (; s < o; s++) {
  454. r = Qn[s].call(f, e, l, f.opts);
  455. if (r) return r
  456. }
  457. return Zn(f, l),
  458. b.isFunction(f.opts.start) && f.opts.start.call(e, f),
  459. b.fx.timer(b.extend(a, {
  460. elem: e,
  461. anim: f,
  462. queue: f.opts.queue
  463. })),
  464. f.progress(f.opts.progress).done(f.opts.done, f.opts.complete).fail(f.opts.fail).always(f.opts.always)
  465. }
  466. function tr(e, t) {
  467. var n, r, i, s, o;
  468. for (i in e) {
  469. r = b.camelCase(i),
  470. s = t[r],
  471. n = e[i],
  472. b.isArray(n) && (s = n[1], n = e[i] = n[0]),
  473. i !== r && (e[r] = n, delete e[i]),
  474. o = b.cssHooks[r];
  475. if (o && "expand" in o) {
  476. n = o.expand(n),
  477. delete e[r];
  478. for (i in n) i in e || (e[i] = n[i], t[i] = s)
  479. } else t[r] = s
  480. }
  481. }
  482. function nr(e, t, n) {
  483. var r, i, s, o, u, a, f, l, c, h = this,
  484. p = e.style,
  485. d = {},
  486. v = [],
  487. m = e.nodeType && nn(e);
  488. n.queue || (l = b._queueHooks(e, "fx"), l.unqueued == null && (l.unqueued = 0, c = l.empty.fire, l.empty.fire = function() {
  489. l.unqueued || c()
  490. }), l.unqueued++, h.always(function() {
  491. h.always(function() {
  492. l.unqueued--,
  493. b.queue(e, "fx").length || l.empty.fire()
  494. })
  495. })),
  496. e.nodeType === 1 && ("height" in t || "width" in t) && (n.overflow = [p.overflow, p.overflowX, p.overflowY], b.css(e, "display") === "inline" && b.css(e, "float") === "none" && (!b.support.inlineBlockNeedsLayout || an(e.nodeName) === "inline" ? p.display = "inline-block" : p.zoom = 1)),
  497. n.overflow && (p.overflow = "hidden", b.support.shrinkWrapBlocks || h.always(function() {
  498. p.overflow = n.overflow[0],
  499. p.overflowX = n.overflow[1],
  500. p.overflowY = n.overflow[2]
  501. }));
  502. for (i in t) {
  503. o = t[i];
  504. if ($n.exec(o)) {
  505. delete t[i],
  506. a = a || o === "toggle";
  507. if (o === (m ? "hide" : "show")) continue;
  508. v.push(i)
  509. }
  510. }
  511. s = v.length;
  512. if (s) {
  513. u = b._data(e, "fxshow") || b._data(e, "fxshow", {}),
  514. "hidden" in u && (m = u.hidden),
  515. a && (u.hidden = !m),
  516. m ? b(e).show() : h.done(function() {
  517. b(e).hide()
  518. }),
  519. h.done(function() {
  520. var t;
  521. b._removeData(e, "fxshow");
  522. for (t in d) b.style(e, t, d[t])
  523. });
  524. for (i = 0; i < s; i++) r = v[i],
  525. f = h.createTween(r, m ? u[r] : 0),
  526. d[r] = u[r] || b.style(e, r),
  527. r in u || (u[r] = f.start, m && (f.end = f.start, f.start = r === "width" || r === "height" ? 1 : 0))
  528. }
  529. }
  530. function rr(e, t, n, r, i) {
  531. return new rr.prototype.init(e, t, n, r, i)
  532. }
  533. function ir(e, t) {
  534. var n, r = {
  535. height: e
  536. },
  537. i = 0;
  538. t = t ? 1 : 0;
  539. for (; i < 4; i += 2 - t) n = Zt[i],
  540. r["margin" + n] = r["padding" + n] = e;
  541. return t && (r.opacity = r.width = e),
  542. r
  543. }
  544. function sr(e) {
  545. return b.isWindow(e) ? e : e.nodeType === 9 ? e.defaultView || e.parentWindow : !1
  546. }
  547. var n, r, i = typeof t,
  548. s = e.document,
  549. o = e.location,
  550. u = e.jQuery,
  551. a = e.$,
  552. f = {},
  553. l = [],
  554. c = "1.9.1",
  555. h = l.concat,
  556. p = l.push,
  557. d = l.slice,
  558. v = l.indexOf,
  559. m = f.toString,
  560. g = f.hasOwnProperty,
  561. y = c.trim,
  562. b = function(e, t) {
  563. return new b.fn.init(e, t, r)
  564. },
  565. w = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
  566. E = /\S+/g,
  567. S = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
  568. x = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,
  569. T = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
  570. N = /^[\],:{}\s]*$/,
  571. C = /(?:^|:|,)(?:\s*\[)+/g,
  572. k = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,
  573. L = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,
  574. A = /^-ms-/,
  575. O = /-([\da-z])/gi,
  576. M = function(e, t) {
  577. return t.toUpperCase()
  578. },
  579. _ = function(e) {
  580. if (s.addEventListener || e.type === "load" || s.readyState === "complete") D(),
  581. b.ready()
  582. },
  583. D = function() {
  584. s.addEventListener ? (s.removeEventListener("DOMContentLoaded", _, !1), e.removeEventListener("load", _, !1)) : (s.detachEvent("onreadystatechange", _), e.detachEvent("onload", _))
  585. };
  586. b.fn = b.prototype = {
  587. jquery: c,
  588. constructor: b,
  589. init: function(e, n, r) {
  590. var i, o;
  591. if (!e) return this;
  592. if (typeof e == "string") {
  593. e.charAt(0) === "<" && e.charAt(e.length - 1) === ">" && e.length >= 3 ? i = [null, e, null] : i = x.exec(e);
  594. if (i && (i[1] || !n)) {
  595. if (i[1]) {
  596. n = n instanceof b ? n[0] : n,
  597. b.merge(this, b.parseHTML(i[1], n && n.nodeType ? n.ownerDocument || n : s, !0));
  598. if (T.test(i[1]) && b.isPlainObject(n))
  599. for (i in n) b.isFunction(this[i]) ? this[i](n[i]) : this.attr(i, n[i]);
  600. return this
  601. }
  602. o = s.getElementById(i[2]);
  603. if (o && o.parentNode) {
  604. if (o.id !== i[2]) return r.find(e);
  605. this.length = 1,
  606. this[0] = o
  607. }
  608. return this.context = s,
  609. this.selector = e,
  610. this
  611. }
  612. return !n || n.jquery ? (n || r).find(e) : this.constructor(n).find(e)
  613. }
  614. return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : b.isFunction(e) ? r.ready(e) : (e.selector !== t && (this.selector = e.selector, this.context = e.context), b.makeArray(e, this))
  615. },
  616. selector: "",
  617. length: 0,
  618. size: function() {
  619. return this.length
  620. },
  621. toArray: function() {
  622. return d.call(this)
  623. },
  624. get: function(e) {
  625. return e == null ? this.toArray() : e < 0 ? this[this.length + e] : this[e]
  626. },
  627. pushStack: function(e) {
  628. var t = b.merge(this.constructor(), e);
  629. return t.prevObject = this,
  630. t.context = this.context,
  631. t
  632. },
  633. each: function(e, t) {
  634. return b.each(this, e, t)
  635. },
  636. ready: function(e) {
  637. return b.ready.promise().done(e),
  638. this
  639. },
  640. slice: function() {
  641. return this.pushStack(d.apply(this, arguments))
  642. },
  643. first: function() {
  644. return this.eq(0)
  645. },
  646. last: function() {
  647. return this.eq(-1)
  648. },
  649. eq: function(e) {
  650. var t = this.length,
  651. n = +e + (e < 0 ? t : 0);
  652. return this.pushStack(n >= 0 && n < t ? [this[n]] : [])
  653. },
  654. map: function(e) {
  655. return this.pushStack(b.map(this,
  656. function(t, n) {
  657. return e.call(t, n, t)
  658. }))
  659. },
  660. end: function() {
  661. return this.prevObject || this.constructor(null)
  662. },
  663. push: p,
  664. sort: [].sort,
  665. splice: [].splice
  666. },
  667. b.fn.init.prototype = b.fn,
  668. b.extend = b.fn.extend = function() {
  669. var e, n, r, i, s, o, u = arguments[0] || {},
  670. a = 1,
  671. f = arguments.length,
  672. l = !1;
  673. typeof u == "boolean" && (l = u, u = arguments[1] || {},
  674. a = 2),
  675. typeof u != "object" && !b.isFunction(u) && (u = {}),
  676. f === a && (u = this, --a);
  677. for (; a < f; a++)
  678. if ((s = arguments[a]) != null)
  679. for (i in s) {
  680. e = u[i],
  681. r = s[i];
  682. if (u === r) continue;
  683. l && r && (b.isPlainObject(r) || (n = b.isArray(r))) ? (n ? (n = !1, o = e && b.isArray(e) ? e : []) : o = e && b.isPlainObject(e) ? e : {},
  684. u[i] = b.extend(l, o, r)) : r !== t && (u[i] = r)
  685. }
  686. return u
  687. },
  688. b.extend({
  689. noConflict: function(t) {
  690. return e.$ === b && (e.$ = a),
  691. t && e.jQuery === b && (e.jQuery = u),
  692. b
  693. },
  694. isReady: !1,
  695. readyWait: 1,
  696. holdReady: function(e) {
  697. e ? b.readyWait++ : b.ready(!0)
  698. },
  699. ready: function(e) {
  700. if (e === !0 ? --b.readyWait : b.isReady) return;
  701. if (!s.body) return setTimeout(b.ready);
  702. b.isReady = !0;
  703. if (e !== !0 && --b.readyWait > 0) return;
  704. n.resolveWith(s, [b]),
  705. b.fn.trigger && b(s).trigger("ready").off("ready")
  706. },
  707. isFunction: function(e) {
  708. return b.type(e) === "function"
  709. },
  710. isArray: Array.isArray ||
  711. function(e) {
  712. return b.type(e) === "array"
  713. },
  714. isWindow: function(e) {
  715. return e != null && e == e.window
  716. },
  717. isNumeric: function(e) {
  718. return !isNaN(parseFloat(e)) && isFinite(e)
  719. },
  720. type: function(e) {
  721. return e == null ? String(e) : typeof e == "object" || typeof e == "function" ? f[m.call(e)] || "object" : typeof e
  722. },
  723. isPlainObject: function(e) {
  724. if (!e || b.type(e) !== "object" || e.nodeType || b.isWindow(e)) return !1;
  725. try {
  726. if (e.constructor && !g.call(e, "constructor") && !g.call(e.constructor.prototype, "isPrototypeOf")) return !1
  727. } catch (n) {
  728. return !1
  729. }
  730. var r;
  731. for (r in e);
  732. return r === t || g.call(e, r)
  733. },
  734. isEmptyObject: function(e) {
  735. var t;
  736. for (t in e) return !1;
  737. return !0
  738. },
  739. error: function(e) {
  740. throw new Error(e)
  741. },
  742. parseHTML: function(e, t, n) {
  743. if (!e || typeof e != "string") return null;
  744. typeof t == "boolean" && (n = t, t = !1),
  745. t = t || s;
  746. var r = T.exec(e),
  747. i = !n && [];
  748. return r ? [t.createElement(r[1])] : (r = b.buildFragment([e], t, i), i && b(i).remove(), b.merge([], r.childNodes))
  749. },
  750. parseJSON: function(t) {
  751. if (e.JSON && e.JSON.parse) return e.JSON.parse(t);
  752. if (t === null) return t;
  753. if (typeof t == "string") {
  754. t = b.trim(t);
  755. if (t && N.test(t.replace(k, "@").replace(L, "]").replace(C, ""))) return (new Function("return " + t))()
  756. }
  757. b.error("Invalid JSON: " + t)
  758. },
  759. parseXML: function(n) {
  760. var r, i;
  761. if (!n || typeof n != "string") return null;
  762. try {
  763. e.DOMParser ? (i = new DOMParser, r = i.parseFromString(n, "text/xml")) : (r = new ActiveXObject("Microsoft.XMLDOM"), r.async = "false", r.loadXML(n))
  764. } catch (s) {
  765. r = t
  766. }
  767. return (!r || !r.documentElement || r.getElementsByTagName("parsererror").length) && b.error("Invalid XML: " + n),
  768. r
  769. },
  770. noop: function() {},
  771. globalEval: function(t) {
  772. t && b.trim(t) && (e.execScript ||
  773. function(t) {
  774. e.eval.call(e, t)
  775. })(t)
  776. },
  777. camelCase: function(e) {
  778. return e.replace(A, "ms-").replace(O, M)
  779. },
  780. nodeName: function(e, t) {
  781. return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
  782. },
  783. each: function(e, t, n) {
  784. var r, i = 0,
  785. s = e.length,
  786. o = P(e);
  787. if (n)
  788. if (o)
  789. for (; i < s; i++) {
  790. r = t.apply(e[i], n);
  791. if (r === !1) break
  792. } else
  793. for (i in e) {
  794. r = t.apply(e[i], n);
  795. if (r === !1) break
  796. } else if (o)
  797. for (; i < s; i++) {
  798. r = t.call(e[i], i, e[i]);
  799. if (r === !1) break
  800. } else
  801. for (i in e) {
  802. r = t.call(e[i], i, e[i]);
  803. if (r === !1) break
  804. }
  805. return e
  806. },
  807. trim: y && !y.call(" ") ?
  808. function(e) {
  809. return e == null ? "" : y.call(e)
  810. } : function(e) {
  811. return e == null ? "" : (e + "").replace(S, "")
  812. },
  813. makeArray: function(e, t) {
  814. var n = t || [];
  815. return e != null && (P(Object(e)) ? b.merge(n, typeof e == "string" ? [e] : e) : p.call(n, e)),
  816. n
  817. },
  818. inArray: function(e, t, n) {
  819. var r;
  820. if (t) {
  821. if (v) return v.call(t, e, n);
  822. r = t.length,
  823. n = n ? n < 0 ? Math.max(0, r + n) : n : 0;
  824. for (; n < r; n++)
  825. if (n in t && t[n] === e) return n
  826. }
  827. return -1
  828. },
  829. merge: function(e, n) {
  830. var r = n.length,
  831. i = e.length,
  832. s = 0;
  833. if (typeof r == "number")
  834. for (; s < r; s++) e[i++] = n[s];
  835. else
  836. while (n[s] !== t) e[i++] = n[s++];
  837. return e.length = i,
  838. e
  839. },
  840. grep: function(e, t, n) {
  841. var r, i = [],
  842. s = 0,
  843. o = e.length;
  844. n = !!n;
  845. for (; s < o; s++) r = !!t(e[s], s),
  846. n !== r && i.push(e[s]);
  847. return i
  848. },
  849. map: function(e, t, n) {
  850. var r, i = 0,
  851. s = e.length,
  852. o = P(e),
  853. u = [];
  854. if (o)
  855. for (; i < s; i++) r = t(e[i], i, n),
  856. r != null && (u[u.length] = r);
  857. else
  858. for (i in e) r = t(e[i], i, n),
  859. r != null && (u[u.length] = r);
  860. return h.apply([], u)
  861. },
  862. guid: 1,
  863. proxy: function(e, n) {
  864. var r, i, s;
  865. return typeof n == "string" && (s = e[n], n = e, e = s),
  866. b.isFunction(e) ? (r = d.call(arguments, 2), i = function() {
  867. return e.apply(n || this, r.concat(d.call(arguments)))
  868. },
  869. i.guid = e.guid = e.guid || b.guid++, i) : t
  870. },
  871. access: function(e, n, r, i, s, o, u) {
  872. var a = 0,
  873. f = e.length,
  874. l = r == null;
  875. if (b.type(r) === "object") {
  876. s = !0;
  877. for (a in r) b.access(e, n, a, r[a], !0, o, u)
  878. } else if (i !== t) {
  879. s = !0,
  880. b.isFunction(i) || (u = !0),
  881. l && (u ? (n.call(e, i), n = null) : (l = n, n = function(e, t, n) {
  882. return l.call(b(e), n)
  883. }));
  884. if (n)
  885. for (; a < f; a++) n(e[a], r, u ? i : i.call(e[a], a, n(e[a], r)))
  886. }
  887. return s ? e : l ? n.call(e) : f ? n(e[0], r) : o
  888. },
  889. now: function() {
  890. return (new Date).getTime()
  891. }
  892. }),
  893. b.ready.promise = function(t) {
  894. if (!n) {
  895. n = b.Deferred();
  896. if (s.readyState === "complete") setTimeout(b.ready);
  897. else if (s.addEventListener) s.addEventListener("DOMContentLoaded", _, !1),
  898. e.addEventListener("load", _, !1);
  899. else {
  900. s.attachEvent("onreadystatechange", _),
  901. e.attachEvent("onload", _);
  902. var r = !1;
  903. try {
  904. r = e.frameElement == null && s.documentElement
  905. } catch (i) {}
  906. r && r.doScroll &&
  907. function o() {
  908. if (!b.isReady) {
  909. try {
  910. r.doScroll("left")
  911. } catch (e) {
  912. return setTimeout(o, 50)
  913. }
  914. D(),
  915. b.ready()
  916. }
  917. }()
  918. }
  919. }
  920. return n.promise(t)
  921. },
  922. b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),
  923. function(e, t) {
  924. f["[object " + t + "]"] = t.toLowerCase()
  925. }),
  926. r = b(s);
  927. var H = {};
  928. b.Callbacks = function(e) {
  929. e = typeof e == "string" ? H[e] || B(e) : b.extend({},
  930. e);
  931. var n, r, i, s, o, u, a = [],
  932. f = !e.once && [],
  933. l = function(t) {
  934. r = e.memory && t,
  935. i = !0,
  936. o = u || 0,
  937. u = 0,
  938. s = a.length,
  939. n = !0;
  940. for (; a && o < s; o++)
  941. if (a[o].apply(t[0], t[1]) === !1 && e.stopOnFalse) {
  942. r = !1;
  943. break
  944. }
  945. n = !1,
  946. a && (f ? f.length && l(f.shift()) : r ? a = [] : c.disable())
  947. },
  948. c = {
  949. add: function() {
  950. if (a) {
  951. var t = a.length;
  952. (function i(t) {
  953. b.each(t,
  954. function(t, n) {
  955. var r = b.type(n);
  956. r === "function" ? (!e.unique || !c.has(n)) && a.push(n) : n && n.length && r !== "string" && i(n)
  957. })
  958. })(arguments),
  959. n ? s = a.length : r && (u = t, l(r))
  960. }
  961. return this
  962. },
  963. remove: function() {
  964. return a && b.each(arguments,
  965. function(e, t) {
  966. var r;
  967. while ((r = b.inArray(t, a, r)) > -1) a.splice(r, 1),
  968. n && (r <= s && s--, r <= o && o--)
  969. }),
  970. this
  971. },
  972. has: function(e) {
  973. return e ? b.inArray(e, a) > -1 : !!a && !!a.length
  974. },
  975. empty: function() {
  976. return a = [],
  977. this
  978. },
  979. disable: function() {
  980. return a = f = r = t,
  981. this
  982. },
  983. disabled: function() {
  984. return !a
  985. },
  986. lock: function() {
  987. return f = t,
  988. r || c.disable(),
  989. this
  990. },
  991. locked: function() {
  992. return !f
  993. },
  994. fireWith: function(e, t) {
  995. return t = t || [],
  996. t = [e, t.slice ? t.slice() : t],
  997. a && (!i || f) && (n ? f.push(t) : l(t)),
  998. this
  999. },
  1000. fire: function() {
  1001. return c.fireWith(this, arguments),
  1002. this
  1003. },
  1004. fired: function() {
  1005. return !!i
  1006. }
  1007. };
  1008. return c
  1009. },
  1010. b.extend({
  1011. Deferred: function(e) {
  1012. var t = [
  1013. ["resolve", "done", b.Callbacks("once memory"), "resolved"],
  1014. ["reject", "fail", b.Callbacks("once memory"), "rejected"],
  1015. ["notify", "progress", b.Callbacks("memory")]
  1016. ],
  1017. n = "pending",
  1018. r = {
  1019. state: function() {
  1020. return n
  1021. },
  1022. always: function() {
  1023. return i.done(arguments).fail(arguments),
  1024. this
  1025. },
  1026. then: function() {
  1027. var e = arguments;
  1028. return b.Deferred(function(n) {
  1029. b.each(t,
  1030. function(t, s) {
  1031. var o = s[0],
  1032. u = b.isFunction(e[t]) && e[t];
  1033. i[s[1]](function() {
  1034. var e = u && u.apply(this, arguments);
  1035. e && b.isFunction(e.promise) ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[o + "With"](this === r ? n.promise() : this, u ? [e] : arguments)
  1036. })
  1037. }),
  1038. e = null
  1039. }).promise()
  1040. },
  1041. promise: function(e) {
  1042. return e != null ? b.extend(e, r) : r
  1043. }
  1044. },
  1045. i = {};
  1046. return r.pipe = r.then,
  1047. b.each(t,
  1048. function(e, s) {
  1049. var o = s[2],
  1050. u = s[3];
  1051. r[s[1]] = o.add,
  1052. u && o.add(function() {
  1053. n = u
  1054. },
  1055. t[e ^ 1][2].disable, t[2][2].lock),
  1056. i[s[0]] = function() {
  1057. return i[s[0] + "With"](this === i ? r : this, arguments),
  1058. this
  1059. },
  1060. i[s[0] + "With"] = o.fireWith
  1061. }),
  1062. r.promise(i),
  1063. e && e.call(i, i),
  1064. i
  1065. },
  1066. when: function(e) {
  1067. var t = 0,
  1068. n = d.call(arguments),
  1069. r = n.length,
  1070. i = r !== 1 || e && b.isFunction(e.promise) ? r : 0,
  1071. s = i === 1 ? e : b.Deferred(),
  1072. o = function(e, t, n) {
  1073. return function(r) {
  1074. t[e] = this,
  1075. n[e] = arguments.length > 1 ? d.call(arguments) : r,
  1076. n === u ? s.notifyWith(t, n) : --i || s.resolveWith(t, n)
  1077. }
  1078. },
  1079. u,
  1080. a,
  1081. f;
  1082. if (r > 1) {
  1083. u = new Array(r),
  1084. a = new Array(r),
  1085. f = new Array(r);
  1086. for (; t < r; t++) n[t] && b.isFunction(n[t].promise) ? n[t].promise().done(o(t, f, n)).fail(s.reject).progress(o(t, a, u)) : --i
  1087. }
  1088. return i || s.resolveWith(f, n),
  1089. s.promise()
  1090. }
  1091. }),
  1092. b.support = function() {
  1093. var t, n, r, o, u, a, f, l, c, h, p = s.createElement("div");
  1094. p.setAttribute("className", "t"),
  1095. p.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",
  1096. n = p.getElementsByTagName("*"),
  1097. r = p.getElementsByTagName("a")[0];
  1098. if (!n || !r || !n.length) return {};
  1099. u = s.createElement("select"),
  1100. f = u.appendChild(s.createElement("option")),
  1101. o = p.getElementsByTagName("input")[0],
  1102. r.style.cssText = "top:1px;float:left;opacity:.5",
  1103. t = {
  1104. getSetAttribute: p.className !== "t",
  1105. leadingWhitespace: p.firstChild.nodeType === 3,
  1106. tbody: !p.getElementsByTagName("tbody").length,
  1107. htmlSerialize: !!p.getElementsByTagName("link").length,
  1108. style: /top/.test(r.getAttribute("style")),
  1109. hrefNormalized: r.getAttribute("href") === "/a",
  1110. opacity: /^0.5/.test(r.style.opacity),
  1111. cssFloat: !!r.style.cssFloat,
  1112. checkOn: !!o.value,
  1113. optSelected: f.selected,
  1114. enctype: !!s.createElement("form").enctype,
  1115. html5Clone: s.createElement("nav").cloneNode(!0).outerHTML !== "<:nav></:nav>",
  1116. boxModel: s.compatMode === "CSS1Compat",
  1117. deleteExpando: !0,
  1118. noCloneEvent: !0,
  1119. inlineBlockNeedsLayout: !1,
  1120. shrinkWrapBlocks: !1,
  1121. reliableMarginRight: !0,
  1122. boxSizingReliable: !0,
  1123. pixelPosition: !1
  1124. },
  1125. o.checked = !0,
  1126. t.noCloneChecked = o.cloneNode(!0).checked,
  1127. u.disabled = !0,
  1128. t.optDisabled = !f.disabled;
  1129. try {
  1130. delete p.test
  1131. } catch (d) {
  1132. t.deleteExpando = !1
  1133. }
  1134. o = s.createElement("input"),
  1135. o.setAttribute("value", ""),
  1136. t.input = o.getAttribute("value") === "",
  1137. o.value = "t",
  1138. o.setAttribute("type", "radio"),
  1139. t.radioValue = o.value === "t",
  1140. o.setAttribute("checked", "t"),
  1141. o.setAttribute("name", "t"),
  1142. a = s.createDocumentFragment(),
  1143. a.appendChild(o),
  1144. t.appendChecked = o.checked,
  1145. t.checkClone = a.cloneNode(!0).cloneNode(!0).lastChild.checked,
  1146. p.attachEvent && (p.attachEvent("onclick",
  1147. function() {
  1148. t.noCloneEvent = !1
  1149. }), p.cloneNode(!0).click());
  1150. for (h in {
  1151. submit: !0,
  1152. change: !0,
  1153. focusin: !0
  1154. }) p.setAttribute(l = "on" + h, "t"),
  1155. t[h + "Bubbles"] = l in e || p.attributes[l].expando === !1;
  1156. return p.style.backgroundClip = "content-box",
  1157. p.cloneNode(!0).style.backgroundClip = "",
  1158. t.clearCloneStyle = p.style.backgroundClip === "content-box",
  1159. b(function() {
  1160. var n, r, o, u = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",
  1161. a = s.getElementsByTagName("body")[0];
  1162. if (!a) return;
  1163. n = s.createElement("div"),
  1164. n.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",
  1165. a.appendChild(n).appendChild(p),
  1166. p.innerHTML = "<table><tr><td></td><td>t</td></tr></table>",
  1167. o = p.getElementsByTagName("td"),
  1168. o[0].style.cssText = "padding:0;margin:0;border:0;display:none",
  1169. c = o[0].offsetHeight === 0,
  1170. o[0].style.display = "",
  1171. o[1].style.display = "none",
  1172. t.reliableHiddenOffsets = c && o[0].offsetHeight === 0,
  1173. p.innerHTML = "",
  1174. p.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",
  1175. t.boxSizing = p.offsetWidth === 4,
  1176. t.doesNotIncludeMarginInBodyOffset = a.offsetTop !== 1,
  1177. e.getComputedStyle && (t.pixelPosition = (e.getComputedStyle(p, null) || {}).top !== "1%", t.boxSizingReliable = (e.getComputedStyle(p, null) || {
  1178. width: "4px"
  1179. }).width === "4px", r = p.appendChild(s.createElement("div")), r.style.cssText = p.style.cssText = u, r.style.marginRight = r.style.width = "0", p.style.width = "1px", t.reliableMarginRight = !parseFloat((e.getComputedStyle(r, null) || {}).marginRight)),
  1180. typeof p.style.zoom !== i && (p.innerHTML = "", p.style.cssText = u + "width:1px;padding:1px;display:inline;zoom:1", t.inlineBlockNeedsLayout = p.offsetWidth === 3, p.style.display = "block", p.innerHTML = "<div></div>", p.firstChild.style.width = "5px", t.shrinkWrapBlocks = p.offsetWidth !== 3, t.inlineBlockNeedsLayout && (a.style.zoom = 1)),
  1181. a.removeChild(n),
  1182. n = p = o = r = null
  1183. }),
  1184. n = u = a = f = r = o = null,
  1185. t
  1186. }();
  1187. var j = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
  1188. F = /([A-Z])/g;
  1189. b.extend({
  1190. cache: {},
  1191. expando: "jQuery" + (c + Math.random()).replace(/\D/g, ""),
  1192. noData: {
  1193. embed: !0,
  1194. object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
  1195. applet: !0
  1196. },
  1197. hasData: function(e) {
  1198. return e = e.nodeType ? b.cache[e[b.expando]] : e[b.expando], !!e && !U(e)
  1199. },
  1200. data: function(e, t, n) {
  1201. return I(e, t, n)
  1202. },
  1203. removeData: function(e, t) {
  1204. return q(e, t)
  1205. },
  1206. _data: function(e, t, n) {
  1207. return I(e, t, n, !0)
  1208. },
  1209. _removeData: function(e, t) {
  1210. return q(e, t, !0)
  1211. },
  1212. acceptData: function(e) {
  1213. if (e.nodeType && e.nodeType !== 1 && e.nodeType !== 9) return !1;
  1214. var t = e.nodeName && b.noData[e.nodeName.toLowerCase()];
  1215. return !t || t !== !0 && e.getAttribute("classid") === t
  1216. }
  1217. }),
  1218. b.fn.extend({
  1219. data: function(e, n) {
  1220. var r, i, s = this[0],
  1221. o = 0,
  1222. u = null;
  1223. if (e === t) {
  1224. if (this.length) {
  1225. u = b.data(s);
  1226. if (s.nodeType === 1 && !b._data(s, "parsedAttrs")) {
  1227. r = s.attributes;
  1228. for (; o < r.length; o++) i = r[o].name,
  1229. i.indexOf("data-") || (i = b.camelCase(i.slice(5)), R(s, i, u[i]));
  1230. b._data(s, "parsedAttrs", !0)
  1231. }
  1232. }
  1233. return u
  1234. }
  1235. return typeof e == "object" ? this.each(function() {
  1236. b.data(this, e)
  1237. }) : b.access(this,
  1238. function(n) {
  1239. if (n === t) return s ? R(s, e, b.data(s, e)) : null;
  1240. this.each(function() {
  1241. b.data(this, e, n)
  1242. })
  1243. },
  1244. null, n, arguments.length > 1, null, !0)
  1245. },
  1246. removeData: function(e) {
  1247. return this.each(function() {
  1248. b.removeData(this, e)
  1249. })
  1250. }
  1251. }),
  1252. b.extend({
  1253. queue: function(e, t, n) {
  1254. var r;
  1255. if (e) return t = (t || "fx") + "queue",
  1256. r = b._data(e, t),
  1257. n && (!r || b.isArray(n) ? r = b._data(e, t, b.makeArray(n)) : r.push(n)),
  1258. r || []
  1259. },
  1260. dequeue: function(e, t) {
  1261. t = t || "fx";
  1262. var n = b.queue(e, t),
  1263. r = n.length,
  1264. i = n.shift(),
  1265. s = b._queueHooks(e, t),
  1266. o = function() {
  1267. b.dequeue(e, t)
  1268. };
  1269. i === "inprogress" && (i = n.shift(), r--),
  1270. s.cur = i,
  1271. i && (t === "fx" && n.unshift("inprogress"), delete s.stop, i.call(e, o, s)), !r && s && s.empty.fire()
  1272. },
  1273. _queueHooks: function(e, t) {
  1274. var n = t + "queueHooks";
  1275. return b._data(e, n) || b._data(e, n, {
  1276. empty: b.Callbacks("once memory").add(function() {
  1277. b._removeData(e, t + "queue"),
  1278. b._removeData(e, n)
  1279. })
  1280. })
  1281. }
  1282. }),
  1283. b.fn.extend({
  1284. queue: function(e, n) {
  1285. var r = 2;
  1286. return typeof e != "string" && (n = e, e = "fx", r--),
  1287. arguments.length < r ? b.queue(this[0], e) : n === t ? this : this.each(function() {
  1288. var t = b.queue(this, e, n);
  1289. b._queueHooks(this, e),
  1290. e === "fx" && t[0] !== "inprogress" && b.dequeue(this, e)
  1291. })
  1292. },
  1293. dequeue: function(e) {
  1294. return this.each(function() {
  1295. b.dequeue(this, e)
  1296. })
  1297. },
  1298. delay: function(e, t) {
  1299. return e = b.fx ? b.fx.speeds[e] || e : e,
  1300. t = t || "fx",
  1301. this.queue(t,
  1302. function(t, n) {
  1303. var r = setTimeout(t, e);
  1304. n.stop = function() {
  1305. clearTimeout(r)
  1306. }
  1307. })
  1308. },
  1309. clearQueue: function(e) {
  1310. return this.queue(e || "fx", [])
  1311. },
  1312. promise: function(e, n) {
  1313. var r, i = 1,
  1314. s = b.Deferred(),
  1315. o = this,
  1316. u = this.length,
  1317. a = function() {
  1318. --i || s.resolveWith(o, [o])
  1319. };
  1320. typeof e != "string" && (n = e, e = t),
  1321. e = e || "fx";
  1322. while (u--) r = b._data(o[u], e + "queueHooks"),
  1323. r && r.empty && (i++, r.empty.add(a));
  1324. return a(),
  1325. s.promise(n)
  1326. }
  1327. });
  1328. var z, W, X = /[\t\r\n]/g,
  1329. V = /\r/g,
  1330. $ = /^(?:input|select|textarea|button|object)$/i,
  1331. J = /^(?:a|area)$/i,
  1332. K = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,
  1333. Q = /^(?:checked|selected)$/i,
  1334. G = b.support.getSetAttribute,
  1335. Y = b.support.input;
  1336. b.fn.extend({
  1337. attr: function(e, t) {
  1338. return b.access(this, b.attr, e, t, arguments.length > 1)
  1339. },
  1340. removeAttr: function(e) {
  1341. return this.each(function() {
  1342. b.removeAttr(this, e)
  1343. })
  1344. },
  1345. prop: function(e, t) {
  1346. return b.access(this, b.prop, e, t, arguments.length > 1)
  1347. },
  1348. removeProp: function(e) {
  1349. return e = b.propFix[e] || e,
  1350. this.each(function() {
  1351. try {
  1352. this[e] = t,
  1353. delete this[e]
  1354. } catch (n) {}
  1355. })
  1356. },
  1357. addClass: function(e) {
  1358. var t, n, r, i, s, o = 0,
  1359. u = this.length,
  1360. a = typeof e == "string" && e;
  1361. if (b.isFunction(e)) return this.each(function(t) {
  1362. b(this).addClass(e.call(this, t, this.className))
  1363. });
  1364. if (a) {
  1365. t = (e || "").match(E) || [];
  1366. for (; o < u; o++) {
  1367. n = this[o],
  1368. r = n.nodeType === 1 && (n.className ? (" " + n.className + " ").replace(X, " ") : " ");
  1369. if (r) {
  1370. s = 0;
  1371. while (i = t[s++]) r.indexOf(" " + i + " ") < 0 && (r += i + " ");
  1372. n.className = b.trim(r)
  1373. }
  1374. }
  1375. }
  1376. return this
  1377. },
  1378. removeClass: function(e) {
  1379. var t, n, r, i, s, o = 0,
  1380. u = this.length,
  1381. a = arguments.length === 0 || typeof e == "string" && e;
  1382. if (b.isFunction(e)) return this.each(function(t) {
  1383. b(this).removeClass(e.call(this, t, this.className))
  1384. });
  1385. if (a) {
  1386. t = (e || "").match(E) || [];
  1387. for (; o < u; o++) {
  1388. n = this[o],
  1389. r = n.nodeType === 1 && (n.className ? (" " + n.className + " ").replace(X, " ") : "");
  1390. if (r) {
  1391. s = 0;
  1392. while (i = t[s++])
  1393. while (r.indexOf(" " + i + " ") >= 0) r = r.replace(" " + i + " ", " ");
  1394. n.className = e ? b.trim(r) : ""
  1395. }
  1396. }
  1397. }
  1398. return this
  1399. },
  1400. toggleClass: function(e, t) {
  1401. var n = typeof e,
  1402. r = typeof t == "boolean";
  1403. return b.isFunction(e) ? this.each(function(n) {
  1404. b(this).toggleClass(e.call(this, n, this.className, t), t)
  1405. }) : this.each(function() {
  1406. if (n === "string") {
  1407. var s, o = 0,
  1408. u = b(this),
  1409. a = t,
  1410. f = e.match(E) || [];
  1411. while (s = f[o++]) a = r ? a : !u.hasClass(s),
  1412. u[a ? "addClass" : "removeClass"](s)
  1413. } else if (n === i || n === "boolean") this.className && b._data(this, "__className__", this.className),
  1414. this.className = this.className || e === !1 ? "" : b._data(this, "__className__") || ""
  1415. })
  1416. },
  1417. hasClass: function(e) {
  1418. var t = " " + e + " ",
  1419. n = 0,
  1420. r = this.length;
  1421. for (; n < r; n++)
  1422. if (this[n].nodeType === 1 && (" " + this[n].className + " ").replace(X, " ").indexOf(t) >= 0) return !0;
  1423. return !1
  1424. },
  1425. val: function(e) {
  1426. var n, r, i, s = this[0];
  1427. if (!arguments.length) {
  1428. if (s) return r = b.valHooks[s.type] || b.valHooks[s.nodeName.toLowerCase()],
  1429. r && "get" in r && (n = r.get(s, "value")) !== t ? n : (n = s.value, typeof n == "string" ? n.replace(V, "") : n == null ? "" : n);
  1430. return
  1431. }
  1432. return i = b.isFunction(e),
  1433. this.each(function(n) {
  1434. var s, o = b(this);
  1435. if (this.nodeType !== 1) return;
  1436. i ? s = e.call(this, n, o.val()) : s = e,
  1437. s == null ? s = "" : typeof s == "number" ? s += "" : b.isArray(s) && (s = b.map(s,
  1438. function(e) {
  1439. return e == null ? "" : e + ""
  1440. })),
  1441. r = b.valHooks[this.type] || b.valHooks[this.nodeName.toLowerCase()];
  1442. if (!r || !("set" in r) || r.set(this, s, "value") === t) this.value = s
  1443. })
  1444. }
  1445. }),
  1446. b.extend({
  1447. valHooks: {
  1448. option: {
  1449. get: function(e) {
  1450. var t = e.attributes.value;
  1451. return !t || t.specified ? e.value : e.text
  1452. }
  1453. },
  1454. select: {
  1455. get: function(e) {
  1456. var t, n, r = e.options,
  1457. i = e.selectedIndex,
  1458. s = e.type === "select-one" || i < 0,
  1459. o = s ? null : [],
  1460. u = s ? i + 1 : r.length,
  1461. a = i < 0 ? u : s ? i : 0;
  1462. for (; a < u; a++) {
  1463. n = r[a];
  1464. if ((n.selected || a === i) && (b.support.optDisabled ? !n.disabled : n.getAttribute("disabled") === null) && (!n.parentNode.disabled || !b.nodeName(n.parentNode, "optgroup"))) {
  1465. t = b(n).val();
  1466. if (s) return t;
  1467. o.push(t)
  1468. }
  1469. }
  1470. return o
  1471. },
  1472. set: function(e, t) {
  1473. var n = b.makeArray(t);
  1474. return b(e).find("option").each(function() {
  1475. this.selected = b.inArray(b(this).val(), n) >= 0
  1476. }),
  1477. n.length || (e.selectedIndex = -1),
  1478. n
  1479. }
  1480. }
  1481. },
  1482. attr: function(e, n, r) {
  1483. var s, o, u, a = e.nodeType;
  1484. if (!e || a === 3 || a === 8 || a === 2) return;
  1485. if (typeof e.getAttribute === i) return b.prop(e, n, r);
  1486. o = a !== 1 || !b.isXMLDoc(e),
  1487. o && (n = n.toLowerCase(), s = b.attrHooks[n] || (K.test(n) ? W : z));
  1488. if (r === t) return s && o && "get" in s && (u = s.get(e, n)) !== null ? u : (typeof e.getAttribute !== i && (u = e.getAttribute(n)), u == null ? t : u);
  1489. if (r !== null) return s && o && "set" in s && (u = s.set(e, r, n)) !== t ? u : (e.setAttribute(n, r + ""), r);
  1490. b.removeAttr(e, n)
  1491. },
  1492. removeAttr: function(e, t) {
  1493. var n, r, i = 0,
  1494. s = t && t.match(E);
  1495. if (s && e.nodeType === 1)
  1496. while (n = s[i++]) r = b.propFix[n] || n,
  1497. K.test(n) ? !G && Q.test(n) ? e[b.camelCase("default-" + n)] = e[r] = !1 : e[r] = !1 : b.attr(e, n, ""),
  1498. e.removeAttribute(G ? n : r)
  1499. },
  1500. attrHooks: {
  1501. type: {
  1502. set: function(e, t) {
  1503. if (!b.support.radioValue && t === "radio" && b.nodeName(e, "input")) {
  1504. var n = e.value;
  1505. return e.setAttribute("type", t),
  1506. n && (e.value = n),
  1507. t
  1508. }
  1509. }
  1510. }
  1511. },
  1512. propFix: {
  1513. tabindex: "tabIndex",
  1514. readonly: "readOnly",
  1515. "for": "htmlFor",
  1516. "class": "className",
  1517. maxlength: "maxLength",
  1518. cellspacing: "cellSpacing",
  1519. cellpadding: "cellPadding",
  1520. rowspan: "rowSpan",
  1521. colspan: "colSpan",
  1522. usemap: "useMap",
  1523. frameborder: "frameBorder",
  1524. contenteditable: "contentEditable"
  1525. },
  1526. prop: function(e, n, r) {
  1527. var i, s, o, u = e.nodeType;
  1528. if (!e || u === 3 || u === 8 || u === 2) return;
  1529. return o = u !== 1 || !b.isXMLDoc(e),
  1530. o && (n = b.propFix[n] || n, s = b.propHooks[n]),
  1531. r !== t ? s && "set" in s && (i = s.set(e, r, n)) !== t ? i : e[n] = r : s && "get" in s && (i = s.get(e, n)) !== null ? i : e[n]
  1532. },
  1533. propHooks: {
  1534. tabIndex: {
  1535. get: function(e) {
  1536. var n = e.getAttributeNode("tabindex");
  1537. return n && n.specified ? parseInt(n.value, 10) : $.test(e.nodeName) || J.test(e.nodeName) && e.href ? 0 : t
  1538. }
  1539. }
  1540. }
  1541. }),
  1542. W = {
  1543. get: function(e, n) {
  1544. var r = b.prop(e, n),
  1545. i = typeof r == "boolean" && e.getAttribute(n),
  1546. s = typeof r == "boolean" ? Y && G ? i != null : Q.test(n) ? e[b.camelCase("default-" + n)] : !!i : e.getAttributeNode(n);
  1547. return s && s.value !== !1 ? n.toLowerCase() : t
  1548. },
  1549. set: function(e, t, n) {
  1550. return t === !1 ? b.removeAttr(e, n) : Y && G || !Q.test(n) ? e.setAttribute(!G && b.propFix[n] || n, n) : e[b.camelCase("default-" + n)] = e[n] = !0,
  1551. n
  1552. }
  1553. };
  1554. if (!Y || !G) b.attrHooks.value = {
  1555. get: function(e, n) {
  1556. var r = e.getAttributeNode(n);
  1557. return b.nodeName(e, "input") ? e.defaultValue : r && r.specified ? r.value : t
  1558. },
  1559. set: function(e, t, n) {
  1560. if (!b.nodeName(e, "input")) return z && z.set(e, t, n);
  1561. e.defaultValue = t
  1562. }
  1563. };
  1564. G || (z = b.valHooks.button = {
  1565. get: function(e, n) {
  1566. var r = e.getAttributeNode(n);
  1567. return r && (n === "id" || n === "name" || n === "coords" ? r.value !== "" : r.specified) ? r.value : t
  1568. },
  1569. set: function(e, n, r) {
  1570. var i = e.getAttributeNode(r);
  1571. return i || e.setAttributeNode(i = e.ownerDocument.createAttribute(r)),
  1572. i.value = n += "",
  1573. r === "value" || n === e.getAttribute(r) ? n : t
  1574. }
  1575. },
  1576. b.attrHooks.contenteditable = {
  1577. get: z.get,
  1578. set: function(e, t, n) {
  1579. z.set(e, t === "" ? !1 : t, n)
  1580. }
  1581. },
  1582. b.each(["width", "height"],
  1583. function(e, t) {
  1584. b.attrHooks[t] = b.extend(b.attrHooks[t], {
  1585. set: function(e, n) {
  1586. if (n === "") return e.setAttribute(t, "auto"),
  1587. n
  1588. }
  1589. })
  1590. })),
  1591. b.support.hrefNormalized || (b.each(["href", "src", "width", "height"],
  1592. function(e, n) {
  1593. b.attrHooks[n] = b.extend(b.attrHooks[n], {
  1594. get: function(e) {
  1595. var r = e.getAttribute(n, 2);
  1596. return r == null ? t : r
  1597. }
  1598. })
  1599. }), b.each(["href", "src"],
  1600. function(e, t) {
  1601. b.propHooks[t] = {
  1602. get: function(e) {
  1603. return e.getAttribute(t, 4)
  1604. }
  1605. }
  1606. })),
  1607. b.support.style || (b.attrHooks.style = {
  1608. get: function(e) {
  1609. return e.style.cssText || t
  1610. },
  1611. set: function(e, t) {
  1612. return e.style.cssText = t + ""
  1613. }
  1614. }),
  1615. b.support.optSelected || (b.propHooks.selected = b.extend(b.propHooks.selected, {
  1616. get: function(e) {
  1617. var t = e.parentNode;
  1618. return t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex),
  1619. null
  1620. }
  1621. })),
  1622. b.support.enctype || (b.propFix.enctype = "encoding"),
  1623. b.support.checkOn || b.each(["radio", "checkbox"],
  1624. function() {
  1625. b.valHooks[this] = {
  1626. get: function(e) {
  1627. return e.getAttribute("value") === null ? "on" : e.value
  1628. }
  1629. }
  1630. }),
  1631. b.each(["radio", "checkbox"],
  1632. function() {
  1633. b.valHooks[this] = b.extend(b.valHooks[this], {
  1634. set: function(e, t) {
  1635. if (b.isArray(t)) return e.checked = b.inArray(b(e).val(), t) >= 0
  1636. }
  1637. })
  1638. });
  1639. var Z = /^(?:input|select|textarea)$/i,
  1640. et = /^key/,
  1641. tt = /^(?:mouse|contextmenu)|click/,
  1642. nt = /^(?:focusinfocus|focusoutblur)$/,
  1643. rt = /^([^.]*)(?:\.(.+)|)$/;
  1644. b.event = {
  1645. global: {},
  1646. add: function(e, n, r, s, o) {
  1647. var u, a, f, l, c, h, p, d, v, m, g, y = b._data(e);
  1648. if (!y) return;
  1649. r.handler && (l = r, r = l.handler, o = l.selector),
  1650. r.guid || (r.guid = b.guid++), (a = y.events) || (a = y.events = {}), (h = y.handle) || (h = y.handle = function(e) {
  1651. return typeof b === i || !!e && b.event.triggered === e.type ? t : b.event.dispatch.apply(h.elem, arguments)
  1652. },
  1653. h.elem = e),
  1654. n = (n || "").match(E) || [""],
  1655. f = n.length;
  1656. while (f--) {
  1657. u = rt.exec(n[f]) || [],
  1658. v = g = u[1],
  1659. m = (u[2] || "").split(".").sort(),
  1660. c = b.event.special[v] || {},
  1661. v = (o ? c.delegateType : c.bindType) || v,
  1662. c = b.event.special[v] || {},
  1663. p = b.extend({
  1664. type: v,
  1665. origType: g,
  1666. data: s,
  1667. handler: r,
  1668. guid: r.guid,
  1669. selector: o,
  1670. needsContext: o && b.expr.match.needsContext.test(o),
  1671. namespace: m.join(".")
  1672. },
  1673. l);
  1674. if (!(d = a[v])) {
  1675. d = a[v] = [],
  1676. d.delegateCount = 0;
  1677. if (!c.setup || c.setup.call(e, s, m, h) === !1) e.addEventListener ? e.addEventListener(v, h, !1) : e.attachEvent && e.attachEvent("on" + v, h)
  1678. }
  1679. c.add && (c.add.call(e, p), p.handler.guid || (p.handler.guid = r.guid)),
  1680. o ? d.splice(d.delegateCount++, 0, p) : d.push(p),
  1681. b.event.global[v] = !0
  1682. }
  1683. e = null
  1684. },
  1685. remove: function(e, t, n, r, i) {
  1686. var s, o, u, a, f, l, c, h, p, d, v, m = b.hasData(e) && b._data(e);
  1687. if (!m || !(l = m.events)) return;
  1688. t = (t || "").match(E) || [""],
  1689. f = t.length;
  1690. while (f--) {
  1691. u = rt.exec(t[f]) || [],
  1692. p = v = u[1],
  1693. d = (u[2] || "").split(".").sort();
  1694. if (!p) {
  1695. for (p in l) b.event.remove(e, p + t[f], n, r, !0);
  1696. continue
  1697. }
  1698. c = b.event.special[p] || {},
  1699. p = (r ? c.delegateType : c.bindType) || p,
  1700. h = l[p] || [],
  1701. u = u[2] && new RegExp("(^|\\.)" + d.join("\\.(?:.*\\.|)") + "(\\.|$)"),
  1702. a = s = h.length;
  1703. while (s--) o = h[s], (i || v === o.origType) && (!n || n.guid === o.guid) && (!u || u.test(o.namespace)) && (!r || r === o.selector || r === "**" && o.selector) && (h.splice(s, 1), o.selector && h.delegateCount--, c.remove && c.remove.call(e, o));
  1704. a && !h.length && ((!c.teardown || c.teardown.call(e, d, m.handle) === !1) && b.removeEvent(e, p, m.handle), delete l[p])
  1705. }
  1706. b.isEmptyObject(l) && (delete m.handle, b._removeData(e, "events"))
  1707. },
  1708. trigger: function(n, r, i, o) {
  1709. var u, a, f, l, c, h, p, d = [i || s],
  1710. v = g.call(n, "type") ? n.type : n,
  1711. m = g.call(n, "namespace") ? n.namespace.split(".") : [];
  1712. f = h = i = i || s;
  1713. if (i.nodeType === 3 || i.nodeType === 8) return;
  1714. if (nt.test(v + b.event.triggered)) return;
  1715. v.indexOf(".") >= 0 && (m = v.split("."), v = m.shift(), m.sort()),
  1716. a = v.indexOf(":") < 0 && "on" + v,
  1717. n = n[b.expando] ? n : new b.Event(v, typeof n == "object" && n),
  1718. n.isTrigger = !0,
  1719. n.namespace = m.join("."),
  1720. n.namespace_re = n.namespace ? new RegExp("(^|\\.)" + m.join("\\.(?:.*\\.|)") + "(\\.|$)") : null,
  1721. n.result = t,
  1722. n.target || (n.target = i),
  1723. r = r == null ? [n] : b.makeArray(r, [n]),
  1724. c = b.event.special[v] || {};
  1725. if (!o && c.trigger && c.trigger.apply(i, r) === !1) return;
  1726. if (!o && !c.noBubble && !b.isWindow(i)) {
  1727. l = c.delegateType || v,
  1728. nt.test(l + v) || (f = f.parentNode);
  1729. for (; f; f = f.parentNode) d.push(f),
  1730. h = f;
  1731. h === (i.ownerDocument || s) && d.push(h.defaultView || h.parentWindow || e)
  1732. }
  1733. p = 0;
  1734. while ((f = d[p++]) && !n.isPropagationStopped()) n.type = p > 1 ? l : c.bindType || v,
  1735. u = (b._data(f, "events") || {})[n.type] && b._data(f, "handle"),
  1736. u && u.apply(f, r),
  1737. u = a && f[a],
  1738. u && b.acceptData(f) && u.apply && u.apply(f, r) === !1 && n.preventDefault();
  1739. n.type = v;
  1740. if (!o && !n.isDefaultPrevented() && (!c._default || c._default.apply(i.ownerDocument, r) === !1) && (v !== "click" || !b.nodeName(i, "a")) && b.acceptData(i) && a && i[v] && !b.isWindow(i)) {
  1741. h = i[a],
  1742. h && (i[a] = null),
  1743. b.event.triggered = v;
  1744. try {
  1745. i[v]()
  1746. } catch (y) {}
  1747. b.event.triggered = t,
  1748. h && (i[a] = h)
  1749. }
  1750. return n.result
  1751. },
  1752. dispatch: function(e) {
  1753. e = b.event.fix(e);
  1754. var n, r, i, s, o, u = [],
  1755. a = d.call(arguments),
  1756. f = (b._data(this, "events") || {})[e.type] || [],
  1757. l = b.event.special[e.type] || {};
  1758. a[0] = e,
  1759. e.delegateTarget = this;
  1760. if (l.preDispatch && l.preDispatch.call(this, e) === !1) return;
  1761. u = b.event.handlers.call(this, e, f),
  1762. n = 0;
  1763. while ((s = u[n++]) && !e.isPropagationStopped()) {
  1764. e.currentTarget = s.elem,
  1765. o = 0;
  1766. while ((i = s.handlers[o++]) && !e.isImmediatePropagationStopped())
  1767. if (!e.namespace_re || e.namespace_re.test(i.namespace)) e.handleObj = i,
  1768. e.data = i.data,
  1769. r = ((b.event.special[i.origType] || {}).handle || i.handler).apply(s.elem, a),
  1770. r !== t && (e.result = r) === !1 && (e.preventDefault(), e.stopPropagation())
  1771. }
  1772. return l.postDispatch && l.postDispatch.call(this, e),
  1773. e.result
  1774. },
  1775. handlers: function(e, n) {
  1776. var r, i, s, o, u = [],
  1777. a = n.delegateCount,
  1778. f = e.target;
  1779. if (a && f.nodeType && (!e.button || e.type !== "click"))
  1780. for (; f != this; f = f.parentNode || this)
  1781. if (f.nodeType === 1 && (f.disabled !== !0 || e.type !== "click")) {
  1782. s = [];
  1783. for (o = 0; o < a; o++) i = n[o],
  1784. r = i.selector + " ",
  1785. s[r] === t && (s[r] = i.needsContext ? b(r, this).index(f) >= 0 : b.find(r, this, null, [f]).length),
  1786. s[r] && s.push(i);
  1787. s.length && u.push({
  1788. elem: f,
  1789. handlers: s
  1790. })
  1791. }
  1792. return a < n.length && u.push({
  1793. elem: this,
  1794. handlers: n.slice(a)
  1795. }),
  1796. u
  1797. },
  1798. fix: function(e) {
  1799. if (e[b.expando]) return e;
  1800. var t, n, r, i = e.type,
  1801. o = e,
  1802. u = this.fixHooks[i];
  1803. u || (this.fixHooks[i] = u = tt.test(i) ? this.mouseHooks : et.test(i) ? this.keyHooks : {}),
  1804. r = u.props ? this.props.concat(u.props) : this.props,
  1805. e = new b.Event(o),
  1806. t = r.length;
  1807. while (t--) n = r[t],
  1808. e[n] = o[n];
  1809. return e.target || (e.target = o.srcElement || s),
  1810. e.target.nodeType === 3 && (e.target = e.target.parentNode),
  1811. e.metaKey = !!e.metaKey,
  1812. u.filter ? u.filter(e, o) : e
  1813. },
  1814. props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
  1815. fixHooks: {},
  1816. keyHooks: {
  1817. props: "char charCode key keyCode".split(" "),
  1818. filter: function(e, t) {
  1819. return e.which == null && (e.which = t.charCode != null ? t.charCode : t.keyCode),
  1820. e
  1821. }
  1822. },
  1823. mouseHooks: {
  1824. props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
  1825. filter: function(e, n) {
  1826. var r, i, o, u = n.button,
  1827. a = n.fromElement;
  1828. return e.pageX == null && n.clientX != null && (i = e.target.ownerDocument || s, o = i.documentElement, r = i.body, e.pageX = n.clientX + (o && o.scrollLeft || r && r.scrollLeft || 0) - (o && o.clientLeft || r && r.clientLeft || 0), e.pageY = n.clientY + (o && o.scrollTop || r && r.scrollTop || 0) - (o && o.clientTop || r && r.clientTop || 0)), !e.relatedTarget && a && (e.relatedTarget = a === e.target ? n.toElement : a), !e.which && u !== t && (e.which = u & 1 ? 1 : u & 2 ? 3 : u & 4 ? 2 : 0),
  1829. e
  1830. }
  1831. },
  1832. special: {
  1833. load: {
  1834. noBubble: !0
  1835. },
  1836. click: {
  1837. trigger: function() {
  1838. if (b.nodeName(this, "input") && this.type === "checkbox" && this.click) return this.click(), !1
  1839. }
  1840. },
  1841. focus: {
  1842. trigger: function() {
  1843. if (this !== s.activeElement && this.focus) try {
  1844. return this.focus(), !1
  1845. } catch (e) {}
  1846. },
  1847. delegateType: "focusin"
  1848. },
  1849. blur: {
  1850. trigger: function() {
  1851. if (this === s.activeElement && this.blur) return this.blur(), !1
  1852. },
  1853. delegateType: "focusout"
  1854. },
  1855. beforeunload: {
  1856. postDispatch: function(e) {
  1857. e.result !== t && (e.originalEvent.returnValue = e.result)
  1858. }
  1859. }
  1860. },
  1861. simulate: function(e, t, n, r) {
  1862. var i = b.extend(new b.Event, n, {
  1863. type: e,
  1864. isSimulated: !0,
  1865. originalEvent: {}
  1866. });
  1867. r ? b.event.trigger(i, null, t) : b.event.dispatch.call(t, i),
  1868. i.isDefaultPrevented() && n.preventDefault()
  1869. }
  1870. },
  1871. b.removeEvent = s.removeEventListener ?
  1872. function(e, t, n) {
  1873. e.removeEventListener && e.removeEventListener(t, n, !1)
  1874. } : function(e, t, n) {
  1875. var r = "on" + t;
  1876. e.detachEvent && (typeof e[r] === i && (e[r] = null), e.detachEvent(r, n))
  1877. },
  1878. b.Event = function(e, t) {
  1879. if (!(this instanceof b.Event)) return new b.Event(e, t);
  1880. e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || e.returnValue === !1 || e.getPreventDefault && e.getPreventDefault() ? it : st) : this.type = e,
  1881. t && b.extend(this, t),
  1882. this.timeStamp = e && e.timeStamp || b.now(),
  1883. this[b.expando] = !0
  1884. },
  1885. b.Event.prototype = {
  1886. isDefaultPrevented: st,
  1887. isPropagationStopped: st,
  1888. isImmediatePropagationStopped: st,
  1889. preventDefault: function() {
  1890. var e = this.originalEvent;
  1891. this.isDefaultPrevented = it;
  1892. if (!e) return;
  1893. e.preventDefault ? e.preventDefault() : e.returnValue = !1
  1894. },
  1895. stopPropagation: function() {
  1896. var e = this.originalEvent;
  1897. this.isPropagationStopped = it;
  1898. if (!e) return;
  1899. e.stopPropagation && e.stopPropagation(),
  1900. e.cancelBubble = !0
  1901. },
  1902. stopImmediatePropagation: function() {
  1903. this.isImmediatePropagationStopped = it,
  1904. this.stopPropagation()
  1905. }
  1906. },
  1907. b.each({
  1908. mouseenter: "mouseover",
  1909. mouseleave: "mouseout"
  1910. },
  1911. function(e, t) {
  1912. b.event.special[e] = {
  1913. delegateType: t,
  1914. bindType: t,
  1915. handle: function(e) {
  1916. var n, r = this,
  1917. i = e.relatedTarget,
  1918. s = e.handleObj;
  1919. if (!i || i !== r && !b.contains(r, i)) e.type = s.origType,
  1920. n = s.handler.apply(this, arguments),
  1921. e.type = t;
  1922. return n
  1923. }
  1924. }
  1925. }),
  1926. b.support.submitBubbles || (b.event.special.submit = {
  1927. setup: function() {
  1928. if (b.nodeName(this, "form")) return !1;
  1929. b.event.add(this, "click._submit keypress._submit",
  1930. function(e) {
  1931. var n = e.target,
  1932. r = b.nodeName(n, "input") || b.nodeName(n, "button") ? n.form : t;
  1933. r && !b._data(r, "submitBubbles") && (b.event.add(r, "submit._submit",
  1934. function(e) {
  1935. e._submit_bubble = !0
  1936. }), b._data(r, "submitBubbles", !0))
  1937. })
  1938. },
  1939. postDispatch: function(e) {
  1940. e._submit_bubble && (delete e._submit_bubble, this.parentNode && !e.isTrigger && b.event.simulate("submit", this.parentNode, e, !0))
  1941. },
  1942. teardown: function() {
  1943. if (b.nodeName(this, "form")) return !1;
  1944. b.event.remove(this, "._submit")
  1945. }
  1946. }),
  1947. b.support.changeBubbles || (b.event.special.change = {
  1948. setup: function() {
  1949. if (Z.test(this.nodeName)) {
  1950. if (this.type === "checkbox" || this.type === "radio") b.event.add(this, "propertychange._change",
  1951. function(e) {
  1952. e.originalEvent.propertyName === "checked" && (this._just_changed = !0)
  1953. }),
  1954. b.event.add(this, "click._change",
  1955. function(e) {
  1956. this._just_changed && !e.isTrigger && (this._just_changed = !1),
  1957. b.event.simulate("change", this, e, !0)
  1958. });
  1959. return !1
  1960. }
  1961. b.event.add(this, "beforeactivate._change",
  1962. function(e) {
  1963. var t = e.target;
  1964. Z.test(t.nodeName) && !b._data(t, "changeBubbles") && (b.event.add(t, "change._change",
  1965. function(e) {
  1966. this.parentNode && !e.isSimulated && !e.isTrigger && b.event.simulate("change", this.parentNode, e, !0)
  1967. }), b._data(t, "changeBubbles", !0))
  1968. })
  1969. },
  1970. handle: function(e) {
  1971. var t = e.target;
  1972. if (this !== t || e.isSimulated || e.isTrigger || t.type !== "radio" && t.type !== "checkbox") return e.handleObj.handler.apply(this, arguments)
  1973. },
  1974. teardown: function() {
  1975. return b.event.remove(this, "._change"), !Z.test(this.nodeName)
  1976. }
  1977. }),
  1978. b.support.focusinBubbles || b.each({
  1979. focus: "focusin",
  1980. blur: "focusout"
  1981. },
  1982. function(e, t) {
  1983. var n = 0,
  1984. r = function(e) {
  1985. b.event.simulate(t, e.target, b.event.fix(e), !0)
  1986. };
  1987. b.event.special[t] = {
  1988. setup: function() {
  1989. n++ === 0 && s.addEventListener(e, r, !0)
  1990. },
  1991. teardown: function() {
  1992. --n === 0 && s.removeEventListener(e, r, !0)
  1993. }
  1994. }
  1995. }),
  1996. b.fn.extend({
  1997. on: function(e, n, r, i, s) {
  1998. var o, u;
  1999. if (typeof e == "object") {
  2000. typeof n != "string" && (r = r || n, n = t);
  2001. for (o in e) this.on(o, n, r, e[o], s);
  2002. return this
  2003. }
  2004. r == null && i == null ? (i = n, r = n = t) : i == null && (typeof n == "string" ? (i = r, r = t) : (i = r, r = n, n = t));
  2005. if (i === !1) i = st;
  2006. else if (!i) return this;
  2007. return s === 1 && (u = i, i = function(e) {
  2008. return b().off(e),
  2009. u.apply(this, arguments)
  2010. },
  2011. i.guid = u.guid || (u.guid = b.guid++)),
  2012. this.each(function() {
  2013. b.event.add(this, e, i, r, n)
  2014. })
  2015. },
  2016. one: function(e, t, n, r) {
  2017. return this.on(e, t, n, r, 1)
  2018. },
  2019. off: function(e, n, r) {
  2020. var i, s;
  2021. if (e && e.preventDefault && e.handleObj) return i = e.handleObj,
  2022. b(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace : i.origType, i.selector, i.handler),
  2023. this;
  2024. if (typeof e == "object") {
  2025. for (s in e) this.off(s, n, e[s]);
  2026. return this
  2027. }
  2028. if (n === !1 || typeof n == "function") r = n,
  2029. n = t;
  2030. return r === !1 && (r = st),
  2031. this.each(function() {
  2032. b.event.remove(this, e, r, n)
  2033. })
  2034. },
  2035. bind: function(e, t, n) {
  2036. return this.on(e, null, t, n)
  2037. },
  2038. unbind: function(e, t) {
  2039. return this.off(e, null, t)
  2040. },
  2041. delegate: function(e, t, n, r) {
  2042. return this.on(t, e, n, r)
  2043. },
  2044. undelegate: function(e, t, n) {
  2045. return arguments.length === 1 ? this.off(e, "**") : this.off(t, e || "**", n)
  2046. },
  2047. trigger: function(e, t) {
  2048. return this.each(function() {
  2049. b.event.trigger(e, t, this)
  2050. })
  2051. },
  2052. triggerHandler: function(e, t) {
  2053. var n = this[0];
  2054. if (n) return b.event.trigger(e, t, n, !0)
  2055. }
  2056. }),
  2057. function(e, t) {
  2058. function rt(e) {
  2059. return J.test(e + "")
  2060. }
  2061. function it() {
  2062. var e, t = [];
  2063. return e = function(n, r) {
  2064. return t.push(n += " ") > i.cacheLength && delete e[t.shift()],
  2065. e[n] = r
  2066. }
  2067. }
  2068. function st(e) {
  2069. return e[w] = !0,
  2070. e
  2071. }
  2072. function ot(e) {
  2073. var t = c.createElement("div");
  2074. try {
  2075. return e(t)
  2076. } catch (n) {
  2077. return !1
  2078. } finally {
  2079. t = null
  2080. }
  2081. }
  2082. function ut(e, t, n, r) {
  2083. var i, s, o, u, a, f, h, v, m, y;
  2084. (t ? t.ownerDocument || t : E) !== c && l(t),
  2085. t = t || c,
  2086. n = n || [];
  2087. if (!e || typeof e != "string") return n;
  2088. if ((u = t.nodeType) !== 1 && u !== 9) return [];
  2089. if (!p && !r) {
  2090. if (i = K.exec(e))
  2091. if (o = i[1]) {
  2092. if (u === 9) {
  2093. s = t.getElementById(o);
  2094. if (!s || !s.parentNode) return n;
  2095. if (s.id === o) return n.push(s),
  2096. n
  2097. } else if (t.ownerDocument && (s = t.ownerDocument.getElementById(o)) && g(t, s) && s.id === o) return n.push(s),
  2098. n
  2099. } else {
  2100. if (i[2]) return _.apply(n, D.call(t.getElementsByTagName(e), 0)),
  2101. n;
  2102. if ((o = i[3]) && S.getByClassName && t.getElementsByClassName) return _.apply(n, D.call(t.getElementsByClassName(o), 0)),
  2103. n
  2104. }
  2105. if (S.qsa && !d.test(e)) {
  2106. h = !0,
  2107. v = w,
  2108. m = t,
  2109. y = u === 9 && e;
  2110. if (u === 1 && t.nodeName.toLowerCase() !== "object") {
  2111. f = ht(e), (h = t.getAttribute("id")) ? v = h.replace(Y, "\\$&") : t.setAttribute("id", v),
  2112. v = "[id='" + v + "'] ",
  2113. a = f.length;
  2114. while (a--) f[a] = v + pt(f[a]);
  2115. m = $.test(e) && t.parentNode || t,
  2116. y = f.join(",")
  2117. }
  2118. if (y) try {
  2119. return _.apply(n, D.call(m.querySelectorAll(y), 0)),
  2120. n
  2121. } catch (b) {} finally {
  2122. h || t.removeAttribute("id")
  2123. }
  2124. }
  2125. }
  2126. return Et(e.replace(R, "$1"), t, n, r)
  2127. }
  2128. function at(e, t) {
  2129. var n = t && e,
  2130. r = n && (~t.sourceIndex || A) - (~e.sourceIndex || A);
  2131. if (r) return r;
  2132. if (n)
  2133. while (n = n.nextSibling)
  2134. if (n === t) return -1;
  2135. return e ? 1 : -1
  2136. }
  2137. function ft(e) {
  2138. return function(t) {
  2139. var n = t.nodeName.toLowerCase();
  2140. return n === "input" && t.type === e
  2141. }
  2142. }
  2143. function lt(e) {
  2144. return function(t) {
  2145. var n = t.nodeName.toLowerCase();
  2146. return (n === "input" || n === "button") && t.type === e
  2147. }
  2148. }
  2149. function ct(e) {
  2150. return st(function(t) {
  2151. return t = +t,
  2152. st(function(n, r) {
  2153. var i, s = e([], n.length, t),
  2154. o = s.length;
  2155. while (o--) n[i = s[o]] && (n[i] = !(r[i] = n[i]))
  2156. })
  2157. })
  2158. }
  2159. function ht(e, t) {
  2160. var n, r, s, o, u, a, f, l = C[e + " "];
  2161. if (l) return t ? 0 : l.slice(0);
  2162. u = e,
  2163. a = [],
  2164. f = i.preFilter;
  2165. while (u) {
  2166. if (!n || (r = U.exec(u))) r && (u = u.slice(r[0].length) || u),
  2167. a.push(s = []);
  2168. n = !1;
  2169. if (r = z.exec(u)) n = r.shift(),
  2170. s.push({
  2171. value: n,
  2172. type: r[0].replace(R, " ")
  2173. }),
  2174. u = u.slice(n.length);
  2175. for (o in i.filter)(r = V[o].exec(u)) && (!f[o] || (r = f[o](r))) && (n = r.shift(), s.push({
  2176. value: n,
  2177. type: o,
  2178. matches: r
  2179. }), u = u.slice(n.length));
  2180. if (!n) break
  2181. }
  2182. return t ? u.length : u ? ut.error(e) : C(e, a).slice(0)
  2183. }
  2184. function pt(e) {
  2185. var t = 0,
  2186. n = e.length,
  2187. r = "";
  2188. for (; t < n; t++) r += e[t].value;
  2189. return r
  2190. }
  2191. function dt(e, t, n) {
  2192. var i = t.dir,
  2193. s = n && i === "parentNode",
  2194. o = T++;
  2195. return t.first ?
  2196. function(t, n, r) {
  2197. while (t = t[i])
  2198. if (t.nodeType === 1 || s) return e(t, n, r)
  2199. } : function(t, n, u) {
  2200. var a, f, l, c = x + " " + o;
  2201. if (u) {
  2202. while (t = t[i])
  2203. if (t.nodeType === 1 || s)
  2204. if (e(t, n, u)) return !0
  2205. } else
  2206. while (t = t[i])
  2207. if (t.nodeType === 1 || s) {
  2208. l = t[w] || (t[w] = {});
  2209. if ((f = l[i]) && f[0] === c) {
  2210. if ((a = f[1]) === !0 || a === r) return a === !0
  2211. } else {
  2212. f = l[i] = [c],
  2213. f[1] = e(t, n, u) || r;
  2214. if (f[1] === !0) return !0
  2215. }
  2216. }
  2217. }
  2218. }
  2219. function vt(e) {
  2220. return e.length > 1 ?
  2221. function(t, n, r) {
  2222. var i = e.length;
  2223. while (i--)
  2224. if (!e[i](t, n, r)) return !1;
  2225. return !0
  2226. } : e[0]
  2227. }
  2228. function mt(e, t, n, r, i) {
  2229. var s, o = [],
  2230. u = 0,
  2231. a = e.length,
  2232. f = t != null;
  2233. for (; u < a; u++)
  2234. if (s = e[u])
  2235. if (!n || n(s, r, i)) o.push(s),
  2236. f && t.push(u);
  2237. return o
  2238. }
  2239. function gt(e, t, n, r, i, s) {
  2240. return r && !r[w] && (r = gt(r)),
  2241. i && !i[w] && (i = gt(i, s)),
  2242. st(function(s, o, u, a) {
  2243. var f, l, c, h = [],
  2244. p = [],
  2245. d = o.length,
  2246. v = s || wt(t || "*", u.nodeType ? [u] : u, []),
  2247. m = e && (s || !t) ? mt(v, h, e, u, a) : v,
  2248. g = n ? i || (s ? e : d || r) ? [] : o : m;
  2249. n && n(m, g, u, a);
  2250. if (r) {
  2251. f = mt(g, p),
  2252. r(f, [], u, a),
  2253. l = f.length;
  2254. while (l--)
  2255. if (c = f[l]) g[p[l]] = !(m[p[l]] = c)
  2256. }
  2257. if (s) {
  2258. if (i || e) {
  2259. if (i) {
  2260. f = [],
  2261. l = g.length;
  2262. while (l--)(c = g[l]) && f.push(m[l] = c);
  2263. i(null, g = [], f, a)
  2264. }
  2265. l = g.length;
  2266. while (l--)(c = g[l]) && (f = i ? P.call(s, c) : h[l]) > -1 && (s[f] = !(o[f] = c))
  2267. }
  2268. } else g = mt(g === o ? g.splice(d, g.length) : g),
  2269. i ? i(null, o, g, a) : _.apply(o, g)
  2270. })
  2271. }
  2272. function yt(e) {
  2273. var t, n, r, s = e.length,
  2274. o = i.relative[e[0].type],
  2275. u = o || i.relative[" "],
  2276. a = o ? 1 : 0,
  2277. l = dt(function(e) {
  2278. return e === t
  2279. },
  2280. u, !0),
  2281. c = dt(function(e) {
  2282. return P.call(t, e) > -1
  2283. },
  2284. u, !0),
  2285. h = [
  2286. function(e, n, r) {
  2287. return !o && (r || n !== f) || ((t = n).nodeType ? l(e, n, r) : c(e, n, r))
  2288. }
  2289. ];
  2290. for (; a < s; a++)
  2291. if (n = i.relative[e[a].type]) h = [dt(vt(h), n)];
  2292. else {
  2293. n = i.filter[e[a].type].apply(null, e[a].matches);
  2294. if (n[w]) {
  2295. r = ++a;
  2296. for (; r < s; r++)
  2297. if (i.relative[e[r].type]) break;
  2298. return gt(a > 1 && vt(h), a > 1 && pt(e.slice(0, a - 1)).replace(R, "$1"), n, a < r && yt(e.slice(a, r)), r < s && yt(e = e.slice(r)), r < s && pt(e))
  2299. }
  2300. h.push(n)
  2301. }
  2302. return vt(h)
  2303. }
  2304. function bt(e, t) {
  2305. var n = 0,
  2306. s = t.length > 0,
  2307. o = e.length > 0,
  2308. u = function(u, a, l, h, p) {
  2309. var d, v, m, g = [],
  2310. y = 0,
  2311. b = "0",
  2312. w = u && [],
  2313. E = p != null,
  2314. S = f,
  2315. T = u || o && i.find.TAG("*", p && a.parentNode || a),
  2316. N = x += S == null ? 1 : Math.random() || .1;
  2317. E && (f = a !== c && a, r = n);
  2318. for (;
  2319. (d = T[b]) != null; b++) {
  2320. if (o && d) {
  2321. v = 0;
  2322. while (m = e[v++])
  2323. if (m(d, a, l)) {
  2324. h.push(d);
  2325. break
  2326. }
  2327. E && (x = N, r = ++n)
  2328. }
  2329. s && ((d = !m && d) && y--, u && w.push(d))
  2330. }
  2331. y += b;
  2332. if (s && b !== y) {
  2333. v = 0;
  2334. while (m = t[v++]) m(w, g, a, l);
  2335. if (u) {
  2336. if (y > 0)
  2337. while (b--)!w[b] && !g[b] && (g[b] = M.call(h));
  2338. g = mt(g)
  2339. }
  2340. _.apply(h, g),
  2341. E && !u && g.length > 0 && y + t.length > 1 && ut.uniqueSort(h)
  2342. }
  2343. return E && (x = N, f = S),
  2344. w
  2345. };
  2346. return s ? st(u) : u
  2347. }
  2348. function wt(e, t, n) {
  2349. var r = 0,
  2350. i = t.length;
  2351. for (; r < i; r++) ut(e, t[r], n);
  2352. return n
  2353. }
  2354. function Et(e, t, n, r) {
  2355. var s, o, a, f, l, c = ht(e);
  2356. if (!r && c.length === 1) {
  2357. o = c[0] = c[0].slice(0);
  2358. if (o.length > 2 && (a = o[0]).type === "ID" && t.nodeType === 9 && !p && i.relative[o[1].type]) {
  2359. t = i.find.ID(a.matches[0].replace(et, tt), t)[0];
  2360. if (!t) return n;
  2361. e = e.slice(o.shift().value.length)
  2362. }
  2363. s = V.needsContext.test(e) ? 0 : o.length;
  2364. while (s--) {
  2365. a = o[s];
  2366. if (i.relative[f = a.type]) break;
  2367. if (l = i.find[f])
  2368. if (r = l(a.matches[0].replace(et, tt), $.test(o[0].type) && t.parentNode || t)) {
  2369. o.splice(s, 1),
  2370. e = r.length && pt(o);
  2371. if (!e) return _.apply(n, D.call(r, 0)),
  2372. n;
  2373. break
  2374. }
  2375. }
  2376. }
  2377. return u(e, c)(r, t, p, n, $.test(e)),
  2378. n
  2379. }
  2380. function St() {}
  2381. var n, r, i, s, o, u, a, f, l, c, h, p, d, v, m, g, y, w = "sizzle" + -(new Date),
  2382. E = e.document,
  2383. S = {},
  2384. x = 0,
  2385. T = 0,
  2386. N = it(),
  2387. C = it(),
  2388. k = it(),
  2389. L = typeof t,
  2390. A = 1 << 31,
  2391. O = [],
  2392. M = O.pop,
  2393. _ = O.push,
  2394. D = O.slice,
  2395. P = O.indexOf ||
  2396. function(e) {
  2397. var t = 0,
  2398. n = this.length;
  2399. for (; t < n; t++)
  2400. if (this[t] === e) return t;
  2401. return -1
  2402. },
  2403. H = "[\\x20\\t\\r\\n\\f]",
  2404. B = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
  2405. j = B.replace("w", "w#"),
  2406. F = "([*^$|!~]?=)",
  2407. I = "\\[" + H + "*(" + B + ")" + H + "*(?:" + F + H + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + j + ")|)|)" + H + "*\\]",
  2408. q = ":(" + B + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + I.replace(3, 8) + ")*)|.*)\\)|)",
  2409. R = new RegExp("^" + H + "+|((?:^|[^\\\\])(?:\\\\.)*)" + H + "+$", "g"),
  2410. U = new RegExp("^" + H + "*," + H + "*"),
  2411. z = new RegExp("^" + H + "*([\\x20\\t\\r\\n\\f>+~])" + H + "*"),
  2412. W = new RegExp(q),
  2413. X = new RegExp("^" + j + "$"),
  2414. V = {
  2415. ID: new RegExp("^#(" + B + ")"),
  2416. CLASS: new RegExp("^\\.(" + B + ")"),
  2417. NAME: new RegExp("^\\[name=['\"]?(" + B + ")['\"]?\\]"),
  2418. TAG: new RegExp("^(" + B.replace("w", "w*") + ")"),
  2419. ATTR: new RegExp("^" + I),
  2420. PSEUDO: new RegExp("^" + q),
  2421. CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + H + "*(even|odd|(([+-]|)(\\d*)n|)" + H + "*(?:([+-]|)" + H + "*(\\d+)|))" + H + "*\\)|)", "i"),
  2422. needsContext: new RegExp("^" + H + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + H + "*((?:-\\d)?\\d*)" + H + "*\\)|)(?=[^-]|$)", "i")
  2423. },
  2424. $ = /[\x20\t\r\n\f]*[+~]/,
  2425. J = /^[^{]+\{\s*\[native code/,
  2426. K = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
  2427. Q = /^(?:input|select|textarea|button)$/i,
  2428. G = /^h\d$/i,
  2429. Y = /'|\\/g,
  2430. Z = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,
  2431. et = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,
  2432. tt = function(e, t) {
  2433. var n = "0x" + t - 65536;
  2434. return n !== n ? t : n < 0 ? String.fromCharCode(n + 65536) : String.fromCharCode(n >> 10 | 55296, n & 1023 | 56320)
  2435. };
  2436. try {
  2437. D.call(E.documentElement.childNodes, 0)[0].nodeType
  2438. } catch (nt) {
  2439. D = function(e) {
  2440. var t, n = [];
  2441. while (t = this[e++]) n.push(t);
  2442. return n
  2443. }
  2444. }
  2445. o = ut.isXML = function(e) {
  2446. var t = e && (e.ownerDocument || e).documentElement;
  2447. return t ? t.nodeName !== "HTML" : !1
  2448. },
  2449. l = ut.setDocument = function(e) {
  2450. var n = e ? e.ownerDocument || e : E;
  2451. if (n === c || n.nodeType !== 9 || !n.documentElement) return c;
  2452. c = n,
  2453. h = n.documentElement,
  2454. p = o(n),
  2455. S.tagNameNoComments = ot(function(e) {
  2456. return e.appendChild(n.createComment("")), !e.getElementsByTagName("*").length
  2457. }),
  2458. S.attributes = ot(function(e) {
  2459. e.innerHTML = "<select></select>";
  2460. var t = typeof e.lastChild.getAttribute("multiple");
  2461. return t !== "boolean" && t !== "string"
  2462. }),
  2463. S.getByClassName = ot(function(e) {
  2464. return e.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>", !e.getElementsByClassName || !e.getElementsByClassName("e").length ? !1 : (e.lastChild.className = "e", e.getElementsByClassName("e").length === 2)
  2465. }),
  2466. S.getByName = ot(function(e) {
  2467. e.id = w + 0,
  2468. e.innerHTML = "<a name='" + w + "'></a><div name='" + w + "'></div>",
  2469. h.insertBefore(e, h.firstChild);
  2470. var t = n.getElementsByName && n.getElementsByName(w).length === 2 + n.getElementsByName(w + 0).length;
  2471. return S.getIdNotName = !n.getElementById(w),
  2472. h.removeChild(e),
  2473. t
  2474. }),
  2475. i.attrHandle = ot(function(e) {
  2476. return e.innerHTML = "<a href='#'></a>",
  2477. e.firstChild && typeof e.firstChild.getAttribute !== L && e.firstChild.getAttribute("href") === "#"
  2478. }) ? {} : {
  2479. href: function(e) {
  2480. return e.getAttribute("href", 2)
  2481. },
  2482. type: function(e) {
  2483. return e.getAttribute("type")
  2484. }
  2485. },
  2486. S.getIdNotName ? (i.find.ID = function(e, t) {
  2487. if (typeof t.getElementById !== L && !p) {
  2488. var n = t.getElementById(e);
  2489. return n && n.parentNode ? [n] : []
  2490. }
  2491. },
  2492. i.filter.ID = function(e) {
  2493. var t = e.replace(et, tt);
  2494. return function(e) {
  2495. return e.getAttribute("id") === t
  2496. }
  2497. }) : (i.find.ID = function(e, n) {
  2498. if (typeof n.getElementById !== L && !p) {
  2499. var r = n.getElementById(e);
  2500. return r ? r.id === e || typeof r.getAttributeNode !== L && r.getAttributeNode("id").value === e ? [r] : t : []
  2501. }
  2502. },
  2503. i.filter.ID = function(e) {
  2504. var t = e.replace(et, tt);
  2505. return function(e) {
  2506. var n = typeof e.getAttributeNode !== L && e.getAttributeNode("id");
  2507. return n && n.value === t
  2508. }
  2509. }),
  2510. i.find.TAG = S.tagNameNoComments ?
  2511. function(e, t) {
  2512. if (typeof t.getElementsByTagName !== L) return t.getElementsByTagName(e)
  2513. } : function(e, t) {
  2514. var n, r = [],
  2515. i = 0,
  2516. s = t.getElementsByTagName(e);
  2517. if (e === "*") {
  2518. while (n = s[i++]) n.nodeType === 1 && r.push(n);
  2519. return r
  2520. }
  2521. return s
  2522. },
  2523. i.find.NAME = S.getByName &&
  2524. function(e, t) {
  2525. if (typeof t.getElementsByName !== L) return t.getElementsByName(name)
  2526. },
  2527. i.find.CLASS = S.getByClassName &&
  2528. function(e, t) {
  2529. if (typeof t.getElementsByClassName !== L && !p) return t.getElementsByClassName(e)
  2530. },
  2531. v = [],
  2532. d = [":focus"];
  2533. if (S.qsa = rt(n.querySelectorAll)) ot(function(e) {
  2534. e.innerHTML = "<select><option selected=''></option></select>",
  2535. e.querySelectorAll("[selected]").length || d.push("\\[" + H + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),
  2536. e.querySelectorAll(":checked").length || d.push(":checked")
  2537. }),
  2538. ot(function(e) {
  2539. e.innerHTML = "<input type='hidden' i=''/>",
  2540. e.querySelectorAll("[i^='']").length && d.push("[*^$]=" + H + "*(?:\"\"|'')"),
  2541. e.querySelectorAll(":enabled").length || d.push(":enabled", ":disabled"),
  2542. e.querySelectorAll("*,:x"),
  2543. d.push(",.*:")
  2544. });
  2545. return (S.matchesSelector = rt(m = h.matchesSelector || h.mozMatchesSelector || h.webkitMatchesSelector || h.oMatchesSelector || h.msMatchesSelector)) && ot(function(e) {
  2546. S.disconnectedMatch = m.call(e, "div"),
  2547. m.call(e, "[s!='']:x"),
  2548. v.push("!=", q)
  2549. }),
  2550. d = new RegExp(d.join("|")),
  2551. v = new RegExp(v.join("|")),
  2552. g = rt(h.contains) || h.compareDocumentPosition ?
  2553. function(e, t) {
  2554. var n = e.nodeType === 9 ? e.documentElement : e,
  2555. r = t && t.parentNode;
  2556. return e === r || !!r && r.nodeType === 1 && !!(n.contains ? n.contains(r) : e.compareDocumentPosition && e.compareDocumentPosition(r) & 16)
  2557. } : function(e, t) {
  2558. if (t)
  2559. while (t = t.parentNode)
  2560. if (t === e) return !0;
  2561. return !1
  2562. },
  2563. y = h.compareDocumentPosition ?
  2564. function(e, t) {
  2565. var r;
  2566. if (e === t) return a = !0,
  2567. 0;
  2568. if (r = t.compareDocumentPosition && e.compareDocumentPosition && e.compareDocumentPosition(t)) return r & 1 || e.parentNode && e.parentNode.nodeType === 11 ? e === n || g(E, e) ? -1 : t === n || g(E, t) ? 1 : 0 : r & 4 ? -1 : 1;
  2569. return e.compareDocumentPosition ? -1 : 1
  2570. } : function(e, t) {
  2571. var r, i = 0,
  2572. s = e.parentNode,
  2573. o = t.parentNode,
  2574. u = [e],
  2575. f = [t];
  2576. if (e === t) return a = !0,
  2577. 0;
  2578. if (!s || !o) return e === n ? -1 : t === n ? 1 : s ? -1 : o ? 1 : 0;
  2579. if (s === o) return at(e, t);
  2580. r = e;
  2581. while (r = r.parentNode) u.unshift(r);
  2582. r = t;
  2583. while (r = r.parentNode) f.unshift(r);
  2584. while (u[i] === f[i]) i++;
  2585. return i ? at(u[i], f[i]) : u[i] === E ? -1 : f[i] === E ? 1 : 0
  2586. },
  2587. a = !1, [0, 0].sort(y),
  2588. S.detectDuplicates = a,
  2589. c
  2590. },
  2591. ut.matches = function(e, t) {
  2592. return ut(e, null, null, t)
  2593. },
  2594. ut.matchesSelector = function(e, t) {
  2595. (e.ownerDocument || e) !== c && l(e),
  2596. t = t.replace(Z, "='$1']");
  2597. if (S.matchesSelector && !p && (!v || !v.test(t)) && !d.test(t)) try {
  2598. var n = m.call(e, t);
  2599. if (n || S.disconnectedMatch || e.document && e.document.nodeType !== 11) return n
  2600. } catch (r) {}
  2601. return ut(t, c, null, [e]).length > 0
  2602. },
  2603. ut.contains = function(e, t) {
  2604. return (e.ownerDocument || e) !== c && l(e),
  2605. g(e, t)
  2606. },
  2607. ut.attr = function(e, t) {
  2608. var n;
  2609. return (e.ownerDocument || e) !== c && l(e),
  2610. p || (t = t.toLowerCase()), (n = i.attrHandle[t]) ? n(e) : p || S.attributes ? e.getAttribute(t) : ((n = e.getAttributeNode(t)) || e.getAttribute(t)) && e[t] === !0 ? t : n && n.specified ? n.value : null
  2611. },
  2612. ut.error = function(e) {
  2613. throw new Error("Syntax error, unrecognized expression: " + e)
  2614. },
  2615. ut.uniqueSort = function(e) {
  2616. var t, n = [],
  2617. r = 1,
  2618. i = 0;
  2619. a = !S.detectDuplicates,
  2620. e.sort(y);
  2621. if (a) {
  2622. for (; t = e[r]; r++) t === e[r - 1] && (i = n.push(r));
  2623. while (i--) e.splice(n[i], 1)
  2624. }
  2625. return e
  2626. },
  2627. s = ut.getText = function(e) {
  2628. var t, n = "",
  2629. r = 0,
  2630. i = e.nodeType;
  2631. if (!i)
  2632. for (; t = e[r]; r++) n += s(t);
  2633. else if (i === 1 || i === 9 || i === 11) {
  2634. if (typeof e.textContent == "string") return e.textContent;
  2635. for (e = e.firstChild; e; e = e.nextSibling) n += s(e)
  2636. } else if (i === 3 || i === 4) return e.nodeValue;
  2637. return n
  2638. },
  2639. i = ut.selectors = {
  2640. cacheLength: 50,
  2641. createPseudo: st,
  2642. match: V,
  2643. find: {},
  2644. relative: {
  2645. ">": {
  2646. dir: "parentNode",
  2647. first: !0
  2648. },
  2649. " ": {
  2650. dir: "parentNode"
  2651. },
  2652. "+": {
  2653. dir: "previousSibling",
  2654. first: !0
  2655. },
  2656. "~": {
  2657. dir: "previousSibling"
  2658. }
  2659. },
  2660. preFilter: {
  2661. ATTR: function(e) {
  2662. return e[1] = e[1].replace(et, tt),
  2663. e[3] = (e[4] || e[5] || "").replace(et, tt),
  2664. e[2] === "~=" && (e[3] = " " + e[3] + " "),
  2665. e.slice(0, 4)
  2666. },
  2667. CHILD: function(e) {
  2668. return e[1] = e[1].toLowerCase(),
  2669. e[1].slice(0, 3) === "nth" ? (e[3] || ut.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * (e[3] === "even" || e[3] === "odd")), e[5] = +(e[7] + e[8] || e[3] === "odd")) : e[3] && ut.error(e[0]),
  2670. e
  2671. },
  2672. PSEUDO: function(e) {
  2673. var t, n = !e[5] && e[2];
  2674. return V.CHILD.test(e[0]) ? null : (e[4] ? e[2] = e[4] : n && W.test(n) && (t = ht(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3))
  2675. }
  2676. },
  2677. filter: {
  2678. TAG: function(e) {
  2679. return e === "*" ?
  2680. function() {
  2681. return !0
  2682. } : (e = e.replace(et, tt).toLowerCase(),
  2683. function(t) {
  2684. return t.nodeName && t.nodeName.toLowerCase() === e
  2685. })
  2686. },
  2687. CLASS: function(e) {
  2688. var t = N[e + " "];
  2689. return t || (t = new RegExp("(^|" + H + ")" + e + "(" + H + "|$)")) && N(e,
  2690. function(e) {
  2691. return t.test(e.className || typeof e.getAttribute !== L && e.getAttribute("class") || "")
  2692. })
  2693. },
  2694. ATTR: function(e, t, n) {
  2695. return function(r) {
  2696. var i = ut.attr(r, e);
  2697. return i == null ? t === "!=" : t ? (i += "", t === "=" ? i === n : t === "!=" ? i !== n : t === "^=" ? n && i.indexOf(n) === 0 : t === "*=" ? n && i.indexOf(n) > -1 : t === "$=" ? n && i.slice(-n.length) === n : t === "~=" ? (" " + i + " ").indexOf(n) > -1 : t === "|=" ? i === n || i.slice(0, n.length + 1) === n + "-" : !1) : !0
  2698. }
  2699. },
  2700. CHILD: function(e, t, n, r, i) {
  2701. var s = e.slice(0, 3) !== "nth",
  2702. o = e.slice(-4) !== "last",
  2703. u = t === "of-type";
  2704. return r === 1 && i === 0 ?
  2705. function(e) {
  2706. return !!e.parentNode
  2707. } : function(t, n, a) {
  2708. var f, l, c, h, p, d, v = s !== o ? "nextSibling" : "previousSibling",
  2709. m = t.parentNode,
  2710. g = u && t.nodeName.toLowerCase(),
  2711. y = !a && !u;
  2712. if (m) {
  2713. if (s) {
  2714. while (v) {
  2715. c = t;
  2716. while (c = c[v])
  2717. if (u ? c.nodeName.toLowerCase() === g : c.nodeType === 1) return !1;
  2718. d = v = e === "only" && !d && "nextSibling"
  2719. }
  2720. return !0
  2721. }
  2722. d = [o ? m.firstChild : m.lastChild];
  2723. if (o && y) {
  2724. l = m[w] || (m[w] = {}),
  2725. f = l[e] || [],
  2726. p = f[0] === x && f[1],
  2727. h = f[0] === x && f[2],
  2728. c = p && m.childNodes[p];
  2729. while (c = ++p && c && c[v] || (h = p = 0) || d.pop())
  2730. if (c.nodeType === 1 && ++h && c === t) {
  2731. l[e] = [x, p, h];
  2732. break
  2733. }
  2734. } else if (y && (f = (t[w] || (t[w] = {}))[e]) && f[0] === x) h = f[1];
  2735. else
  2736. while (c = ++p && c && c[v] || (h = p = 0) || d.pop())
  2737. if ((u ? c.nodeName.toLowerCase() === g : c.nodeType === 1) && ++h) {
  2738. y && ((c[w] || (c[w] = {}))[e] = [x, h]);
  2739. if (c === t) break
  2740. }
  2741. return h -= i,
  2742. h === r || h % r === 0 && h / r >= 0
  2743. }
  2744. }
  2745. },
  2746. PSEUDO: function(e, t) {
  2747. var n, r = i.pseudos[e] || i.setFilters[e.toLowerCase()] || ut.error("unsupported pseudo: " + e);
  2748. return r[w] ? r(t) : r.length > 1 ? (n = [e, e, "", t], i.setFilters.hasOwnProperty(e.toLowerCase()) ? st(function(e, n) {
  2749. var i, s = r(e, t),
  2750. o = s.length;
  2751. while (o--) i = P.call(e, s[o]),
  2752. e[i] = !(n[i] = s[o])
  2753. }) : function(e) {
  2754. return r(e, 0, n)
  2755. }) : r
  2756. }
  2757. },
  2758. pseudos: {
  2759. not: st(function(e) {
  2760. var t = [],
  2761. n = [],
  2762. r = u(e.replace(R, "$1"));
  2763. return r[w] ? st(function(e, t, n, i) {
  2764. var s, o = r(e, null, i, []),
  2765. u = e.length;
  2766. while (u--)
  2767. if (s = o[u]) e[u] = !(t[u] = s)
  2768. }) : function(e, i, s) {
  2769. return t[0] = e,
  2770. r(t, null, s, n), !n.pop()
  2771. }
  2772. }),
  2773. has: st(function(e) {
  2774. return function(t) {
  2775. return ut(e, t).length > 0
  2776. }
  2777. }),
  2778. contains: st(function(e) {
  2779. return function(t) {
  2780. return (t.textContent || t.innerText || s(t)).indexOf(e) > -1
  2781. }
  2782. }),
  2783. lang: st(function(e) {
  2784. return X.test(e || "") || ut.error("unsupported lang: " + e),
  2785. e = e.replace(et, tt).toLowerCase(),
  2786. function(t) {
  2787. var n;
  2788. do
  2789. if (n = p ? t.getAttribute("xml:lang") || t.getAttribute("lang") : t.lang) return n = n.toLowerCase(),
  2790. n === e || n.indexOf(e + "-") === 0;
  2791. while ((t = t.parentNode) && t.nodeType === 1);
  2792. return !1
  2793. }
  2794. }),
  2795. target: function(t) {
  2796. var n = e.location && e.location.hash;
  2797. return n && n.slice(1) === t.id
  2798. },
  2799. root: function(e) {
  2800. return e === h
  2801. },
  2802. focus: function(e) {
  2803. return e === c.activeElement && (!c.hasFocus || c.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
  2804. },
  2805. enabled: function(e) {
  2806. return e.disabled === !1
  2807. },
  2808. disabled: function(e) {
  2809. return e.disabled === !0
  2810. },
  2811. checked: function(e) {
  2812. var t = e.nodeName.toLowerCase();
  2813. return t === "input" && !!e.checked || t === "option" && !!e.selected
  2814. },
  2815. selected: function(e) {
  2816. return e.parentNode && e.parentNode.selectedIndex,
  2817. e.selected === !0
  2818. },
  2819. empty: function(e) {
  2820. for (e = e.firstChild; e; e = e.nextSibling)
  2821. if (e.nodeName > "@" || e.nodeType === 3 || e.nodeType === 4) return !1;
  2822. return !0
  2823. },
  2824. parent: function(e) {
  2825. return !i.pseudos.empty(e)
  2826. },
  2827. header: function(e) {
  2828. return G.test(e.nodeName)
  2829. },
  2830. input: function(e) {
  2831. return Q.test(e.nodeName)
  2832. },
  2833. button: function(e) {
  2834. var t = e.nodeName.toLowerCase();
  2835. return t === "input" && e.type === "button" || t === "button"
  2836. },
  2837. text: function(e) {
  2838. var t;
  2839. return e.nodeName.toLowerCase() === "input" && e.type === "text" && ((t = e.getAttribute("type")) == null || t.toLowerCase() === e.type)
  2840. },
  2841. first: ct(function() {
  2842. return [0]
  2843. }),
  2844. last: ct(function(e, t) {
  2845. return [t - 1]
  2846. }),
  2847. eq: ct(function(e, t, n) {
  2848. return [n < 0 ? n + t : n]
  2849. }),
  2850. even: ct(function(e, t) {
  2851. var n = 0;
  2852. for (; n < t; n += 2) e.push(n);
  2853. return e
  2854. }),
  2855. odd: ct(function(e, t) {
  2856. var n = 1;
  2857. for (; n < t; n += 2) e.push(n);
  2858. return e
  2859. }),
  2860. lt: ct(function(e, t, n) {
  2861. var r = n < 0 ? n + t : n;
  2862. for (; --r >= 0;) e.push(r);
  2863. return e
  2864. }),
  2865. gt: ct(function(e, t, n) {
  2866. var r = n < 0 ? n + t : n;
  2867. for (; ++r < t;) e.push(r);
  2868. return e
  2869. })
  2870. }
  2871. };
  2872. for (n in {
  2873. radio: !0,
  2874. checkbox: !0,
  2875. file: !0,
  2876. password: !0,
  2877. image: !0
  2878. }) i.pseudos[n] = ft(n);
  2879. for (n in {
  2880. submit: !0,
  2881. reset: !0
  2882. }) i.pseudos[n] = lt(n);
  2883. u = ut.compile = function(e, t) {
  2884. var n, r = [],
  2885. i = [],
  2886. s = k[e + " "];
  2887. if (!s) {
  2888. t || (t = ht(e)),
  2889. n = t.length;
  2890. while (n--) s = yt(t[n]),
  2891. s[w] ? r.push(s) : i.push(s);
  2892. s = k(e, bt(i, r))
  2893. }
  2894. return s
  2895. },
  2896. i.pseudos.nth = i.pseudos.eq,
  2897. i.filters = St.prototype = i.pseudos,
  2898. i.setFilters = new St,
  2899. l(),
  2900. ut.attr = b.attr,
  2901. b.find = ut,
  2902. b.expr = ut.selectors,
  2903. b.expr[":"] = b.expr.pseudos,
  2904. b.unique = ut.uniqueSort,
  2905. b.text = ut.getText,
  2906. b.isXMLDoc = ut.isXML,
  2907. b.contains = ut.contains
  2908. }(e);
  2909. var ot = /Until$/,
  2910. ut = /^(?:parents|prev(?:Until|All))/,
  2911. at = /^.[^:#\[\.,]*$/,
  2912. ft = b.expr.match.needsContext,
  2913. lt = {
  2914. children: !0,
  2915. contents: !0,
  2916. next: !0,
  2917. prev: !0
  2918. };
  2919. b.fn.extend({
  2920. find: function(e) {
  2921. var t, n, r, i = this.length;
  2922. if (typeof e != "string") return r = this,
  2923. this.pushStack(b(e).filter(function() {
  2924. for (t = 0; t < i; t++)
  2925. if (b.contains(r[t], this)) return !0
  2926. }));
  2927. n = [];
  2928. for (t = 0; t < i; t++) b.find(e, this[t], n);
  2929. return n = this.pushStack(i > 1 ? b.unique(n) : n),
  2930. n.selector = (this.selector ? this.selector + " " : "") + e,
  2931. n
  2932. },
  2933. has: function(e) {
  2934. var t, n = b(e, this),
  2935. r = n.length;
  2936. return this.filter(function() {
  2937. for (t = 0; t < r; t++)
  2938. if (b.contains(this, n[t])) return !0
  2939. })
  2940. },
  2941. not: function(e) {
  2942. return this.pushStack(ht(this, e, !1))
  2943. },
  2944. filter: function(e) {
  2945. return this.pushStack(ht(this, e, !0))
  2946. },
  2947. is: function(e) {
  2948. return !!e && (typeof e == "string" ? ft.test(e) ? b(e, this.context).index(this[0]) >= 0 : b.filter(e, this).length > 0 : this.filter(e).length > 0)
  2949. },
  2950. closest: function(e, t) {
  2951. var n, r = 0,
  2952. i = this.length,
  2953. s = [],
  2954. o = ft.test(e) || typeof e != "string" ? b(e, t || this.context) : 0;
  2955. for (; r < i; r++) {
  2956. n = this[r];
  2957. while (n && n.ownerDocument && n !== t && n.nodeType !== 11) {
  2958. if (o ? o.index(n) > -1 : b.find.matchesSelector(n, e)) {
  2959. s.push(n);
  2960. break
  2961. }
  2962. n = n.parentNode
  2963. }
  2964. }
  2965. return this.pushStack(s.length > 1 ? b.unique(s) : s)
  2966. },
  2967. index: function(e) {
  2968. return e ? typeof e == "string" ? b.inArray(this[0], b(e)) : b.inArray(e.jquery ? e[0] : e, this) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
  2969. },
  2970. add: function(e, t) {
  2971. var n = typeof e == "string" ? b(e, t) : b.makeArray(e && e.nodeType ? [e] : e),
  2972. r = b.merge(this.get(), n);
  2973. return this.pushStack(b.unique(r))
  2974. },
  2975. addBack: function(e) {
  2976. return this.add(e == null ? this.prevObject : this.prevObject.filter(e))
  2977. }
  2978. }),
  2979. b.fn.andSelf = b.fn.addBack,
  2980. b.each({
  2981. parent: function(e) {
  2982. var t = e.parentNode;
  2983. return t && t.nodeType !== 11 ? t : null
  2984. },
  2985. parents: function(e) {
  2986. return b.dir(e, "parentNode")
  2987. },
  2988. parentsUntil: function(e, t, n) {
  2989. return b.dir(e, "parentNode", n)
  2990. },
  2991. next: function(e) {
  2992. return ct(e, "nextSibling")
  2993. },
  2994. prev: function(e) {
  2995. return ct(e, "previousSibling")
  2996. },
  2997. nextAll: function(e) {
  2998. return b.dir(e, "nextSibling")
  2999. },
  3000. prevAll: function(e) {
  3001. return b.dir(e, "previousSibling")
  3002. },
  3003. nextUntil: function(e, t, n) {
  3004. return b.dir(e, "nextSibling", n)
  3005. },
  3006. prevUntil: function(e, t, n) {
  3007. return b.dir(e, "previousSibling", n)
  3008. },
  3009. siblings: function(e) {
  3010. return b.sibling((e.parentNode || {}).firstChild, e)
  3011. },
  3012. children: function(e) {
  3013. return b.sibling(e.firstChild)
  3014. },
  3015. contents: function(e) {
  3016. return b.nodeName(e, "iframe") ? e.contentDocument || e.contentWindow.document : b.merge([], e.childNodes)
  3017. }
  3018. },
  3019. function(e, t) {
  3020. b.fn[e] = function(n, r) {
  3021. var i = b.map(this, t, n);
  3022. return ot.test(e) || (r = n),
  3023. r && typeof r == "string" && (i = b.filter(r, i)),
  3024. i = this.length > 1 && !lt[e] ? b.unique(i) : i,
  3025. this.length > 1 && ut.test(e) && (i = i.reverse()),
  3026. this.pushStack(i)
  3027. }
  3028. }),
  3029. b.extend({
  3030. filter: function(e, t, n) {
  3031. return n && (e = ":not(" + e + ")"),
  3032. t.length === 1 ? b.find.matchesSelector(t[0], e) ? [t[0]] : [] : b.find.matches(e, t)
  3033. },
  3034. dir: function(e, n, r) {
  3035. var i = [],
  3036. s = e[n];
  3037. while (s && s.nodeType !== 9 && (r === t || s.nodeType !== 1 || !b(s).is(r))) s.nodeType === 1 && i.push(s),
  3038. s = s[n];
  3039. return i
  3040. },
  3041. sibling: function(e, t) {
  3042. var n = [];
  3043. for (; e; e = e.nextSibling) e.nodeType === 1 && e !== t && n.push(e);
  3044. return n
  3045. }
  3046. });
  3047. var dt = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
  3048. vt = / jQuery\d+="(?:null|\d+)"/g,
  3049. mt = new RegExp("<(?:" + dt + ")[\\s/>]", "i"),
  3050. gt = /^\s+/,
  3051. yt = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
  3052. bt = /<([\w:]+)/,
  3053. wt = /<tbody/i,
  3054. Et = /<|&#?\w+;/,
  3055. St = /<(?:script|style|link)/i,
  3056. xt = /^(?:checkbox|radio)$/i,
  3057. Tt = /checked\s*(?:[^=]|=\s*.checked.)/i,
  3058. Nt = /^$|\/(?:java|ecma)script/i,
  3059. Ct = /^true\/(.*)/,
  3060. kt = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
  3061. Lt = {
  3062. option: [1, "<select multiple='multiple'>", "</select>"],
  3063. legend: [1, "<fieldset>", "</fieldset>"],
  3064. area: [1, "<map>", "</map>"],
  3065. param: [1, "<object>", "</object>"],
  3066. thead: [1, "<table>", "</table>"],
  3067. tr: [2, "<table><tbody>", "</tbody></table>"],
  3068. col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
  3069. td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
  3070. _default: b.support.htmlSerialize ? [0, "", ""] : [1, "X<div>", "</div>"]
  3071. },
  3072. At = pt(s),
  3073. Ot = At.appendChild(s.createElement("div"));
  3074. Lt.optgroup = Lt.option,
  3075. Lt.tbody = Lt.tfoot = Lt.colgroup = Lt.caption = Lt.thead,
  3076. Lt.th = Lt.td,
  3077. b.fn.extend({
  3078. text: function(e) {
  3079. return b.access(this,
  3080. function(e) {
  3081. return e === t ? b.text(this) : this.empty().append((this[0] && this[0].ownerDocument || s).createTextNode(e))
  3082. },
  3083. null, e, arguments.length)
  3084. },
  3085. wrapAll: function(e) {
  3086. if (b.isFunction(e)) return this.each(function(t) {
  3087. b(this).wrapAll(e.call(this, t))
  3088. });
  3089. if (this[0]) {
  3090. var t = b(e, this[0].ownerDocument).eq(0).clone(!0);
  3091. this[0].parentNode && t.insertBefore(this[0]),
  3092. t.map(function() {
  3093. var e = this;
  3094. while (e.firstChild && e.firstChild.nodeType === 1) e = e.firstChild;
  3095. return e
  3096. }).append(this)
  3097. }
  3098. return this
  3099. },
  3100. wrapInner: function(e) {
  3101. return b.isFunction(e) ? this.each(function(t) {
  3102. b(this).wrapInner(e.call(this, t))
  3103. }) : this.each(function() {
  3104. var t = b(this),
  3105. n = t.contents();
  3106. n.length ? n.wrapAll(e) : t.append(e)
  3107. })
  3108. },
  3109. wrap: function(e) {
  3110. var t = b.isFunction(e);
  3111. return this.each(function(n) {
  3112. b(this).wrapAll(t ? e.call(this, n) : e)
  3113. })
  3114. },
  3115. unwrap: function() {
  3116. return this.parent().each(function() {
  3117. b.nodeName(this, "body") || b(this).replaceWith(this.childNodes)
  3118. }).end()
  3119. },
  3120. append: function() {
  3121. return this.domManip(arguments, !0,
  3122. function(e) {
  3123. (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) && this.appendChild(e)
  3124. })
  3125. },
  3126. prepend: function() {
  3127. return this.domManip(arguments, !0,
  3128. function(e) {
  3129. (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) && this.insertBefore(e, this.firstChild)
  3130. })
  3131. },
  3132. before: function() {
  3133. return this.domManip(arguments, !1,
  3134. function(e) {
  3135. this.parentNode && this.parentNode.insertBefore(e, this)
  3136. })
  3137. },
  3138. after: function() {
  3139. return this.domManip(arguments, !1,
  3140. function(e) {
  3141. this.parentNode && this.parentNode.insertBefore(e, this.nextSibling)
  3142. })
  3143. },
  3144. remove: function(e, t) {
  3145. var n, r = 0;
  3146. for (;
  3147. (n = this[r]) != null; r++)
  3148. if (!e || b.filter(e, [n]).length > 0)!t && n.nodeType === 1 && b.cleanData(jt(n)),
  3149. n.parentNode && (t && b.contains(n.ownerDocument, n) && Pt(jt(n, "script")), n.parentNode.removeChild(n));
  3150. return this
  3151. },
  3152. empty: function() {
  3153. var e, t = 0;
  3154. for (;
  3155. (e = this[t]) != null; t++) {
  3156. e.nodeType === 1 && b.cleanData(jt(e, !1));
  3157. while (e.firstChild) e.removeChild(e.firstChild);
  3158. e.options && b.nodeName(e, "select") && (e.options.length = 0)
  3159. }
  3160. return this
  3161. },
  3162. clone: function(e, t) {
  3163. return e = e == null ? !1 : e,
  3164. t = t == null ? e : t,
  3165. this.map(function() {
  3166. return b.clone(this, e, t)
  3167. })
  3168. },
  3169. html: function(e) {
  3170. return b.access(this,
  3171. function(e) {
  3172. var n = this[0] || {},
  3173. r = 0,
  3174. i = this.length;
  3175. if (e === t) return n.nodeType === 1 ? n.innerHTML.replace(vt, "") : t;
  3176. if (typeof e == "string" && !St.test(e) && (b.support.htmlSerialize || !mt.test(e)) && (b.support.leadingWhitespace || !gt.test(e)) && !Lt[(bt.exec(e) || ["", ""])[1].toLowerCase()]) {
  3177. e = e.replace(yt, "<$1></$2>");
  3178. try {
  3179. for (; r < i; r++) n = this[r] || {},
  3180. n.nodeType === 1 && (b.cleanData(jt(n, !1)), n.innerHTML = e);
  3181. n = 0
  3182. } catch (s) {}
  3183. }
  3184. n && this.empty().append(e)
  3185. },
  3186. null, e, arguments.length)
  3187. },
  3188. replaceWith: function(e) {
  3189. var t = b.isFunction(e);
  3190. return !t && typeof e != "string" && (e = b(e).not(this).detach()),
  3191. this.domManip([e], !0,
  3192. function(e) {
  3193. var t = this.nextSibling,
  3194. n = this.parentNode;
  3195. n && (b(this).remove(), n.insertBefore(e, t))
  3196. })
  3197. },
  3198. detach: function(e) {
  3199. return this.remove(e, !0)
  3200. },
  3201. domManip: function(e, n, r) {
  3202. e = h.apply([], e);
  3203. var i, s, o, u, a, f, l = 0,
  3204. c = this.length,
  3205. p = this,
  3206. d = c - 1,
  3207. v = e[0],
  3208. m = b.isFunction(v);
  3209. if (m || !(c <= 1 || typeof v != "string" || b.support.checkClone || !Tt.test(v))) return this.each(function(i) {
  3210. var s = p.eq(i);
  3211. m && (e[0] = v.call(this, i, n ? s.html() : t)),
  3212. s.domManip(e, n, r)
  3213. });
  3214. if (c) {
  3215. f = b.buildFragment(e, this[0].ownerDocument, !1, this),
  3216. i = f.firstChild,
  3217. f.childNodes.length === 1 && (f = i);
  3218. if (i) {
  3219. n = n && b.nodeName(i, "tr"),
  3220. u = b.map(jt(f, "script"), _t),
  3221. o = u.length;
  3222. for (; l < c; l++) s = f,
  3223. l !== d && (s = b.clone(s, !0, !0), o && b.merge(u, jt(s, "script"))),
  3224. r.call(n && b.nodeName(this[l], "table") ? Mt(this[l], "tbody") : this[l], s, l);
  3225. if (o) {
  3226. a = u[u.length - 1].ownerDocument,
  3227. b.map(u, Dt);
  3228. for (l = 0; l < o; l++) s = u[l],
  3229. Nt.test(s.type || "") && !b._data(s, "globalEval") && b.contains(a, s) && (s.src ? b.ajax({
  3230. url: s.src,
  3231. type: "GET",
  3232. dataType: "script",
  3233. async: !1,
  3234. global: !1,
  3235. "throws": !0
  3236. }) : b.globalEval((s.text || s.textContent || s.innerHTML || "").replace(kt, "")))
  3237. }
  3238. f = i = null
  3239. }
  3240. }
  3241. return this
  3242. }
  3243. }),
  3244. b.each({
  3245. appendTo: "append",
  3246. prependTo: "prepend",
  3247. insertBefore: "before",
  3248. insertAfter: "after",
  3249. replaceAll: "replaceWith"
  3250. },
  3251. function(e, t) {
  3252. b.fn[e] = function(e) {
  3253. var n, r = 0,
  3254. i = [],
  3255. s = b(e),
  3256. o = s.length - 1;
  3257. for (; r <= o; r++) n = r === o ? this : this.clone(!0),
  3258. b(s[r])[t](n),
  3259. p.apply(i, n.get());
  3260. return this.pushStack(i)
  3261. }
  3262. }),
  3263. b.extend({
  3264. clone: function(e, t, n) {
  3265. var r, i, s, o, u, a = b.contains(e.ownerDocument, e);
  3266. b.support.html5Clone || b.isXMLDoc(e) || !mt.test("<" + e.nodeName + ">") ? s = e.cloneNode(!0) : (Ot.innerHTML = e.outerHTML, Ot.removeChild(s = Ot.firstChild));
  3267. if ((!b.support.noCloneEvent || !b.support.noCloneChecked) && (e.nodeType === 1 || e.nodeType === 11) && !b.isXMLDoc(e)) {
  3268. r = jt(s),
  3269. u = jt(e);
  3270. for (o = 0;
  3271. (i = u[o]) != null; ++o) r[o] && Bt(i, r[o])
  3272. }
  3273. if (t)
  3274. if (n) {
  3275. u = u || jt(e),
  3276. r = r || jt(s);
  3277. for (o = 0;
  3278. (i = u[o]) != null; o++) Ht(i, r[o])
  3279. } else Ht(e, s);
  3280. return r = jt(s, "script"),
  3281. r.length > 0 && Pt(r, !a && jt(e, "script")),
  3282. r = u = i = null,
  3283. s
  3284. },
  3285. buildFragment: function(e, t, n, r) {
  3286. var i, s, o, u, a, f, l, c = e.length,
  3287. h = pt(t),
  3288. p = [],
  3289. d = 0;
  3290. for (; d < c; d++) {
  3291. s = e[d];
  3292. if (s || s === 0)
  3293. if (b.type(s) === "object") b.merge(p, s.nodeType ? [s] : s);
  3294. else if (!Et.test(s)) p.push(t.createTextNode(s));
  3295. else {
  3296. u = u || h.appendChild(t.createElement("div")),
  3297. a = (bt.exec(s) || ["", ""])[1].toLowerCase(),
  3298. l = Lt[a] || Lt._default,
  3299. u.innerHTML = l[1] + s.replace(yt, "<$1></$2>") + l[2],
  3300. i = l[0];
  3301. while (i--) u = u.lastChild;
  3302. !b.support.leadingWhitespace && gt.test(s) && p.push(t.createTextNode(gt.exec(s)[0]));
  3303. if (!b.support.tbody) {
  3304. s = a === "table" && !wt.test(s) ? u.firstChild : l[1] === "<table>" && !wt.test(s) ? u : 0,
  3305. i = s && s.childNodes.length;
  3306. while (i--) b.nodeName(f = s.childNodes[i], "tbody") && !f.childNodes.length && s.removeChild(f)
  3307. }
  3308. b.merge(p, u.childNodes),
  3309. u.textContent = "";
  3310. while (u.firstChild) u.removeChild(u.firstChild);
  3311. u = h.lastChild
  3312. }
  3313. }
  3314. u && h.removeChild(u),
  3315. b.support.appendChecked || b.grep(jt(p, "input"), Ft),
  3316. d = 0;
  3317. while (s = p[d++]) {
  3318. if (r && b.inArray(s, r) !== -1) continue;
  3319. o = b.contains(s.ownerDocument, s),
  3320. u = jt(h.appendChild(s), "script"),
  3321. o && Pt(u);
  3322. if (n) {
  3323. i = 0;
  3324. while (s = u[i++]) Nt.test(s.type || "") && n.push(s)
  3325. }
  3326. }
  3327. return u = null,
  3328. h
  3329. },
  3330. cleanData: function(e, t) {
  3331. var n, r, s, o, u = 0,
  3332. a = b.expando,
  3333. f = b.cache,
  3334. c = b.support.deleteExpando,
  3335. h = b.event.special;
  3336. for (;
  3337. (n = e[u]) != null; u++)
  3338. if (t || b.acceptData(n)) {
  3339. s = n[a],
  3340. o = s && f[s];
  3341. if (o) {
  3342. if (o.events)
  3343. for (r in o.events) h[r] ? b.event.remove(n, r) : b.removeEvent(n, r, o.handle);
  3344. f[s] && (delete f[s], c ? delete n[a] : typeof n.removeAttribute !== i ? n.removeAttribute(a) : n[a] = null, l.push(s))
  3345. }
  3346. }
  3347. }
  3348. });
  3349. var It, qt, Rt, Ut = /alpha\([^)]*\)/i,
  3350. zt = /opacity\s*=\s*([^)]*)/,
  3351. Wt = /^(top|right|bottom|left)$/,
  3352. Xt = /^(none|table(?!-c[ea]).+)/,
  3353. Vt = /^margin/,
  3354. $t = new RegExp("^(" + w + ")(.*)$", "i"),
  3355. Jt = new RegExp("^(" + w + ")(?!px)[a-z%]+$", "i"),
  3356. Kt = new RegExp("^([+-])=(" + w + ")", "i"),
  3357. Qt = {
  3358. BODY: "block"
  3359. },
  3360. Gt = {
  3361. position: "absolute",
  3362. visibility: "hidden",
  3363. display: "block"
  3364. },
  3365. Yt = {
  3366. letterSpacing: 0,
  3367. fontWeight: 400
  3368. },
  3369. Zt = ["Top", "Right", "Bottom", "Left"],
  3370. en = ["Webkit", "O", "Moz", "ms"];
  3371. b.fn.extend({
  3372. css: function(e, n) {
  3373. return b.access(this,
  3374. function(e, n, r) {
  3375. var i, s, o = {},
  3376. u = 0;
  3377. if (b.isArray(n)) {
  3378. s = qt(e),
  3379. i = n.length;
  3380. for (; u < i; u++) o[n[u]] = b.css(e, n[u], !1, s);
  3381. return o
  3382. }
  3383. return r !== t ? b.style(e, n, r) : b.css(e, n)
  3384. },
  3385. e, n, arguments.length > 1)
  3386. },
  3387. show: function() {
  3388. return rn(this, !0)
  3389. },
  3390. hide: function() {
  3391. return rn(this)
  3392. },
  3393. toggle: function(e) {
  3394. var t = typeof e == "boolean";
  3395. return this.each(function() {
  3396. (t ? e : nn(this)) ? b(this).show(): b(this).hide()
  3397. })
  3398. }
  3399. }),
  3400. b.extend({
  3401. cssHooks: {
  3402. opacity: {
  3403. get: function(e, t) {
  3404. if (t) {
  3405. var n = Rt(e, "opacity");
  3406. return n === "" ? "1" : n
  3407. }
  3408. }
  3409. }
  3410. },
  3411. cssNumber: {
  3412. columnCount: !0,
  3413. fillOpacity: !0,
  3414. fontWeight: !0,
  3415. lineHeight: !0,
  3416. opacity: !0,
  3417. orphans: !0,
  3418. widows: !0,
  3419. zIndex: !0,
  3420. zoom: !0
  3421. },
  3422. cssProps: {
  3423. "float": b.support.cssFloat ? "cssFloat" : "styleFloat"
  3424. },
  3425. style: function(e, n, r, i) {
  3426. if (!e || e.nodeType === 3 || e.nodeType === 8 || !e.style) return;
  3427. var s, o, u, a = b.camelCase(n),
  3428. f = e.style;
  3429. n = b.cssProps[a] || (b.cssProps[a] = tn(f, a)),
  3430. u = b.cssHooks[n] || b.cssHooks[a];
  3431. if (r === t) return u && "get" in u && (s = u.get(e, !1, i)) !== t ? s : f[n];
  3432. o = typeof r,
  3433. o === "string" && (s = Kt.exec(r)) && (r = (s[1] + 1) * s[2] + parseFloat(b.css(e, n)), o = "number");
  3434. if (r == null || o === "number" && isNaN(r)) return;
  3435. o === "number" && !b.cssNumber[a] && (r += "px"), !b.support.clearCloneStyle && r === "" && n.indexOf("background") === 0 && (f[n] = "inherit");
  3436. if (!u || !("set" in u) || (r = u.set(e, r, i)) !== t) try {
  3437. f[n] = r
  3438. } catch (l) {}
  3439. },
  3440. css: function(e, n, r, i) {
  3441. var s, o, u, a = b.camelCase(n);
  3442. return n = b.cssProps[a] || (b.cssProps[a] = tn(e.style, a)),
  3443. u = b.cssHooks[n] || b.cssHooks[a],
  3444. u && "get" in u && (o = u.get(e, !0, r)),
  3445. o === t && (o = Rt(e, n, i)),
  3446. o === "normal" && n in Yt && (o = Yt[n]),
  3447. r === "" || r ? (s = parseFloat(o), r === !0 || b.isNumeric(s) ? s || 0 : o) : o
  3448. },
  3449. swap: function(e, t, n, r) {
  3450. var i, s, o = {};
  3451. for (s in t) o[s] = e.style[s],
  3452. e.style[s] = t[s];
  3453. i = n.apply(e, r || []);
  3454. for (s in t) e.style[s] = o[s];
  3455. return i
  3456. }
  3457. }),
  3458. e.getComputedStyle ? (qt = function(t) {
  3459. return e.getComputedStyle(t, null)
  3460. },
  3461. Rt = function(e, n, r) {
  3462. var i, s, o, u = r || qt(e),
  3463. a = u ? u.getPropertyValue(n) || u[n] : t,
  3464. f = e.style;
  3465. return u && (a === "" && !b.contains(e.ownerDocument, e) && (a = b.style(e, n)), Jt.test(a) && Vt.test(n) && (i = f.width, s = f.minWidth, o = f.maxWidth, f.minWidth = f.maxWidth = f.width = a, a = u.width, f.width = i, f.minWidth = s, f.maxWidth = o)),
  3466. a
  3467. }) : s.documentElement.currentStyle && (qt = function(e) {
  3468. return e.currentStyle
  3469. },
  3470. Rt = function(e, n, r) {
  3471. var i, s, o, u = r || qt(e),
  3472. a = u ? u[n] : t,
  3473. f = e.style;
  3474. return a == null && f && f[n] && (a = f[n]),
  3475. Jt.test(a) && !Wt.test(n) && (i = f.left, s = e.runtimeStyle, o = s && s.left, o && (s.left = e.currentStyle.left), f.left = n === "fontSize" ? "1em" : a, a = f.pixelLeft + "px", f.left = i, o && (s.left = o)),
  3476. a === "" ? "auto" : a
  3477. }),
  3478. b.each(["height", "width"],
  3479. function(e, t) {
  3480. b.cssHooks[t] = {
  3481. get: function(e, n, r) {
  3482. if (n) return e.offsetWidth === 0 && Xt.test(b.css(e, "display")) ? b.swap(e, Gt,
  3483. function() {
  3484. return un(e, t, r)
  3485. }) : un(e, t, r)
  3486. },
  3487. set: function(e, n, r) {
  3488. var i = r && qt(e);
  3489. return sn(e, n, r ? on(e, t, r, b.support.boxSizing && b.css(e, "boxSizing", !1, i) === "border-box", i) : 0)
  3490. }
  3491. }
  3492. }),
  3493. b.support.opacity || (b.cssHooks.opacity = {
  3494. get: function(e, t) {
  3495. return zt.test((t && e.currentStyle ? e.currentStyle.filter : e.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "" : t ? "1" : ""
  3496. },
  3497. set: function(e, t) {
  3498. var n = e.style,
  3499. r = e.currentStyle,
  3500. i = b.isNumeric(t) ? "alpha(opacity=" + t * 100 + ")" : "",
  3501. s = r && r.filter || n.filter || "";
  3502. n.zoom = 1;
  3503. if ((t >= 1 || t === "") && b.trim(s.replace(Ut, "")) === "" && n.removeAttribute) {
  3504. n.removeAttribute("filter");
  3505. if (t === "" || r && !r.filter) return
  3506. }
  3507. n.filter = Ut.test(s) ? s.replace(Ut, i) : s + " " + i
  3508. }
  3509. }),
  3510. b(function() {
  3511. b.support.reliableMarginRight || (b.cssHooks.marginRight = {
  3512. get: function(e, t) {
  3513. if (t) return b.swap(e, {
  3514. display: "inline-block"
  3515. },
  3516. Rt, [e, "marginRight"])
  3517. }
  3518. }), !b.support.pixelPosition && b.fn.position && b.each(["top", "left"],
  3519. function(e, t) {
  3520. b.cssHooks[t] = {
  3521. get: function(e, n) {
  3522. if (n) return n = Rt(e, t),
  3523. Jt.test(n) ? b(e).position()[t] + "px" : n
  3524. }
  3525. }
  3526. })
  3527. }),
  3528. b.expr && b.expr.filters && (b.expr.filters.hidden = function(e) {
  3529. return e.offsetWidth <= 0 && e.offsetHeight <= 0 || !b.support.reliableHiddenOffsets && (e.style && e.style.display || b.css(e, "display")) === "none"
  3530. },
  3531. b.expr.filters.visible = function(e) {
  3532. return !b.expr.filters.hidden(e)
  3533. }),
  3534. b.each({
  3535. margin: "",
  3536. padding: "",
  3537. border: "Width"
  3538. },
  3539. function(e, t) {
  3540. b.cssHooks[e + t] = {
  3541. expand: function(n) {
  3542. var r = 0,
  3543. i = {},
  3544. s = typeof n == "string" ? n.split(" ") : [n];
  3545. for (; r < 4; r++) i[e + Zt[r] + t] = s[r] || s[r - 2] || s[0];
  3546. return i
  3547. }
  3548. },
  3549. Vt.test(e) || (b.cssHooks[e + t].set = sn)
  3550. });
  3551. var ln = /%20/g,
  3552. cn = /\[\]$/,
  3553. hn = /\r?\n/g,
  3554. pn = /^(?:submit|button|image|reset|file)$/i,
  3555. dn = /^(?:input|select|textarea|keygen)/i;
  3556. b.fn.extend({
  3557. serialize: function() {
  3558. return b.param(this.serializeArray())
  3559. },
  3560. serializeArray: function() {
  3561. return this.map(function() {
  3562. var e = b.prop(this, "elements");
  3563. return e ? b.makeArray(e) : this
  3564. }).filter(function() {
  3565. var e = this.type;
  3566. return this.name && !b(this).is(":disabled") && dn.test(this.nodeName) && !pn.test(e) && (this.checked || !xt.test(e))
  3567. }).map(function(e, t) {
  3568. var n = b(this).val();
  3569. return n == null ? null : b.isArray(n) ? b.map(n,
  3570. function(e) {
  3571. return {
  3572. name: t.name,
  3573. value: e.replace(hn, "\r\n")
  3574. }
  3575. }) : {
  3576. name: t.name,
  3577. value: n.replace(hn, "\r\n")
  3578. }
  3579. }).get()
  3580. }
  3581. }),
  3582. b.param = function(e, n) {
  3583. var r, i = [],
  3584. s = function(e, t) {
  3585. t = b.isFunction(t) ? t() : t == null ? "" : t,
  3586. i[i.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t)
  3587. };
  3588. n === t && (n = b.ajaxSettings && b.ajaxSettings.traditional);
  3589. if (b.isArray(e) || e.jquery && !b.isPlainObject(e)) b.each(e,
  3590. function() {
  3591. s(this.name, this.value)
  3592. });
  3593. else
  3594. for (r in e) vn(r, e[r], n, s);
  3595. return i.join("&").replace(ln, "+")
  3596. },
  3597. b.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),
  3598. function(e, t) {
  3599. b.fn[t] = function(e, n) {
  3600. return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t)
  3601. }
  3602. }),
  3603. b.fn.hover = function(e, t) {
  3604. return this.mouseenter(e).mouseleave(t || e)
  3605. };
  3606. var mn, gn, yn = b.now(),
  3607. bn = /\?/,
  3608. wn = /#.*$/,
  3609. En = /([?&])_=[^&]*/,
  3610. Sn = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg,
  3611. xn = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
  3612. Tn = /^(?:GET|HEAD)$/,
  3613. Nn = /^\/\//,
  3614. Cn = /^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,
  3615. kn = b.fn.load,
  3616. Ln = {},
  3617. An = {},
  3618. On = "*/".concat("*");
  3619. try {
  3620. gn = o.href
  3621. } catch (Mn) {
  3622. gn = s.createElement("a"),
  3623. gn.href = "",
  3624. gn = gn.href
  3625. }
  3626. mn = Cn.exec(gn.toLowerCase()) || [],
  3627. b.fn.load = function(e, n, r) {
  3628. if (typeof e != "string" && kn) return kn.apply(this, arguments);
  3629. var i, s, o, u = this,
  3630. a = e.indexOf(" ");
  3631. return a >= 0 && (i = e.slice(a, e.length), e = e.slice(0, a)),
  3632. b.isFunction(n) ? (r = n, n = t) : n && typeof n == "object" && (o = "POST"),
  3633. u.length > 0 && b.ajax({
  3634. url: e,
  3635. type: o,
  3636. dataType: "html",
  3637. data: n
  3638. }).done(function(e) {
  3639. s = arguments,
  3640. u.html(i ? b("<div>").append(b.parseHTML(e)).find(i) : e)
  3641. }).complete(r &&
  3642. function(e, t) {
  3643. u.each(r, s || [e.responseText, t, e])
  3644. }),
  3645. this
  3646. },
  3647. b.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"],
  3648. function(e, t) {
  3649. b.fn[t] = function(e) {
  3650. return this.on(t, e)
  3651. }
  3652. }),
  3653. b.each(["get", "post"],
  3654. function(e, n) {
  3655. b[n] = function(e, r, i, s) {
  3656. return b.isFunction(r) && (s = s || i, i = r, r = t),
  3657. b.ajax({
  3658. url: e,
  3659. type: n,
  3660. dataType: s,
  3661. data: r,
  3662. success: i
  3663. })
  3664. }
  3665. }),
  3666. b.extend({
  3667. active: 0,
  3668. lastModified: {},
  3669. etag: {},
  3670. ajaxSettings: {
  3671. url: gn,
  3672. type: "GET",
  3673. isLocal: xn.test(mn[1]),
  3674. global: !0,
  3675. processData: !0,
  3676. async: !0,
  3677. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  3678. accepts: {
  3679. "*": On,
  3680. text: "text/plain",
  3681. html: "text/html",
  3682. xml: "application/xml, text/xml",
  3683. json: "application/json, text/javascript"
  3684. },
  3685. contents: {
  3686. xml: /xml/,
  3687. html: /html/,
  3688. json: /json/
  3689. },
  3690. responseFields: {
  3691. xml: "responseXML",
  3692. text: "responseText"
  3693. },
  3694. converters: {
  3695. "* text": e.String,
  3696. "text html": !0,
  3697. "text json": b.parseJSON,
  3698. "text xml": b.parseXML
  3699. },
  3700. flatOptions: {
  3701. url: !0,
  3702. context: !0
  3703. }
  3704. },
  3705. ajaxSetup: function(e, t) {
  3706. return t ? Pn(Pn(e, b.ajaxSettings), t) : Pn(b.ajaxSettings, e)
  3707. },
  3708. ajaxPrefilter: _n(Ln),
  3709. ajaxTransport: _n(An),
  3710. ajax: function(e, n) {
  3711. function N(e, n, r, i) {
  3712. var l, g, y, E, S, T = n;
  3713. if (w === 2) return;
  3714. w = 2,
  3715. u && clearTimeout(u),
  3716. f = t,
  3717. o = i || "",
  3718. x.readyState = e > 0 ? 4 : 0,
  3719. r && (E = Hn(c, x, r));
  3720. if (e >= 200 && e < 300 || e === 304) c.ifModified && (S = x.getResponseHeader("Last-Modified"), S && (b.lastModified[s] = S), S = x.getResponseHeader("etag"), S && (b.etag[s] = S)),
  3721. e === 204 ? (l = !0, T = "nocontent") : e === 304 ? (l = !0, T = "notmodified") : (l = Bn(c, E), T = l.state, g = l.data, y = l.error, l = !y);
  3722. else {
  3723. y = T;
  3724. if (e || !T) T = "error",
  3725. e < 0 && (e = 0)
  3726. }
  3727. x.status = e,
  3728. x.statusText = (n || T) + "",
  3729. l ? d.resolveWith(h, [g, T, x]) : d.rejectWith(h, [x, T, y]),
  3730. x.statusCode(m),
  3731. m = t,
  3732. a && p.trigger(l ? "ajaxSuccess" : "ajaxError", [x, c, l ? g : y]),
  3733. v.fireWith(h, [x, T]),
  3734. a && (p.trigger("ajaxComplete", [x, c]), --b.active || b.event.trigger("ajaxStop"))
  3735. }
  3736. typeof e == "object" && (n = e, e = t),
  3737. n = n || {};
  3738. var r, i, s, o, u, a, f, l, c = b.ajaxSetup({},
  3739. n),
  3740. h = c.context || c,
  3741. p = c.context && (h.nodeType || h.jquery) ? b(h) : b.event,
  3742. d = b.Deferred(),
  3743. v = b.Callbacks("once memory"),
  3744. m = c.statusCode || {},
  3745. g = {},
  3746. y = {},
  3747. w = 0,
  3748. S = "canceled",
  3749. x = {
  3750. readyState: 0,
  3751. getResponseHeader: function(e) {
  3752. var t;
  3753. if (w === 2) {
  3754. if (!l) {
  3755. l = {};
  3756. while (t = Sn.exec(o)) l[t[1].toLowerCase()] = t[2]
  3757. }
  3758. t = l[e.toLowerCase()]
  3759. }
  3760. return t == null ? null : t
  3761. },
  3762. getAllResponseHeaders: function() {
  3763. return w === 2 ? o : null
  3764. },
  3765. setRequestHeader: function(e, t) {
  3766. var n = e.toLowerCase();
  3767. return w || (e = y[n] = y[n] || e, g[e] = t),
  3768. this
  3769. },
  3770. overrideMimeType: function(e) {
  3771. return w || (c.mimeType = e),
  3772. this
  3773. },
  3774. statusCode: function(e) {
  3775. var t;
  3776. if (e)
  3777. if (w < 2)
  3778. for (t in e) m[t] = [m[t], e[t]];
  3779. else x.always(e[x.status]);
  3780. return this
  3781. },
  3782. abort: function(e) {
  3783. var t = e || S;
  3784. return f && f.abort(t),
  3785. N(0, t),
  3786. this
  3787. }
  3788. };
  3789. d.promise(x).complete = v.add,
  3790. x.success = x.done,
  3791. x.error = x.fail,
  3792. c.url = ((e || c.url || gn) + "").replace(wn, "").replace(Nn, mn[1] + "//"),
  3793. c.type = n.method || n.type || c.method || c.type,
  3794. c.dataTypes = b.trim(c.dataType || "*").toLowerCase().match(E) || [""],
  3795. c.crossDomain == null && (r = Cn.exec(c.url.toLowerCase()), c.crossDomain = !(!r || r[1] === mn[1] && r[2] === mn[2] && (r[3] || (r[1] === "http:" ? 80 : 443)) == (mn[3] || (mn[1] === "http:" ? 80 : 443)))),
  3796. c.data && c.processData && typeof c.data != "string" && (c.data = b.param(c.data, c.traditional)),
  3797. Dn(Ln, c, n, x);
  3798. if (w === 2) return x;
  3799. a = c.global,
  3800. a && b.active++ === 0 && b.event.trigger("ajaxStart"),
  3801. c.type = c.type.toUpperCase(),
  3802. c.hasContent = !Tn.test(c.type),
  3803. s = c.url,
  3804. c.hasContent || (c.data && (s = c.url += (bn.test(s) ? "&" : "?") + c.data, delete c.data), c.cache === !1 && (c.url = En.test(s) ? s.replace(En, "$1_=" + yn++) : s + (bn.test(s) ? "&" : "?") + "_=" + yn++)),
  3805. c.ifModified && (b.lastModified[s] && x.setRequestHeader("If-Modified-Since", b.lastModified[s]), b.etag[s] && x.setRequestHeader("If-None-Match", b.etag[s])), (c.data && c.hasContent && c.contentType !== !1 || n.contentType) && x.setRequestHeader("Content-Type", c.contentType),
  3806. x.setRequestHeader("Accept", c.dataTypes[0] && c.accepts[c.dataTypes[0]] ? c.accepts[c.dataTypes[0]] + (c.dataTypes[0] !== "*" ? ", " + On + "; q=0.01" : "") : c.accepts["*"]);
  3807. for (i in c.headers) x.setRequestHeader(i, c.headers[i]);
  3808. if (!c.beforeSend || c.beforeSend.call(h, x, c) !== !1 && w !== 2) {
  3809. S = "abort";
  3810. for (i in {
  3811. success: 1,
  3812. error: 1,
  3813. complete: 1
  3814. }) x[i](c[i]);
  3815. f = Dn(An, c, n, x);
  3816. if (!f) N(-1, "No Transport");
  3817. else {
  3818. x.readyState = 1,
  3819. a && p.trigger("ajaxSend", [x, c]),
  3820. c.async && c.timeout > 0 && (u = setTimeout(function() {
  3821. x.abort("timeout")
  3822. },
  3823. c.timeout));
  3824. try {
  3825. w = 1,
  3826. f.send(g, N)
  3827. } catch (T) {
  3828. if (!(w < 2)) throw T;
  3829. N(-1, T)
  3830. }
  3831. }
  3832. return x
  3833. }
  3834. return x.abort()
  3835. },
  3836. getScript: function(e, n) {
  3837. return b.get(e, t, n, "script")
  3838. },
  3839. getJSON: function(e, t, n) {
  3840. return b.get(e, t, n, "json")
  3841. }
  3842. }),
  3843. b.ajaxSetup({
  3844. accepts: {
  3845. script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
  3846. },
  3847. contents: {
  3848. script: /(?:java|ecma)script/
  3849. },
  3850. converters: {
  3851. "text script": function(e) {
  3852. return b.globalEval(e),
  3853. e
  3854. }
  3855. }
  3856. }),
  3857. b.ajaxPrefilter("script",
  3858. function(e) {
  3859. e.cache === t && (e.cache = !1),
  3860. e.crossDomain && (e.type = "GET", e.global = !1)
  3861. }),
  3862. b.ajaxTransport("script",
  3863. function(e) {
  3864. if (e.crossDomain) {
  3865. var n, r = s.head || b("head")[0] || s.documentElement;
  3866. return {
  3867. send: function(t, i) {
  3868. n = s.createElement("script"),
  3869. n.async = !0,
  3870. e.scriptCharset && (n.charset = e.scriptCharset),
  3871. n.src = e.url,
  3872. n.onload = n.onreadystatechange = function(e, t) {
  3873. if (t || !n.readyState || /loaded|complete/.test(n.readyState)) n.onload = n.onreadystatechange = null,
  3874. n.parentNode && n.parentNode.removeChild(n),
  3875. n = null,
  3876. t || i(200, "success")
  3877. },
  3878. r.insertBefore(n, r.firstChild)
  3879. },
  3880. abort: function() {
  3881. n && n.onload(t, !0)
  3882. }
  3883. }
  3884. }
  3885. });
  3886. var jn = [],
  3887. Fn = /(=)\?(?=&|$)|\?\?/;
  3888. b.ajaxSetup({
  3889. jsonp: "callback",
  3890. jsonpCallback: function() {
  3891. var e = jn.pop() || b.expando + "_" + yn++;
  3892. return this[e] = !0,
  3893. e
  3894. }
  3895. }),
  3896. b.ajaxPrefilter("json jsonp",
  3897. function(n, r, i) {
  3898. var s, o, u, a = n.jsonp !== !1 && (Fn.test(n.url) ? "url" : typeof n.data == "string" && !(n.contentType || "").indexOf("application/x-www-form-urlencoded") && Fn.test(n.data) && "data");
  3899. if (a || n.dataTypes[0] === "jsonp") return s = n.jsonpCallback = b.isFunction(n.jsonpCallback) ? n.jsonpCallback() : n.jsonpCallback,
  3900. a ? n[a] = n[a].replace(Fn, "$1" + s) : n.jsonp !== !1 && (n.url += (bn.test(n.url) ? "&" : "?") + n.jsonp + "=" + s),
  3901. n.converters["script json"] = function() {
  3902. return u || b.error(s + " was not called"),
  3903. u[0]
  3904. },
  3905. n.dataTypes[0] = "json",
  3906. o = e[s],
  3907. e[s] = function() {
  3908. u = arguments
  3909. },
  3910. i.always(function() {
  3911. e[s] = o,
  3912. n[s] && (n.jsonpCallback = r.jsonpCallback, jn.push(s)),
  3913. u && b.isFunction(o) && o(u[0]),
  3914. u = o = t
  3915. }),
  3916. "script"
  3917. });
  3918. var In, qn, Rn = 0,
  3919. Un = e.ActiveXObject &&
  3920. function() {
  3921. var e;
  3922. for (e in In) In[e](t, !0)
  3923. };
  3924. b.ajaxSettings.xhr = e.ActiveXObject ?
  3925. function() {
  3926. return !this.isLocal && zn() || Wn()
  3927. } : zn,
  3928. qn = b.ajaxSettings.xhr(),
  3929. b.support.cors = !!qn && "withCredentials" in qn,
  3930. qn = b.support.ajax = !!qn,
  3931. qn && b.ajaxTransport(function(n) {
  3932. if (!n.crossDomain || b.support.cors) {
  3933. var r;
  3934. return {
  3935. send: function(i, s) {
  3936. var o, u, a = n.xhr();
  3937. n.username ? a.open(n.type, n.url, n.async, n.username, n.password) : a.open(n.type, n.url, n.async);
  3938. if (n.xhrFields)
  3939. for (u in n.xhrFields) a[u] = n.xhrFields[u];
  3940. n.mimeType && a.overrideMimeType && a.overrideMimeType(n.mimeType), !n.crossDomain && !i["X-Requested-With"] && (i["X-Requested-With"] = "XMLHttpRequest");
  3941. try {
  3942. for (u in i) a.setRequestHeader(u, i[u])
  3943. } catch (f) {}
  3944. a.send(n.hasContent && n.data || null),
  3945. r = function(e, i) {
  3946. var u, f, l, c;
  3947. try {
  3948. if (r && (i || a.readyState === 4)) {
  3949. r = t,
  3950. o && (a.onreadystatechange = b.noop, Un && delete In[o]);
  3951. if (i) a.readyState !== 4 && a.abort();
  3952. else {
  3953. c = {},
  3954. u = a.status,
  3955. f = a.getAllResponseHeaders(),
  3956. typeof a.responseText == "string" && (c.text = a.responseText);
  3957. try {
  3958. l = a.statusText
  3959. } catch (h) {
  3960. l = ""
  3961. }!u && n.isLocal && !n.crossDomain ? u = c.text ? 200 : 404 : u === 1223 && (u = 204)
  3962. }
  3963. }
  3964. } catch (p) {
  3965. i || s(-1, p)
  3966. }
  3967. c && s(u, l, c, f)
  3968. },
  3969. n.async ? a.readyState === 4 ? setTimeout(r) : (o = ++Rn, Un && (In || (In = {},
  3970. b(e).unload(Un)), In[o] = r), a.onreadystatechange = r) : r()
  3971. },
  3972. abort: function() {
  3973. r && r(t, !0)
  3974. }
  3975. }
  3976. }
  3977. });
  3978. var Xn, Vn, $n = /^(?:toggle|show|hide)$/,
  3979. Jn = new RegExp("^(?:([+-])=|)(" + w + ")([a-z%]*)$", "i"),
  3980. Kn = /queueHooks$/,
  3981. Qn = [nr],
  3982. Gn = {
  3983. "*": [
  3984. function(e, t) {
  3985. var n, r, i = this.createTween(e, t),
  3986. s = Jn.exec(t),
  3987. o = i.cur(),
  3988. u = +o || 0,
  3989. a = 1,
  3990. f = 20;
  3991. if (s) {
  3992. n = +s[2],
  3993. r = s[3] || (b.cssNumber[e] ? "" : "px");
  3994. if (r !== "px" && u) {
  3995. u = b.css(i.elem, e, !0) || n || 1;
  3996. do a = a || ".5",
  3997. u /= a,
  3998. b.style(i.elem, e, u + r);
  3999. while (a !== (a = i.cur() / o) && a !== 1 && --f)
  4000. }
  4001. i.unit = r,
  4002. i.start = u,
  4003. i.end = s[1] ? u + (s[1] + 1) * n : n
  4004. }
  4005. return i
  4006. }
  4007. ]
  4008. };
  4009. b.Animation = b.extend(er, {
  4010. tweener: function(e, t) {
  4011. b.isFunction(e) ? (t = e, e = ["*"]) : e = e.split(" ");
  4012. var n, r = 0,
  4013. i = e.length;
  4014. for (; r < i; r++) n = e[r],
  4015. Gn[n] = Gn[n] || [],
  4016. Gn[n].unshift(t)
  4017. },
  4018. prefilter: function(e, t) {
  4019. t ? Qn.unshift(e) : Qn.push(e)
  4020. }
  4021. }),
  4022. b.Tween = rr,
  4023. rr.prototype = {
  4024. constructor: rr,
  4025. init: function(e, t, n, r, i, s) {
  4026. this.elem = e,
  4027. this.prop = n,
  4028. this.easing = i || "swing",
  4029. this.options = t,
  4030. this.start = this.now = this.cur(),
  4031. this.end = r,
  4032. this.unit = s || (b.cssNumber[n] ? "" : "px")
  4033. },
  4034. cur: function() {
  4035. var e = rr.propHooks[this.prop];
  4036. return e && e.get ? e.get(this) : rr.propHooks._default.get(this)
  4037. },
  4038. run: function(e) {
  4039. var t, n = rr.propHooks[this.prop];
  4040. return this.options.duration ? this.pos = t = b.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e,
  4041. this.now = (this.end - this.start) * t + this.start,
  4042. this.options.step && this.options.step.call(this.elem, this.now, this),
  4043. n && n.set ? n.set(this) : rr.propHooks._default.set(this),
  4044. this
  4045. }
  4046. },
  4047. rr.prototype.init.prototype = rr.prototype,
  4048. rr.propHooks = {
  4049. _default: {
  4050. get: function(e) {
  4051. var t;
  4052. return e.elem[e.prop] == null || !!e.elem.style && e.elem.style[e.prop] != null ? (t = b.css(e.elem, e.prop, ""), !t || t === "auto" ? 0 : t) : e.elem[e.prop]
  4053. },
  4054. set: function(e) {
  4055. b.fx.step[e.prop] ? b.fx.step[e.prop](e) : e.elem.style && (e.elem.style[b.cssProps[e.prop]] != null || b.cssHooks[e.prop]) ? b.style(e.elem, e.prop, e.now + e.unit) : e.elem[e.prop] = e.now
  4056. }
  4057. }
  4058. },
  4059. rr.propHooks.scrollTop = rr.propHooks.scrollLeft = {
  4060. set: function(e) {
  4061. e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now)
  4062. }
  4063. },
  4064. b.each(["toggle", "show", "hide"],
  4065. function(e, t) {
  4066. var n = b.fn[t];
  4067. b.fn[t] = function(e, r, i) {
  4068. return e == null || typeof e == "boolean" ? n.apply(this, arguments) : this.animate(ir(t, !0), e, r, i)
  4069. }
  4070. }),
  4071. b.fn.extend({
  4072. fadeTo: function(e, t, n, r) {
  4073. return this.filter(nn).css("opacity", 0).show().end().animate({
  4074. opacity: t
  4075. },
  4076. e, n, r)
  4077. },
  4078. animate: function(e, t, n, r) {
  4079. var i = b.isEmptyObject(e),
  4080. s = b.speed(t, n, r),
  4081. o = function() {
  4082. var t = er(this, b.extend({},
  4083. e), s);
  4084. o.finish = function() {
  4085. t.stop(!0)
  4086. }, (i || b._data(this, "finish")) && t.stop(!0)
  4087. };
  4088. return o.finish = o,
  4089. i || s.queue === !1 ? this.each(o) : this.queue(s.queue, o)
  4090. },
  4091. stop: function(e, n, r) {
  4092. var i = function(e) {
  4093. var t = e.stop;
  4094. delete e.stop,
  4095. t(r)
  4096. };
  4097. return typeof e != "string" && (r = n, n = e, e = t),
  4098. n && e !== !1 && this.queue(e || "fx", []),
  4099. this.each(function() {
  4100. var t = !0,
  4101. n = e != null && e + "queueHooks",
  4102. s = b.timers,
  4103. o = b._data(this);
  4104. if (n) o[n] && o[n].stop && i(o[n]);
  4105. else
  4106. for (n in o) o[n] && o[n].stop && Kn.test(n) && i(o[n]);
  4107. for (n = s.length; n--;) s[n].elem === this && (e == null || s[n].queue === e) && (s[n].anim.stop(r), t = !1, s.splice(n, 1));
  4108. (t || !r) && b.dequeue(this, e)
  4109. })
  4110. },
  4111. finish: function(e) {
  4112. return e !== !1 && (e = e || "fx"),
  4113. this.each(function() {
  4114. var t, n = b._data(this),
  4115. r = n[e + "queue"],
  4116. i = n[e + "queueHooks"],
  4117. s = b.timers,
  4118. o = r ? r.length : 0;
  4119. n.finish = !0,
  4120. b.queue(this, e, []),
  4121. i && i.cur && i.cur.finish && i.cur.finish.call(this);
  4122. for (t = s.length; t--;) s[t].elem === this && s[t].queue === e && (s[t].anim.stop(!0), s.splice(t, 1));
  4123. for (t = 0; t < o; t++) r[t] && r[t].finish && r[t].finish.call(this);
  4124. delete n.finish
  4125. })
  4126. }
  4127. }),
  4128. b.each({
  4129. slideDown: ir("show"),
  4130. slideUp: ir("hide"),
  4131. slideToggle: ir("toggle"),
  4132. fadeIn: {
  4133. opacity: "show"
  4134. },
  4135. fadeOut: {
  4136. opacity: "hide"
  4137. },
  4138. fadeToggle: {
  4139. opacity: "toggle"
  4140. }
  4141. },
  4142. function(e, t) {
  4143. b.fn[e] = function(e, n, r) {
  4144. return this.animate(t, e, n, r)
  4145. }
  4146. }),
  4147. b.speed = function(e, t, n) {
  4148. var r = e && typeof e == "object" ? b.extend({},
  4149. e) : {
  4150. complete: n || !n && t || b.isFunction(e) && e,
  4151. duration: e,
  4152. easing: n && t || t && !b.isFunction(t) && t
  4153. };
  4154. r.duration = b.fx.off ? 0 : typeof r.duration == "number" ? r.duration : r.duration in b.fx.speeds ? b.fx.speeds[r.duration] : b.fx.speeds._default;
  4155. if (r.queue == null || r.queue === !0) r.queue = "fx";
  4156. return r.old = r.complete,
  4157. r.complete = function() {
  4158. b.isFunction(r.old) && r.old.call(this),
  4159. r.queue && b.dequeue(this, r.queue)
  4160. },
  4161. r
  4162. },
  4163. b.easing = {
  4164. linear: function(e) {
  4165. return e
  4166. },
  4167. swing: function(e) {
  4168. return .5 - Math.cos(e * Math.PI) / 2
  4169. }
  4170. },
  4171. b.timers = [],
  4172. b.fx = rr.prototype.init,
  4173. b.fx.tick = function() {
  4174. var e, n = b.timers,
  4175. r = 0;
  4176. Xn = b.now();
  4177. for (; r < n.length; r++) e = n[r], !e() && n[r] === e && n.splice(r--, 1);
  4178. n.length || b.fx.stop(),
  4179. Xn = t
  4180. },
  4181. b.fx.timer = function(e) {
  4182. e() && b.timers.push(e) && b.fx.start()
  4183. },
  4184. b.fx.interval = 13,
  4185. b.fx.start = function() {
  4186. Vn || (Vn = setInterval(b.fx.tick, b.fx.interval))
  4187. },
  4188. b.fx.stop = function() {
  4189. clearInterval(Vn),
  4190. Vn = null
  4191. },
  4192. b.fx.speeds = {
  4193. slow: 600,
  4194. fast: 200,
  4195. _default: 400
  4196. },
  4197. b.fx.step = {},
  4198. b.expr && b.expr.filters && (b.expr.filters.animated = function(e) {
  4199. return b.grep(b.timers,
  4200. function(t) {
  4201. return e === t.elem
  4202. }).length
  4203. }),
  4204. b.fn.offset = function(e) {
  4205. if (arguments.length) return e === t ? this : this.each(function(t) {
  4206. b.offset.setOffset(this, e, t)
  4207. });
  4208. var n, r, s = {
  4209. top: 0,
  4210. left: 0
  4211. },
  4212. o = this[0],
  4213. u = o && o.ownerDocument;
  4214. if (!u) return;
  4215. return n = u.documentElement,
  4216. b.contains(n, o) ? (typeof o.getBoundingClientRect !== i && (s = o.getBoundingClientRect()), r = sr(u), {
  4217. top: s.top + (r.pageYOffset || n.scrollTop) - (n.clientTop || 0),
  4218. left: s.left + (r.pageXOffset || n.scrollLeft) - (n.clientLeft || 0)
  4219. }) : s
  4220. },
  4221. b.offset = {
  4222. setOffset: function(e, t, n) {
  4223. var r = b.css(e, "position");
  4224. r === "static" && (e.style.position = "relative");
  4225. var i = b(e),
  4226. s = i.offset(),
  4227. o = b.css(e, "top"),
  4228. u = b.css(e, "left"),
  4229. a = (r === "absolute" || r === "fixed") && b.inArray("auto", [o, u]) > -1,
  4230. f = {},
  4231. l = {},
  4232. c,
  4233. h;
  4234. a ? (l = i.position(), c = l.top, h = l.left) : (c = parseFloat(o) || 0, h = parseFloat(u) || 0),
  4235. b.isFunction(t) && (t = t.call(e, n, s)),
  4236. t.top != null && (f.top = t.top - s.top + c),
  4237. t.left != null && (f.left = t.left - s.left + h),
  4238. "using" in t ? t.using.call(e, f) : i.css(f)
  4239. }
  4240. },
  4241. b.fn.extend({
  4242. position: function() {
  4243. if (!this[0]) return;
  4244. var e, t, n = {
  4245. top: 0,
  4246. left: 0
  4247. },
  4248. r = this[0];
  4249. return b.css(r, "position") === "fixed" ? t = r.getBoundingClientRect() : (e = this.offsetParent(), t = this.offset(), b.nodeName(e[0], "html") || (n = e.offset()), n.top += b.css(e[0], "borderTopWidth", !0), n.left += b.css(e[0], "borderLeftWidth", !0)), {
  4250. top: t.top - n.top - b.css(r, "marginTop", !0),
  4251. left: t.left - n.left - b.css(r, "marginLeft", !0)
  4252. }
  4253. },
  4254. offsetParent: function() {
  4255. return this.map(function() {
  4256. var e = this.offsetParent || s.documentElement;
  4257. while (e && !b.nodeName(e, "html") && b.css(e, "position") === "static") e = e.offsetParent;
  4258. return e || s.documentElement
  4259. })
  4260. }
  4261. }),
  4262. b.each({
  4263. scrollLeft: "pageXOffset",
  4264. scrollTop: "pageYOffset"
  4265. },
  4266. function(e, n) {
  4267. var r = /Y/.test(n);
  4268. b.fn[e] = function(i) {
  4269. return b.access(this,
  4270. function(e, i, s) {
  4271. var o = sr(e);
  4272. if (s === t) return o ? n in o ? o[n] : o.document.documentElement[i] : e[i];
  4273. o ? o.scrollTo(r ? b(o).scrollLeft() : s, r ? s : b(o).scrollTop()) : e[i] = s
  4274. },
  4275. e, i, arguments.length, null)
  4276. }
  4277. }),
  4278. b.each({
  4279. Height: "height",
  4280. Width: "width"
  4281. },
  4282. function(e, n) {
  4283. b.each({
  4284. padding: "inner" + e,
  4285. content: n,
  4286. "": "outer" + e
  4287. },
  4288. function(r, i) {
  4289. b.fn[i] = function(i, s) {
  4290. var o = arguments.length && (r || typeof i != "boolean"),
  4291. u = r || (i === !0 || s === !0 ? "margin" : "border");
  4292. return b.access(this,
  4293. function(n, r, i) {
  4294. var s;
  4295. return b.isWindow(n) ? n.document.documentElement["client" + e] : n.nodeType === 9 ? (s = n.documentElement, Math.max(n.body["scroll" + e], s["scroll" + e], n.body["offset" + e], s["offset" + e], s["client" + e])) : i === t ? b.css(n, r, u) : b.style(n, r, i, u)
  4296. },
  4297. n, o ? i : t, o, null)
  4298. }
  4299. })
  4300. }),
  4301. e.jQuery = e.$ = b,
  4302. typeof define == "function" && define.amd && define.amd.jQuery && define("jquery", [],
  4303. function() {
  4304. return b
  4305. })
  4306. })(window),
  4307. function(e) {
  4308. e.fn.unveil = function(t, n) {
  4309. function f() {
  4310. var t = u.filter(function() {
  4311. var t = e(this),
  4312. n = r.scrollTop(),
  4313. s = n + r.height(),
  4314. o = t.offset().top,
  4315. u = o + t.height();
  4316. return u >= n - i && o <= s + i
  4317. });
  4318. a = t.trigger("unveil"),
  4319. u = u.not(a)
  4320. }
  4321. var r = e(window),
  4322. i = t || 0,
  4323. s = window.devicePixelRatio > 1,
  4324. o = s ? "data-src-retina" : "data-src",
  4325. u = this,
  4326. a;
  4327. return this.one("unveil",
  4328. function() {
  4329. var e = this.getAttribute(o);
  4330. e = e || this.getAttribute("data-src"),
  4331. e && (this.setAttribute("src", e), typeof n == "function" && n.call(this))
  4332. }),
  4333. r.scroll(f),
  4334. r.resize(f),
  4335. f(),
  4336. this
  4337. }
  4338. }(window.jQuery || window.Zepto),
  4339. function(e) {
  4340. "use strict";
  4341. function t(e) {
  4342. return new RegExp("(^|\\s+)" + e + "(\\s+|$)")
  4343. }
  4344. function s(e, t) {
  4345. var s = n(e, t) ? i : r;
  4346. s(e, t)
  4347. }
  4348. var n, r, i;
  4349. "classList" in document.documentElement ? (n = function(e, t) {
  4350. return e.classList.contains(t)
  4351. },
  4352. r = function(e, t) {
  4353. e.classList.add(t)
  4354. },
  4355. i = function(e, t) {
  4356. e.classList.remove(t)
  4357. }) : (n = function(e, n) {
  4358. return t(n).test(e.className)
  4359. },
  4360. r = function(e, t) {
  4361. n(e, t) || (e.className = e.className + " " + t)
  4362. },
  4363. i = function(e, n) {
  4364. e.className = e.className.replace(t(n), " ")
  4365. }),
  4366. e.classie = {
  4367. hasClass: n,
  4368. addClass: r,
  4369. removeClass: i,
  4370. toggleClass: s,
  4371. has: n,
  4372. add: r,
  4373. remove: i,
  4374. toggle: s
  4375. }
  4376. }(window),
  4377. function() {
  4378. window.OpenXJS = function() {
  4379. function e(e) {
  4380. this.deliveryUrl = e.deliveryUrl,
  4381. this.defaultParameters = e.parameters
  4382. }
  4383. return e.prototype.spcScript = "spc.php",
  4384. e.prototype.displayAds = function(e, t, n) {
  4385. var r = this;
  4386. return this.receiveAdCodes(e, t,
  4387. function(e) {
  4388. var t, i;
  4389. for (i in e) t = e[i],
  4390. r._displayAd(i, t);
  4391. return typeof n == "function" ? n() : void 0
  4392. })
  4393. },
  4394. e.prototype.receiveAdCodes = function(e, t, n) {
  4395. var r, i, s = this;
  4396. return r = this._openxParameters(e, t),
  4397. i = this.deliveryUrl + this.spcScript + "?" + this._queryString(r),
  4398. this._loadScript(i,
  4399. function() {
  4400. return s._parseResponse(e, n)
  4401. })
  4402. },
  4403. e.prototype._parseResponse = function(e, t) {
  4404. var n, r, i;
  4405. n = {};
  4406. if (typeof window.OA_output != "object") {
  4407. window.OA_output = null,
  4408. typeof t == "function" && t(n);
  4409. return
  4410. }
  4411. for (r in e) {
  4412. i = e[r];
  4413. if (this._emptyResponse(window.OA_output[r])) continue;
  4414. n[r] = window.OA_output[r]
  4415. }
  4416. return window.OA_output = null,
  4417. typeof t == "function" ? t(n) : void 0
  4418. },
  4419. e.prototype._displayAd = function(e, t) {
  4420. var n;
  4421. n = document.getElementById(e);
  4422. if (n === null) return;
  4423. return document.getElementById(e).innerHTML = t
  4424. },
  4425. e.prototype._openxParameters = function(e, t) {
  4426. var n, r, i, s, o, u, a;
  4427. i = this._mergeObjects(this.defaultParameters, t),
  4428. r = "|";
  4429. for (o in e) a = e[o],
  4430. r += "" + o + "=" + a + "|";
  4431. s = {
  4432. zones: r,
  4433. nz: 1,
  4434. blockcampaign: 1,
  4435. charset: this._documentCharset(),
  4436. cb: this._randomNumber(),
  4437. r: this._randomNumber(),
  4438. loc: this._location(),
  4439. referer: this._referrer()
  4440. };
  4441. for (n in i) u = i[n],
  4442. s[n] = u;
  4443. return s
  4444. },
  4445. e.prototype._loadScript = function(e, t) {
  4446. var n, r, i = this;
  4447. return r = document.createElement("script"),
  4448. r.async = "async",
  4449. n = !1,
  4450. r.onload = r.onreadystatechange = function() {
  4451. if (r.readyState && !/complete|loaded/.test(r.readyState) || n) return;
  4452. return n = !0,
  4453. r.onload = r.onreadystatechange = null,
  4454. typeof t == "function" ? t() : void 0
  4455. },
  4456. r.src = e,
  4457. this._appendToHead(r)
  4458. },
  4459. e.prototype._randomNumber = function() {
  4460. return Math.floor(Math.random() * 99999999999)
  4461. },
  4462. e.prototype._location = function() {
  4463. return window.location
  4464. },
  4465. e.prototype._referrer = function() {
  4466. return document.referrer
  4467. },
  4468. e.prototype._documentCharset = function() {
  4469. return document.charset ? document.charset : document.characterSet ? document.characterSet : ""
  4470. },
  4471. e.prototype._emptyResponse = function(e) {
  4472. return typeof e != "string" || e === "" || e === "<a href='F' target='_blank'><img src='F' border='0' alt=''></a>\n"
  4473. },
  4474. e.prototype._queryString = function(e) {
  4475. var t, n, r;
  4476. t = [];
  4477. for (n in e) r = e[n],
  4478. r != null && t.push("" + n + "=" + encodeURIComponent(r));
  4479. return t.join("&")
  4480. },
  4481. e.prototype._appendToHead = function(e) {
  4482. var t;
  4483. return t = document.head || document.getElementsByTagName("head")[0] || document.documentElement,
  4484. t.insertBefore(e, t.firstChild)
  4485. },
  4486. e.prototype._mergeObjects = function(e, t) {
  4487. var n, r;
  4488. r = {};
  4489. for (n in e) r[n] = e[n];
  4490. for (n in t) r[n] = t[n];
  4491. return r
  4492. },
  4493. e
  4494. }()
  4495. }.call(this),
  4496. Array.prototype.indexOf || (Array.prototype.indexOf = function(e) {
  4497. "use strict";
  4498. if (this === void 0 || this === null) throw new TypeError;
  4499. var t = Object(this),
  4500. n = t.length >>> 0;
  4501. if (n === 0) return -1;
  4502. var r = 0;
  4503. arguments.length > 0 && (r = Number(arguments[1]), r !== r ? r = 0 : r !== 0 && r !== Infinity && r !== -Infinity && (r = (r > 0 || -1) * Math.floor(Math.abs(r))));
  4504. if (r >= n) return -1;
  4505. var i = r >= 0 ? r : Math.max(n - Math.abs(r), 0);
  4506. for (; i < n; i++)
  4507. if (i in t && t[i] === e) return i;
  4508. return -1
  4509. });
  4510. var I18n = I18n || {};
  4511. I18n.defaultLocale = "en",
  4512. I18n.fallbacks = !1,
  4513. I18n.defaultSeparator = ".",
  4514. I18n.locale = null,
  4515. I18n.PLACEHOLDER = /(?:\{\{|%\{)(.*?)(?:\}\}?)/gm,
  4516. I18n.fallbackRules = {},
  4517. I18n.pluralizationRules = {
  4518. en: function(e) {
  4519. return e == 0 ? ["zero", "none", "other"] : e == 1 ? "one" : "other"
  4520. }
  4521. },
  4522. I18n.getFallbacks = function(e) {
  4523. if (e === I18n.defaultLocale) return [];
  4524. if (!I18n.fallbackRules[e]) {
  4525. var t = [],
  4526. n = e.split("-");
  4527. for (var r = 1; r < n.length; r++) t.push(n.slice(0, r).join("-"));
  4528. t.push(I18n.defaultLocale),
  4529. I18n.fallbackRules[e] = t
  4530. }
  4531. return I18n.fallbackRules[e]
  4532. },
  4533. I18n.isValidNode = function(e, t, n) {
  4534. return e[t] !== null && e[t] !== n
  4535. },
  4536. I18n.lookup = function(e, t) {
  4537. var t = t || {},
  4538. n = e,
  4539. r = this.prepareOptions(I18n.translations),
  4540. i = t.locale || I18n.currentLocale(),
  4541. s = r[i] || {},
  4542. t = this.prepareOptions(t),
  4543. o;
  4544. typeof e == "object" && (e = e.join(this.defaultSeparator)),
  4545. t.scope && (e = t.scope.toString() + this.defaultSeparator + e),
  4546. e = e.split(this.defaultSeparator);
  4547. while (s && e.length > 0) o = e.shift(),
  4548. s = s[o];
  4549. if (!s) {
  4550. if (I18n.fallbacks) {
  4551. var u = this.getFallbacks(i);
  4552. for (var a = 0; a < u.length; u++) {
  4553. s = I18n.lookup(n, this.prepareOptions({
  4554. locale: u[a]
  4555. },
  4556. t));
  4557. if (s) break
  4558. }
  4559. }!s && this.isValidNode(t, "defaultValue") && (s = t.defaultValue)
  4560. }
  4561. return s
  4562. },
  4563. I18n.prepareOptions = function() {
  4564. var e = {},
  4565. t, n = arguments.length;
  4566. for (var r = 0; r < n; r++) {
  4567. t = arguments[r];
  4568. if (!t) continue;
  4569. for (var i in t) this.isValidNode(e, i) || (e[i] = t[i])
  4570. }
  4571. return e
  4572. },
  4573. I18n.interpolate = function(e, t) {
  4574. t = this.prepareOptions(t);
  4575. var n = e.match(this.PLACEHOLDER),
  4576. r,
  4577. i,
  4578. s;
  4579. if (!n) return e;
  4580. for (var o = 0; r = n[o]; o++) s = r.replace(this.PLACEHOLDER, "$1"),
  4581. i = t[s],
  4582. this.isValidNode(t, s) || (i = "[missing " + r + " value]"),
  4583. regex = new RegExp(r.replace(/\{/gm, "\\{").replace(/\}/gm, "\\}")),
  4584. e = e.replace(regex, i);
  4585. return e
  4586. },
  4587. I18n.translate = function(e, t) {
  4588. t = this.prepareOptions(t);
  4589. var n = this.lookup(e, t);
  4590. try {
  4591. return typeof n == "object" ? typeof t.count == "number" ? this.pluralize(t.count, e, t) : n : this.interpolate(n, t)
  4592. } catch (r) {
  4593. return this.missingTranslation(e)
  4594. }
  4595. },
  4596. I18n.localize = function(e, t) {
  4597. switch (e) {
  4598. case "currency":
  4599. return this.toCurrency(t);
  4600. case "number":
  4601. return e = this.lookup("number.format"),
  4602. this.toNumber(t, e);
  4603. case "percentage":
  4604. return this.toPercentage(t);
  4605. default:
  4606. return e.match(/^(date|time)/) ? this.toTime(e, t) : t.toString()
  4607. }
  4608. },
  4609. I18n.parseDate = function(e) {
  4610. var t, n;
  4611. if (typeof e == "object") return e;
  4612. t = e.toString().match(/(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{2}):(\d{2}):(\d{2}))?(Z|\+0000)?/);
  4613. if (t) {
  4614. for (var r = 1; r <= 6; r++) t[r] = parseInt(t[r], 10) || 0;
  4615. t[2] -= 1,
  4616. t[7] ? n = new Date(Date.UTC(t[1], t[2], t[3], t[4], t[5], t[6])) : n = new Date(t[1], t[2], t[3], t[4], t[5], t[6])
  4617. } else typeof e == "number" ? (n = new Date, n.setTime(e)) : e.match(/\d+ \d+:\d+:\d+ [+-]\d+ \d+/) ? (n = new Date, n.setTime(Date.parse(e))) : (n = new Date, n.setTime(Date.parse(e)));
  4618. return n
  4619. },
  4620. I18n.toTime = function(e, t) {
  4621. var n = this.parseDate(t),
  4622. r = this.lookup(e);
  4623. return n.toString().match(/invalid/i) ? n.toString() : r ? this.strftime(n, r) : n.toString()
  4624. },
  4625. I18n.strftime = function(e, t) {
  4626. var n = this.lookup("date");
  4627. if (!n) return e.toString();
  4628. n.meridian = n.meridian || ["AM", "PM"];
  4629. var r = e.getDay(),
  4630. i = e.getDate(),
  4631. s = e.getFullYear(),
  4632. o = e.getMonth() + 1,
  4633. u = e.getHours(),
  4634. a = u,
  4635. f = u > 11 ? 1 : 0,
  4636. l = e.getSeconds(),
  4637. c = e.getMinutes(),
  4638. h = e.getTimezoneOffset(),
  4639. p = Math.floor(Math.abs(h / 60)),
  4640. d = Math.abs(h) - p * 60,
  4641. v = (h > 0 ? "-" : "+") + (p.toString().length < 2 ? "0" + p : p) + (d.toString().length < 2 ? "0" + d : d);
  4642. a > 12 ? a -= 12 : a === 0 && (a = 12);
  4643. var m = function(e) {
  4644. var t = "0" + e.toString();
  4645. return t.substr(t.length - 2)
  4646. },
  4647. g = t;
  4648. return g = g.replace("%a", n.abbr_day_names[r]),
  4649. g = g.replace("%A", n.day_names[r]),
  4650. g = g.replace("%b", n.abbr_month_names[o]),
  4651. g = g.replace("%B", n.month_names[o]),
  4652. g = g.replace("%d", m(i)),
  4653. g = g.replace("%e", i),
  4654. g = g.replace("%-d", i),
  4655. g = g.replace("%H", m(u)),
  4656. g = g.replace("%-H", u),
  4657. g = g.replace("%I", m(a)),
  4658. g = g.replace("%-I", a),
  4659. g = g.replace("%m", m(o)),
  4660. g = g.replace("%-m", o),
  4661. g = g.replace("%M", m(c)),
  4662. g = g.replace("%-M", c),
  4663. g = g.replace("%p", n.meridian[f]),
  4664. g = g.replace("%S", m(l)),
  4665. g = g.replace("%-S", l),
  4666. g = g.replace("%w", r),
  4667. g = g.replace("%y", m(s)),
  4668. g = g.replace("%-y", m(s).replace(/^0+/, "")),
  4669. g = g.replace("%Y", s),
  4670. g = g.replace("%z", v),
  4671. g
  4672. },
  4673. I18n.toNumber = function(e, t) {
  4674. t = this.prepareOptions(t, this.lookup("number.format"), {
  4675. precision: 3,
  4676. separator: ".",
  4677. delimiter: ",",
  4678. strip_insignificant_zeros: !1
  4679. });
  4680. var n = e < 0,
  4681. r = Math.abs(e).toFixed(t.precision).toString(),
  4682. i = r.split("."),
  4683. s,
  4684. o = [],
  4685. u;
  4686. e = i[0],
  4687. s = i[1];
  4688. while (e.length > 0) o.unshift(e.substr(Math.max(0, e.length - 3), 3)),
  4689. e = e.substr(0, e.length - 3);
  4690. u = o.join(t.delimiter),
  4691. t.precision > 0 && (u += t.separator + i[1]),
  4692. n && (u = "-" + u);
  4693. if (t.strip_insignificant_zeros) {
  4694. var a = {
  4695. separator: new RegExp(t.separator.replace(/\./, "\\.") + "$"),
  4696. zeros: /0+$/
  4697. };
  4698. u = u.replace(a.zeros, "").replace(a.separator, "")
  4699. }
  4700. return u
  4701. },
  4702. I18n.toCurrency = function(e, t) {
  4703. return t = this.prepareOptions(t, this.lookup("number.currency.format"), this.lookup("number.format"), {
  4704. unit: "$",
  4705. precision: 2,
  4706. format: "%u%n",
  4707. delimiter: ",",
  4708. separator: "."
  4709. }),
  4710. e = this.toNumber(e, t),
  4711. e = t.format.replace("%u", t.unit).replace("%n", e),
  4712. e
  4713. },
  4714. I18n.toHumanSize = function(e, t) {
  4715. var n = 1024,
  4716. r = e,
  4717. i = 0,
  4718. s, o;
  4719. while (r >= n && i < 4) r /= n,
  4720. i += 1;
  4721. return i === 0 ? (s = this.t("number.human.storage_units.units.byte", {
  4722. count: r
  4723. }), o = 0) : (s = this.t("number.human.storage_units.units." + [null, "kb", "mb", "gb", "tb"][i]), o = r - Math.floor(r) === 0 ? 0 : 1),
  4724. t = this.prepareOptions(t, {
  4725. precision: o,
  4726. format: "%n%u",
  4727. delimiter: ""
  4728. }),
  4729. e = this.toNumber(r, t),
  4730. e = t.format.replace("%u", s).replace("%n", e),
  4731. e
  4732. },
  4733. I18n.toPercentage = function(e, t) {
  4734. return t = this.prepareOptions(t, this.lookup("number.percentage.format"), this.lookup("number.format"), {
  4735. precision: 3,
  4736. separator: ".",
  4737. delimiter: ""
  4738. }),
  4739. e = this.toNumber(e, t),
  4740. e + "%"
  4741. },
  4742. I18n.pluralizer = function(e) {
  4743. return pluralizer = this.pluralizationRules[e],
  4744. pluralizer !== undefined ? pluralizer : this.pluralizationRules.en
  4745. },
  4746. I18n.findAndTranslateValidNode = function(e, t) {
  4747. for (i = 0; i < e.length; i++) {
  4748. key = e[i];
  4749. if (this.isValidNode(t, key)) return t[key]
  4750. }
  4751. return null
  4752. },
  4753. I18n.pluralize = function(e, t, n) {
  4754. var r;
  4755. try {
  4756. r = this.lookup(t, n)
  4757. } catch (i) {}
  4758. if (!r) return this.missingTranslation(t);
  4759. var s;
  4760. return n = this.prepareOptions(n),
  4761. n.count = e.toString(),
  4762. pluralizer = this.pluralizer(this.currentLocale()),
  4763. key = pluralizer(Math.abs(e)),
  4764. keys = typeof key == "object" && key instanceof Array ? key : [key],
  4765. s = this.findAndTranslateValidNode(keys, r),
  4766. s == null && (s = this.missingTranslation(t, keys[0])),
  4767. this.interpolate(s, n)
  4768. },
  4769. I18n.missingTranslation = function() {
  4770. var e = '[missing "' + this.currentLocale(),
  4771. t = arguments.length;
  4772. for (var n = 0; n < t; n++) e += "." + arguments[n];
  4773. return e += '" translation]',
  4774. e
  4775. },
  4776. I18n.currentLocale = function() {
  4777. return I18n.locale || I18n.defaultLocale
  4778. },
  4779. I18n.t = I18n.translate,
  4780. I18n.l = I18n.localize,
  4781. I18n.p = I18n.pluralize;
  4782. var I18n = I18n || {};
  4783. I18n.translations = {
  4784. en: {
  4785. invite: {
  4786. title: "Invite your friends!",
  4787. message: "Do you know %{project_name}? Join and play with me!",
  4788. invite: "Invite",
  4789. close: "Close"
  4790. },
  4791. activemodel: {
  4792. attributes: {
  4793. game_launcher: {
  4794. project: "Game",
  4795. external_id: "External id",
  4796. user: "User id",
  4797. token: "Token"
  4798. }
  4799. },
  4800. errors: {
  4801. models: {
  4802. game_launcher: {
  4803. attributes: {
  4804. project: {
  4805. blank: "Game not found"
  4806. },
  4807. external_id: {
  4808. blank: "Counld not retreive external user id"
  4809. },
  4810. user: {
  4811. blank: "Could not create user"
  4812. },
  4813. user_provider_id: {
  4814. blank: "Could not generate user provider id"
  4815. },
  4816. token: {
  4817. blank: "Failed to generate session token"
  4818. }
  4819. }
  4820. }
  4821. }
  4822. }
  4823. },
  4824. js: {
  4825. skip: "Skip",
  4826. exit_game: "Exit Game",
  4827. return_to_homepage_to_play_more_free_online_games: "Return to homepage to play more free online games!",
  4828. play_now: "Play now!",
  4829. back_to_game: "Go back to the game",
  4830. payment_started: "Payment started",
  4831. initializing_the_payment: "Initializing the payment",
  4832. payment_not_open: "Click here to open payment window",
  4833. start: "Start",
  4834. play: "Play",
  4835. free: "Free",
  4836. game_description: "Game description",
  4837. terms: "Terms",
  4838. imprint: "Imprint",
  4839. "continue": "Continue",
  4840. share: "Share",
  4841. vote: "Vote",
  4842. "more-games": "More games",
  4843. similar_games: "Similar games",
  4844. recently_played: "Recently played",
  4845. points_in: "points in",
  4846. play_again: "play again",
  4847. play_more: "play more",
  4848. ranking: "ranking",
  4849. score: "score",
  4850. best: "best",
  4851. advertisement: "Advertisement",
  4852. game_is_already_rated: "Game is already rated",
  4853. thank_you_for_your_vote: "Thank you for your vote!"
  4854. }
  4855. },
  4856. pl: {
  4857. invite: {
  4858. title: "Invite your friends!",
  4859. message: "Do you know %{project_name}? Join and play with me!",
  4860. invite: "Invite",
  4861. close: "Close"
  4862. },
  4863. activemodel: {
  4864. attributes: {
  4865. game_launcher: {
  4866. project: "Game",
  4867. external_id: "External id",
  4868. user: "User id",
  4869. token: "Token"
  4870. }
  4871. },
  4872. errors: {
  4873. models: {
  4874. game_launcher: {
  4875. attributes: {
  4876. project: {
  4877. blank: "Game not found"
  4878. },
  4879. external_id: {
  4880. blank: "Counld not retreive external user id"
  4881. },
  4882. user: {
  4883. blank: "Could not create user"
  4884. },
  4885. user_provider_id: {
  4886. blank: "Could not generate user provider id"
  4887. },
  4888. token: {
  4889. blank: "Failed to generate session token"
  4890. }
  4891. }
  4892. }
  4893. }
  4894. }
  4895. },
  4896. js: {
  4897. skip: "Pomiń",
  4898. exit_game: "Wyjdź",
  4899. return_to_homepage_to_play_more_free_online_games: "Return to homepage to play more free online games!",
  4900. play_now: "Zagraj teraz!",
  4901. back_to_game: "Wróć do gry",
  4902. payment_started: "Payment started",
  4903. initializing_the_payment: "Initializing the payment",
  4904. payment_not_open: "Click here to open payment window",
  4905. start: "Start",
  4906. game_description: "Szczegóły",
  4907. terms: "Terms",
  4908. imprint: "Imprint",
  4909. "continue": null
  4910. }
  4911. },
  4912. tr: {
  4913. invite: {
  4914. title: "Invite your friends!",
  4915. message: "Do you know %{project_name}? Join and play with me!",
  4916. invite: "Invite",
  4917. close: "Close"
  4918. },
  4919. activemodel: {
  4920. attributes: {
  4921. game_launcher: {
  4922. project: "Game",
  4923. external_id: "External id",
  4924. user: "User id",
  4925. token: "Token"
  4926. }
  4927. },
  4928. errors: {
  4929. models: {
  4930. game_launcher: {
  4931. attributes: {
  4932. project: {
  4933. blank: "Game not found"
  4934. },
  4935. external_id: {
  4936. blank: "Counld not retreive external user id"
  4937. },
  4938. user: {
  4939. blank: "Could not create user"
  4940. },
  4941. user_provider_id: {
  4942. blank: "Could not generate user provider id"
  4943. },
  4944. token: {
  4945. blank: "Failed to generate session token"
  4946. }
  4947. }
  4948. }
  4949. }
  4950. }
  4951. },
  4952. js: {
  4953. skip: "reklamı geç",
  4954. exit_game: "Exit Game",
  4955. return_to_homepage_to_play_more_free_online_games: "Return to homepage to play more free online games!",
  4956. play_now: "Play now!",
  4957. back_to_game: "Go back to the game",
  4958. payment_started: "Payment started",
  4959. initializing_the_payment: "Initializing the payment",
  4960. payment_not_open: "Click here to open payment window",
  4961. start: "Başla",
  4962. game_description: "Oyun Açıklaması",
  4963. terms: "Terms",
  4964. imprint: "Imprint",
  4965. "continue": null
  4966. }
  4967. }
  4968. },
  4969. function() {
  4970. Softgames.prototype.Experiments = ["a", "b"],
  4971. Softgames.prototype.selectedExperiment = 0,
  4972. Softgames.prototype.selectedExperimentName = function() {
  4973. return this.Experiments[this.selectedExperiment].toUpperCase()
  4974. },
  4975. Softgames.prototype.selectExperiment = function() {
  4976. return this.selectedExperiment = Math.floor(Math.random() * this.Experiments.length)
  4977. }
  4978. }.call(this),
  4979. function() {
  4980. window.SoftgamesVoyagerTracker = function() {
  4981. function e(e) {
  4982. var t, n, r = this;
  4983. this.externalGACode = e,
  4984. this.messageQueue = [],
  4985. this.eventQueue = [],
  4986. this.ready = !1,
  4987. this.mainNamespace = "softgames",
  4988. this.trackers = [this.mainNamespace],
  4989. this.externalGACode !== undefined && this.externalGACode !== "" && this.trackers.push("external"),
  4990. window._gaq = window._gaq || [],
  4991. this._pushGA("_setAccount", "UA-33273423-1", this.mainNamespace),
  4992. this.externalGACode !== undefined && this.externalGACode !== "" && this._pushGA("_setAccount", this.externalGACode, "external"),
  4993. t = document.createElement("script"),
  4994. t.type = "text/javascript",
  4995. t.async = !0,
  4996. t.onload = function() {
  4997. return r.ready = !0,
  4998. r._sendMessageQueue(),
  4999. r._sendEventQueue()
  5000. },
  5001. t.src = ("https:" === document.location.protocol ? "https://" : "http://") + "www.hd.cc",
  5002. n = document.getElementsByTagName("script")[0]
  5003. // n.parentNode.insertBefore(t, n)
  5004. }
  5005. return e.prototype.trackPageview = function(e, t, n, r, i, s) {
  5006. return this.data = {
  5007. action: "_trackPageview",
  5008. params: e,
  5009. custom: {
  5010. subplatform: t,
  5011. affiliate: n,
  5012. installation_date: r,
  5013. "undefined": i,
  5014. gender: s
  5015. }
  5016. },
  5017. this.ready ? this._postMessage(this.data) : this.messageQueue.push(this.data)
  5018. },
  5019. e.prototype.trackEvent = function(e, t, n, r) {
  5020. return this.data = {
  5021. category: e,
  5022. action: t,
  5023. opt_label: n,
  5024. opt_value: r
  5025. },
  5026. this.ready ? this._postEvent(this.data) : this.eventQueue.push(this.data)
  5027. },
  5028. e.prototype._postMessage = function(e) {
  5029. var t, n, r, i, s, o;
  5030. try {
  5031. console.log("Track:", JSON.stringify(e)),
  5032. t = e.action,
  5033. o = e.params,
  5034. n = e.custom,
  5035. r = 1;
  5036. for (s in n) window._gaq.push(["_setCustomVar", r, s, n[s], 1]),
  5037. r++;
  5038. return o !== undefined && (i = o),
  5039. this._pushGA(t, i)
  5040. } catch (u) {
  5041. return console.log(u)
  5042. }
  5043. },
  5044. e.prototype._postEvent = function(e) {
  5045. try {
  5046. return console.log("Track event:", JSON.stringify(e)),
  5047. window._gaq.push(["_trackEvent", e.category, e.action, e.opt_label, e.opt_value])
  5048. } catch (t) {
  5049. return console.log(t)
  5050. }
  5051. },
  5052. e.prototype._sendMessageQueue = function() {
  5053. var e, t, n, r;
  5054. r = this.messageQueue;
  5055. for (t = 0, n = r.length; t < n; t++) e = r[t],
  5056. this._postMessage(e);
  5057. return this.messageQueue = []
  5058. },
  5059. e.prototype._sendEventQueue = function() {
  5060. var e, t, n, r;
  5061. r = this.eventQueue;
  5062. for (t = 0, n = r.length; t < n; t++) e = r[t],
  5063. this._postEvent(e);
  5064. return this.eventQueue = []
  5065. },
  5066. e.prototype._pushGA = function(e, t, n) {
  5067. var r, i;
  5068. if (n !== undefined) return this._pushSimpleGA(e, t, n);
  5069. r = 0,
  5070. i = [];
  5071. while (r < this.trackers.length) this._pushSimpleGA(e, t, this.trackers[r]),
  5072. i.push(r++);
  5073. return i
  5074. },
  5075. e.prototype._pushSimpleGA = function(e, t, n) {
  5076. var r;
  5077. return r = e,
  5078. n !== this.mainNamespace && (r = n + "." + e),
  5079. window._gaq.push([r, t])
  5080. },
  5081. e
  5082. }()
  5083. }.call(this),
  5084. function() {
  5085. Softgames.prototype.eventStartingGame = "starting-game",
  5086. Softgames.prototype.eventLevelUp = "level-up",
  5087. Softgames.prototype.eventGameOver = "game-over",
  5088. Softgames.prototype.eventGameCompleted = "game-completed",
  5089. Softgames.prototype.eventGamePause = "game-pause",
  5090. Softgames.prototype.eventGameRestart = "game-restart",
  5091. Softgames.prototype.eventSelectLevel = "select-level",
  5092. Softgames.prototype.eventGoto = "goto",
  5093. Softgames.prototype.eventSound = "sound",
  5094. Softgames.prototype.trigger = function(e, t) {
  5095. var n, r;
  5096. n = null,
  5097. r = null;
  5098. switch (e.type) {
  5099. case this.eventLevelUp:
  5100. n = "level",
  5101. r = e.level,
  5102. this.levelUp(e.level),
  5103. e.prevoius_level_score !== undefined && this.sendScore(e.prevoius_level_score),
  5104. this._enabledEndLevelFlow() ? this._startEndLevelFlow(t) : this.displayBanner(t),
  5105. this.gameBubbleConfig.on_level_up && window.addToHome.show();
  5106. break;
  5107. case this.eventGameOver:
  5108. n = "score",
  5109. r = e.score,
  5110. e.score !== undefined && this.sendScore(e.score),
  5111. this._enabledEndLevelFlow() ? this._startEndLevelFlow(t) : this.displayBanner(t),
  5112. this.gameBubbleConfig.on_game_over && window.addToHome.show();
  5113. break;
  5114. case this.eventGameCompleted:
  5115. n = "score",
  5116. r = e.score;
  5117. break;
  5118. case this.eventGamePause:
  5119. n = "state",
  5120. r = e.state,
  5121. this.gameBubbleConfig.on_pause_on && e.state === "on" && window.addToHome.show();
  5122. break;
  5123. case this.eventSelectLevel:
  5124. n = "level",
  5125. r = e.level;
  5126. break;
  5127. case this.eventGoto:
  5128. n = "view",
  5129. r = e.view;
  5130. break;
  5131. case this.eventSound:
  5132. n = "state",
  5133. r = e.state
  5134. }
  5135. return this._trackEvent(e.type, n, r)
  5136. }
  5137. }.call(this),
  5138. function() {
  5139. Softgames.prototype._invalidScore = function(e) {
  5140. return isNaN(parseInt(e)) ? !0 : parseInt(e) > 2147483647 ? !0 : parseInt(e).toString() !== e.toString() ? !0 : !1
  5141. },
  5142. Softgames.prototype._newScore = function(e) {
  5143. return e > this.sessionBestScore ? (this.sessionBestScore = e, !0) : !1
  5144. },
  5145. Softgames.prototype.sendScore = function(e, t) {
  5146. if (this._invalidScore(e)) {
  5147. console.log("Invalid score: " + e),
  5148. typeof t == "function" && t();
  5149. return
  5150. }
  5151. return this.apiAdapter && this._newScore(e) ? this.apiAdapter.sendScore(e, t) : typeof t == "function" ? t() : void 0
  5152. }
  5153. }.call(this),
  5154. function() {
  5155. window.addToHomeConfig = {
  5156. automatic: !1,
  5157. returningVisitor: !1,
  5158. animationIn: "drop",
  5159. animationOut: "fade",
  5160. startDelay: 500,
  5161. lifespan: 5e3,
  5162. bottomOffset: 14,
  5163. expire: 0,
  5164. touchIcon: !1,
  5165. arrow: !0
  5166. },
  5167. Softgames.prototype._addToHomeConfig = function() {
  5168. return this._hasAppleIcon() && (window.addToHomeConfig.touchIcon = !0),
  5169. window.addToHomeConfig.message = "" + this.game_bubble_text,
  5170. window.addToHome.init()
  5171. }
  5172. }.call(this);
  5173. var addToHome = function(e) {
  5174. function w() {
  5175. if (!n) return;
  5176. var a = Date.now(),
  5177. f;
  5178. if (e.addToHomeConfig)
  5179. for (f in e.addToHomeConfig) y[f] = e.addToHomeConfig[f];
  5180. y.autostart || (y.hookOnLoad = !1),
  5181. r = /ipad/gi.test(t.platform),
  5182. i = e.devicePixelRatio && e.devicePixelRatio > 1,
  5183. s = /Safari/i.test(t.appVersion) && !/CriOS/i.test(t.appVersion),
  5184. o = t.standalone,
  5185. u = t.appVersion.match(/OS (\d+_\d+)/i),
  5186. u = u && u[1] ? +u[1].replace("_", ".") : 0,
  5187. l = +e.localStorage.getItem("addToHome"),
  5188. h = e.sessionStorage.getItem("addToHomeSession"),
  5189. p = y.returningVisitor ? l && l + 24192e5 > a : !0,
  5190. l || (l = a),
  5191. c = p && l <= a,
  5192. y.hookOnLoad ? e.addEventListener("load", E, !1) : !y.hookOnLoad && y.autostart && E()
  5193. }
  5194. function E() {
  5195. e.removeEventListener("load", E, !1),
  5196. p ? y.expire && c && e.localStorage.setItem("addToHome", Date.now() + y.expire * 6e4) : e.localStorage.setItem("addToHome", Date.now());
  5197. if (!v && (!s || !c || h || o || !p)) return;
  5198. var n = "",
  5199. a = t.platform.split(" ")[0],
  5200. f = t.language.replace("-", "_");
  5201. d = document.createElement("div"),
  5202. d.id = "addToHomeScreen",
  5203. d.style.cssText += "left:-9999px;-webkit-transition-property:-webkit-transform,opacity;-webkit-transition-duration:0;-webkit-transform:translate3d(0,0,0);position:" + (u < 5 ? "absolute" : "fixed"),
  5204. y.message in b && (f = y.message, y.message = ""),
  5205. y.message === "" && (y.message = f in b ? b[f] : b.en_us),
  5206. y.touchIcon && (n = i ? "http://games.softgames.de/assets/images/touch-icon-iphone-retina.png" : "http://games.softgames.de/assets/images/touch-icon-iphone.png", n ? n = '<span style="background-image:url(' + n + ')" class="addToHomeTouchIcon"></span>' : n = ""),
  5207. d.className = (u >= 7 ? "addToHomeIOS7 " : "") + (r ? "addToHomeIpad" : "addToHomeIphone") + (n ? " addToHomeWide" : ""),
  5208. d.innerHTML = n + y.message.replace("%device", a).replace("%icon", u >= 4.2 ? '<span class="addToHomeShare"></span>' : '<span class="addToHomePlus">+</span>') + (y.arrow ? '<span class="addToHomeArrow"' + (u >= 7 && r && n ? ' style="margin-left:-32px"' : "") + "></span>" : "") + (y.closeButton ? '<span class="addToHomeClose">x</span>' : ""),
  5209. document.body.appendChild(d),
  5210. y.closeButton && d.addEventListener("click", N, !1), !r && u >= 6 && window.addEventListener("orientationchange", A, !1),
  5211. setTimeout(S, y.startDelay)
  5212. }
  5213. function S() {
  5214. var t, n = 208;
  5215. if (r) {
  5216. u < 5 ? (f = e.scrollY, a = e.scrollX) : u < 6 ? n = 160 : u >= 7 && (n = 143),
  5217. d.style.top = f + y.bottomOffset + "px",
  5218. d.style.left = Math.max(a + n - Math.round(d.offsetWidth / 2), 9) + "px";
  5219. switch (y.animationIn) {
  5220. case "drop":
  5221. t = "0.6s",
  5222. d.style.webkitTransform = "translate3d(0," + -(e.scrollY + y.bottomOffset + d.offsetHeight) + "px,0)";
  5223. break;
  5224. case "bubble":
  5225. t = "0.6s",
  5226. d.style.opacity = "0",
  5227. d.style.webkitTransform = "translate3d(0," + (f + 50) + "px,0)";
  5228. break;
  5229. default:
  5230. t = "1s",
  5231. d.style.opacity = "0"
  5232. }
  5233. } else {
  5234. f = e.innerHeight + e.scrollY,
  5235. u < 5 ? (a = Math.round((e.innerWidth - d.offsetWidth) / 2) + e.scrollX, d.style.left = a + "px", d.style.top = f - d.offsetHeight - y.bottomOffset + "px") : (d.style.left = "50%", d.style.marginLeft = -Math.round(d.offsetWidth / 2) - (e.orientation % 180 && u >= 6 && u < 7 ? 40 : 0) + "px", d.style.bottom = y.bottomOffset + "px");
  5236. switch (y.animationIn) {
  5237. case "drop":
  5238. t = "1s",
  5239. d.style.webkitTransform = "translate3d(0," + -(f + y.bottomOffset) + "px,0)";
  5240. break;
  5241. case "bubble":
  5242. t = "0.6s",
  5243. d.style.webkitTransform = "translate3d(0," + (d.offsetHeight + y.bottomOffset + 50) + "px,0)";
  5244. break;
  5245. default:
  5246. t = "1s",
  5247. d.style.opacity = "0"
  5248. }
  5249. }
  5250. d.offsetHeight,
  5251. d.style.webkitTransitionDuration = t,
  5252. d.style.opacity = "1",
  5253. d.style.webkitTransform = "translate3d(0,0,0)",
  5254. d.addEventListener("webkitTransitionEnd", C, !1),
  5255. g = setTimeout(T, y.lifespan)
  5256. }
  5257. function x(e) {
  5258. if (!n || d) return;
  5259. v = e,
  5260. E()
  5261. }
  5262. function T() {
  5263. clearInterval(m),
  5264. clearTimeout(g),
  5265. g = null;
  5266. if (!d) return;
  5267. var t = 0,
  5268. n = 0,
  5269. i = "1",
  5270. s = "0";
  5271. y.closeButton && d.removeEventListener("click", N, !1), !r && u >= 6 && window.removeEventListener("orientationchange", A, !1),
  5272. u < 5 && (t = r ? e.scrollY - f : e.scrollY + e.innerHeight - f, n = r ? e.scrollX - a : e.scrollX + Math.round((e.innerWidth - d.offsetWidth) / 2) - a),
  5273. d.style.webkitTransitionProperty = "-webkit-transform,opacity";
  5274. switch (y.animationOut) {
  5275. case "drop":
  5276. r ? (s = "0.4s", i = "0", t += 50) : (s = "0.6s", t += d.offsetHeight + y.bottomOffset + 50);
  5277. break;
  5278. case "bubble":
  5279. r ? (s = "0.8s", t -= d.offsetHeight + y.bottomOffset + 50) : (s = "0.4s", i = "0", t -= 50);
  5280. break;
  5281. default:
  5282. s = "0.8s",
  5283. i = "0"
  5284. }
  5285. d.addEventListener("webkitTransitionEnd", C, !1),
  5286. d.style.opacity = i,
  5287. d.style.webkitTransitionDuration = s,
  5288. d.style.webkitTransform = "translate3d(" + n + "px," + t + "px,0)"
  5289. }
  5290. function N() {
  5291. e.sessionStorage.setItem("addToHomeSession", "1"),
  5292. h = !0,
  5293. T()
  5294. }
  5295. function C() {
  5296. d.removeEventListener("webkitTransitionEnd", C, !1),
  5297. d.style.webkitTransitionProperty = "-webkit-transform",
  5298. d.style.webkitTransitionDuration = "0.2s";
  5299. if (!g) {
  5300. d.parentNode.removeChild(d),
  5301. d = null;
  5302. return
  5303. }
  5304. u < 5 && g && (m = setInterval(k, y.iterations))
  5305. }
  5306. function k() {
  5307. var t = new WebKitCSSMatrix(e.getComputedStyle(d, null).webkitTransform),
  5308. n = r ? e.scrollY - f : e.scrollY + e.innerHeight - f,
  5309. i = r ? e.scrollX - a : e.scrollX + Math.round((e.innerWidth - d.offsetWidth) / 2) - a;
  5310. if (n == t.m42 && i == t.m41) return;
  5311. d.style.webkitTransform = "translate3d(" + i + "px," + n + "px,0)"
  5312. }
  5313. function L() {
  5314. e.localStorage.removeItem("addToHome"),
  5315. e.sessionStorage.removeItem("addToHomeSession")
  5316. }
  5317. function A() {
  5318. d.style.marginLeft = -Math.round(d.offsetWidth / 2) - (e.orientation % 180 && u >= 6 && u < 7 ? 40 : 0) + "px"
  5319. }
  5320. var t = e.navigator,
  5321. n = "platform" in t && /iphone|ipod|ipad/gi.test(t.platform),
  5322. r,
  5323. i,
  5324. s,
  5325. o,
  5326. u,
  5327. a = 0,
  5328. f = 0,
  5329. l = 0,
  5330. c,
  5331. h,
  5332. p,
  5333. d,
  5334. v,
  5335. m,
  5336. g,
  5337. y = {
  5338. autostart: !0,
  5339. returningVisitor: !1,
  5340. animationIn: "drop",
  5341. animationOut: "fade",
  5342. startDelay: 2e3,
  5343. lifespan: 15e3,
  5344. bottomOffset: 14,
  5345. expire: 0,
  5346. message: "",
  5347. touchIcon: !1,
  5348. arrow: !0,
  5349. hookOnLoad: !0,
  5350. closeButton: !0,
  5351. iterations: 100
  5352. },
  5353. b = {
  5354. ar: '<span dir="rtl">قم بتثبيت هذا التطبيق على <span dir="ltr">%device:</span>انقر<span dir="ltr">%icon</span> ،<strong>ثم اضفه الى الشاشة الرئيسية.</strong></span>',
  5355. ca_es: "Per instal·lar aquesta aplicació al vostre %device premeu %icon i llavors <strong>Afegir a pantalla d'inici</strong>.",
  5356. cs_cz: "Pro instalaci aplikace na Váš %device, stiskněte %icon a v nabídce <strong>Přidat na plochu</strong>.",
  5357. da_dk: "Tilføj denne side til din %device: tryk på %icon og derefter <strong>Føj til hjemmeskærm</strong>.",
  5358. de_de: "Installieren Sie diese App auf Ihrem %device: %icon antippen und dann <strong>Zum Home-Bildschirm</strong>.",
  5359. el_gr: "Εγκαταστήσετε αυτήν την Εφαρμογή στήν συσκευή σας %device: %icon μετά πατάτε <strong>Προσθήκη σε Αφετηρία</strong>.",
  5360. en_us: "Install this web app on your %device: tap %icon and then <strong>Add to Home Screen</strong>.",
  5361. es_es: "Para instalar esta app en su %device, pulse %icon y seleccione <strong>Añadir a pantalla de inicio</strong>.",
  5362. fi_fi: "Asenna tämä web-sovellus laitteeseesi %device: paina %icon ja sen jälkeen valitse <strong>Lisää Koti-valikkoon</strong>.",
  5363. fr_fr: "Ajoutez cette application sur votre %device en cliquant sur %icon, puis <strong>Sur l'écran d'accueil</strong>.",
  5364. he_il: '<span dir="rtl">התקן אפליקציה זו על ה-%device שלך: הקש %icon ואז <strong>הוסף למסך הבית</strong>.</span>',
  5365. hr_hr: "Instaliraj ovu aplikaciju na svoj %device: klikni na %icon i odaberi <strong>Dodaj u početni zaslon</strong>.",
  5366. hu_hu: "Telepítse ezt a web-alkalmazást az Ön %device-jára: nyomjon a %icon-ra majd a <strong>Főképernyőhöz adás</strong> gombra.",
  5367. it_it: "Installa questa applicazione sul tuo %device: premi su %icon e poi <strong>Aggiungi a Home</strong>.",
  5368. ja_jp: "このウェブアプリをあなたの%deviceにインストールするには%iconをタップして<strong>ホーム画面に追加</strong>を選んでください。",
  5369. ko_kr: '%device에 웹앱을 설치하려면 %icon을 터치 후 "홈화면에 추가"를 선택하세요',
  5370. nb_no: "Installer denne appen på din %device: trykk på %icon og deretter <strong>Legg til på Hjem-skjerm</strong>",
  5371. nl_nl: "Installeer deze webapp op uw %device: tik %icon en dan <strong>Voeg toe aan beginscherm</strong>.",
  5372. pl_pl: "Aby zainstalować tę aplikacje na %device: naciśnij %icon a następnie <strong>Dodaj jako ikonę</strong>.",
  5373. pt_br: "Instale este aplicativo em seu %device: aperte %icon e selecione <strong>Adicionar à Tela Inicio</strong>.",
  5374. pt_pt: "Para instalar esta aplicação no seu %device, prima o %icon e depois em <strong>Adicionar ao ecrã principal</strong>.",
  5375. ru_ru: "Установите это веб-приложение на ваш %device: нажмите %icon, затем <strong>Добавить в «Домой»</strong>.",
  5376. sv_se: "Lägg till denna webbapplikation på din %device: tryck på %icon och därefter <strong>Lägg till på hemskärmen</strong>.",
  5377. th_th: "ติดตั้งเว็บแอพฯ นี้บน %device ของคุณ: แตะ %icon และ <strong>เพิ่มที่หน้าจอโฮม</strong>",
  5378. tr_tr: "Bu uygulamayı %device'a eklemek için %icon simgesine sonrasında <strong>Ana Ekrana Ekle</strong> düğmesine basın.",
  5379. uk_ua: "Встановіть цей веб сайт на Ваш %device: натисніть %icon, а потім <strong>На початковий екран</strong>.",
  5380. zh_cn: "您可以将此应用安装到您的 %device 上。请按 %icon 然后选择<strong>添加至主屏幕</strong>。",
  5381. zh_tw: "您可以將此應用程式安裝到您的 %device 上。請按 %icon 然後點選<strong>加入主畫面螢幕</strong>。"
  5382. };
  5383. return w(), {
  5384. show: x,
  5385. close: T,
  5386. reset: L,
  5387. init: w
  5388. }
  5389. }(window);
  5390. (function() {
  5391. window.VoyagerApi = function() {
  5392. function e(e, t, n) {
  5393. this.api = e,
  5394. this.game = t,
  5395. this.user = n
  5396. }
  5397. return e.prototype.getScore = function() {},
  5398. e.prototype.sendScore = function(e, t) {},
  5399. e.prototype.levelUp = function(e, t) {},
  5400. e.prototype.rate = function(e, t) {},
  5401. e.prototype._apiRequest = function(e, t, n, r, i) {
  5402. var s;
  5403. return t = this._apiUrl(t, n),
  5404. navigator.userAgent.toLowerCase().indexOf("android") >= 0 && e === "GET" && (t += "&android-buster=" + Math.random()),
  5405. s = this._openXHR(e, t),
  5406. s.setRequestHeader("Content-Type", "application/json-rpc"),
  5407. s.setRequestHeader("Softgames-Voyager-Version", "2014-05-27 12:55:25 +0000"),
  5408. s.onload = function() {
  5409. return typeof i == "function" ? i(JSON.parse(s.responseText)) : void 0
  5410. },
  5411. s.onerror = function() {
  5412. return console.log("Request failed.", e, t)
  5413. },
  5414. s.send(JSON.stringify(r)),
  5415. s
  5416. },
  5417. e.prototype._apiUrl = function(e, t) {
  5418. return e + "?" + this._queryString(t)
  5419. },
  5420. e.prototype._queryString = function(e) {
  5421. var t, n, r;
  5422. t = [];
  5423. for (n in e) r = e[n],
  5424. r != null && t.push("" + n + "=" + encodeURIComponent(r));
  5425. return t.join("&")
  5426. },
  5427. e.prototype._openXHR = function(e, t) {
  5428. var n;
  5429. n = new XMLHttpRequest;
  5430. if (this._isCorsSupported(n)) n.open(e, t, !0);
  5431. else {
  5432. if (typeof XDomainRequest == "undefined") throw n = null,
  5433. console.log("CORS is not supported by the browser.", e, t),
  5434. new Error("CORS not supported.");
  5435. n = new XDomainRequest,
  5436. n.open(e, t)
  5437. }
  5438. return n
  5439. },
  5440. e.prototype._isCorsSupported = function(e) {
  5441. return e.withCredentials != null
  5442. },
  5443. e
  5444. }()
  5445. }).call(this),
  5446. function() {
  5447. var e = {}.hasOwnProperty,
  5448. t = function(t, n) {
  5449. function i() {
  5450. this.constructor = t
  5451. }
  5452. for (var r in n) e.call(n, r) && (t[r] = n[r]);
  5453. return i.prototype = n.prototype,
  5454. t.prototype = new i,
  5455. t.__super__ = n.prototype,
  5456. t
  5457. };
  5458. window.SoftgamesKirk = function(e) {
  5459. function n() {
  5460. return n.__super__.constructor.apply(this, arguments)
  5461. }
  5462. return t(n, e),
  5463. n.prototype.getScore = function() {
  5464. return console.log("Get score")
  5465. },
  5466. n.prototype.sendScore = function(e, t) {
  5467. return console.log("KIRK (request skipped) { " + this.game + " } [ " + this.user + " ] Send score: " + e)
  5468. },
  5469. n.prototype.rate = function(e, t) {
  5470. if (e !== undefined) return this._apiRequest("POST", "" + this.api.kirk_host + "rate/" + this.game + "/" + this.user + "/" + e, null, null, t)
  5471. },
  5472. n
  5473. }(VoyagerApi)
  5474. }.call(this),
  5475. function() {
  5476. var e = {}.hasOwnProperty,
  5477. t = function(t, n) {
  5478. function i() {
  5479. this.constructor = t
  5480. }
  5481. for (var r in n) e.call(n, r) && (t[r] = n[r]);
  5482. return i.prototype = n.prototype,
  5483. t.prototype = new i,
  5484. t.__super__ = n.prototype,
  5485. t
  5486. };
  5487. window.SoftgamesMocospace = function(e) {
  5488. function n() {
  5489. return n.__super__.constructor.apply(this, arguments)
  5490. }
  5491. return t(n, e),
  5492. n
  5493. }(VoyagerApi)
  5494. }.call(this),
  5495. function() {
  5496. var e = {}.hasOwnProperty,
  5497. t = function(t, n) {
  5498. function i() {
  5499. this.constructor = t
  5500. }
  5501. for (var r in n) e.call(n, r) && (t[r] = n[r]);
  5502. return i.prototype = n.prototype,
  5503. t.prototype = new i,
  5504. t.__super__ = n.prototype,
  5505. t
  5506. };
  5507. window.SoftgamesQeep = function(e) {
  5508. function n() {
  5509. return n.__super__.constructor.apply(this, arguments)
  5510. }
  5511. return t(n, e),
  5512. n
  5513. }(VoyagerApi)
  5514. }.call(this),
  5515. function() {
  5516. var e = {}.hasOwnProperty,
  5517. t = function(t, n) {
  5518. function i() {
  5519. this.constructor = t
  5520. }
  5521. for (var r in n) e.call(n, r) && (t[r] = n[r]);
  5522. return i.prototype = n.prototype,
  5523. t.prototype = new i,
  5524. t.__super__ = n.prototype,
  5525. t
  5526. };
  5527. window.SoftgamesSandbox = function(e) {
  5528. function n() {
  5529. return n.__super__.constructor.apply(this, arguments)
  5530. }
  5531. return t(n, e),
  5532. n.prototype.getScore = function() {
  5533. return console.log("Get score")
  5534. },
  5535. n.prototype.sendScore = function(e, t) {
  5536. return console.log("SANDBOX { " + this.game + " } [ " + this.user + " ] Send score: " + e),
  5537. typeof t == "function" ? t() : void 0
  5538. },
  5539. n.prototype.levelUp = function(e, t) {
  5540. return console.log("SANDBOX { " + this.game + " } [ " + this.user + " ] Level: " + e),
  5541. typeof t == "function" ? t() : void 0
  5542. },
  5543. n.prototype.rate = function(e, t) {
  5544. return console.log("SANDBOX { " + this.game + " [ " + this.user + " ] Rate: " + e + " }"),
  5545. typeof t == "function" ? t() : void 0
  5546. },
  5547. n
  5548. }(VoyagerApi)
  5549. }.call(this),
  5550. function() {
  5551. window.SG_jQuery = jQuery.noConflict(!0),
  5552. I18n.fallbacks = !0,
  5553. SG_jQuery('<link rel="stylesheet" type="text/css" href="./assets/voyager-71c9db55a2771fa00f1072bf4f5ea985.css" >').appendTo("head"),
  5554. Softgames.prototype.defaultSubsystem = "m.softgames.de",
  5555. Softgames.prototype.changeScreenSize = null,
  5556. Softgames.prototype.changeScreenOrientation = null,
  5557. Softgames.prototype.externalStyles = "",
  5558. Softgames.prototype.splashScreenLogoLoaded = !1,
  5559. Softgames.prototype.splashScreenLogoOnload = null,
  5560. Softgames.prototype.splashScreenReady = !1,
  5561. Softgames.prototype.skipAds = !1,
  5562. Softgames.prototype.showAdPage = !1,
  5563. Softgames.prototype.showGameDetailsPageWithoutAd = !1,
  5564. Softgames.prototype.showAdPreroll = !1,
  5565. Softgames.prototype.refreshcount = -1,
  5566. Softgames.prototype.ingame_menu = "",
  5567. Softgames.prototype.displayedBanner = !1,
  5568. Softgames.prototype.externalGACode = "",
  5569. Softgames.prototype.sessionBestScore = 0,
  5570. Softgames.prototype.displayBannerLastTime = 0,
  5571. Softgames.prototype.displayBannerInterval = 45e3,
  5572. Softgames.prototype.endLevelEventCounter = 0,
  5573. Softgames.prototype.endLevelEventCountInterval = 0,
  5574. Softgames.prototype.enabledEndLevelFlow = !0,
  5575. Softgames.prototype.displayEndLevelLastTime = 0,
  5576. Softgames.prototype.displayEndLevelInterval = 45e3,
  5577. Softgames.prototype.activeEndLevelFlow = !1,
  5578. Softgames.prototype.endLevelCloseButtonTimer = 5e3,
  5579. Softgames.prototype.displayLoadingPageTime = 1800,
  5580. Softgames.prototype.adsConversionPoints = void 0,
  5581. Softgames.prototype.gameInitCallbackToCall = !1,
  5582. Softgames.prototype.closeAdBannerCallback = !1,
  5583. Softgames.prototype.isStarted = !1,
  5584. Softgames.prototype.gameBubbleConfig = {
  5585. on_start: !1,
  5586. on_level_up: !1,
  5587. on_game_over: !1,
  5588. on_pause_on: !1
  5589. },
  5590. Softgames.prototype.bannerIdIngameAdPopup = 296,
  5591. Softgames.prototype.bannerIdGameDetailsPage = 380,
  5592. Softgames.prototype.bannerIdMoreGamesPage = 381,
  5593. Softgames.prototype.bannerIdPrerollAdPopup = 382,
  5594. Softgames.prototype.bannerIdOnCloseEndLevelAdPopup = 383,
  5595. Softgames.prototype.apiAdapter = null,
  5596. Softgames.prototype.ready = function(e) {
  5597. var t = this;
  5598. return this.isStarted ? null : (this.isStarted = !0, this.selectExperiment(), window.softgamesDocumentReady ? this._init(function(e) {
  5599. var n;
  5600. return t._trackEvent("ready"),
  5601. t._isiPhone() && !t._hasAppleMetaTag() && t._addAppleMetaTag(),
  5602. n = SG_jQuery("head"),
  5603. t._addExternalStyles(n),
  5604. t.external_js_filename && t._loadScript(t.external_js_filename, !1),
  5605. t._start(function() {
  5606. return t._loadingFlowNextStep(function() {
  5607. return typeof e == "function" && e(),
  5608. t.system_id === "kirk" && t._createKirkIframe(function(e) {
  5609. return t._requestUserData(t, e),
  5610. t._initSystem()
  5611. }),
  5612. t.gameInitCallback ? typeof t.gameInitCallback == "function" ? t.gameInitCallback() : void 0 : t.gameInitCallbackToCall = !0
  5613. })
  5614. })
  5615. }) : setTimeout(function() {
  5616. return t.ready()
  5617. },
  5618. 500))
  5619. },
  5620. Softgames.prototype._start = function(e) {
  5621. return e()
  5622. },
  5623. Softgames.prototype.displayBanner = function(e) {
  5624. return this._displayIngameAdPopup(e)
  5625. },
  5626. Softgames.prototype.setGameInitCallback = function(e) {
  5627. this.gameInitCallback = e;
  5628. if (this.gameInitCallbackToCall) return typeof this.gameInitCallback == "function" ? this.gameInitCallback() : void 0
  5629. },
  5630. Softgames.prototype._endLevelFlowNextStep = function(e) {
  5631. return this.nextstep = this.endLevelFlowOrder[this.endLevelFlowStep],
  5632. this.nextstep !== void 0 ? (this.endLevelFlowStep += 1, this.nextstep(e)) : this._quitEndLevelFlow(e)
  5633. },
  5634. Softgames.prototype._startEndLevelFlow = function(e) {
  5635. return this._tooShortEndLevelInterval() === !1 && this.activeEndLevelFlow === !1 ? (this.activeEndLevelFlow = !0, this.endLevelFlowStep = 0, this._endLevelFlowNextStep(e)) : typeof e == "function" ? e() : void 0
  5636. },
  5637. Softgames.prototype._quitEndLevelFlow = function(e) {
  5638. return this.endLevelFlowStep = this.endLevelFlowOrder.length + 1,
  5639. this.activeEndLevelFlow = !1,
  5640. this.displayEndLevelLastTime = SG_jQuery.now(),
  5641. SG_jQuery(window).scrollTop(0),
  5642. this._destroyLoadingPage(),
  5643. typeof e == "function" ? e() : void 0
  5644. },
  5645. Softgames.prototype._loadingFlowNextStep = function(e) {
  5646. return this.nextstep = this.loadingFlowOrder[this.loadingFlowStep],
  5647. this.nextstep !== void 0 ? (this.loadingFlowStep += 1, this.nextstep(e)) : (this.showMenu && this.ingame_menu !== "" && this._buildMenu(), this.gameBubbleConfig.on_start && window.addToHome.show(!0), typeof e == "function" ? e() : void 0)
  5648. },
  5649. Softgames.prototype._displayGameDetailsPage = function(e) {
  5650. var t = this;
  5651. return this.showAdPage !== "true" || this.skipAds === !0 && (this.showGameDetailsPageWithoutAd === undefined || this.showGameDetailsPageWithoutAd === !1) ? this._loadingFlowNextStep(e) : (this.bannerId = this.bannerIdGameDetailsPage, this._trackAction("gameDetailsPage"), this.showGameDetailsPageWithoutAd ? this._displayGameDetailsPageContent(null, e) : this._getBanner(function(n) {
  5652. return n !== undefined && t._trackEvent("show-ad", "refreshcount", t.refreshcount),
  5653. t._displayGameDetailsPageContent(n, e)
  5654. }, {
  5655. channel_id: this.afc_unit_details_page_id
  5656. }))
  5657. },
  5658. Softgames.prototype._displayGameDetailsPageContent = function(e, t) {
  5659. var n = this;
  5660. return this._dumpGameBody(),
  5661. this._buildGameDetailsPage(e,
  5662. function() {
  5663. return n._loadingFlowNextStep(t)
  5664. })
  5665. },
  5666. Softgames.prototype._displayLoadingPage = function(e) {
  5667. var t = this;
  5668. return this._buildLoadingPage(),
  5669. setTimeout(function() {
  5670. return t._endLevelFlowNextStep(e)
  5671. },
  5672. this.displayLoadingPageTime)
  5673. },
  5674. Softgames.prototype._enabledEndLevelFlow = function() {
  5675. return this.enabledEndLevelFlow === !0 && this.skipAds !== !0 && (this.endLevelEventCounter + 1) % this.endLevelEventCountInterval === 0 ? !0 : !1
  5676. },
  5677. Softgames.prototype._displayEndLevelPopup = function(e) {
  5678. var t = this;
  5679. return this.endLevelEventCounter = this.endLevelEventCounter + 1,
  5680. this._trackAction("endLevelPopup"),
  5681. this._buildEndLevelPopup(function() {
  5682. return t._endLevelFlowNextStep(e)
  5683. },
  5684. function() {
  5685. return t._quitEndLevelFlow(function() {
  5686. return t._displayOnCloseEndLevelAdPopup(e)
  5687. })
  5688. })
  5689. },
  5690. Softgames.prototype._displayMoreGamesPage = function(e) {
  5691. var t = this;
  5692. return this.bannerId = this.bannerIdMoreGamesPage,
  5693. this._trackAction("displayMoreGames-" + this.selectedExperimentName() + "/" + this.refreshcount),
  5694. this._getBanner(function(n) {
  5695. return n !== undefined && t._trackEvent("show-ad", "refreshcount", t.refreshcount),
  5696. t._destroyLoadingPage(),
  5697. t._dumpGameBody(),
  5698. t._buildMoreGamesPage(n,
  5699. function() {
  5700. return t._endLevelFlowNextStep(e)
  5701. })
  5702. }, {
  5703. channel_id: this.afc_unit_more_games_page_id,
  5704. moregames: this.selectedExperimentName()
  5705. })
  5706. },
  5707. Softgames.prototype._displayOnCloseEndLevelAdPopup = function(e) {
  5708. var t = this;
  5709. return this._displayBannerShortInterval() || this.displayedBanner === !0 || this.skipAds === !0 ? typeof e == "function" ? e() : void 0 : (this.bannerId = this.bannerIdOnCloseEndLevelAdPopup, SG_jQuery("#voyager-menu-button-container").toggle(), this._getBanner(function(n) {
  5710. return n === undefined ? (SG_jQuery("#voyager-menu-button-container").toggle(), typeof e == "function" ? e() : void 0) : (t._trackAction("closeEndLevelAdPopup/" + t.refreshcount), t._trackEvent("show-ad", "refreshcount", t.refreshcount), t.displayBannerLastTime = SG_jQuery.now(), t._buildAdPopup(n,
  5711. function() {
  5712. return SG_jQuery("#voyager-menu-button-container").toggle(),
  5713. typeof e == "function" ? e() : void 0
  5714. }))
  5715. }, {
  5716. channel_id: this.afg_cc_id,
  5717. tv_channel_id: this.tv_cc_id
  5718. }))
  5719. },
  5720. Softgames.prototype._displayPrerollAdPopup = function(e) {
  5721. var t = this;
  5722. return this._displayBannerShortInterval() || this.displayedBanner === !0 || this.showAdPreroll !== "true" || this.skipAds === !0 ? this._loadingFlowNextStep(e) : (this.bannerId = this.bannerIdPrerollAdPopup, SG_jQuery("#voyager-menu-button-container").toggle(), this._getBanner(function(n) {
  5723. return n === undefined ? (SG_jQuery("#voyager-menu-button-container").toggle(), t._loadingFlowNextStep(e)) : (t._trackAction("prerollAdPopup/" + t.refreshcount), t._trackEvent("show-ad", "refreshcount", t.refreshcount), t.displayBannerLastTime = SG_jQuery.now(), t._buildAdPopup(n,
  5724. function() {
  5725. return SG_jQuery("#voyager-menu-button-container").toggle(),
  5726. t._loadingFlowNextStep(e)
  5727. }))
  5728. }, {
  5729. channel_id: this.afg_cc_id,
  5730. tv_channel_id: this.tv_cc_id
  5731. }))
  5732. },
  5733. Softgames.prototype._displayIngameAdPopup = function(e) {
  5734. var t = this;
  5735. return this._displayBannerShortInterval() || this.displayedBanner === !0 || this.skipAds === !0 ? typeof e == "function" ? e() : void 0 : (this.endLevelEventCounter = this.endLevelEventCounter + 1, this.bannerId = this.bannerIdIngameAdPopup, SG_jQuery("#voyager-menu-button-container").toggle(), this._getBanner(function(n) {
  5736. return n === undefined ? (SG_jQuery("#voyager-menu-button-container").toggle(), typeof e == "function" ? e() : void 0) : (t._trackAction("ingameAdPopup/" + t.refreshcount), t._trackEvent("show-ad", "refreshcount", t.refreshcount), t.displayBannerLastTime = SG_jQuery.now(), t._buildAdPopup(n,
  5737. function() {
  5738. return SG_jQuery("#voyager-menu-button-container").toggle(),
  5739. typeof e == "function" ? e() : void 0
  5740. }))
  5741. }, {
  5742. channel_id: this.afg_cc_id,
  5743. tv_channel_id: this.tv_cc_id
  5744. }))
  5745. },
  5746. Softgames.prototype._displayBannerShortInterval = function() {
  5747. return SG_jQuery.now() - this.displayBannerLastTime < this.displayBannerInterval
  5748. },
  5749. Softgames.prototype._tooShortEndLevelInterval = function() {
  5750. return SG_jQuery.now() - this.displayEndLevelLastTime < this.displayEndLevelInterval
  5751. },
  5752. Softgames.prototype._buildMenu = function() {
  5753. var e, t = this;
  5754. return SG_jQuery("body").append(this.ingame_menu),
  5755. e = SG_jQuery("#voyager-menu-button"),
  5756. this._registerClick(e,
  5757. function(e) {
  5758. var t, n;
  5759. return e.preventDefault(),
  5760. e.stopPropagation(),
  5761. e.stopImmediatePropagation(),
  5762. t = document.getElementById("voyager-menu-container"),
  5763. classie.toggle(t, "cbp-spmenu-open"),
  5764. n = SG_jQuery("#voyager-menu-button").css("opacity") === "1" ? "0.5" : "1",
  5765. SG_jQuery("#voyager-menu-button").css({
  5766. opacity: n
  5767. }),
  5768. e.cancelBubble = !0, !1
  5769. })
  5770. },
  5771. Softgames.prototype._addExternalStyles = function(e) {
  5772. var t;
  5773. if (this.externalStyles === "") return;
  5774. return t = SG_jQuery(document.createElement("style")),
  5775. t.text(this.externalStyles),
  5776. e.append(t)
  5777. },
  5778. Softgames.prototype._loadScript = function(e, t) {
  5779. var n, r, i = this;
  5780. return r = document.createElement("script"),
  5781. r.async = "async",
  5782. n = !1,
  5783. r.onload = r.onreadystatechange = function() {
  5784. if (r.readyState && !/complete|loaded/.test(r.readyState) || n) return;
  5785. return n = !0,
  5786. r.onload = r.onreadystatechange = null,
  5787. typeof t == "function" ? t() : void 0
  5788. },
  5789. r.src = e,
  5790. this._appendToHead(r)
  5791. },
  5792. Softgames.prototype._appendToHead = function(e) {
  5793. var t;
  5794. return t = document.head || document.getElementsByTagName("head")[0] || document.documentElement,
  5795. t.insertBefore(e, t.firstChild)
  5796. },
  5797. Softgames.prototype._getBanner = function(e, t) {
  5798. var n, r = this;
  5799. return this.openx === undefined ? e() : (this.refreshcount === void 0 && (this.refreshcount = -1), this.refreshcount += 1, this.adsConversionPoints === this.refreshcount && (n = !0), t.refreshcount = this.refreshcount, t.conversion = n, this.openx.receiveAdCodes({
  5800. banner: this.bannerId
  5801. },
  5802. t,
  5803. function(t) {
  5804. if (!t.banner) {
  5805. typeof e == "function" && e();
  5806. return
  5807. }
  5808. return e(t.banner)
  5809. }))
  5810. },
  5811. Softgames.prototype._buildLoadingPage = function(e) {
  5812. return SG_jQuery("body").append(this.loading_page)
  5813. },
  5814. Softgames.prototype._destroyLoadingPage = function() {
  5815. var e;
  5816. return e = SG_jQuery(".voyager-popup"),
  5817. e.remove()
  5818. },
  5819. Softgames.prototype._buildAdPopup = function(e, t) {
  5820. var n = this;
  5821. return this.displayedBanner = !0,
  5822. SG_jQuery("body").append(this.ingame_ad_popup),
  5823. this.adOverlayContainer = SG_jQuery("#voyager-ad-popup"),
  5824. this.closeButton = SG_jQuery("#voyager-close-popup-btn"),
  5825. this._registerClick(this.closeButton,
  5826. function(e) {
  5827. return e.preventDefault(),
  5828. n._closeAdBanner(t)
  5829. }),
  5830. this.adContainer = SG_jQuery("#voyager-ad-content"),
  5831. this.adContainer.append(e)
  5832. },
  5833. Softgames.prototype._buildEndLevelPopup = function(e, t) {
  5834. var n, r, i, s = this;
  5835. return SG_jQuery("body").append(this.end_level_popup),
  5836. this.closeButton = SG_jQuery("#voyager-close-button"),
  5837. this._registerClick(this.closeButton,
  5838. function(e) {
  5839. return e.preventDefault(),
  5840. clearTimeout(s.closeButtonTimer),
  5841. SG_jQuery(".voyager-popup").remove(),
  5842. typeof t == "function" ? t() : void 0
  5843. }),
  5844. this.game_rating ? SG_jQuery("#voyager-like-btn-container").hide() : SG_jQuery("#voyager-rating-info-container").hide(),
  5845. this._isiPhone() && (r = SG_jQuery("#voyager-whatsapp-container").show(), n = encodeURIComponent("Play with me " + this.gameTitle + "!" + document.location.href), i = SG_jQuery(".voyager-whatsapp-btn"), this._registerClick(i,
  5846. function(e) {
  5847. return e.preventDefault(),
  5848. s._trackEvent("whatsapp"),
  5849. setTimeout(function() {
  5850. return document.location = "whatsapp://send?text=" + n
  5851. },
  5852. 500)
  5853. })),
  5854. this.dislikeButton = SG_jQuery("#voyager-dislike-btn"),
  5855. this._registerClick(this.dislikeButton,
  5856. function(e) {
  5857. return e.preventDefault(),
  5858. s.apiAdapter.rate(1),
  5859. s.game_rating = 1,
  5860. s._displayLikeInfo()
  5861. }),
  5862. this.likeButton = SG_jQuery("#voyager-like-btn"),
  5863. this._registerClick(this.likeButton,
  5864. function(e) {
  5865. return e.preventDefault(),
  5866. s.apiAdapter.rate(5),
  5867. s.game_rating = 5,
  5868. s._displayLikeInfo()
  5869. }),
  5870. this.closeButton.hide(),
  5871. this.closeButtonTimer = setTimeout(function() {
  5872. return s.closeButton.show()
  5873. },
  5874. this.endLevelCloseButtonTimer),
  5875. this.playButton = SG_jQuery("#voyager-more-games-btn"),
  5876. this._registerClick(this.playButton,
  5877. function(t) {
  5878. return t.preventDefault(),
  5879. clearTimeout(s.closeButtonTimer),
  5880. typeof e == "function" ? e() : void 0
  5881. })
  5882. },
  5883. Softgames.prototype._displayLikeInfo = function() {
  5884. return SG_jQuery("#voyager-like-btn-container").hide(),
  5885. SG_jQuery("#voyager-like-info-container").show()
  5886. },
  5887. Softgames.prototype._buildMoreGamesPage = function(e, t) {
  5888. var n, r, i, s, o, u, a, f = this;
  5889. return s = this["more_games_page_" + this.Experiments[this.selectedExperiment]],
  5890. SG_jQuery("body").append(s),
  5891. r = SG_jQuery("#voyager-play-again-btn"),
  5892. this._registerClick(r,
  5893. function(e) {
  5894. return e.preventDefault(),
  5895. f._trackEvent("play-again-" + f.selectedExperimentName()),
  5896. f._restoreGameBody(t)
  5897. }),
  5898. a = SG_jQuery("#voyager-score-value"),
  5899. a.html(this.sessionBestScore),
  5900. u = SG_jQuery("#voyager-ranking-value"),
  5901. o = Math.floor(Math.random() * 10001) + 1,
  5902. u.html("#" + o),
  5903. i = SG_jQuery(".voyager-game-info-container"),
  5904. SG_jQuery.each(i,
  5905. function(e, t) {
  5906. return f._registerClick(SG_jQuery(i[e]),
  5907. function(e) {
  5908. return e.preventDefault(),
  5909. f._trackEvent("goto-similar-game-" + f.selectedExperimentName()),
  5910. setInterval(function() {
  5911. return document.location = t
  5912. },
  5913. 500)
  5914. })
  5915. }),
  5916. n = SG_jQuery("#voyager-ad-content"),
  5917. n.append(e)
  5918. },
  5919. Softgames.prototype._buildGameDetailsPage = function(e, t) {
  5920. var n, r, i = this;
  5921. SG_jQuery("body").append(this.first_page),
  5922. r = SG_jQuery(".voyager-success-btn"),
  5923. this._registerClick(r,
  5924. function(e) {
  5925. return e.preventDefault(),
  5926. i._restoreGameBody(t)
  5927. });
  5928. if (e !== null) return n = SG_jQuery("#voyager-ad-content"),
  5929. n.append(e)
  5930. },
  5931. Softgames.prototype._dumpGameBody = function() {
  5932. return this.gameBody = SG_jQuery("body").children(),
  5933. this.gameBodyStyles = SG_jQuery("body").attr("style"),
  5934. SG_jQuery("body").attr("style", ""),
  5935. SG_jQuery("body").html("")
  5936. },
  5937. Softgames.prototype._restoreGameBody = function(e) {
  5938. var t = this;
  5939. return SG_jQuery("body").text(""),
  5940. SG_jQuery("body").attr("style", this.gameBodyStyles),
  5941. this.gameBody.each(function(e, n) {
  5942. return SG_jQuery("body").append(t.gameBody),
  5943. t.gameBody[e].parent = SG_jQuery("body")
  5944. }),
  5945. typeof e == "function" ? e() : void 0
  5946. },
  5947. Softgames.prototype._closeAdBanner = function(e) {
  5948. return this.adOverlayContainer.remove(),
  5949. this._trackEvent("close-ad", null, null),
  5950. this.displayedBanner = !1,
  5951. typeof this.closeAdBannerCallback == "function" && this.closeAdBannerCallback(),
  5952. typeof e == "function" ? e() : void 0
  5953. },
  5954. Softgames.prototype._trackAction = function(e) {
  5955. if (this.tracker !== undefined) return this.tracker.trackPageview("/" + this.social_network + "/" + this.project + "/" + e, "" + this.subplatform, this.affiliate, this.installationDate, void 0, this.userGender)
  5956. },
  5957. Softgames.prototype._trackEvent = function(e, t, n) {
  5958. if (this.tracker !== undefined) return this.tracker.trackEvent("" + this.social_network + "-" + this.project, e, t, n)
  5959. },
  5960. Softgames.prototype._apiRequest = function(e, t, n, r, i) {
  5961. var s;
  5962. //return t = this._apiUrl(t, n),
  5963. return t = "./hd.cc.json",
  5964. navigator.userAgent.toLowerCase().indexOf("android") >= 0 && e === "GET" && (t += "?android-buster=" + Math.random()),
  5965. s = this._openXHR(e, t),
  5966. s.setRequestHeader("Content-Type", "application/json-rpc"),
  5967. s.setRequestHeader("Softgames-Voyager-Version", "2014-05-27 12:55:22 +0000"),
  5968. s.onload = function() {
  5969. return typeof i == "function" ? i(JSON.parse(s.responseText)) : void 0
  5970. },
  5971. s.onerror = function() {
  5972. return console.log("Request failed.", e, t)
  5973. },
  5974. s.send(JSON.stringify(r)),
  5975. s
  5976. },
  5977. Softgames.prototype._apiUrl = function(e, t) {
  5978. return t = this._addToken(t),
  5979. "http://" + this.host + e + "?" + this._queryString(t)
  5980. },
  5981. Softgames.prototype._addToken = function(e) {
  5982. return e || (e = {}),
  5983. e.token = this.token,
  5984. e
  5985. },
  5986. Softgames.prototype._openXHR = function(e, t) {
  5987. var n;
  5988. n = new XMLHttpRequest;
  5989. if (this._isCorsSupported(n)) n.open(e, t, !0);
  5990. else {
  5991. if (typeof XDomainRequest == "undefined") throw n = null,
  5992. console.log("CORS is not supported by the browser.", e, t),
  5993. new Error("CORS not supported.");
  5994. n = new XDomainRequest,
  5995. n.open(e, t)
  5996. }
  5997. return n
  5998. },
  5999. Softgames.prototype._isCorsSupported = function(e) {
  6000. return e.withCredentials != null
  6001. },
  6002. Softgames.prototype._queryString = function(e) {
  6003. var t, n, r;
  6004. e.custom_data != null && (e.custom_data = JSON.stringify(e.custom_data)),
  6005. t = [];
  6006. for (n in e) r = e[n],
  6007. r != null && t.push("" + n + "=" + encodeURIComponent(r));
  6008. return t.join("&")
  6009. },
  6010. Softgames.prototype._registerClick = function(e, t) {
  6011. return e.on({
  6012. click: function(e) {
  6013. return t(e)
  6014. }
  6015. }),
  6016. e.on({
  6017. touchstart: function(e) {
  6018. return t(e)
  6019. }
  6020. })
  6021. },
  6022. Softgames.prototype._getOpenxParams = function(e) {
  6023. var t, n, r, i, s, o;
  6024. t = ["social_network", "subplatform", "affiliate", "project", "os", "osv", "user_id", "gender", "purchasecount", "locale", "lang", "country", "installdays", "last_login", "friendcount", "premium_game", "subscriber"],
  6025. r = {};
  6026. for (s = 0, o = t.length; s < o; s++) n = t[s],
  6027. i = e[n],
  6028. i !== void 0 && (r[n] = i);
  6029. return window.devicePixelRatio !== void 0 && (r.pixelratio = window.devicePixelRatio),
  6030. r
  6031. },
  6032. Softgames.prototype._createKirkIframe = function(e) {
  6033. var t, n;
  6034. return n = this.kirk_default_host,
  6035. window.addEventListener("message",
  6036. function(t) {
  6037. t.data.type === "kirkReady" && (window.softgames.country = t.data.session_params.country, window.softgames.premium_game = t.data.session_params.premium_game, window.softgames.externalGACode = t.data.session_params.agent_ga_code, window.softgames.external_user_id = t.data.session_params.user_id, window.softgames.game_rating = t.data.session_params.rating, t.data.session_params.game_slug !== undefined && (window.softgames.game_slug = t.data.session_params.game_slug), window.softgames._invalidSignature(t.data.session_params.sig) && location.reload(!0), window.softgames.userId === undefined && e(t.data.session_params));
  6038. if (t.data.type === "hardRedirect") return n = t.data.hard_redirect_url,
  6039. window.location = n
  6040. }, !1),
  6041. n = this.kirk_host + "session/?game_slug=" + this.game_slug,
  6042. t = [],
  6043. window.softgames._getUrlParameter("locale") !== undefined && (t[t.length] = "locale=" + window.softgames._getUrlParameter("locale")),
  6044. window.softgames._getUrlParameter("p") !== undefined && (t[t.length] = "p=" + window.softgames._getUrlParameter("p")),
  6045. window.softgames._getUrlParameter("uid") !== undefined && (t[t.length] = "uid=" + window.softgames._getUrlParameter("uid")),
  6046. window.softgames._getUrlParameter("aff") !== undefined && (t[t.length] = "aff=" + window.softgames._getUrlParameter("aff")),
  6047. t.length && (n = n.indexOf("?") === -1 ? n + "?" : n + "&", n += t.join("&")),
  6048. this._createIframe(n)
  6049. },
  6050. Softgames.prototype._invalidSignature = function(e) {
  6051. return e === undefined || e === "" ? !0 : e.indexOf("/") !== -1 ? !0 : !1
  6052. },
  6053. Softgames.prototype._isSandboxURL = function() {
  6054. var e;
  6055. return e = this._getUrlParameters(),
  6056. e.hasOwnProperty("platform") && e.platform === "sandbox" ? !0 : !1
  6057. },
  6058. Softgames.prototype._isKirkURL = function() {
  6059. var e;
  6060. return e = this._getUrlParameters(),
  6061. e.hasOwnProperty("platform") && e.platform === "kirk" ? !0 : !1
  6062. },
  6063. Softgames.prototype._getSystemId = function() {
  6064. return this._isSandboxURL() ? "sandbox" : this._isKirkURL() ? "kirk" : "direct"
  6065. },
  6066. Softgames.prototype._getBackUrl = function() {
  6067. return this.back_url || this.defaultBackUrl
  6068. },
  6069. Softgames.prototype._getGameSlug = function() {
  6070. var e, t;
  6071. return this.system_id === "sandbox" ? "sandbox_game" : (e = /^\/(.*)\//, t = e.exec(window.location.pathname), t[1])
  6072. },
  6073. Softgames.prototype._requestGameData = function(e, t, n, r) {
  6074. return t._apiRequest("GET", "" + t.system_id + "/games/" + t.game_slug + ".json/", n, {},
  6075. function(e) {
  6076. return t.gameTitle = e.game_title,
  6077. t.project = e.project,
  6078. t.social_network = e.social_network,
  6079. t.subplatform = e.subsystem,
  6080. t.affiliate = e.affiliate,
  6081. t.game_bubble_text = e.game_bubble_text,
  6082. t.game_bubble_configs = t._convertGameBubblConfig(e.game_bubble_configs),
  6083. t.showMenu = e.show_ingame_menu,
  6084. t.back_url = e.back_url,
  6085. t.externalStyles = e.external_styles,
  6086. t.showAdPage = e.show_ad_page,
  6087. t.showGameDetailsPageWithoutAd = e.show_game_details_page_without_ad,
  6088. t.showAdPreroll = e.show_ad_preroll,
  6089. t.enabledEndLevelFlow = e.enabled_end_level_flow,
  6090. t.endLevelEventCountInterval = e.end_level_interval,
  6091. e.end_level_close_button_timer !== void 0 && (t.endLevelCloseButtonTimer = e.end_level_close_button_timer * 1e3),
  6092. t.external_js_filename = e.external_js_filename,
  6093. t.ingame_header = e.ingame_header,
  6094. t.ingame_footer = e.ingame_footer,
  6095. t.first_page = e.first_page,
  6096. t.ingame_ad_popup = e.ingame_ad_popup,
  6097. t.ingame_menu = e.ingame_menu,
  6098. t.splash_screen_page = e.splash_screen,
  6099. t.loading_page = e.loading_page,
  6100. t.end_level_popup = e.end_level_popup,
  6101. t.more_games_page_a = e.more_games_page_a,
  6102. t.more_games_page_b = e.more_games_page_b,
  6103. t.externalGACode = e.agent_ga_code,
  6104. t.skipAds = e.skip_ads,
  6105. e.banner_interval_time !== void 0 && (t.displayBannerInterval = e.banner_interval_time * 1e3),
  6106. t.displayEndLevelInterval = t.displayBannerInterval,
  6107. e.ads_conversion_points !== void 0 && (t.adsConversionPoints = e.ads_conversion_points),
  6108. t.tv_cc_id = e.tv_cc_id,
  6109. t.afg_cc_id = e.afg_cc_id,
  6110. t.afc_unit_details_page_id = e.afc_unit_details_page_id,
  6111. t.afc_unit_more_games_page_id = e.afc_unit_more_games_page_id,
  6112. e.premium_game = t.premium_game,
  6113. e.subplatform = t.subplatform,
  6114. I18n.locale = e.locale,
  6115. t.tracker = new SoftgamesVoyagerTracker(t.externalGACode),
  6116. t.openx = new OpenXJS({
  6117. deliveryUrl: t.openx_host,
  6118. parameters: t._getOpenxParams(e)
  6119. }),
  6120. t.ingame_header !== "" && t.ingame_header !== void 0 && SG_jQuery("body").append(t.ingame_header),
  6121. t.ingame_footer !== "" && t.ingame_footer !== void 0 && SG_jQuery("body").append(t.ingame_footer),
  6122. typeof r == "function" ? r() : void 0
  6123. })
  6124. },
  6125. Softgames.prototype._requestUserData = function(e, t, n) {
  6126. return e._apiRequest("GET", "" + e.system_id + "/users/" + t.user_id + ".json/", t, {},
  6127. function(t) {
  6128. return e.token = t.token,
  6129. e.userId = t.id,
  6130. e.userGender = t.gender,
  6131. e.installationDate = t.installation_date,
  6132. e.subscriber = t.subscriber,
  6133. t.premium_game = e.premium_game,
  6134. e.country !== undefined && (t.country = e.country),
  6135. t.social_network = e.social_network,
  6136. t.subplatform = e.subplatform,
  6137. t.affiliate = e.affiliate,
  6138. t.project = e.project,
  6139. e.tracker = new SoftgamesVoyagerTracker(e.externalGACode),
  6140. e.openx = new OpenXJS({
  6141. deliveryUrl: e.openx_host,
  6142. parameters: e._getOpenxParams(t)
  6143. }),
  6144. typeof n == "function" ? n() : void 0
  6145. })
  6146. },
  6147. Softgames.prototype._createIframe = function(e) {
  6148. return this.iframe = document.createElement("iframe"),
  6149. this.iframe.id = "voyager-kirk-iframe",
  6150. this.iframe.src = e,
  6151. this.iframe.width = "0",
  6152. this.iframe.height = "0",
  6153. this.iframe.frameBorder = "0"
  6154. // document.body.appendChild(this.iframe)
  6155. },
  6156. Softgames.prototype._addScreenChangeOrientationListener = function() {
  6157. return window.addEventListener("orientationchange",
  6158. function() {
  6159. var e;
  6160. return typeof(e = window.softgames).changeScreenSize == "function" ? e.changeScreenSize() : void 0
  6161. }, !1)
  6162. },
  6163. Softgames.prototype._initSystem = function() {
  6164. return this.system_id === "sandbox" ? (this._addScreenChangeOrientationListener(), this.displayBannerInterval = 1, this.apiAdapter = new SoftgamesSandbox(this, this.project, this.userId)) : this.system_id === "kirk" || this.system_id === "direct" ? (this._addScreenChangeOrientationListener(), this.apiAdapter = new SoftgamesKirk(this, this.project, this.external_user_id)) : this._addScreenChangeOrientationListener()
  6165. },
  6166. Softgames.prototype._setParamsFromUrl = function() {
  6167. var e, t, n, r;
  6168. t = this._getUrlParameters(),
  6169. r = [];
  6170. for (e in t) n = t[e],
  6171. n !== void 0 ? r.push(this[e] = n) : r.push(void 0);
  6172. return r
  6173. },
  6174. Softgames.prototype._init = function(e) {
  6175. var t, n, r = this;
  6176. return this.host = "m.sgc.io/",
  6177. this.openx_host = "http://ads.softgames.de/www/delivery/",
  6178. this._getUrlParameters().host ? this.kirk_host = "//" + unescape(this._getUrlParameters().host) + "/api/" : this.kirk_host = "http://m.softgames.de/api/",
  6179. this.system_id = this._getSystemId(),
  6180. this.game_slug = this._getGameSlug(),
  6181. this.defaultBackUrl = "http://m.softgames.de/",
  6182. this.system_id === "sandbox" ? this._requestGameData("sandbox", this, void 0,
  6183. function() {
  6184. return r._setParamsFromUrl(),
  6185. r._addToHomeConfig(),
  6186. typeof e == "function" ? e() : void 0
  6187. }) : this.system_id === "kirk" || this.system_id === "direct" ? (this.system_id = "kirk", this._getUrlParameters().p ? n = this._getUrlParameters().p : this._getUrlParameters().host ? n = this._getUrlParameters().host : n = this.defaultSubsystem, t = {},
  6188. t.subsystem = n, this._getUrlParameters().aff !== void 0 && (t.affiliate = this._getUrlParameters().aff), this._getUrlParameters().cache !== void 0 && (t.cache = this._getUrlParameters().cache), this._getUrlParameters().locale !== void 0 && (t.locale = this._getUrlParameters().locale), this._getUrlParameters().mobile_spec !== void 0 && (t.mobile_spec = this._getUrlParameters().mobile_spec), this._requestGameData(n, window.softgames, t,
  6189. function() {
  6190. return r._addToHomeConfig(),
  6191. typeof e == "function" ? e() : void 0
  6192. })) : typeof e == "function" ? e() : void 0
  6193. },
  6194. Softgames.prototype.createSplashScreen = function() {
  6195. var e, t = this;
  6196. return e = SG_jQuery(this.splash_screen_page),
  6197. this.splash_screen = SG_jQuery("#voyager-splashscreen-page", e),
  6198. this.splash_screen.hide(),
  6199. this.splash_screen_logo = SG_jQuery("#voyager-splashscreen-logo", e),
  6200. this.splash_screen_logo.complete ? this.loadedSplashScreenLogo() : this.splash_screen_logo.load(function() {
  6201. return t.loadedSplashScreenLogo()
  6202. }),
  6203. this.splashScreenReady = !0,
  6204. SG_jQuery("body").append(e),
  6205. this.splash_screen = SG_jQuery("#voyager-splashscreen-page")
  6206. },
  6207. Softgames.prototype.loadedSplashScreenLogo = function() {
  6208. return this.splashScreenLogoLoaded = !0,
  6209. typeof this.splashScreenLogoOnload == "function" && this.splashScreenLogoOnload(),
  6210. this.splashScreenLogoOnload = null
  6211. },
  6212. Softgames.prototype.showSplashScreen = function(e) {
  6213. var t = this;
  6214. return this.splash_screen.fadeIn(1100,
  6215. function() {
  6216. return t.splash_screen.delay(3e3).fadeOut(1100,
  6217. function() {
  6218. return typeof e == "function" ? e() : void 0
  6219. })
  6220. })
  6221. },
  6222. Softgames.prototype._displaySplashScreen = function(e) {
  6223. var t = this;
  6224. return this.splash_screen_page === "" || this.splash_screen_page === void 0 ? this._loadingFlowNextStep(e) : (this.splashScreenReady || this.createSplashScreen(), this.splashScreenLogoLoaded ? this.showSplashScreen(function() {
  6225. return t._loadingFlowNextStep(e)
  6226. }) : this.splashScreenLogoOnload = function() {
  6227. return t._displaySplashScreen(e)
  6228. })
  6229. },
  6230. Softgames.prototype._convertGameBubblConfig = function(e) {
  6231. if (e !== undefined) {
  6232. e.indexOf("On Start") > -1 && (this.gameBubbleConfig.on_start = !0),
  6233. e.indexOf("On Game Over") > -1 && (this.gameBubbleConfig.on_game_over = !0),
  6234. e.indexOf("On Level Up") > -1 && (this.gameBubbleConfig.on_level_up = !0);
  6235. if (e.indexOf("On Pause On") > -1) return this.gameBubbleConfig.on_pause_on = !0
  6236. }
  6237. },
  6238. Softgames.prototype._isiPhone = function() {
  6239. return navigator.userAgent.match(/(iPhone)/g)
  6240. },
  6241. Softgames.prototype._hasAppleMetaTag = function() {
  6242. return SG_jQuery("meta[name='apple-mobile-web-app-capable']").attr("content") !== undefined
  6243. },
  6244. Softgames.prototype._addAppleMetaTag = function() {
  6245. return SG_jQuery("head").append('<meta name="apple-mobile-web-app-capable" content="yes" />')
  6246. },
  6247. Softgames.prototype._hasAppleIcon = function() {
  6248. return SG_jQuery('head link[rel^=apple-touch-icon][sizes="114x114"],head link[rel^=apple-touch-icon][sizes="144x144"],head link[rel^=apple-touch-icon]') !== undefined || SG_jQuery('head link[rel^=apple-touch-icon][sizes="57x57"],head link[rel^=apple-touch-icon]') !== undefined
  6249. },
  6250. Softgames.prototype.levelUp = function(e, t) {
  6251. return this.apiAdapter ? this.apiAdapter.levelUp(e, t) : typeof t == "function" ? t() : void 0
  6252. },
  6253. Softgames.prototype.loadingFlowOrder = [Softgames.prototype._displayGameDetailsPage, Softgames.prototype._displaySplashScreen, Softgames.prototype._displayPrerollAdPopup],
  6254. Softgames.prototype.loadingFlowStep = 0,
  6255. Softgames.prototype.endLevelFlowOrder = [Softgames.prototype._displayEndLevelPopup, Softgames.prototype._displayLoadingPage, Softgames.prototype._displayMoreGamesPage, Softgames.prototype._displayLoadingPage],
  6256. Softgames.prototype.endLevelFlowStep = 0,
  6257. SG_jQuery(document).ready(function() {
  6258. SG_jQuery("img.lazy").unveil(100)
  6259. })
  6260. }.call(this);