vendor.js 1017 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102
  1. (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["common/vendor"],[
  2. /* 0 */,
  3. /* 1 */
  4. /*!************************************************************!*\
  5. !*** ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js ***!
  6. \************************************************************/
  7. /*! no static exports found */
  8. /***/ (function(module, exports, __webpack_require__) {
  9. "use strict";
  10. /* WEBPACK VAR INJECTION */(function(global) {Object.defineProperty(exports, "__esModule", { value: true });exports.createApp = createApp;exports.createComponent = createComponent;exports.createPage = createPage;exports.createPlugin = createPlugin;exports.createSubpackageApp = createSubpackageApp;exports.default = void 0;var _uniI18n = __webpack_require__(/*! @dcloudio/uni-i18n */ 3);
  11. var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 4));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function ownKeys(object, enumerableOnly) {var keys = Object.keys(object);if (Object.getOwnPropertySymbols) {var symbols = Object.getOwnPropertySymbols(object);if (enumerableOnly) symbols = symbols.filter(function (sym) {return Object.getOwnPropertyDescriptor(object, sym).enumerable;});keys.push.apply(keys, symbols);}return keys;}function _objectSpread(target) {for (var i = 1; i < arguments.length; i++) {var source = arguments[i] != null ? arguments[i] : {};if (i % 2) {ownKeys(Object(source), true).forEach(function (key) {_defineProperty(target, key, source[key]);});} else if (Object.getOwnPropertyDescriptors) {Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));} else {ownKeys(Object(source)).forEach(function (key) {Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));});}}return target;}function _slicedToArray(arr, i) {return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _iterableToArrayLimit(arr, i) {if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;var _arr = [];var _n = true;var _d = false;var _e = undefined;try {for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {_arr.push(_s.value);if (i && _arr.length === i) break;}} catch (err) {_d = true;_e = err;} finally {try {if (!_n && _i["return"] != null) _i["return"]();} finally {if (_d) throw _e;}}return _arr;}function _arrayWithHoles(arr) {if (Array.isArray(arr)) return arr;}function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}function _toConsumableArray(arr) {return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();}function _nonIterableSpread() {throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o, minLen) {if (!o) return;if (typeof o === "string") return _arrayLikeToArray(o, minLen);var n = Object.prototype.toString.call(o).slice(8, -1);if (n === "Object" && o.constructor) n = o.constructor.name;if (n === "Map" || n === "Set") return Array.from(o);if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);}function _iterableToArray(iter) {if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);}function _arrayWithoutHoles(arr) {if (Array.isArray(arr)) return _arrayLikeToArray(arr);}function _arrayLikeToArray(arr, len) {if (len == null || len > arr.length) len = arr.length;for (var i = 0, arr2 = new Array(len); i < len; i++) {arr2[i] = arr[i];}return arr2;}
  12. var realAtob;
  13. var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
  14. var b64re = /^(?:[A-Za-z\d+/]{4})*?(?:[A-Za-z\d+/]{2}(?:==)?|[A-Za-z\d+/]{3}=?)?$/;
  15. if (typeof atob !== 'function') {
  16. realAtob = function realAtob(str) {
  17. str = String(str).replace(/[\t\n\f\r ]+/g, '');
  18. if (!b64re.test(str)) {throw new Error("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.");}
  19. // Adding the padding if missing, for semplicity
  20. str += '=='.slice(2 - (str.length & 3));
  21. var bitmap;var result = '';var r1;var r2;var i = 0;
  22. for (; i < str.length;) {
  23. bitmap = b64.indexOf(str.charAt(i++)) << 18 | b64.indexOf(str.charAt(i++)) << 12 |
  24. (r1 = b64.indexOf(str.charAt(i++))) << 6 | (r2 = b64.indexOf(str.charAt(i++)));
  25. result += r1 === 64 ? String.fromCharCode(bitmap >> 16 & 255) :
  26. r2 === 64 ? String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255) :
  27. String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255, bitmap & 255);
  28. }
  29. return result;
  30. };
  31. } else {
  32. // 注意atob只能在全局对象上调用,例如:`const Base64 = {atob};Base64.atob('xxxx')`是错误的用法
  33. realAtob = atob;
  34. }
  35. function b64DecodeUnicode(str) {
  36. return decodeURIComponent(realAtob(str).split('').map(function (c) {
  37. return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
  38. }).join(''));
  39. }
  40. function getCurrentUserInfo() {
  41. var token = wx.getStorageSync('uni_id_token') || '';
  42. var tokenArr = token.split('.');
  43. if (!token || tokenArr.length !== 3) {
  44. return {
  45. uid: null,
  46. role: [],
  47. permission: [],
  48. tokenExpired: 0 };
  49. }
  50. var userInfo;
  51. try {
  52. userInfo = JSON.parse(b64DecodeUnicode(tokenArr[1]));
  53. } catch (error) {
  54. throw new Error('获取当前用户信息出错,详细错误信息为:' + error.message);
  55. }
  56. userInfo.tokenExpired = userInfo.exp * 1000;
  57. delete userInfo.exp;
  58. delete userInfo.iat;
  59. return userInfo;
  60. }
  61. function uniIdMixin(Vue) {
  62. Vue.prototype.uniIDHasRole = function (roleId) {var _getCurrentUserInfo =
  63. getCurrentUserInfo(),role = _getCurrentUserInfo.role;
  64. return role.indexOf(roleId) > -1;
  65. };
  66. Vue.prototype.uniIDHasPermission = function (permissionId) {var _getCurrentUserInfo2 =
  67. getCurrentUserInfo(),permission = _getCurrentUserInfo2.permission;
  68. return this.uniIDHasRole('admin') || permission.indexOf(permissionId) > -1;
  69. };
  70. Vue.prototype.uniIDTokenValid = function () {var _getCurrentUserInfo3 =
  71. getCurrentUserInfo(),tokenExpired = _getCurrentUserInfo3.tokenExpired;
  72. return tokenExpired > Date.now();
  73. };
  74. }
  75. var _toString = Object.prototype.toString;
  76. var hasOwnProperty = Object.prototype.hasOwnProperty;
  77. function isFn(fn) {
  78. return typeof fn === 'function';
  79. }
  80. function isStr(str) {
  81. return typeof str === 'string';
  82. }
  83. function isPlainObject(obj) {
  84. return _toString.call(obj) === '[object Object]';
  85. }
  86. function hasOwn(obj, key) {
  87. return hasOwnProperty.call(obj, key);
  88. }
  89. function noop() {}
  90. /**
  91. * Create a cached version of a pure function.
  92. */
  93. function cached(fn) {
  94. var cache = Object.create(null);
  95. return function cachedFn(str) {
  96. var hit = cache[str];
  97. return hit || (cache[str] = fn(str));
  98. };
  99. }
  100. /**
  101. * Camelize a hyphen-delimited string.
  102. */
  103. var camelizeRE = /-(\w)/g;
  104. var camelize = cached(function (str) {
  105. return str.replace(camelizeRE, function (_, c) {return c ? c.toUpperCase() : '';});
  106. });
  107. function sortObject(obj) {
  108. var sortObj = {};
  109. if (isPlainObject(obj)) {
  110. Object.keys(obj).sort().forEach(function (key) {
  111. sortObj[key] = obj[key];
  112. });
  113. }
  114. return !Object.keys(sortObj) ? obj : sortObj;
  115. }
  116. var HOOKS = [
  117. 'invoke',
  118. 'success',
  119. 'fail',
  120. 'complete',
  121. 'returnValue'];
  122. var globalInterceptors = {};
  123. var scopedInterceptors = {};
  124. function mergeHook(parentVal, childVal) {
  125. var res = childVal ?
  126. parentVal ?
  127. parentVal.concat(childVal) :
  128. Array.isArray(childVal) ?
  129. childVal : [childVal] :
  130. parentVal;
  131. return res ?
  132. dedupeHooks(res) :
  133. res;
  134. }
  135. function dedupeHooks(hooks) {
  136. var res = [];
  137. for (var i = 0; i < hooks.length; i++) {
  138. if (res.indexOf(hooks[i]) === -1) {
  139. res.push(hooks[i]);
  140. }
  141. }
  142. return res;
  143. }
  144. function removeHook(hooks, hook) {
  145. var index = hooks.indexOf(hook);
  146. if (index !== -1) {
  147. hooks.splice(index, 1);
  148. }
  149. }
  150. function mergeInterceptorHook(interceptor, option) {
  151. Object.keys(option).forEach(function (hook) {
  152. if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {
  153. interceptor[hook] = mergeHook(interceptor[hook], option[hook]);
  154. }
  155. });
  156. }
  157. function removeInterceptorHook(interceptor, option) {
  158. if (!interceptor || !option) {
  159. return;
  160. }
  161. Object.keys(option).forEach(function (hook) {
  162. if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {
  163. removeHook(interceptor[hook], option[hook]);
  164. }
  165. });
  166. }
  167. function addInterceptor(method, option) {
  168. if (typeof method === 'string' && isPlainObject(option)) {
  169. mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), option);
  170. } else if (isPlainObject(method)) {
  171. mergeInterceptorHook(globalInterceptors, method);
  172. }
  173. }
  174. function removeInterceptor(method, option) {
  175. if (typeof method === 'string') {
  176. if (isPlainObject(option)) {
  177. removeInterceptorHook(scopedInterceptors[method], option);
  178. } else {
  179. delete scopedInterceptors[method];
  180. }
  181. } else if (isPlainObject(method)) {
  182. removeInterceptorHook(globalInterceptors, method);
  183. }
  184. }
  185. function wrapperHook(hook) {
  186. return function (data) {
  187. return hook(data) || data;
  188. };
  189. }
  190. function isPromise(obj) {
  191. return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';
  192. }
  193. function queue(hooks, data) {
  194. var promise = false;
  195. for (var i = 0; i < hooks.length; i++) {
  196. var hook = hooks[i];
  197. if (promise) {
  198. promise = Promise.resolve(wrapperHook(hook));
  199. } else {
  200. var res = hook(data);
  201. if (isPromise(res)) {
  202. promise = Promise.resolve(res);
  203. }
  204. if (res === false) {
  205. return {
  206. then: function then() {} };
  207. }
  208. }
  209. }
  210. return promise || {
  211. then: function then(callback) {
  212. return callback(data);
  213. } };
  214. }
  215. function wrapperOptions(interceptor) {var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  216. ['success', 'fail', 'complete'].forEach(function (name) {
  217. if (Array.isArray(interceptor[name])) {
  218. var oldCallback = options[name];
  219. options[name] = function callbackInterceptor(res) {
  220. queue(interceptor[name], res).then(function (res) {
  221. /* eslint-disable no-mixed-operators */
  222. return isFn(oldCallback) && oldCallback(res) || res;
  223. });
  224. };
  225. }
  226. });
  227. return options;
  228. }
  229. function wrapperReturnValue(method, returnValue) {
  230. var returnValueHooks = [];
  231. if (Array.isArray(globalInterceptors.returnValue)) {
  232. returnValueHooks.push.apply(returnValueHooks, _toConsumableArray(globalInterceptors.returnValue));
  233. }
  234. var interceptor = scopedInterceptors[method];
  235. if (interceptor && Array.isArray(interceptor.returnValue)) {
  236. returnValueHooks.push.apply(returnValueHooks, _toConsumableArray(interceptor.returnValue));
  237. }
  238. returnValueHooks.forEach(function (hook) {
  239. returnValue = hook(returnValue) || returnValue;
  240. });
  241. return returnValue;
  242. }
  243. function getApiInterceptorHooks(method) {
  244. var interceptor = Object.create(null);
  245. Object.keys(globalInterceptors).forEach(function (hook) {
  246. if (hook !== 'returnValue') {
  247. interceptor[hook] = globalInterceptors[hook].slice();
  248. }
  249. });
  250. var scopedInterceptor = scopedInterceptors[method];
  251. if (scopedInterceptor) {
  252. Object.keys(scopedInterceptor).forEach(function (hook) {
  253. if (hook !== 'returnValue') {
  254. interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]);
  255. }
  256. });
  257. }
  258. return interceptor;
  259. }
  260. function invokeApi(method, api, options) {for (var _len = arguments.length, params = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {params[_key - 3] = arguments[_key];}
  261. var interceptor = getApiInterceptorHooks(method);
  262. if (interceptor && Object.keys(interceptor).length) {
  263. if (Array.isArray(interceptor.invoke)) {
  264. var res = queue(interceptor.invoke, options);
  265. return res.then(function (options) {
  266. return api.apply(void 0, [wrapperOptions(interceptor, options)].concat(params));
  267. });
  268. } else {
  269. return api.apply(void 0, [wrapperOptions(interceptor, options)].concat(params));
  270. }
  271. }
  272. return api.apply(void 0, [options].concat(params));
  273. }
  274. var promiseInterceptor = {
  275. returnValue: function returnValue(res) {
  276. if (!isPromise(res)) {
  277. return res;
  278. }
  279. return new Promise(function (resolve, reject) {
  280. res.then(function (res) {
  281. if (res[0]) {
  282. reject(res[0]);
  283. } else {
  284. resolve(res[1]);
  285. }
  286. });
  287. });
  288. } };
  289. var SYNC_API_RE =
  290. /^\$|Window$|WindowStyle$|sendHostEvent|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getLocale|setLocale|invokePushCallback|getWindowInfo|getDeviceInfo|getAppBaseInfo|getSystemSetting|getAppAuthorizeSetting/;
  291. var CONTEXT_API_RE = /^create|Manager$/;
  292. // Context例外情况
  293. var CONTEXT_API_RE_EXC = ['createBLEConnection'];
  294. // 同步例外情况
  295. var ASYNC_API = ['createBLEConnection', 'createPushMessage'];
  296. var CALLBACK_API_RE = /^on|^off/;
  297. function isContextApi(name) {
  298. return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1;
  299. }
  300. function isSyncApi(name) {
  301. return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1;
  302. }
  303. function isCallbackApi(name) {
  304. return CALLBACK_API_RE.test(name) && name !== 'onPush';
  305. }
  306. function handlePromise(promise) {
  307. return promise.then(function (data) {
  308. return [null, data];
  309. }).
  310. catch(function (err) {return [err];});
  311. }
  312. function shouldPromise(name) {
  313. if (
  314. isContextApi(name) ||
  315. isSyncApi(name) ||
  316. isCallbackApi(name))
  317. {
  318. return false;
  319. }
  320. return true;
  321. }
  322. /* eslint-disable no-extend-native */
  323. if (!Promise.prototype.finally) {
  324. Promise.prototype.finally = function (callback) {
  325. var promise = this.constructor;
  326. return this.then(
  327. function (value) {return promise.resolve(callback()).then(function () {return value;});},
  328. function (reason) {return promise.resolve(callback()).then(function () {
  329. throw reason;
  330. });});
  331. };
  332. }
  333. function promisify(name, api) {
  334. if (!shouldPromise(name)) {
  335. return api;
  336. }
  337. return function promiseApi() {var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};for (var _len2 = arguments.length, params = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {params[_key2 - 1] = arguments[_key2];}
  338. if (isFn(options.success) || isFn(options.fail) || isFn(options.complete)) {
  339. return wrapperReturnValue(name, invokeApi.apply(void 0, [name, api, options].concat(params)));
  340. }
  341. return wrapperReturnValue(name, handlePromise(new Promise(function (resolve, reject) {
  342. invokeApi.apply(void 0, [name, api, Object.assign({}, options, {
  343. success: resolve,
  344. fail: reject })].concat(
  345. params));
  346. })));
  347. };
  348. }
  349. var EPS = 1e-4;
  350. var BASE_DEVICE_WIDTH = 750;
  351. var isIOS = false;
  352. var deviceWidth = 0;
  353. var deviceDPR = 0;
  354. function checkDeviceWidth() {var _wx$getSystemInfoSync =
  355. wx.getSystemInfoSync(),platform = _wx$getSystemInfoSync.platform,pixelRatio = _wx$getSystemInfoSync.pixelRatio,windowWidth = _wx$getSystemInfoSync.windowWidth; // uni=>wx runtime 编译目标是 uni 对象,内部不允许直接使用 uni
  356. deviceWidth = windowWidth;
  357. deviceDPR = pixelRatio;
  358. isIOS = platform === 'ios';
  359. }
  360. function upx2px(number, newDeviceWidth) {
  361. if (deviceWidth === 0) {
  362. checkDeviceWidth();
  363. }
  364. number = Number(number);
  365. if (number === 0) {
  366. return 0;
  367. }
  368. var result = number / BASE_DEVICE_WIDTH * (newDeviceWidth || deviceWidth);
  369. if (result < 0) {
  370. result = -result;
  371. }
  372. result = Math.floor(result + EPS);
  373. if (result === 0) {
  374. if (deviceDPR === 1 || !isIOS) {
  375. result = 1;
  376. } else {
  377. result = 0.5;
  378. }
  379. }
  380. return number < 0 ? -result : result;
  381. }
  382. var LOCALE_ZH_HANS = 'zh-Hans';
  383. var LOCALE_ZH_HANT = 'zh-Hant';
  384. var LOCALE_EN = 'en';
  385. var LOCALE_FR = 'fr';
  386. var LOCALE_ES = 'es';
  387. var messages = {};
  388. var locale;
  389. {
  390. locale = normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN;
  391. }
  392. function initI18nMessages() {
  393. if (!isEnableLocale()) {
  394. return;
  395. }
  396. var localeKeys = Object.keys(__uniConfig.locales);
  397. if (localeKeys.length) {
  398. localeKeys.forEach(function (locale) {
  399. var curMessages = messages[locale];
  400. var userMessages = __uniConfig.locales[locale];
  401. if (curMessages) {
  402. Object.assign(curMessages, userMessages);
  403. } else {
  404. messages[locale] = userMessages;
  405. }
  406. });
  407. }
  408. }
  409. initI18nMessages();
  410. var i18n = (0, _uniI18n.initVueI18n)(
  411. locale,
  412. {});
  413. var t = i18n.t;
  414. var i18nMixin = i18n.mixin = {
  415. beforeCreate: function beforeCreate() {var _this = this;
  416. var unwatch = i18n.i18n.watchLocale(function () {
  417. _this.$forceUpdate();
  418. });
  419. this.$once('hook:beforeDestroy', function () {
  420. unwatch();
  421. });
  422. },
  423. methods: {
  424. $$t: function $$t(key, values) {
  425. return t(key, values);
  426. } } };
  427. var setLocale = i18n.setLocale;
  428. var getLocale = i18n.getLocale;
  429. function initAppLocale(Vue, appVm, locale) {
  430. var state = Vue.observable({
  431. locale: locale || i18n.getLocale() });
  432. var localeWatchers = [];
  433. appVm.$watchLocale = function (fn) {
  434. localeWatchers.push(fn);
  435. };
  436. Object.defineProperty(appVm, '$locale', {
  437. get: function get() {
  438. return state.locale;
  439. },
  440. set: function set(v) {
  441. state.locale = v;
  442. localeWatchers.forEach(function (watch) {return watch(v);});
  443. } });
  444. }
  445. function isEnableLocale() {
  446. return typeof __uniConfig !== 'undefined' && __uniConfig.locales && !!Object.keys(__uniConfig.locales).length;
  447. }
  448. function include(str, parts) {
  449. return !!parts.find(function (part) {return str.indexOf(part) !== -1;});
  450. }
  451. function startsWith(str, parts) {
  452. return parts.find(function (part) {return str.indexOf(part) === 0;});
  453. }
  454. function normalizeLocale(locale, messages) {
  455. if (!locale) {
  456. return;
  457. }
  458. locale = locale.trim().replace(/_/g, '-');
  459. if (messages && messages[locale]) {
  460. return locale;
  461. }
  462. locale = locale.toLowerCase();
  463. if (locale === 'chinese') {
  464. // 支付宝
  465. return LOCALE_ZH_HANS;
  466. }
  467. if (locale.indexOf('zh') === 0) {
  468. if (locale.indexOf('-hans') > -1) {
  469. return LOCALE_ZH_HANS;
  470. }
  471. if (locale.indexOf('-hant') > -1) {
  472. return LOCALE_ZH_HANT;
  473. }
  474. if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {
  475. return LOCALE_ZH_HANT;
  476. }
  477. return LOCALE_ZH_HANS;
  478. }
  479. var lang = startsWith(locale, [LOCALE_EN, LOCALE_FR, LOCALE_ES]);
  480. if (lang) {
  481. return lang;
  482. }
  483. }
  484. // export function initI18n() {
  485. // const localeKeys = Object.keys(__uniConfig.locales || {})
  486. // if (localeKeys.length) {
  487. // localeKeys.forEach((locale) =>
  488. // i18n.add(locale, __uniConfig.locales[locale])
  489. // )
  490. // }
  491. // }
  492. function getLocale$1() {
  493. // 优先使用 $locale
  494. var app = getApp({
  495. allowDefault: true });
  496. if (app && app.$vm) {
  497. return app.$vm.$locale;
  498. }
  499. return normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN;
  500. }
  501. function setLocale$1(locale) {
  502. var app = getApp();
  503. if (!app) {
  504. return false;
  505. }
  506. var oldLocale = app.$vm.$locale;
  507. if (oldLocale !== locale) {
  508. app.$vm.$locale = locale;
  509. onLocaleChangeCallbacks.forEach(function (fn) {return fn({
  510. locale: locale });});
  511. return true;
  512. }
  513. return false;
  514. }
  515. var onLocaleChangeCallbacks = [];
  516. function onLocaleChange(fn) {
  517. if (onLocaleChangeCallbacks.indexOf(fn) === -1) {
  518. onLocaleChangeCallbacks.push(fn);
  519. }
  520. }
  521. if (typeof global !== 'undefined') {
  522. global.getLocale = getLocale$1;
  523. }
  524. var interceptors = {
  525. promiseInterceptor: promiseInterceptor };
  526. var baseApi = /*#__PURE__*/Object.freeze({
  527. __proto__: null,
  528. upx2px: upx2px,
  529. getLocale: getLocale$1,
  530. setLocale: setLocale$1,
  531. onLocaleChange: onLocaleChange,
  532. addInterceptor: addInterceptor,
  533. removeInterceptor: removeInterceptor,
  534. interceptors: interceptors });
  535. function findExistsPageIndex(url) {
  536. var pages = getCurrentPages();
  537. var len = pages.length;
  538. while (len--) {
  539. var page = pages[len];
  540. if (page.$page && page.$page.fullPath === url) {
  541. return len;
  542. }
  543. }
  544. return -1;
  545. }
  546. var redirectTo = {
  547. name: function name(fromArgs) {
  548. if (fromArgs.exists === 'back' && fromArgs.delta) {
  549. return 'navigateBack';
  550. }
  551. return 'redirectTo';
  552. },
  553. args: function args(fromArgs) {
  554. if (fromArgs.exists === 'back' && fromArgs.url) {
  555. var existsPageIndex = findExistsPageIndex(fromArgs.url);
  556. if (existsPageIndex !== -1) {
  557. var delta = getCurrentPages().length - 1 - existsPageIndex;
  558. if (delta > 0) {
  559. fromArgs.delta = delta;
  560. }
  561. }
  562. }
  563. } };
  564. var previewImage = {
  565. args: function args(fromArgs) {
  566. var currentIndex = parseInt(fromArgs.current);
  567. if (isNaN(currentIndex)) {
  568. return;
  569. }
  570. var urls = fromArgs.urls;
  571. if (!Array.isArray(urls)) {
  572. return;
  573. }
  574. var len = urls.length;
  575. if (!len) {
  576. return;
  577. }
  578. if (currentIndex < 0) {
  579. currentIndex = 0;
  580. } else if (currentIndex >= len) {
  581. currentIndex = len - 1;
  582. }
  583. if (currentIndex > 0) {
  584. fromArgs.current = urls[currentIndex];
  585. fromArgs.urls = urls.filter(
  586. function (item, index) {return index < currentIndex ? item !== urls[currentIndex] : true;});
  587. } else {
  588. fromArgs.current = urls[0];
  589. }
  590. return {
  591. indicator: false,
  592. loop: false };
  593. } };
  594. var UUID_KEY = '__DC_STAT_UUID';
  595. var deviceId;
  596. function useDeviceId(result) {
  597. deviceId = deviceId || wx.getStorageSync(UUID_KEY);
  598. if (!deviceId) {
  599. deviceId = Date.now() + '' + Math.floor(Math.random() * 1e7);
  600. wx.setStorage({
  601. key: UUID_KEY,
  602. data: deviceId });
  603. }
  604. result.deviceId = deviceId;
  605. }
  606. function addSafeAreaInsets(result) {
  607. if (result.safeArea) {
  608. var safeArea = result.safeArea;
  609. result.safeAreaInsets = {
  610. top: safeArea.top,
  611. left: safeArea.left,
  612. right: result.windowWidth - safeArea.right,
  613. bottom: result.screenHeight - safeArea.bottom };
  614. }
  615. }
  616. function populateParameters(result) {var _result$brand =
  617. result.brand,brand = _result$brand === void 0 ? '' : _result$brand,_result$model = result.model,model = _result$model === void 0 ? '' : _result$model,_result$system = result.system,system = _result$system === void 0 ? '' : _result$system,_result$language = result.language,language = _result$language === void 0 ? '' : _result$language,theme = result.theme,version = result.version,platform = result.platform,fontSizeSetting = result.fontSizeSetting,SDKVersion = result.SDKVersion,pixelRatio = result.pixelRatio,deviceOrientation = result.deviceOrientation;
  618. // const isQuickApp = "mp-weixin".indexOf('quickapp-webview') !== -1
  619. // osName osVersion
  620. var osName = '';
  621. var osVersion = '';
  622. {
  623. osName = system.split(' ')[0] || '';
  624. osVersion = system.split(' ')[1] || '';
  625. }
  626. var hostVersion = version;
  627. // deviceType
  628. var deviceType = getGetDeviceType(result, model);
  629. // deviceModel
  630. var deviceBrand = getDeviceBrand(brand);
  631. // hostName
  632. var _hostName = getHostName(result);
  633. // deviceOrientation
  634. var _deviceOrientation = deviceOrientation; // 仅 微信 百度 支持
  635. // devicePixelRatio
  636. var _devicePixelRatio = pixelRatio;
  637. // SDKVersion
  638. var _SDKVersion = SDKVersion;
  639. // hostLanguage
  640. var hostLanguage = language.replace(/_/g, '-');
  641. // wx.getAccountInfoSync
  642. var parameters = {
  643. appId: "__UNI__310AE05",
  644. appName: "重卡换电",
  645. appVersion: "1.0.0",
  646. appVersionCode: "100",
  647. appLanguage: getAppLanguage(hostLanguage),
  648. uniCompileVersion: "3.5.3",
  649. uniRuntimeVersion: "3.5.3",
  650. uniPlatform: undefined || "mp-weixin",
  651. deviceBrand: deviceBrand,
  652. deviceModel: model,
  653. deviceType: deviceType,
  654. devicePixelRatio: _devicePixelRatio,
  655. deviceOrientation: _deviceOrientation,
  656. osName: osName.toLocaleLowerCase(),
  657. osVersion: osVersion,
  658. hostTheme: theme,
  659. hostVersion: hostVersion,
  660. hostLanguage: hostLanguage,
  661. hostName: _hostName,
  662. hostSDKVersion: _SDKVersion,
  663. hostFontSizeSetting: fontSizeSetting,
  664. windowTop: 0,
  665. windowBottom: 0,
  666. // TODO
  667. osLanguage: undefined,
  668. osTheme: undefined,
  669. ua: undefined,
  670. hostPackageName: undefined,
  671. browserName: undefined,
  672. browserVersion: undefined };
  673. Object.assign(result, parameters);
  674. }
  675. function getGetDeviceType(result, model) {
  676. var deviceType = result.deviceType || 'phone';
  677. {
  678. var deviceTypeMaps = {
  679. ipad: 'pad',
  680. windows: 'pc',
  681. mac: 'pc' };
  682. var deviceTypeMapsKeys = Object.keys(deviceTypeMaps);
  683. var _model = model.toLocaleLowerCase();
  684. for (var index = 0; index < deviceTypeMapsKeys.length; index++) {
  685. var _m = deviceTypeMapsKeys[index];
  686. if (_model.indexOf(_m) !== -1) {
  687. deviceType = deviceTypeMaps[_m];
  688. break;
  689. }
  690. }
  691. }
  692. return deviceType;
  693. }
  694. function getDeviceBrand(brand) {
  695. var deviceBrand = brand;
  696. if (deviceBrand) {
  697. deviceBrand = brand.toLocaleLowerCase();
  698. }
  699. return deviceBrand;
  700. }
  701. function getAppLanguage(defaultLanguage) {
  702. return getLocale$1 ?
  703. getLocale$1() :
  704. defaultLanguage;
  705. }
  706. function getHostName(result) {
  707. var _platform = 'WeChat';
  708. var _hostName = result.hostName || _platform; // mp-jd
  709. {
  710. if (result.environment) {
  711. _hostName = result.environment;
  712. } else if (result.host && result.host.env) {
  713. _hostName = result.host.env;
  714. }
  715. }
  716. return _hostName;
  717. }
  718. var getSystemInfo = {
  719. returnValue: function returnValue(result) {
  720. useDeviceId(result);
  721. addSafeAreaInsets(result);
  722. populateParameters(result);
  723. } };
  724. var showActionSheet = {
  725. args: function args(fromArgs) {
  726. if (typeof fromArgs === 'object') {
  727. fromArgs.alertText = fromArgs.title;
  728. }
  729. } };
  730. var getAppBaseInfo = {
  731. returnValue: function returnValue(result) {var _result =
  732. result,version = _result.version,language = _result.language,SDKVersion = _result.SDKVersion,theme = _result.theme;
  733. var _hostName = getHostName(result);
  734. var hostLanguage = language.replace('_', '-');
  735. result = sortObject(Object.assign(result, {
  736. appId: "__UNI__310AE05",
  737. appName: "重卡换电",
  738. appVersion: "1.0.0",
  739. appVersionCode: "100",
  740. appLanguage: getAppLanguage(hostLanguage),
  741. hostVersion: version,
  742. hostLanguage: hostLanguage,
  743. hostName: _hostName,
  744. hostSDKVersion: SDKVersion,
  745. hostTheme: theme }));
  746. } };
  747. var getDeviceInfo = {
  748. returnValue: function returnValue(result) {var _result2 =
  749. result,brand = _result2.brand,model = _result2.model;
  750. var deviceType = getGetDeviceType(result, model);
  751. var deviceBrand = getDeviceBrand(brand);
  752. useDeviceId(result);
  753. result = sortObject(Object.assign(result, {
  754. deviceType: deviceType,
  755. deviceBrand: deviceBrand,
  756. deviceModel: model }));
  757. } };
  758. var getWindowInfo = {
  759. returnValue: function returnValue(result) {
  760. addSafeAreaInsets(result);
  761. result = sortObject(Object.assign(result, {
  762. windowTop: 0,
  763. windowBottom: 0 }));
  764. } };
  765. var getAppAuthorizeSetting = {
  766. returnValue: function returnValue(result) {var
  767. locationReducedAccuracy = result.locationReducedAccuracy;
  768. result.locationAccuracy = 'unsupported';
  769. if (locationReducedAccuracy === true) {
  770. result.locationAccuracy = 'reduced';
  771. } else if (locationReducedAccuracy === false) {
  772. result.locationAccuracy = 'full';
  773. }
  774. } };
  775. // import navigateTo from 'uni-helpers/navigate-to'
  776. var protocols = {
  777. redirectTo: redirectTo,
  778. // navigateTo, // 由于在微信开发者工具的页面参数,会显示__id__参数,因此暂时关闭mp-weixin对于navigateTo的AOP
  779. previewImage: previewImage,
  780. getSystemInfo: getSystemInfo,
  781. getSystemInfoSync: getSystemInfo,
  782. showActionSheet: showActionSheet,
  783. getAppBaseInfo: getAppBaseInfo,
  784. getDeviceInfo: getDeviceInfo,
  785. getWindowInfo: getWindowInfo,
  786. getAppAuthorizeSetting: getAppAuthorizeSetting };
  787. var todos = [
  788. 'vibrate',
  789. 'preloadPage',
  790. 'unPreloadPage',
  791. 'loadSubPackage'];
  792. var canIUses = [];
  793. var CALLBACKS = ['success', 'fail', 'cancel', 'complete'];
  794. function processCallback(methodName, method, returnValue) {
  795. return function (res) {
  796. return method(processReturnValue(methodName, res, returnValue));
  797. };
  798. }
  799. function processArgs(methodName, fromArgs) {var argsOption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};var returnValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};var keepFromArgs = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
  800. if (isPlainObject(fromArgs)) {// 一般 api 的参数解析
  801. var toArgs = keepFromArgs === true ? fromArgs : {}; // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值
  802. if (isFn(argsOption)) {
  803. argsOption = argsOption(fromArgs, toArgs) || {};
  804. }
  805. for (var key in fromArgs) {
  806. if (hasOwn(argsOption, key)) {
  807. var keyOption = argsOption[key];
  808. if (isFn(keyOption)) {
  809. keyOption = keyOption(fromArgs[key], fromArgs, toArgs);
  810. }
  811. if (!keyOption) {// 不支持的参数
  812. console.warn("The '".concat(methodName, "' method of platform '\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F' does not support option '").concat(key, "'"));
  813. } else if (isStr(keyOption)) {// 重写参数 key
  814. toArgs[keyOption] = fromArgs[key];
  815. } else if (isPlainObject(keyOption)) {// {name:newName,value:value}可重新指定参数 key:value
  816. toArgs[keyOption.name ? keyOption.name : key] = keyOption.value;
  817. }
  818. } else if (CALLBACKS.indexOf(key) !== -1) {
  819. if (isFn(fromArgs[key])) {
  820. toArgs[key] = processCallback(methodName, fromArgs[key], returnValue);
  821. }
  822. } else {
  823. if (!keepFromArgs) {
  824. toArgs[key] = fromArgs[key];
  825. }
  826. }
  827. }
  828. return toArgs;
  829. } else if (isFn(fromArgs)) {
  830. fromArgs = processCallback(methodName, fromArgs, returnValue);
  831. }
  832. return fromArgs;
  833. }
  834. function processReturnValue(methodName, res, returnValue) {var keepReturnValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
  835. if (isFn(protocols.returnValue)) {// 处理通用 returnValue
  836. res = protocols.returnValue(methodName, res);
  837. }
  838. return processArgs(methodName, res, returnValue, {}, keepReturnValue);
  839. }
  840. function wrapper(methodName, method) {
  841. if (hasOwn(protocols, methodName)) {
  842. var protocol = protocols[methodName];
  843. if (!protocol) {// 暂不支持的 api
  844. return function () {
  845. console.error("Platform '\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F' does not support '".concat(methodName, "'."));
  846. };
  847. }
  848. return function (arg1, arg2) {// 目前 api 最多两个参数
  849. var options = protocol;
  850. if (isFn(protocol)) {
  851. options = protocol(arg1);
  852. }
  853. arg1 = processArgs(methodName, arg1, options.args, options.returnValue);
  854. var args = [arg1];
  855. if (typeof arg2 !== 'undefined') {
  856. args.push(arg2);
  857. }
  858. if (isFn(options.name)) {
  859. methodName = options.name(arg1);
  860. } else if (isStr(options.name)) {
  861. methodName = options.name;
  862. }
  863. var returnValue = wx[methodName].apply(wx, args);
  864. if (isSyncApi(methodName)) {// 同步 api
  865. return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName));
  866. }
  867. return returnValue;
  868. };
  869. }
  870. return method;
  871. }
  872. var todoApis = Object.create(null);
  873. var TODOS = [
  874. 'onTabBarMidButtonTap',
  875. 'subscribePush',
  876. 'unsubscribePush',
  877. 'onPush',
  878. 'offPush',
  879. 'share'];
  880. function createTodoApi(name) {
  881. return function todoApi(_ref)
  882. {var fail = _ref.fail,complete = _ref.complete;
  883. var res = {
  884. errMsg: "".concat(name, ":fail method '").concat(name, "' not supported") };
  885. isFn(fail) && fail(res);
  886. isFn(complete) && complete(res);
  887. };
  888. }
  889. TODOS.forEach(function (name) {
  890. todoApis[name] = createTodoApi(name);
  891. });
  892. var providers = {
  893. oauth: ['weixin'],
  894. share: ['weixin'],
  895. payment: ['wxpay'],
  896. push: ['weixin'] };
  897. function getProvider(_ref2)
  898. {var service = _ref2.service,success = _ref2.success,fail = _ref2.fail,complete = _ref2.complete;
  899. var res = false;
  900. if (providers[service]) {
  901. res = {
  902. errMsg: 'getProvider:ok',
  903. service: service,
  904. provider: providers[service] };
  905. isFn(success) && success(res);
  906. } else {
  907. res = {
  908. errMsg: 'getProvider:fail service not found' };
  909. isFn(fail) && fail(res);
  910. }
  911. isFn(complete) && complete(res);
  912. }
  913. var extraApi = /*#__PURE__*/Object.freeze({
  914. __proto__: null,
  915. getProvider: getProvider });
  916. var getEmitter = function () {
  917. var Emitter;
  918. return function getUniEmitter() {
  919. if (!Emitter) {
  920. Emitter = new _vue.default();
  921. }
  922. return Emitter;
  923. };
  924. }();
  925. function apply(ctx, method, args) {
  926. return ctx[method].apply(ctx, args);
  927. }
  928. function $on() {
  929. return apply(getEmitter(), '$on', Array.prototype.slice.call(arguments));
  930. }
  931. function $off() {
  932. return apply(getEmitter(), '$off', Array.prototype.slice.call(arguments));
  933. }
  934. function $once() {
  935. return apply(getEmitter(), '$once', Array.prototype.slice.call(arguments));
  936. }
  937. function $emit() {
  938. return apply(getEmitter(), '$emit', Array.prototype.slice.call(arguments));
  939. }
  940. var eventApi = /*#__PURE__*/Object.freeze({
  941. __proto__: null,
  942. $on: $on,
  943. $off: $off,
  944. $once: $once,
  945. $emit: $emit });
  946. /**
  947. * 框架内 try-catch
  948. */
  949. /**
  950. * 开发者 try-catch
  951. */
  952. function tryCatch(fn) {
  953. return function () {
  954. try {
  955. return fn.apply(fn, arguments);
  956. } catch (e) {
  957. // TODO
  958. console.error(e);
  959. }
  960. };
  961. }
  962. function getApiCallbacks(params) {
  963. var apiCallbacks = {};
  964. for (var name in params) {
  965. var param = params[name];
  966. if (isFn(param)) {
  967. apiCallbacks[name] = tryCatch(param);
  968. delete params[name];
  969. }
  970. }
  971. return apiCallbacks;
  972. }
  973. var cid;
  974. var cidErrMsg;
  975. var enabled;
  976. function normalizePushMessage(message) {
  977. try {
  978. return JSON.parse(message);
  979. } catch (e) {}
  980. return message;
  981. }
  982. function invokePushCallback(
  983. args)
  984. {
  985. if (args.type === 'enabled') {
  986. enabled = true;
  987. } else if (args.type === 'clientId') {
  988. cid = args.cid;
  989. cidErrMsg = args.errMsg;
  990. invokeGetPushCidCallbacks(cid, args.errMsg);
  991. } else if (args.type === 'pushMsg') {
  992. var message = {
  993. type: 'receive',
  994. data: normalizePushMessage(args.message) };
  995. for (var i = 0; i < onPushMessageCallbacks.length; i++) {
  996. var callback = onPushMessageCallbacks[i];
  997. callback(message);
  998. // 该消息已被阻止
  999. if (message.stopped) {
  1000. break;
  1001. }
  1002. }
  1003. } else if (args.type === 'click') {
  1004. onPushMessageCallbacks.forEach(function (callback) {
  1005. callback({
  1006. type: 'click',
  1007. data: normalizePushMessage(args.message) });
  1008. });
  1009. }
  1010. }
  1011. var getPushCidCallbacks = [];
  1012. function invokeGetPushCidCallbacks(cid, errMsg) {
  1013. getPushCidCallbacks.forEach(function (callback) {
  1014. callback(cid, errMsg);
  1015. });
  1016. getPushCidCallbacks.length = 0;
  1017. }
  1018. function getPushClientId(args) {
  1019. if (!isPlainObject(args)) {
  1020. args = {};
  1021. }var _getApiCallbacks =
  1022. getApiCallbacks(args),success = _getApiCallbacks.success,fail = _getApiCallbacks.fail,complete = _getApiCallbacks.complete;
  1023. var hasSuccess = isFn(success);
  1024. var hasFail = isFn(fail);
  1025. var hasComplete = isFn(complete);
  1026. Promise.resolve().then(function () {
  1027. if (typeof enabled === 'undefined') {
  1028. enabled = false;
  1029. cid = '';
  1030. cidErrMsg = 'unipush is not enabled';
  1031. }
  1032. getPushCidCallbacks.push(function (cid, errMsg) {
  1033. var res;
  1034. if (cid) {
  1035. res = {
  1036. errMsg: 'getPushClientId:ok',
  1037. cid: cid };
  1038. hasSuccess && success(res);
  1039. } else {
  1040. res = {
  1041. errMsg: 'getPushClientId:fail' + (errMsg ? ' ' + errMsg : '') };
  1042. hasFail && fail(res);
  1043. }
  1044. hasComplete && complete(res);
  1045. });
  1046. if (typeof cid !== 'undefined') {
  1047. invokeGetPushCidCallbacks(cid, cidErrMsg);
  1048. }
  1049. });
  1050. }
  1051. var onPushMessageCallbacks = [];
  1052. // 不使用 defineOnApi 实现,是因为 defineOnApi 依赖 UniServiceJSBridge ,该对象目前在小程序上未提供,故简单实现
  1053. var onPushMessage = function onPushMessage(fn) {
  1054. if (onPushMessageCallbacks.indexOf(fn) === -1) {
  1055. onPushMessageCallbacks.push(fn);
  1056. }
  1057. };
  1058. var offPushMessage = function offPushMessage(fn) {
  1059. if (!fn) {
  1060. onPushMessageCallbacks.length = 0;
  1061. } else {
  1062. var index = onPushMessageCallbacks.indexOf(fn);
  1063. if (index > -1) {
  1064. onPushMessageCallbacks.splice(index, 1);
  1065. }
  1066. }
  1067. };
  1068. var api = /*#__PURE__*/Object.freeze({
  1069. __proto__: null,
  1070. getPushClientId: getPushClientId,
  1071. onPushMessage: onPushMessage,
  1072. offPushMessage: offPushMessage,
  1073. invokePushCallback: invokePushCallback });
  1074. var MPPage = Page;
  1075. var MPComponent = Component;
  1076. var customizeRE = /:/g;
  1077. var customize = cached(function (str) {
  1078. return camelize(str.replace(customizeRE, '-'));
  1079. });
  1080. function initTriggerEvent(mpInstance) {
  1081. var oldTriggerEvent = mpInstance.triggerEvent;
  1082. var newTriggerEvent = function newTriggerEvent(event) {for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {args[_key3 - 1] = arguments[_key3];}
  1083. return oldTriggerEvent.apply(mpInstance, [customize(event)].concat(args));
  1084. };
  1085. try {
  1086. // 京东小程序 triggerEvent 为只读
  1087. mpInstance.triggerEvent = newTriggerEvent;
  1088. } catch (error) {
  1089. mpInstance._triggerEvent = newTriggerEvent;
  1090. }
  1091. }
  1092. function initHook(name, options, isComponent) {
  1093. var oldHook = options[name];
  1094. if (!oldHook) {
  1095. options[name] = function () {
  1096. initTriggerEvent(this);
  1097. };
  1098. } else {
  1099. options[name] = function () {
  1100. initTriggerEvent(this);for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {args[_key4] = arguments[_key4];}
  1101. return oldHook.apply(this, args);
  1102. };
  1103. }
  1104. }
  1105. if (!MPPage.__$wrappered) {
  1106. MPPage.__$wrappered = true;
  1107. Page = function Page() {var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  1108. initHook('onLoad', options);
  1109. return MPPage(options);
  1110. };
  1111. Page.after = MPPage.after;
  1112. Component = function Component() {var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  1113. initHook('created', options);
  1114. return MPComponent(options);
  1115. };
  1116. }
  1117. var PAGE_EVENT_HOOKS = [
  1118. 'onPullDownRefresh',
  1119. 'onReachBottom',
  1120. 'onAddToFavorites',
  1121. 'onShareTimeline',
  1122. 'onShareAppMessage',
  1123. 'onPageScroll',
  1124. 'onResize',
  1125. 'onTabItemTap'];
  1126. function initMocks(vm, mocks) {
  1127. var mpInstance = vm.$mp[vm.mpType];
  1128. mocks.forEach(function (mock) {
  1129. if (hasOwn(mpInstance, mock)) {
  1130. vm[mock] = mpInstance[mock];
  1131. }
  1132. });
  1133. }
  1134. function hasHook(hook, vueOptions) {
  1135. if (!vueOptions) {
  1136. return true;
  1137. }
  1138. if (_vue.default.options && Array.isArray(_vue.default.options[hook])) {
  1139. return true;
  1140. }
  1141. vueOptions = vueOptions.default || vueOptions;
  1142. if (isFn(vueOptions)) {
  1143. if (isFn(vueOptions.extendOptions[hook])) {
  1144. return true;
  1145. }
  1146. if (vueOptions.super &&
  1147. vueOptions.super.options &&
  1148. Array.isArray(vueOptions.super.options[hook])) {
  1149. return true;
  1150. }
  1151. return false;
  1152. }
  1153. if (isFn(vueOptions[hook])) {
  1154. return true;
  1155. }
  1156. var mixins = vueOptions.mixins;
  1157. if (Array.isArray(mixins)) {
  1158. return !!mixins.find(function (mixin) {return hasHook(hook, mixin);});
  1159. }
  1160. }
  1161. function initHooks(mpOptions, hooks, vueOptions) {
  1162. hooks.forEach(function (hook) {
  1163. if (hasHook(hook, vueOptions)) {
  1164. mpOptions[hook] = function (args) {
  1165. return this.$vm && this.$vm.__call_hook(hook, args);
  1166. };
  1167. }
  1168. });
  1169. }
  1170. function initVueComponent(Vue, vueOptions) {
  1171. vueOptions = vueOptions.default || vueOptions;
  1172. var VueComponent;
  1173. if (isFn(vueOptions)) {
  1174. VueComponent = vueOptions;
  1175. } else {
  1176. VueComponent = Vue.extend(vueOptions);
  1177. }
  1178. vueOptions = VueComponent.options;
  1179. return [VueComponent, vueOptions];
  1180. }
  1181. function initSlots(vm, vueSlots) {
  1182. if (Array.isArray(vueSlots) && vueSlots.length) {
  1183. var $slots = Object.create(null);
  1184. vueSlots.forEach(function (slotName) {
  1185. $slots[slotName] = true;
  1186. });
  1187. vm.$scopedSlots = vm.$slots = $slots;
  1188. }
  1189. }
  1190. function initVueIds(vueIds, mpInstance) {
  1191. vueIds = (vueIds || '').split(',');
  1192. var len = vueIds.length;
  1193. if (len === 1) {
  1194. mpInstance._$vueId = vueIds[0];
  1195. } else if (len === 2) {
  1196. mpInstance._$vueId = vueIds[0];
  1197. mpInstance._$vuePid = vueIds[1];
  1198. }
  1199. }
  1200. function initData(vueOptions, context) {
  1201. var data = vueOptions.data || {};
  1202. var methods = vueOptions.methods || {};
  1203. if (typeof data === 'function') {
  1204. try {
  1205. data = data.call(context); // 支持 Vue.prototype 上挂的数据
  1206. } catch (e) {
  1207. if (Object({"NODE_ENV":"development","VUE_APP_NAME":"重卡换电","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG) {
  1208. console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data);
  1209. }
  1210. }
  1211. } else {
  1212. try {
  1213. // 对 data 格式化
  1214. data = JSON.parse(JSON.stringify(data));
  1215. } catch (e) {}
  1216. }
  1217. if (!isPlainObject(data)) {
  1218. data = {};
  1219. }
  1220. Object.keys(methods).forEach(function (methodName) {
  1221. if (context.__lifecycle_hooks__.indexOf(methodName) === -1 && !hasOwn(data, methodName)) {
  1222. data[methodName] = methods[methodName];
  1223. }
  1224. });
  1225. return data;
  1226. }
  1227. var PROP_TYPES = [String, Number, Boolean, Object, Array, null];
  1228. function createObserver(name) {
  1229. return function observer(newVal, oldVal) {
  1230. if (this.$vm) {
  1231. this.$vm[name] = newVal; // 为了触发其他非 render watcher
  1232. }
  1233. };
  1234. }
  1235. function initBehaviors(vueOptions, initBehavior) {
  1236. var vueBehaviors = vueOptions.behaviors;
  1237. var vueExtends = vueOptions.extends;
  1238. var vueMixins = vueOptions.mixins;
  1239. var vueProps = vueOptions.props;
  1240. if (!vueProps) {
  1241. vueOptions.props = vueProps = [];
  1242. }
  1243. var behaviors = [];
  1244. if (Array.isArray(vueBehaviors)) {
  1245. vueBehaviors.forEach(function (behavior) {
  1246. behaviors.push(behavior.replace('uni://', "wx".concat("://")));
  1247. if (behavior === 'uni://form-field') {
  1248. if (Array.isArray(vueProps)) {
  1249. vueProps.push('name');
  1250. vueProps.push('value');
  1251. } else {
  1252. vueProps.name = {
  1253. type: String,
  1254. default: '' };
  1255. vueProps.value = {
  1256. type: [String, Number, Boolean, Array, Object, Date],
  1257. default: '' };
  1258. }
  1259. }
  1260. });
  1261. }
  1262. if (isPlainObject(vueExtends) && vueExtends.props) {
  1263. behaviors.push(
  1264. initBehavior({
  1265. properties: initProperties(vueExtends.props, true) }));
  1266. }
  1267. if (Array.isArray(vueMixins)) {
  1268. vueMixins.forEach(function (vueMixin) {
  1269. if (isPlainObject(vueMixin) && vueMixin.props) {
  1270. behaviors.push(
  1271. initBehavior({
  1272. properties: initProperties(vueMixin.props, true) }));
  1273. }
  1274. });
  1275. }
  1276. return behaviors;
  1277. }
  1278. function parsePropType(key, type, defaultValue, file) {
  1279. // [String]=>String
  1280. if (Array.isArray(type) && type.length === 1) {
  1281. return type[0];
  1282. }
  1283. return type;
  1284. }
  1285. function initProperties(props) {var isBehavior = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;var file = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';var options = arguments.length > 3 ? arguments[3] : undefined;
  1286. var properties = {};
  1287. if (!isBehavior) {
  1288. properties.vueId = {
  1289. type: String,
  1290. value: '' };
  1291. {
  1292. if (options.virtualHost) {
  1293. properties.virtualHostStyle = {
  1294. type: null,
  1295. value: '' };
  1296. properties.virtualHostClass = {
  1297. type: null,
  1298. value: '' };
  1299. }
  1300. }
  1301. // scopedSlotsCompiler auto
  1302. properties.scopedSlotsCompiler = {
  1303. type: String,
  1304. value: '' };
  1305. properties.vueSlots = { // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots
  1306. type: null,
  1307. value: [],
  1308. observer: function observer(newVal, oldVal) {
  1309. var $slots = Object.create(null);
  1310. newVal.forEach(function (slotName) {
  1311. $slots[slotName] = true;
  1312. });
  1313. this.setData({
  1314. $slots: $slots });
  1315. } };
  1316. }
  1317. if (Array.isArray(props)) {// ['title']
  1318. props.forEach(function (key) {
  1319. properties[key] = {
  1320. type: null,
  1321. observer: createObserver(key) };
  1322. });
  1323. } else if (isPlainObject(props)) {// {title:{type:String,default:''},content:String}
  1324. Object.keys(props).forEach(function (key) {
  1325. var opts = props[key];
  1326. if (isPlainObject(opts)) {// title:{type:String,default:''}
  1327. var value = opts.default;
  1328. if (isFn(value)) {
  1329. value = value();
  1330. }
  1331. opts.type = parsePropType(key, opts.type);
  1332. properties[key] = {
  1333. type: PROP_TYPES.indexOf(opts.type) !== -1 ? opts.type : null,
  1334. value: value,
  1335. observer: createObserver(key) };
  1336. } else {// content:String
  1337. var type = parsePropType(key, opts);
  1338. properties[key] = {
  1339. type: PROP_TYPES.indexOf(type) !== -1 ? type : null,
  1340. observer: createObserver(key) };
  1341. }
  1342. });
  1343. }
  1344. return properties;
  1345. }
  1346. function wrapper$1(event) {
  1347. // TODO 又得兼容 mpvue 的 mp 对象
  1348. try {
  1349. event.mp = JSON.parse(JSON.stringify(event));
  1350. } catch (e) {}
  1351. event.stopPropagation = noop;
  1352. event.preventDefault = noop;
  1353. event.target = event.target || {};
  1354. if (!hasOwn(event, 'detail')) {
  1355. event.detail = {};
  1356. }
  1357. if (hasOwn(event, 'markerId')) {
  1358. event.detail = typeof event.detail === 'object' ? event.detail : {};
  1359. event.detail.markerId = event.markerId;
  1360. }
  1361. if (isPlainObject(event.detail)) {
  1362. event.target = Object.assign({}, event.target, event.detail);
  1363. }
  1364. return event;
  1365. }
  1366. function getExtraValue(vm, dataPathsArray) {
  1367. var context = vm;
  1368. dataPathsArray.forEach(function (dataPathArray) {
  1369. var dataPath = dataPathArray[0];
  1370. var value = dataPathArray[2];
  1371. if (dataPath || typeof value !== 'undefined') {// ['','',index,'disable']
  1372. var propPath = dataPathArray[1];
  1373. var valuePath = dataPathArray[3];
  1374. var vFor;
  1375. if (Number.isInteger(dataPath)) {
  1376. vFor = dataPath;
  1377. } else if (!dataPath) {
  1378. vFor = context;
  1379. } else if (typeof dataPath === 'string' && dataPath) {
  1380. if (dataPath.indexOf('#s#') === 0) {
  1381. vFor = dataPath.substr(3);
  1382. } else {
  1383. vFor = vm.__get_value(dataPath, context);
  1384. }
  1385. }
  1386. if (Number.isInteger(vFor)) {
  1387. context = value;
  1388. } else if (!propPath) {
  1389. context = vFor[value];
  1390. } else {
  1391. if (Array.isArray(vFor)) {
  1392. context = vFor.find(function (vForItem) {
  1393. return vm.__get_value(propPath, vForItem) === value;
  1394. });
  1395. } else if (isPlainObject(vFor)) {
  1396. context = Object.keys(vFor).find(function (vForKey) {
  1397. return vm.__get_value(propPath, vFor[vForKey]) === value;
  1398. });
  1399. } else {
  1400. console.error('v-for 暂不支持循环数据:', vFor);
  1401. }
  1402. }
  1403. if (valuePath) {
  1404. context = vm.__get_value(valuePath, context);
  1405. }
  1406. }
  1407. });
  1408. return context;
  1409. }
  1410. function processEventExtra(vm, extra, event) {
  1411. var extraObj = {};
  1412. if (Array.isArray(extra) && extra.length) {
  1413. /**
  1414. *[
  1415. * ['data.items', 'data.id', item.data.id],
  1416. * ['metas', 'id', meta.id]
  1417. *],
  1418. *[
  1419. * ['data.items', 'data.id', item.data.id],
  1420. * ['metas', 'id', meta.id]
  1421. *],
  1422. *'test'
  1423. */
  1424. extra.forEach(function (dataPath, index) {
  1425. if (typeof dataPath === 'string') {
  1426. if (!dataPath) {// model,prop.sync
  1427. extraObj['$' + index] = vm;
  1428. } else {
  1429. if (dataPath === '$event') {// $event
  1430. extraObj['$' + index] = event;
  1431. } else if (dataPath === 'arguments') {
  1432. if (event.detail && event.detail.__args__) {
  1433. extraObj['$' + index] = event.detail.__args__;
  1434. } else {
  1435. extraObj['$' + index] = [event];
  1436. }
  1437. } else if (dataPath.indexOf('$event.') === 0) {// $event.target.value
  1438. extraObj['$' + index] = vm.__get_value(dataPath.replace('$event.', ''), event);
  1439. } else {
  1440. extraObj['$' + index] = vm.__get_value(dataPath);
  1441. }
  1442. }
  1443. } else {
  1444. extraObj['$' + index] = getExtraValue(vm, dataPath);
  1445. }
  1446. });
  1447. }
  1448. return extraObj;
  1449. }
  1450. function getObjByArray(arr) {
  1451. var obj = {};
  1452. for (var i = 1; i < arr.length; i++) {
  1453. var element = arr[i];
  1454. obj[element[0]] = element[1];
  1455. }
  1456. return obj;
  1457. }
  1458. function processEventArgs(vm, event) {var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];var extra = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];var isCustom = arguments.length > 4 ? arguments[4] : undefined;var methodName = arguments.length > 5 ? arguments[5] : undefined;
  1459. var isCustomMPEvent = false; // wxcomponent 组件,传递原始 event 对象
  1460. if (isCustom) {// 自定义事件
  1461. isCustomMPEvent = event.currentTarget &&
  1462. event.currentTarget.dataset &&
  1463. event.currentTarget.dataset.comType === 'wx';
  1464. if (!args.length) {// 无参数,直接传入 event 或 detail 数组
  1465. if (isCustomMPEvent) {
  1466. return [event];
  1467. }
  1468. return event.detail.__args__ || event.detail;
  1469. }
  1470. }
  1471. var extraObj = processEventExtra(vm, extra, event);
  1472. var ret = [];
  1473. args.forEach(function (arg) {
  1474. if (arg === '$event') {
  1475. if (methodName === '__set_model' && !isCustom) {// input v-model value
  1476. ret.push(event.target.value);
  1477. } else {
  1478. if (isCustom && !isCustomMPEvent) {
  1479. ret.push(event.detail.__args__[0]);
  1480. } else {// wxcomponent 组件或内置组件
  1481. ret.push(event);
  1482. }
  1483. }
  1484. } else {
  1485. if (Array.isArray(arg) && arg[0] === 'o') {
  1486. ret.push(getObjByArray(arg));
  1487. } else if (typeof arg === 'string' && hasOwn(extraObj, arg)) {
  1488. ret.push(extraObj[arg]);
  1489. } else {
  1490. ret.push(arg);
  1491. }
  1492. }
  1493. });
  1494. return ret;
  1495. }
  1496. var ONCE = '~';
  1497. var CUSTOM = '^';
  1498. function isMatchEventType(eventType, optType) {
  1499. return eventType === optType ||
  1500. optType === 'regionchange' && (
  1501. eventType === 'begin' ||
  1502. eventType === 'end');
  1503. }
  1504. function getContextVm(vm) {
  1505. var $parent = vm.$parent;
  1506. // 父组件是 scoped slots 或者其他自定义组件时继续查找
  1507. while ($parent && $parent.$parent && ($parent.$options.generic || $parent.$parent.$options.generic || $parent.$scope._$vuePid)) {
  1508. $parent = $parent.$parent;
  1509. }
  1510. return $parent && $parent.$parent;
  1511. }
  1512. function handleEvent(event) {var _this2 = this;
  1513. event = wrapper$1(event);
  1514. // [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]
  1515. var dataset = (event.currentTarget || event.target).dataset;
  1516. if (!dataset) {
  1517. return console.warn('事件信息不存在');
  1518. }
  1519. var eventOpts = dataset.eventOpts || dataset['event-opts']; // 支付宝 web-view 组件 dataset 非驼峰
  1520. if (!eventOpts) {
  1521. return console.warn('事件信息不存在');
  1522. }
  1523. // [['handle',[1,2,a]],['handle1',[1,2,a]]]
  1524. var eventType = event.type;
  1525. var ret = [];
  1526. eventOpts.forEach(function (eventOpt) {
  1527. var type = eventOpt[0];
  1528. var eventsArray = eventOpt[1];
  1529. var isCustom = type.charAt(0) === CUSTOM;
  1530. type = isCustom ? type.slice(1) : type;
  1531. var isOnce = type.charAt(0) === ONCE;
  1532. type = isOnce ? type.slice(1) : type;
  1533. if (eventsArray && isMatchEventType(eventType, type)) {
  1534. eventsArray.forEach(function (eventArray) {
  1535. var methodName = eventArray[0];
  1536. if (methodName) {
  1537. var handlerCtx = _this2.$vm;
  1538. if (handlerCtx.$options.generic) {// mp-weixin,mp-toutiao 抽象节点模拟 scoped slots
  1539. handlerCtx = getContextVm(handlerCtx) || handlerCtx;
  1540. }
  1541. if (methodName === '$emit') {
  1542. handlerCtx.$emit.apply(handlerCtx,
  1543. processEventArgs(
  1544. _this2.$vm,
  1545. event,
  1546. eventArray[1],
  1547. eventArray[2],
  1548. isCustom,
  1549. methodName));
  1550. return;
  1551. }
  1552. var handler = handlerCtx[methodName];
  1553. if (!isFn(handler)) {
  1554. var _type = _this2.$vm.mpType === 'page' ? 'Page' : 'Component';
  1555. var path = _this2.route || _this2.is;
  1556. throw new Error("".concat(_type, " \"").concat(path, "\" does not have a method \"").concat(methodName, "\""));
  1557. }
  1558. if (isOnce) {
  1559. if (handler.once) {
  1560. return;
  1561. }
  1562. handler.once = true;
  1563. }
  1564. var params = processEventArgs(
  1565. _this2.$vm,
  1566. event,
  1567. eventArray[1],
  1568. eventArray[2],
  1569. isCustom,
  1570. methodName);
  1571. params = Array.isArray(params) ? params : [];
  1572. // 参数尾部增加原始事件对象用于复杂表达式内获取额外数据
  1573. if (/=\s*\S+\.eventParams\s*\|\|\s*\S+\[['"]event-params['"]\]/.test(handler.toString())) {
  1574. // eslint-disable-next-line no-sparse-arrays
  1575. params = params.concat([,,,,,,,,,, event]);
  1576. }
  1577. ret.push(handler.apply(handlerCtx, params));
  1578. }
  1579. });
  1580. }
  1581. });
  1582. if (
  1583. eventType === 'input' &&
  1584. ret.length === 1 &&
  1585. typeof ret[0] !== 'undefined')
  1586. {
  1587. return ret[0];
  1588. }
  1589. }
  1590. var eventChannels = {};
  1591. var eventChannelStack = [];
  1592. function getEventChannel(id) {
  1593. if (id) {
  1594. var eventChannel = eventChannels[id];
  1595. delete eventChannels[id];
  1596. return eventChannel;
  1597. }
  1598. return eventChannelStack.shift();
  1599. }
  1600. var hooks = [
  1601. 'onShow',
  1602. 'onHide',
  1603. 'onError',
  1604. 'onPageNotFound',
  1605. 'onThemeChange',
  1606. 'onUnhandledRejection'];
  1607. function initEventChannel() {
  1608. _vue.default.prototype.getOpenerEventChannel = function () {
  1609. // 微信小程序使用自身getOpenerEventChannel
  1610. {
  1611. return this.$scope.getOpenerEventChannel();
  1612. }
  1613. };
  1614. var callHook = _vue.default.prototype.__call_hook;
  1615. _vue.default.prototype.__call_hook = function (hook, args) {
  1616. if (hook === 'onLoad' && args && args.__id__) {
  1617. this.__eventChannel__ = getEventChannel(args.__id__);
  1618. delete args.__id__;
  1619. }
  1620. return callHook.call(this, hook, args);
  1621. };
  1622. }
  1623. function initScopedSlotsParams() {
  1624. var center = {};
  1625. var parents = {};
  1626. _vue.default.prototype.$hasScopedSlotsParams = function (vueId) {
  1627. var has = center[vueId];
  1628. if (!has) {
  1629. parents[vueId] = this;
  1630. this.$on('hook:destroyed', function () {
  1631. delete parents[vueId];
  1632. });
  1633. }
  1634. return has;
  1635. };
  1636. _vue.default.prototype.$getScopedSlotsParams = function (vueId, name, key) {
  1637. var data = center[vueId];
  1638. if (data) {
  1639. var object = data[name] || {};
  1640. return key ? object[key] : object;
  1641. } else {
  1642. parents[vueId] = this;
  1643. this.$on('hook:destroyed', function () {
  1644. delete parents[vueId];
  1645. });
  1646. }
  1647. };
  1648. _vue.default.prototype.$setScopedSlotsParams = function (name, value) {
  1649. var vueIds = this.$options.propsData.vueId;
  1650. if (vueIds) {
  1651. var vueId = vueIds.split(',')[0];
  1652. var object = center[vueId] = center[vueId] || {};
  1653. object[name] = value;
  1654. if (parents[vueId]) {
  1655. parents[vueId].$forceUpdate();
  1656. }
  1657. }
  1658. };
  1659. _vue.default.mixin({
  1660. destroyed: function destroyed() {
  1661. var propsData = this.$options.propsData;
  1662. var vueId = propsData && propsData.vueId;
  1663. if (vueId) {
  1664. delete center[vueId];
  1665. delete parents[vueId];
  1666. }
  1667. } });
  1668. }
  1669. function parseBaseApp(vm, _ref3)
  1670. {var mocks = _ref3.mocks,initRefs = _ref3.initRefs;
  1671. initEventChannel();
  1672. {
  1673. initScopedSlotsParams();
  1674. }
  1675. if (vm.$options.store) {
  1676. _vue.default.prototype.$store = vm.$options.store;
  1677. }
  1678. uniIdMixin(_vue.default);
  1679. _vue.default.prototype.mpHost = "mp-weixin";
  1680. _vue.default.mixin({
  1681. beforeCreate: function beforeCreate() {
  1682. if (!this.$options.mpType) {
  1683. return;
  1684. }
  1685. this.mpType = this.$options.mpType;
  1686. this.$mp = _defineProperty({
  1687. data: {} },
  1688. this.mpType, this.$options.mpInstance);
  1689. this.$scope = this.$options.mpInstance;
  1690. delete this.$options.mpType;
  1691. delete this.$options.mpInstance;
  1692. if (this.mpType === 'page' && typeof getApp === 'function') {// hack vue-i18n
  1693. var app = getApp();
  1694. if (app.$vm && app.$vm.$i18n) {
  1695. this._i18n = app.$vm.$i18n;
  1696. }
  1697. }
  1698. if (this.mpType !== 'app') {
  1699. initRefs(this);
  1700. initMocks(this, mocks);
  1701. }
  1702. } });
  1703. var appOptions = {
  1704. onLaunch: function onLaunch(args) {
  1705. if (this.$vm) {// 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前
  1706. return;
  1707. }
  1708. {
  1709. if (wx.canIUse && !wx.canIUse('nextTick')) {// 事实 上2.2.3 即可,简单使用 2.3.0 的 nextTick 判断
  1710. console.error('当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上');
  1711. }
  1712. }
  1713. this.$vm = vm;
  1714. this.$vm.$mp = {
  1715. app: this };
  1716. this.$vm.$scope = this;
  1717. // vm 上也挂载 globalData
  1718. this.$vm.globalData = this.globalData;
  1719. this.$vm._isMounted = true;
  1720. this.$vm.__call_hook('mounted', args);
  1721. this.$vm.__call_hook('onLaunch', args);
  1722. } };
  1723. // 兼容旧版本 globalData
  1724. appOptions.globalData = vm.$options.globalData || {};
  1725. // 将 methods 中的方法挂在 getApp() 中
  1726. var methods = vm.$options.methods;
  1727. if (methods) {
  1728. Object.keys(methods).forEach(function (name) {
  1729. appOptions[name] = methods[name];
  1730. });
  1731. }
  1732. initAppLocale(_vue.default, vm, normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN);
  1733. initHooks(appOptions, hooks);
  1734. return appOptions;
  1735. }
  1736. var mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];
  1737. function findVmByVueId(vm, vuePid) {
  1738. var $children = vm.$children;
  1739. // 优先查找直属(反向查找:https://github.com/dcloudio/uni-app/issues/1200)
  1740. for (var i = $children.length - 1; i >= 0; i--) {
  1741. var childVm = $children[i];
  1742. if (childVm.$scope._$vueId === vuePid) {
  1743. return childVm;
  1744. }
  1745. }
  1746. // 反向递归查找
  1747. var parentVm;
  1748. for (var _i = $children.length - 1; _i >= 0; _i--) {
  1749. parentVm = findVmByVueId($children[_i], vuePid);
  1750. if (parentVm) {
  1751. return parentVm;
  1752. }
  1753. }
  1754. }
  1755. function initBehavior(options) {
  1756. return Behavior(options);
  1757. }
  1758. function isPage() {
  1759. return !!this.route;
  1760. }
  1761. function initRelation(detail) {
  1762. this.triggerEvent('__l', detail);
  1763. }
  1764. function selectAllComponents(mpInstance, selector, $refs) {
  1765. var components = mpInstance.selectAllComponents(selector);
  1766. components.forEach(function (component) {
  1767. var ref = component.dataset.ref;
  1768. $refs[ref] = component.$vm || component;
  1769. {
  1770. if (component.dataset.vueGeneric === 'scoped') {
  1771. component.selectAllComponents('.scoped-ref').forEach(function (scopedComponent) {
  1772. selectAllComponents(scopedComponent, selector, $refs);
  1773. });
  1774. }
  1775. }
  1776. });
  1777. }
  1778. function initRefs(vm) {
  1779. var mpInstance = vm.$scope;
  1780. Object.defineProperty(vm, '$refs', {
  1781. get: function get() {
  1782. var $refs = {};
  1783. selectAllComponents(mpInstance, '.vue-ref', $refs);
  1784. // TODO 暂不考虑 for 中的 scoped
  1785. var forComponents = mpInstance.selectAllComponents('.vue-ref-in-for');
  1786. forComponents.forEach(function (component) {
  1787. var ref = component.dataset.ref;
  1788. if (!$refs[ref]) {
  1789. $refs[ref] = [];
  1790. }
  1791. $refs[ref].push(component.$vm || component);
  1792. });
  1793. return $refs;
  1794. } });
  1795. }
  1796. function handleLink(event) {var _ref4 =
  1797. event.detail || event.value,vuePid = _ref4.vuePid,vueOptions = _ref4.vueOptions; // detail 是微信,value 是百度(dipatch)
  1798. var parentVm;
  1799. if (vuePid) {
  1800. parentVm = findVmByVueId(this.$vm, vuePid);
  1801. }
  1802. if (!parentVm) {
  1803. parentVm = this.$vm;
  1804. }
  1805. vueOptions.parent = parentVm;
  1806. }
  1807. function parseApp(vm) {
  1808. return parseBaseApp(vm, {
  1809. mocks: mocks,
  1810. initRefs: initRefs });
  1811. }
  1812. function createApp(vm) {
  1813. App(parseApp(vm));
  1814. return vm;
  1815. }
  1816. var encodeReserveRE = /[!'()*]/g;
  1817. var encodeReserveReplacer = function encodeReserveReplacer(c) {return '%' + c.charCodeAt(0).toString(16);};
  1818. var commaRE = /%2C/g;
  1819. // fixed encodeURIComponent which is more conformant to RFC3986:
  1820. // - escapes [!'()*]
  1821. // - preserve commas
  1822. var encode = function encode(str) {return encodeURIComponent(str).
  1823. replace(encodeReserveRE, encodeReserveReplacer).
  1824. replace(commaRE, ',');};
  1825. function stringifyQuery(obj) {var encodeStr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : encode;
  1826. var res = obj ? Object.keys(obj).map(function (key) {
  1827. var val = obj[key];
  1828. if (val === undefined) {
  1829. return '';
  1830. }
  1831. if (val === null) {
  1832. return encodeStr(key);
  1833. }
  1834. if (Array.isArray(val)) {
  1835. var result = [];
  1836. val.forEach(function (val2) {
  1837. if (val2 === undefined) {
  1838. return;
  1839. }
  1840. if (val2 === null) {
  1841. result.push(encodeStr(key));
  1842. } else {
  1843. result.push(encodeStr(key) + '=' + encodeStr(val2));
  1844. }
  1845. });
  1846. return result.join('&');
  1847. }
  1848. return encodeStr(key) + '=' + encodeStr(val);
  1849. }).filter(function (x) {return x.length > 0;}).join('&') : null;
  1850. return res ? "?".concat(res) : '';
  1851. }
  1852. function parseBaseComponent(vueComponentOptions)
  1853. {var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},isPage = _ref5.isPage,initRelation = _ref5.initRelation;var _initVueComponent =
  1854. initVueComponent(_vue.default, vueComponentOptions),_initVueComponent2 = _slicedToArray(_initVueComponent, 2),VueComponent = _initVueComponent2[0],vueOptions = _initVueComponent2[1];
  1855. var options = _objectSpread({
  1856. multipleSlots: true,
  1857. addGlobalClass: true },
  1858. vueOptions.options || {});
  1859. {
  1860. // 微信 multipleSlots 部分情况有 bug,导致内容顺序错乱 如 u-list,提供覆盖选项
  1861. if (vueOptions['mp-weixin'] && vueOptions['mp-weixin'].options) {
  1862. Object.assign(options, vueOptions['mp-weixin'].options);
  1863. }
  1864. }
  1865. var componentOptions = {
  1866. options: options,
  1867. data: initData(vueOptions, _vue.default.prototype),
  1868. behaviors: initBehaviors(vueOptions, initBehavior),
  1869. properties: initProperties(vueOptions.props, false, vueOptions.__file, options),
  1870. lifetimes: {
  1871. attached: function attached() {
  1872. var properties = this.properties;
  1873. var options = {
  1874. mpType: isPage.call(this) ? 'page' : 'component',
  1875. mpInstance: this,
  1876. propsData: properties };
  1877. initVueIds(properties.vueId, this);
  1878. // 处理父子关系
  1879. initRelation.call(this, {
  1880. vuePid: this._$vuePid,
  1881. vueOptions: options });
  1882. // 初始化 vue 实例
  1883. this.$vm = new VueComponent(options);
  1884. // 处理$slots,$scopedSlots(暂不支持动态变化$slots)
  1885. initSlots(this.$vm, properties.vueSlots);
  1886. // 触发首次 setData
  1887. this.$vm.$mount();
  1888. },
  1889. ready: function ready() {
  1890. // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发
  1891. // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800
  1892. if (this.$vm) {
  1893. this.$vm._isMounted = true;
  1894. this.$vm.__call_hook('mounted');
  1895. this.$vm.__call_hook('onReady');
  1896. }
  1897. },
  1898. detached: function detached() {
  1899. this.$vm && this.$vm.$destroy();
  1900. } },
  1901. pageLifetimes: {
  1902. show: function show(args) {
  1903. this.$vm && this.$vm.__call_hook('onPageShow', args);
  1904. },
  1905. hide: function hide() {
  1906. this.$vm && this.$vm.__call_hook('onPageHide');
  1907. },
  1908. resize: function resize(size) {
  1909. this.$vm && this.$vm.__call_hook('onPageResize', size);
  1910. } },
  1911. methods: {
  1912. __l: handleLink,
  1913. __e: handleEvent } };
  1914. // externalClasses
  1915. if (vueOptions.externalClasses) {
  1916. componentOptions.externalClasses = vueOptions.externalClasses;
  1917. }
  1918. if (Array.isArray(vueOptions.wxsCallMethods)) {
  1919. vueOptions.wxsCallMethods.forEach(function (callMethod) {
  1920. componentOptions.methods[callMethod] = function (args) {
  1921. return this.$vm[callMethod](args);
  1922. };
  1923. });
  1924. }
  1925. if (isPage) {
  1926. return componentOptions;
  1927. }
  1928. return [componentOptions, VueComponent];
  1929. }
  1930. function parseComponent(vueComponentOptions) {
  1931. return parseBaseComponent(vueComponentOptions, {
  1932. isPage: isPage,
  1933. initRelation: initRelation });
  1934. }
  1935. var hooks$1 = [
  1936. 'onShow',
  1937. 'onHide',
  1938. 'onUnload'];
  1939. hooks$1.push.apply(hooks$1, PAGE_EVENT_HOOKS);
  1940. function parseBasePage(vuePageOptions, _ref6)
  1941. {var isPage = _ref6.isPage,initRelation = _ref6.initRelation;
  1942. var pageOptions = parseComponent(vuePageOptions);
  1943. initHooks(pageOptions.methods, hooks$1, vuePageOptions);
  1944. pageOptions.methods.onLoad = function (query) {
  1945. this.options = query;
  1946. var copyQuery = Object.assign({}, query);
  1947. delete copyQuery.__id__;
  1948. this.$page = {
  1949. fullPath: '/' + (this.route || this.is) + stringifyQuery(copyQuery) };
  1950. this.$vm.$mp.query = query; // 兼容 mpvue
  1951. this.$vm.__call_hook('onLoad', query);
  1952. };
  1953. return pageOptions;
  1954. }
  1955. function parsePage(vuePageOptions) {
  1956. return parseBasePage(vuePageOptions, {
  1957. isPage: isPage,
  1958. initRelation: initRelation });
  1959. }
  1960. function createPage(vuePageOptions) {
  1961. {
  1962. return Component(parsePage(vuePageOptions));
  1963. }
  1964. }
  1965. function createComponent(vueOptions) {
  1966. {
  1967. return Component(parseComponent(vueOptions));
  1968. }
  1969. }
  1970. function createSubpackageApp(vm) {
  1971. var appOptions = parseApp(vm);
  1972. var app = getApp({
  1973. allowDefault: true });
  1974. vm.$scope = app;
  1975. var globalData = app.globalData;
  1976. if (globalData) {
  1977. Object.keys(appOptions.globalData).forEach(function (name) {
  1978. if (!hasOwn(globalData, name)) {
  1979. globalData[name] = appOptions.globalData[name];
  1980. }
  1981. });
  1982. }
  1983. Object.keys(appOptions).forEach(function (name) {
  1984. if (!hasOwn(app, name)) {
  1985. app[name] = appOptions[name];
  1986. }
  1987. });
  1988. if (isFn(appOptions.onShow) && wx.onAppShow) {
  1989. wx.onAppShow(function () {for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {args[_key5] = arguments[_key5];}
  1990. vm.__call_hook('onShow', args);
  1991. });
  1992. }
  1993. if (isFn(appOptions.onHide) && wx.onAppHide) {
  1994. wx.onAppHide(function () {for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {args[_key6] = arguments[_key6];}
  1995. vm.__call_hook('onHide', args);
  1996. });
  1997. }
  1998. if (isFn(appOptions.onLaunch)) {
  1999. var args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();
  2000. vm.__call_hook('onLaunch', args);
  2001. }
  2002. return vm;
  2003. }
  2004. function createPlugin(vm) {
  2005. var appOptions = parseApp(vm);
  2006. if (isFn(appOptions.onShow) && wx.onAppShow) {
  2007. wx.onAppShow(function () {for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {args[_key7] = arguments[_key7];}
  2008. vm.__call_hook('onShow', args);
  2009. });
  2010. }
  2011. if (isFn(appOptions.onHide) && wx.onAppHide) {
  2012. wx.onAppHide(function () {for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {args[_key8] = arguments[_key8];}
  2013. vm.__call_hook('onHide', args);
  2014. });
  2015. }
  2016. if (isFn(appOptions.onLaunch)) {
  2017. var args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();
  2018. vm.__call_hook('onLaunch', args);
  2019. }
  2020. return vm;
  2021. }
  2022. todos.forEach(function (todoApi) {
  2023. protocols[todoApi] = false;
  2024. });
  2025. canIUses.forEach(function (canIUseApi) {
  2026. var apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name :
  2027. canIUseApi;
  2028. if (!wx.canIUse(apiName)) {
  2029. protocols[canIUseApi] = false;
  2030. }
  2031. });
  2032. var uni = {};
  2033. if (typeof Proxy !== 'undefined' && "mp-weixin" !== 'app-plus') {
  2034. uni = new Proxy({}, {
  2035. get: function get(target, name) {
  2036. if (hasOwn(target, name)) {
  2037. return target[name];
  2038. }
  2039. if (baseApi[name]) {
  2040. return baseApi[name];
  2041. }
  2042. if (api[name]) {
  2043. return promisify(name, api[name]);
  2044. }
  2045. {
  2046. if (extraApi[name]) {
  2047. return promisify(name, extraApi[name]);
  2048. }
  2049. if (todoApis[name]) {
  2050. return promisify(name, todoApis[name]);
  2051. }
  2052. }
  2053. if (eventApi[name]) {
  2054. return eventApi[name];
  2055. }
  2056. if (!hasOwn(wx, name) && !hasOwn(protocols, name)) {
  2057. return;
  2058. }
  2059. return promisify(name, wrapper(name, wx[name]));
  2060. },
  2061. set: function set(target, name, value) {
  2062. target[name] = value;
  2063. return true;
  2064. } });
  2065. } else {
  2066. Object.keys(baseApi).forEach(function (name) {
  2067. uni[name] = baseApi[name];
  2068. });
  2069. {
  2070. Object.keys(todoApis).forEach(function (name) {
  2071. uni[name] = promisify(name, todoApis[name]);
  2072. });
  2073. Object.keys(extraApi).forEach(function (name) {
  2074. uni[name] = promisify(name, todoApis[name]);
  2075. });
  2076. }
  2077. Object.keys(eventApi).forEach(function (name) {
  2078. uni[name] = eventApi[name];
  2079. });
  2080. Object.keys(api).forEach(function (name) {
  2081. uni[name] = promisify(name, api[name]);
  2082. });
  2083. Object.keys(wx).forEach(function (name) {
  2084. if (hasOwn(wx, name) || hasOwn(protocols, name)) {
  2085. uni[name] = promisify(name, wrapper(name, wx[name]));
  2086. }
  2087. });
  2088. }
  2089. wx.createApp = createApp;
  2090. wx.createPage = createPage;
  2091. wx.createComponent = createComponent;
  2092. wx.createSubpackageApp = createSubpackageApp;
  2093. wx.createPlugin = createPlugin;
  2094. var uni$1 = uni;var _default =
  2095. uni$1;exports.default = _default;
  2096. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../webpack/buildin/global.js */ 2)))
  2097. /***/ }),
  2098. /* 2 */
  2099. /*!***********************************!*\
  2100. !*** (webpack)/buildin/global.js ***!
  2101. \***********************************/
  2102. /*! no static exports found */
  2103. /***/ (function(module, exports) {
  2104. var g;
  2105. // This works in non-strict mode
  2106. g = (function() {
  2107. return this;
  2108. })();
  2109. try {
  2110. // This works if eval is allowed (see CSP)
  2111. g = g || new Function("return this")();
  2112. } catch (e) {
  2113. // This works if the window reference is available
  2114. if (typeof window === "object") g = window;
  2115. }
  2116. // g can still be undefined, but nothing to do about it...
  2117. // We return undefined, instead of nothing here, so it's
  2118. // easier to handle this case. if(!global) { ...}
  2119. module.exports = g;
  2120. /***/ }),
  2121. /* 3 */
  2122. /*!*************************************************************!*\
  2123. !*** ./node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js ***!
  2124. \*************************************************************/
  2125. /*! no static exports found */
  2126. /***/ (function(module, exports, __webpack_require__) {
  2127. "use strict";
  2128. /* WEBPACK VAR INJECTION */(function(uni, global) {Object.defineProperty(exports, "__esModule", { value: true });exports.compileI18nJsonStr = compileI18nJsonStr;exports.hasI18nJson = hasI18nJson;exports.initVueI18n = initVueI18n;exports.isI18nStr = isI18nStr;exports.normalizeLocale = normalizeLocale;exports.parseI18nJson = parseI18nJson;exports.resolveLocale = resolveLocale;exports.isString = exports.LOCALE_ZH_HANT = exports.LOCALE_ZH_HANS = exports.LOCALE_FR = exports.LOCALE_ES = exports.LOCALE_EN = exports.I18n = exports.Formatter = void 0;function _slicedToArray(arr, i) {return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o, minLen) {if (!o) return;if (typeof o === "string") return _arrayLikeToArray(o, minLen);var n = Object.prototype.toString.call(o).slice(8, -1);if (n === "Object" && o.constructor) n = o.constructor.name;if (n === "Map" || n === "Set") return Array.from(o);if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);}function _arrayLikeToArray(arr, len) {if (len == null || len > arr.length) len = arr.length;for (var i = 0, arr2 = new Array(len); i < len; i++) {arr2[i] = arr[i];}return arr2;}function _iterableToArrayLimit(arr, i) {if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;var _arr = [];var _n = true;var _d = false;var _e = undefined;try {for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {_arr.push(_s.value);if (i && _arr.length === i) break;}} catch (err) {_d = true;_e = err;} finally {try {if (!_n && _i["return"] != null) _i["return"]();} finally {if (_d) throw _e;}}return _arr;}function _arrayWithHoles(arr) {if (Array.isArray(arr)) return arr;}function _classCallCheck(instance, Constructor) {if (!(instance instanceof Constructor)) {throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target, props) {for (var i = 0; i < props.length; i++) {var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);}}function _createClass(Constructor, protoProps, staticProps) {if (protoProps) _defineProperties(Constructor.prototype, protoProps);if (staticProps) _defineProperties(Constructor, staticProps);return Constructor;}var isArray = Array.isArray;
  2129. var isObject = function isObject(val) {return val !== null && typeof val === 'object';};
  2130. var defaultDelimiters = ['{', '}'];var
  2131. BaseFormatter = /*#__PURE__*/function () {
  2132. function BaseFormatter() {_classCallCheck(this, BaseFormatter);
  2133. this._caches = Object.create(null);
  2134. }_createClass(BaseFormatter, [{ key: "interpolate", value: function interpolate(
  2135. message, values) {var delimiters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultDelimiters;
  2136. if (!values) {
  2137. return [message];
  2138. }
  2139. var tokens = this._caches[message];
  2140. if (!tokens) {
  2141. tokens = parse(message, delimiters);
  2142. this._caches[message] = tokens;
  2143. }
  2144. return compile(tokens, values);
  2145. } }]);return BaseFormatter;}();exports.Formatter = BaseFormatter;
  2146. var RE_TOKEN_LIST_VALUE = /^(?:\d)+/;
  2147. var RE_TOKEN_NAMED_VALUE = /^(?:\w)+/;
  2148. function parse(format, _ref) {var _ref2 = _slicedToArray(_ref, 2),startDelimiter = _ref2[0],endDelimiter = _ref2[1];
  2149. var tokens = [];
  2150. var position = 0;
  2151. var text = '';
  2152. while (position < format.length) {
  2153. var char = format[position++];
  2154. if (char === startDelimiter) {
  2155. if (text) {
  2156. tokens.push({ type: 'text', value: text });
  2157. }
  2158. text = '';
  2159. var sub = '';
  2160. char = format[position++];
  2161. while (char !== undefined && char !== endDelimiter) {
  2162. sub += char;
  2163. char = format[position++];
  2164. }
  2165. var isClosed = char === endDelimiter;
  2166. var type = RE_TOKEN_LIST_VALUE.test(sub) ?
  2167. 'list' :
  2168. isClosed && RE_TOKEN_NAMED_VALUE.test(sub) ?
  2169. 'named' :
  2170. 'unknown';
  2171. tokens.push({ value: sub, type: type });
  2172. }
  2173. // else if (char === '%') {
  2174. // // when found rails i18n syntax, skip text capture
  2175. // if (format[position] !== '{') {
  2176. // text += char
  2177. // }
  2178. // }
  2179. else {
  2180. text += char;
  2181. }
  2182. }
  2183. text && tokens.push({ type: 'text', value: text });
  2184. return tokens;
  2185. }
  2186. function compile(tokens, values) {
  2187. var compiled = [];
  2188. var index = 0;
  2189. var mode = isArray(values) ?
  2190. 'list' :
  2191. isObject(values) ?
  2192. 'named' :
  2193. 'unknown';
  2194. if (mode === 'unknown') {
  2195. return compiled;
  2196. }
  2197. while (index < tokens.length) {
  2198. var token = tokens[index];
  2199. switch (token.type) {
  2200. case 'text':
  2201. compiled.push(token.value);
  2202. break;
  2203. case 'list':
  2204. compiled.push(values[parseInt(token.value, 10)]);
  2205. break;
  2206. case 'named':
  2207. if (mode === 'named') {
  2208. compiled.push(values[token.value]);
  2209. } else
  2210. {
  2211. if (true) {
  2212. console.warn("Type of token '".concat(token.type, "' and format of value '").concat(mode, "' don't match!"));
  2213. }
  2214. }
  2215. break;
  2216. case 'unknown':
  2217. if (true) {
  2218. console.warn("Detect 'unknown' type of token!");
  2219. }
  2220. break;}
  2221. index++;
  2222. }
  2223. return compiled;
  2224. }
  2225. var LOCALE_ZH_HANS = 'zh-Hans';exports.LOCALE_ZH_HANS = LOCALE_ZH_HANS;
  2226. var LOCALE_ZH_HANT = 'zh-Hant';exports.LOCALE_ZH_HANT = LOCALE_ZH_HANT;
  2227. var LOCALE_EN = 'en';exports.LOCALE_EN = LOCALE_EN;
  2228. var LOCALE_FR = 'fr';exports.LOCALE_FR = LOCALE_FR;
  2229. var LOCALE_ES = 'es';exports.LOCALE_ES = LOCALE_ES;
  2230. var hasOwnProperty = Object.prototype.hasOwnProperty;
  2231. var hasOwn = function hasOwn(val, key) {return hasOwnProperty.call(val, key);};
  2232. var defaultFormatter = new BaseFormatter();
  2233. function include(str, parts) {
  2234. return !!parts.find(function (part) {return str.indexOf(part) !== -1;});
  2235. }
  2236. function startsWith(str, parts) {
  2237. return parts.find(function (part) {return str.indexOf(part) === 0;});
  2238. }
  2239. function normalizeLocale(locale, messages) {
  2240. if (!locale) {
  2241. return;
  2242. }
  2243. locale = locale.trim().replace(/_/g, '-');
  2244. if (messages && messages[locale]) {
  2245. return locale;
  2246. }
  2247. locale = locale.toLowerCase();
  2248. if (locale.indexOf('zh') === 0) {
  2249. if (locale.indexOf('-hans') > -1) {
  2250. return LOCALE_ZH_HANS;
  2251. }
  2252. if (locale.indexOf('-hant') > -1) {
  2253. return LOCALE_ZH_HANT;
  2254. }
  2255. if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {
  2256. return LOCALE_ZH_HANT;
  2257. }
  2258. return LOCALE_ZH_HANS;
  2259. }
  2260. var lang = startsWith(locale, [LOCALE_EN, LOCALE_FR, LOCALE_ES]);
  2261. if (lang) {
  2262. return lang;
  2263. }
  2264. }var
  2265. I18n = /*#__PURE__*/function () {
  2266. function I18n(_ref3) {var locale = _ref3.locale,fallbackLocale = _ref3.fallbackLocale,messages = _ref3.messages,watcher = _ref3.watcher,formater = _ref3.formater;_classCallCheck(this, I18n);
  2267. this.locale = LOCALE_EN;
  2268. this.fallbackLocale = LOCALE_EN;
  2269. this.message = {};
  2270. this.messages = {};
  2271. this.watchers = [];
  2272. if (fallbackLocale) {
  2273. this.fallbackLocale = fallbackLocale;
  2274. }
  2275. this.formater = formater || defaultFormatter;
  2276. this.messages = messages || {};
  2277. this.setLocale(locale || LOCALE_EN);
  2278. if (watcher) {
  2279. this.watchLocale(watcher);
  2280. }
  2281. }_createClass(I18n, [{ key: "setLocale", value: function setLocale(
  2282. locale) {var _this = this;
  2283. var oldLocale = this.locale;
  2284. this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;
  2285. if (!this.messages[this.locale]) {
  2286. // 可能初始化时不存在
  2287. this.messages[this.locale] = {};
  2288. }
  2289. this.message = this.messages[this.locale];
  2290. // 仅发生变化时,通知
  2291. if (oldLocale !== this.locale) {
  2292. this.watchers.forEach(function (watcher) {
  2293. watcher(_this.locale, oldLocale);
  2294. });
  2295. }
  2296. } }, { key: "getLocale", value: function getLocale()
  2297. {
  2298. return this.locale;
  2299. } }, { key: "watchLocale", value: function watchLocale(
  2300. fn) {var _this2 = this;
  2301. var index = this.watchers.push(fn) - 1;
  2302. return function () {
  2303. _this2.watchers.splice(index, 1);
  2304. };
  2305. } }, { key: "add", value: function add(
  2306. locale, message) {var override = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
  2307. var curMessages = this.messages[locale];
  2308. if (curMessages) {
  2309. if (override) {
  2310. Object.assign(curMessages, message);
  2311. } else
  2312. {
  2313. Object.keys(message).forEach(function (key) {
  2314. if (!hasOwn(curMessages, key)) {
  2315. curMessages[key] = message[key];
  2316. }
  2317. });
  2318. }
  2319. } else
  2320. {
  2321. this.messages[locale] = message;
  2322. }
  2323. } }, { key: "f", value: function f(
  2324. message, values, delimiters) {
  2325. return this.formater.interpolate(message, values, delimiters).join('');
  2326. } }, { key: "t", value: function t(
  2327. key, locale, values) {
  2328. var message = this.message;
  2329. if (typeof locale === 'string') {
  2330. locale = normalizeLocale(locale, this.messages);
  2331. locale && (message = this.messages[locale]);
  2332. } else
  2333. {
  2334. values = locale;
  2335. }
  2336. if (!hasOwn(message, key)) {
  2337. console.warn("Cannot translate the value of keypath ".concat(key, ". Use the value of keypath as default."));
  2338. return key;
  2339. }
  2340. return this.formater.interpolate(message[key], values).join('');
  2341. } }]);return I18n;}();exports.I18n = I18n;
  2342. function watchAppLocale(appVm, i18n) {
  2343. // 需要保证 watch 的触发在组件渲染之前
  2344. if (appVm.$watchLocale) {
  2345. // vue2
  2346. appVm.$watchLocale(function (newLocale) {
  2347. i18n.setLocale(newLocale);
  2348. });
  2349. } else
  2350. {
  2351. appVm.$watch(function () {return appVm.$locale;}, function (newLocale) {
  2352. i18n.setLocale(newLocale);
  2353. });
  2354. }
  2355. }
  2356. function getDefaultLocale() {
  2357. if (typeof uni !== 'undefined' && uni.getLocale) {
  2358. return uni.getLocale();
  2359. }
  2360. // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale
  2361. if (typeof global !== 'undefined' && global.getLocale) {
  2362. return global.getLocale();
  2363. }
  2364. return LOCALE_EN;
  2365. }
  2366. function initVueI18n(locale) {var messages = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};var fallbackLocale = arguments.length > 2 ? arguments[2] : undefined;var watcher = arguments.length > 3 ? arguments[3] : undefined;
  2367. // 兼容旧版本入参
  2368. if (typeof locale !== 'string') {var _ref4 =
  2369. [
  2370. messages,
  2371. locale];locale = _ref4[0];messages = _ref4[1];
  2372. }
  2373. if (typeof locale !== 'string') {
  2374. // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined
  2375. locale = getDefaultLocale();
  2376. }
  2377. if (typeof fallbackLocale !== 'string') {
  2378. fallbackLocale =
  2379. typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale ||
  2380. LOCALE_EN;
  2381. }
  2382. var i18n = new I18n({
  2383. locale: locale,
  2384. fallbackLocale: fallbackLocale,
  2385. messages: messages,
  2386. watcher: watcher });
  2387. var _t = function t(key, values) {
  2388. if (typeof getApp !== 'function') {
  2389. // app view
  2390. /* eslint-disable no-func-assign */
  2391. _t = function t(key, values) {
  2392. return i18n.t(key, values);
  2393. };
  2394. } else
  2395. {
  2396. var isWatchedAppLocale = false;
  2397. _t = function t(key, values) {
  2398. var appVm = getApp().$vm;
  2399. // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化
  2400. // options: {
  2401. // type: Array,
  2402. // default () {
  2403. // return [{
  2404. // icon: 'shop',
  2405. // text: t("uni-goods-nav.options.shop"),
  2406. // }, {
  2407. // icon: 'cart',
  2408. // text: t("uni-goods-nav.options.cart")
  2409. // }]
  2410. // }
  2411. // },
  2412. if (appVm) {
  2413. // 触发响应式
  2414. appVm.$locale;
  2415. if (!isWatchedAppLocale) {
  2416. isWatchedAppLocale = true;
  2417. watchAppLocale(appVm, i18n);
  2418. }
  2419. }
  2420. return i18n.t(key, values);
  2421. };
  2422. }
  2423. return _t(key, values);
  2424. };
  2425. return {
  2426. i18n: i18n,
  2427. f: function f(message, values, delimiters) {
  2428. return i18n.f(message, values, delimiters);
  2429. },
  2430. t: function t(key, values) {
  2431. return _t(key, values);
  2432. },
  2433. add: function add(locale, message) {var override = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
  2434. return i18n.add(locale, message, override);
  2435. },
  2436. watch: function watch(fn) {
  2437. return i18n.watchLocale(fn);
  2438. },
  2439. getLocale: function getLocale() {
  2440. return i18n.getLocale();
  2441. },
  2442. setLocale: function setLocale(newLocale) {
  2443. return i18n.setLocale(newLocale);
  2444. } };
  2445. }
  2446. var isString = function isString(val) {return typeof val === 'string';};exports.isString = isString;
  2447. var formater;
  2448. function hasI18nJson(jsonObj, delimiters) {
  2449. if (!formater) {
  2450. formater = new BaseFormatter();
  2451. }
  2452. return walkJsonObj(jsonObj, function (jsonObj, key) {
  2453. var value = jsonObj[key];
  2454. if (isString(value)) {
  2455. if (isI18nStr(value, delimiters)) {
  2456. return true;
  2457. }
  2458. } else
  2459. {
  2460. return hasI18nJson(value, delimiters);
  2461. }
  2462. });
  2463. }
  2464. function parseI18nJson(jsonObj, values, delimiters) {
  2465. if (!formater) {
  2466. formater = new BaseFormatter();
  2467. }
  2468. walkJsonObj(jsonObj, function (jsonObj, key) {
  2469. var value = jsonObj[key];
  2470. if (isString(value)) {
  2471. if (isI18nStr(value, delimiters)) {
  2472. jsonObj[key] = compileStr(value, values, delimiters);
  2473. }
  2474. } else
  2475. {
  2476. parseI18nJson(value, values, delimiters);
  2477. }
  2478. });
  2479. return jsonObj;
  2480. }
  2481. function compileI18nJsonStr(jsonStr, _ref5) {var locale = _ref5.locale,locales = _ref5.locales,delimiters = _ref5.delimiters;
  2482. if (!isI18nStr(jsonStr, delimiters)) {
  2483. return jsonStr;
  2484. }
  2485. if (!formater) {
  2486. formater = new BaseFormatter();
  2487. }
  2488. var localeValues = [];
  2489. Object.keys(locales).forEach(function (name) {
  2490. if (name !== locale) {
  2491. localeValues.push({
  2492. locale: name,
  2493. values: locales[name] });
  2494. }
  2495. });
  2496. localeValues.unshift({ locale: locale, values: locales[locale] });
  2497. try {
  2498. return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2);
  2499. }
  2500. catch (e) {}
  2501. return jsonStr;
  2502. }
  2503. function isI18nStr(value, delimiters) {
  2504. return value.indexOf(delimiters[0]) > -1;
  2505. }
  2506. function compileStr(value, values, delimiters) {
  2507. return formater.interpolate(value, values, delimiters).join('');
  2508. }
  2509. function compileValue(jsonObj, key, localeValues, delimiters) {
  2510. var value = jsonObj[key];
  2511. if (isString(value)) {
  2512. // 存在国际化
  2513. if (isI18nStr(value, delimiters)) {
  2514. jsonObj[key] = compileStr(value, localeValues[0].values, delimiters);
  2515. if (localeValues.length > 1) {
  2516. // 格式化国际化语言
  2517. var valueLocales = jsonObj[key + 'Locales'] = {};
  2518. localeValues.forEach(function (localValue) {
  2519. valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters);
  2520. });
  2521. }
  2522. }
  2523. } else
  2524. {
  2525. compileJsonObj(value, localeValues, delimiters);
  2526. }
  2527. }
  2528. function compileJsonObj(jsonObj, localeValues, delimiters) {
  2529. walkJsonObj(jsonObj, function (jsonObj, key) {
  2530. compileValue(jsonObj, key, localeValues, delimiters);
  2531. });
  2532. return jsonObj;
  2533. }
  2534. function walkJsonObj(jsonObj, walk) {
  2535. if (isArray(jsonObj)) {
  2536. for (var i = 0; i < jsonObj.length; i++) {
  2537. if (walk(jsonObj, i)) {
  2538. return true;
  2539. }
  2540. }
  2541. } else
  2542. if (isObject(jsonObj)) {
  2543. for (var key in jsonObj) {
  2544. if (walk(jsonObj, key)) {
  2545. return true;
  2546. }
  2547. }
  2548. }
  2549. return false;
  2550. }
  2551. function resolveLocale(locales) {
  2552. return function (locale) {
  2553. if (!locale) {
  2554. return locale;
  2555. }
  2556. locale = normalizeLocale(locale) || locale;
  2557. return resolveLocaleChain(locale).find(function (locale) {return locales.indexOf(locale) > -1;});
  2558. };
  2559. }
  2560. function resolveLocaleChain(locale) {
  2561. var chain = [];
  2562. var tokens = locale.split('-');
  2563. while (tokens.length) {
  2564. chain.push(tokens.join('-'));
  2565. tokens.pop();
  2566. }
  2567. return chain;
  2568. }
  2569. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"], __webpack_require__(/*! ./../../../webpack/buildin/global.js */ 2)))
  2570. /***/ }),
  2571. /* 4 */
  2572. /*!******************************************************************************************!*\
  2573. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js ***!
  2574. \******************************************************************************************/
  2575. /*! exports provided: default */
  2576. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2577. "use strict";
  2578. __webpack_require__.r(__webpack_exports__);
  2579. /* WEBPACK VAR INJECTION */(function(global) {/*!
  2580. * Vue.js v2.6.11
  2581. * (c) 2014-2022 Evan You
  2582. * Released under the MIT License.
  2583. */
  2584. /* */
  2585. var emptyObject = Object.freeze({});
  2586. // These helpers produce better VM code in JS engines due to their
  2587. // explicitness and function inlining.
  2588. function isUndef (v) {
  2589. return v === undefined || v === null
  2590. }
  2591. function isDef (v) {
  2592. return v !== undefined && v !== null
  2593. }
  2594. function isTrue (v) {
  2595. return v === true
  2596. }
  2597. function isFalse (v) {
  2598. return v === false
  2599. }
  2600. /**
  2601. * Check if value is primitive.
  2602. */
  2603. function isPrimitive (value) {
  2604. return (
  2605. typeof value === 'string' ||
  2606. typeof value === 'number' ||
  2607. // $flow-disable-line
  2608. typeof value === 'symbol' ||
  2609. typeof value === 'boolean'
  2610. )
  2611. }
  2612. /**
  2613. * Quick object check - this is primarily used to tell
  2614. * Objects from primitive values when we know the value
  2615. * is a JSON-compliant type.
  2616. */
  2617. function isObject (obj) {
  2618. return obj !== null && typeof obj === 'object'
  2619. }
  2620. /**
  2621. * Get the raw type string of a value, e.g., [object Object].
  2622. */
  2623. var _toString = Object.prototype.toString;
  2624. function toRawType (value) {
  2625. return _toString.call(value).slice(8, -1)
  2626. }
  2627. /**
  2628. * Strict object type check. Only returns true
  2629. * for plain JavaScript objects.
  2630. */
  2631. function isPlainObject (obj) {
  2632. return _toString.call(obj) === '[object Object]'
  2633. }
  2634. function isRegExp (v) {
  2635. return _toString.call(v) === '[object RegExp]'
  2636. }
  2637. /**
  2638. * Check if val is a valid array index.
  2639. */
  2640. function isValidArrayIndex (val) {
  2641. var n = parseFloat(String(val));
  2642. return n >= 0 && Math.floor(n) === n && isFinite(val)
  2643. }
  2644. function isPromise (val) {
  2645. return (
  2646. isDef(val) &&
  2647. typeof val.then === 'function' &&
  2648. typeof val.catch === 'function'
  2649. )
  2650. }
  2651. /**
  2652. * Convert a value to a string that is actually rendered.
  2653. */
  2654. function toString (val) {
  2655. return val == null
  2656. ? ''
  2657. : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)
  2658. ? JSON.stringify(val, null, 2)
  2659. : String(val)
  2660. }
  2661. /**
  2662. * Convert an input value to a number for persistence.
  2663. * If the conversion fails, return original string.
  2664. */
  2665. function toNumber (val) {
  2666. var n = parseFloat(val);
  2667. return isNaN(n) ? val : n
  2668. }
  2669. /**
  2670. * Make a map and return a function for checking if a key
  2671. * is in that map.
  2672. */
  2673. function makeMap (
  2674. str,
  2675. expectsLowerCase
  2676. ) {
  2677. var map = Object.create(null);
  2678. var list = str.split(',');
  2679. for (var i = 0; i < list.length; i++) {
  2680. map[list[i]] = true;
  2681. }
  2682. return expectsLowerCase
  2683. ? function (val) { return map[val.toLowerCase()]; }
  2684. : function (val) { return map[val]; }
  2685. }
  2686. /**
  2687. * Check if a tag is a built-in tag.
  2688. */
  2689. var isBuiltInTag = makeMap('slot,component', true);
  2690. /**
  2691. * Check if an attribute is a reserved attribute.
  2692. */
  2693. var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');
  2694. /**
  2695. * Remove an item from an array.
  2696. */
  2697. function remove (arr, item) {
  2698. if (arr.length) {
  2699. var index = arr.indexOf(item);
  2700. if (index > -1) {
  2701. return arr.splice(index, 1)
  2702. }
  2703. }
  2704. }
  2705. /**
  2706. * Check whether an object has the property.
  2707. */
  2708. var hasOwnProperty = Object.prototype.hasOwnProperty;
  2709. function hasOwn (obj, key) {
  2710. return hasOwnProperty.call(obj, key)
  2711. }
  2712. /**
  2713. * Create a cached version of a pure function.
  2714. */
  2715. function cached (fn) {
  2716. var cache = Object.create(null);
  2717. return (function cachedFn (str) {
  2718. var hit = cache[str];
  2719. return hit || (cache[str] = fn(str))
  2720. })
  2721. }
  2722. /**
  2723. * Camelize a hyphen-delimited string.
  2724. */
  2725. var camelizeRE = /-(\w)/g;
  2726. var camelize = cached(function (str) {
  2727. return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })
  2728. });
  2729. /**
  2730. * Capitalize a string.
  2731. */
  2732. var capitalize = cached(function (str) {
  2733. return str.charAt(0).toUpperCase() + str.slice(1)
  2734. });
  2735. /**
  2736. * Hyphenate a camelCase string.
  2737. */
  2738. var hyphenateRE = /\B([A-Z])/g;
  2739. var hyphenate = cached(function (str) {
  2740. return str.replace(hyphenateRE, '-$1').toLowerCase()
  2741. });
  2742. /**
  2743. * Simple bind polyfill for environments that do not support it,
  2744. * e.g., PhantomJS 1.x. Technically, we don't need this anymore
  2745. * since native bind is now performant enough in most browsers.
  2746. * But removing it would mean breaking code that was able to run in
  2747. * PhantomJS 1.x, so this must be kept for backward compatibility.
  2748. */
  2749. /* istanbul ignore next */
  2750. function polyfillBind (fn, ctx) {
  2751. function boundFn (a) {
  2752. var l = arguments.length;
  2753. return l
  2754. ? l > 1
  2755. ? fn.apply(ctx, arguments)
  2756. : fn.call(ctx, a)
  2757. : fn.call(ctx)
  2758. }
  2759. boundFn._length = fn.length;
  2760. return boundFn
  2761. }
  2762. function nativeBind (fn, ctx) {
  2763. return fn.bind(ctx)
  2764. }
  2765. var bind = Function.prototype.bind
  2766. ? nativeBind
  2767. : polyfillBind;
  2768. /**
  2769. * Convert an Array-like object to a real Array.
  2770. */
  2771. function toArray (list, start) {
  2772. start = start || 0;
  2773. var i = list.length - start;
  2774. var ret = new Array(i);
  2775. while (i--) {
  2776. ret[i] = list[i + start];
  2777. }
  2778. return ret
  2779. }
  2780. /**
  2781. * Mix properties into target object.
  2782. */
  2783. function extend (to, _from) {
  2784. for (var key in _from) {
  2785. to[key] = _from[key];
  2786. }
  2787. return to
  2788. }
  2789. /**
  2790. * Merge an Array of Objects into a single Object.
  2791. */
  2792. function toObject (arr) {
  2793. var res = {};
  2794. for (var i = 0; i < arr.length; i++) {
  2795. if (arr[i]) {
  2796. extend(res, arr[i]);
  2797. }
  2798. }
  2799. return res
  2800. }
  2801. /* eslint-disable no-unused-vars */
  2802. /**
  2803. * Perform no operation.
  2804. * Stubbing args to make Flow happy without leaving useless transpiled code
  2805. * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).
  2806. */
  2807. function noop (a, b, c) {}
  2808. /**
  2809. * Always return false.
  2810. */
  2811. var no = function (a, b, c) { return false; };
  2812. /* eslint-enable no-unused-vars */
  2813. /**
  2814. * Return the same value.
  2815. */
  2816. var identity = function (_) { return _; };
  2817. /**
  2818. * Check if two values are loosely equal - that is,
  2819. * if they are plain objects, do they have the same shape?
  2820. */
  2821. function looseEqual (a, b) {
  2822. if (a === b) { return true }
  2823. var isObjectA = isObject(a);
  2824. var isObjectB = isObject(b);
  2825. if (isObjectA && isObjectB) {
  2826. try {
  2827. var isArrayA = Array.isArray(a);
  2828. var isArrayB = Array.isArray(b);
  2829. if (isArrayA && isArrayB) {
  2830. return a.length === b.length && a.every(function (e, i) {
  2831. return looseEqual(e, b[i])
  2832. })
  2833. } else if (a instanceof Date && b instanceof Date) {
  2834. return a.getTime() === b.getTime()
  2835. } else if (!isArrayA && !isArrayB) {
  2836. var keysA = Object.keys(a);
  2837. var keysB = Object.keys(b);
  2838. return keysA.length === keysB.length && keysA.every(function (key) {
  2839. return looseEqual(a[key], b[key])
  2840. })
  2841. } else {
  2842. /* istanbul ignore next */
  2843. return false
  2844. }
  2845. } catch (e) {
  2846. /* istanbul ignore next */
  2847. return false
  2848. }
  2849. } else if (!isObjectA && !isObjectB) {
  2850. return String(a) === String(b)
  2851. } else {
  2852. return false
  2853. }
  2854. }
  2855. /**
  2856. * Return the first index at which a loosely equal value can be
  2857. * found in the array (if value is a plain object, the array must
  2858. * contain an object of the same shape), or -1 if it is not present.
  2859. */
  2860. function looseIndexOf (arr, val) {
  2861. for (var i = 0; i < arr.length; i++) {
  2862. if (looseEqual(arr[i], val)) { return i }
  2863. }
  2864. return -1
  2865. }
  2866. /**
  2867. * Ensure a function is called only once.
  2868. */
  2869. function once (fn) {
  2870. var called = false;
  2871. return function () {
  2872. if (!called) {
  2873. called = true;
  2874. fn.apply(this, arguments);
  2875. }
  2876. }
  2877. }
  2878. var ASSET_TYPES = [
  2879. 'component',
  2880. 'directive',
  2881. 'filter'
  2882. ];
  2883. var LIFECYCLE_HOOKS = [
  2884. 'beforeCreate',
  2885. 'created',
  2886. 'beforeMount',
  2887. 'mounted',
  2888. 'beforeUpdate',
  2889. 'updated',
  2890. 'beforeDestroy',
  2891. 'destroyed',
  2892. 'activated',
  2893. 'deactivated',
  2894. 'errorCaptured',
  2895. 'serverPrefetch'
  2896. ];
  2897. /* */
  2898. var config = ({
  2899. /**
  2900. * Option merge strategies (used in core/util/options)
  2901. */
  2902. // $flow-disable-line
  2903. optionMergeStrategies: Object.create(null),
  2904. /**
  2905. * Whether to suppress warnings.
  2906. */
  2907. silent: false,
  2908. /**
  2909. * Show production mode tip message on boot?
  2910. */
  2911. productionTip: "development" !== 'production',
  2912. /**
  2913. * Whether to enable devtools
  2914. */
  2915. devtools: "development" !== 'production',
  2916. /**
  2917. * Whether to record perf
  2918. */
  2919. performance: false,
  2920. /**
  2921. * Error handler for watcher errors
  2922. */
  2923. errorHandler: null,
  2924. /**
  2925. * Warn handler for watcher warns
  2926. */
  2927. warnHandler: null,
  2928. /**
  2929. * Ignore certain custom elements
  2930. */
  2931. ignoredElements: [],
  2932. /**
  2933. * Custom user key aliases for v-on
  2934. */
  2935. // $flow-disable-line
  2936. keyCodes: Object.create(null),
  2937. /**
  2938. * Check if a tag is reserved so that it cannot be registered as a
  2939. * component. This is platform-dependent and may be overwritten.
  2940. */
  2941. isReservedTag: no,
  2942. /**
  2943. * Check if an attribute is reserved so that it cannot be used as a component
  2944. * prop. This is platform-dependent and may be overwritten.
  2945. */
  2946. isReservedAttr: no,
  2947. /**
  2948. * Check if a tag is an unknown element.
  2949. * Platform-dependent.
  2950. */
  2951. isUnknownElement: no,
  2952. /**
  2953. * Get the namespace of an element
  2954. */
  2955. getTagNamespace: noop,
  2956. /**
  2957. * Parse the real tag name for the specific platform.
  2958. */
  2959. parsePlatformTagName: identity,
  2960. /**
  2961. * Check if an attribute must be bound using property, e.g. value
  2962. * Platform-dependent.
  2963. */
  2964. mustUseProp: no,
  2965. /**
  2966. * Perform updates asynchronously. Intended to be used by Vue Test Utils
  2967. * This will significantly reduce performance if set to false.
  2968. */
  2969. async: true,
  2970. /**
  2971. * Exposed for legacy reasons
  2972. */
  2973. _lifecycleHooks: LIFECYCLE_HOOKS
  2974. });
  2975. /* */
  2976. /**
  2977. * unicode letters used for parsing html tags, component names and property paths.
  2978. * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname
  2979. * skipping \u10000-\uEFFFF due to it freezing up PhantomJS
  2980. */
  2981. var unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;
  2982. /**
  2983. * Check if a string starts with $ or _
  2984. */
  2985. function isReserved (str) {
  2986. var c = (str + '').charCodeAt(0);
  2987. return c === 0x24 || c === 0x5F
  2988. }
  2989. /**
  2990. * Define a property.
  2991. */
  2992. function def (obj, key, val, enumerable) {
  2993. Object.defineProperty(obj, key, {
  2994. value: val,
  2995. enumerable: !!enumerable,
  2996. writable: true,
  2997. configurable: true
  2998. });
  2999. }
  3000. /**
  3001. * Parse simple path.
  3002. */
  3003. var bailRE = new RegExp(("[^" + (unicodeRegExp.source) + ".$_\\d]"));
  3004. function parsePath (path) {
  3005. if (bailRE.test(path)) {
  3006. return
  3007. }
  3008. var segments = path.split('.');
  3009. return function (obj) {
  3010. for (var i = 0; i < segments.length; i++) {
  3011. if (!obj) { return }
  3012. obj = obj[segments[i]];
  3013. }
  3014. return obj
  3015. }
  3016. }
  3017. /* */
  3018. // can we use __proto__?
  3019. var hasProto = '__proto__' in {};
  3020. // Browser environment sniffing
  3021. var inBrowser = typeof window !== 'undefined';
  3022. var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;
  3023. var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();
  3024. var UA = inBrowser && window.navigator.userAgent.toLowerCase();
  3025. var isIE = UA && /msie|trident/.test(UA);
  3026. var isIE9 = UA && UA.indexOf('msie 9.0') > 0;
  3027. var isEdge = UA && UA.indexOf('edge/') > 0;
  3028. var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');
  3029. var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');
  3030. var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge;
  3031. var isPhantomJS = UA && /phantomjs/.test(UA);
  3032. var isFF = UA && UA.match(/firefox\/(\d+)/);
  3033. // Firefox has a "watch" function on Object.prototype...
  3034. var nativeWatch = ({}).watch;
  3035. if (inBrowser) {
  3036. try {
  3037. var opts = {};
  3038. Object.defineProperty(opts, 'passive', ({
  3039. get: function get () {
  3040. }
  3041. })); // https://github.com/facebook/flow/issues/285
  3042. window.addEventListener('test-passive', null, opts);
  3043. } catch (e) {}
  3044. }
  3045. // this needs to be lazy-evaled because vue may be required before
  3046. // vue-server-renderer can set VUE_ENV
  3047. var _isServer;
  3048. var isServerRendering = function () {
  3049. if (_isServer === undefined) {
  3050. /* istanbul ignore if */
  3051. if (!inBrowser && !inWeex && typeof global !== 'undefined') {
  3052. // detect presence of vue-server-renderer and avoid
  3053. // Webpack shimming the process
  3054. _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';
  3055. } else {
  3056. _isServer = false;
  3057. }
  3058. }
  3059. return _isServer
  3060. };
  3061. // detect devtools
  3062. var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;
  3063. /* istanbul ignore next */
  3064. function isNative (Ctor) {
  3065. return typeof Ctor === 'function' && /native code/.test(Ctor.toString())
  3066. }
  3067. var hasSymbol =
  3068. typeof Symbol !== 'undefined' && isNative(Symbol) &&
  3069. typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);
  3070. var _Set;
  3071. /* istanbul ignore if */ // $flow-disable-line
  3072. if (typeof Set !== 'undefined' && isNative(Set)) {
  3073. // use native Set when available.
  3074. _Set = Set;
  3075. } else {
  3076. // a non-standard Set polyfill that only works with primitive keys.
  3077. _Set = /*@__PURE__*/(function () {
  3078. function Set () {
  3079. this.set = Object.create(null);
  3080. }
  3081. Set.prototype.has = function has (key) {
  3082. return this.set[key] === true
  3083. };
  3084. Set.prototype.add = function add (key) {
  3085. this.set[key] = true;
  3086. };
  3087. Set.prototype.clear = function clear () {
  3088. this.set = Object.create(null);
  3089. };
  3090. return Set;
  3091. }());
  3092. }
  3093. /* */
  3094. var warn = noop;
  3095. var tip = noop;
  3096. var generateComponentTrace = (noop); // work around flow check
  3097. var formatComponentName = (noop);
  3098. if (true) {
  3099. var hasConsole = typeof console !== 'undefined';
  3100. var classifyRE = /(?:^|[-_])(\w)/g;
  3101. var classify = function (str) { return str
  3102. .replace(classifyRE, function (c) { return c.toUpperCase(); })
  3103. .replace(/[-_]/g, ''); };
  3104. warn = function (msg, vm) {
  3105. var trace = vm ? generateComponentTrace(vm) : '';
  3106. if (config.warnHandler) {
  3107. config.warnHandler.call(null, msg, vm, trace);
  3108. } else if (hasConsole && (!config.silent)) {
  3109. console.error(("[Vue warn]: " + msg + trace));
  3110. }
  3111. };
  3112. tip = function (msg, vm) {
  3113. if (hasConsole && (!config.silent)) {
  3114. console.warn("[Vue tip]: " + msg + (
  3115. vm ? generateComponentTrace(vm) : ''
  3116. ));
  3117. }
  3118. };
  3119. formatComponentName = function (vm, includeFile) {
  3120. if (vm.$root === vm) {
  3121. if (vm.$options && vm.$options.__file) { // fixed by xxxxxx
  3122. return ('') + vm.$options.__file
  3123. }
  3124. return '<Root>'
  3125. }
  3126. var options = typeof vm === 'function' && vm.cid != null
  3127. ? vm.options
  3128. : vm._isVue
  3129. ? vm.$options || vm.constructor.options
  3130. : vm;
  3131. var name = options.name || options._componentTag;
  3132. var file = options.__file;
  3133. if (!name && file) {
  3134. var match = file.match(/([^/\\]+)\.vue$/);
  3135. name = match && match[1];
  3136. }
  3137. return (
  3138. (name ? ("<" + (classify(name)) + ">") : "<Anonymous>") +
  3139. (file && includeFile !== false ? (" at " + file) : '')
  3140. )
  3141. };
  3142. var repeat = function (str, n) {
  3143. var res = '';
  3144. while (n) {
  3145. if (n % 2 === 1) { res += str; }
  3146. if (n > 1) { str += str; }
  3147. n >>= 1;
  3148. }
  3149. return res
  3150. };
  3151. generateComponentTrace = function (vm) {
  3152. if (vm._isVue && vm.$parent) {
  3153. var tree = [];
  3154. var currentRecursiveSequence = 0;
  3155. while (vm && vm.$options.name !== 'PageBody') {
  3156. if (tree.length > 0) {
  3157. var last = tree[tree.length - 1];
  3158. if (last.constructor === vm.constructor) {
  3159. currentRecursiveSequence++;
  3160. vm = vm.$parent;
  3161. continue
  3162. } else if (currentRecursiveSequence > 0) {
  3163. tree[tree.length - 1] = [last, currentRecursiveSequence];
  3164. currentRecursiveSequence = 0;
  3165. }
  3166. }
  3167. !vm.$options.isReserved && tree.push(vm);
  3168. vm = vm.$parent;
  3169. }
  3170. return '\n\nfound in\n\n' + tree
  3171. .map(function (vm, i) { return ("" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)
  3172. ? ((formatComponentName(vm[0])) + "... (" + (vm[1]) + " recursive calls)")
  3173. : formatComponentName(vm))); })
  3174. .join('\n')
  3175. } else {
  3176. return ("\n\n(found in " + (formatComponentName(vm)) + ")")
  3177. }
  3178. };
  3179. }
  3180. /* */
  3181. var uid = 0;
  3182. /**
  3183. * A dep is an observable that can have multiple
  3184. * directives subscribing to it.
  3185. */
  3186. var Dep = function Dep () {
  3187. this.id = uid++;
  3188. this.subs = [];
  3189. };
  3190. Dep.prototype.addSub = function addSub (sub) {
  3191. this.subs.push(sub);
  3192. };
  3193. Dep.prototype.removeSub = function removeSub (sub) {
  3194. remove(this.subs, sub);
  3195. };
  3196. Dep.prototype.depend = function depend () {
  3197. if (Dep.SharedObject.target) {
  3198. Dep.SharedObject.target.addDep(this);
  3199. }
  3200. };
  3201. Dep.prototype.notify = function notify () {
  3202. // stabilize the subscriber list first
  3203. var subs = this.subs.slice();
  3204. if ( true && !config.async) {
  3205. // subs aren't sorted in scheduler if not running async
  3206. // we need to sort them now to make sure they fire in correct
  3207. // order
  3208. subs.sort(function (a, b) { return a.id - b.id; });
  3209. }
  3210. for (var i = 0, l = subs.length; i < l; i++) {
  3211. subs[i].update();
  3212. }
  3213. };
  3214. // The current target watcher being evaluated.
  3215. // This is globally unique because only one watcher
  3216. // can be evaluated at a time.
  3217. // fixed by xxxxxx (nvue shared vuex)
  3218. /* eslint-disable no-undef */
  3219. Dep.SharedObject = {};
  3220. Dep.SharedObject.target = null;
  3221. Dep.SharedObject.targetStack = [];
  3222. function pushTarget (target) {
  3223. Dep.SharedObject.targetStack.push(target);
  3224. Dep.SharedObject.target = target;
  3225. Dep.target = target;
  3226. }
  3227. function popTarget () {
  3228. Dep.SharedObject.targetStack.pop();
  3229. Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1];
  3230. Dep.target = Dep.SharedObject.target;
  3231. }
  3232. /* */
  3233. var VNode = function VNode (
  3234. tag,
  3235. data,
  3236. children,
  3237. text,
  3238. elm,
  3239. context,
  3240. componentOptions,
  3241. asyncFactory
  3242. ) {
  3243. this.tag = tag;
  3244. this.data = data;
  3245. this.children = children;
  3246. this.text = text;
  3247. this.elm = elm;
  3248. this.ns = undefined;
  3249. this.context = context;
  3250. this.fnContext = undefined;
  3251. this.fnOptions = undefined;
  3252. this.fnScopeId = undefined;
  3253. this.key = data && data.key;
  3254. this.componentOptions = componentOptions;
  3255. this.componentInstance = undefined;
  3256. this.parent = undefined;
  3257. this.raw = false;
  3258. this.isStatic = false;
  3259. this.isRootInsert = true;
  3260. this.isComment = false;
  3261. this.isCloned = false;
  3262. this.isOnce = false;
  3263. this.asyncFactory = asyncFactory;
  3264. this.asyncMeta = undefined;
  3265. this.isAsyncPlaceholder = false;
  3266. };
  3267. var prototypeAccessors = { child: { configurable: true } };
  3268. // DEPRECATED: alias for componentInstance for backwards compat.
  3269. /* istanbul ignore next */
  3270. prototypeAccessors.child.get = function () {
  3271. return this.componentInstance
  3272. };
  3273. Object.defineProperties( VNode.prototype, prototypeAccessors );
  3274. var createEmptyVNode = function (text) {
  3275. if ( text === void 0 ) text = '';
  3276. var node = new VNode();
  3277. node.text = text;
  3278. node.isComment = true;
  3279. return node
  3280. };
  3281. function createTextVNode (val) {
  3282. return new VNode(undefined, undefined, undefined, String(val))
  3283. }
  3284. // optimized shallow clone
  3285. // used for static nodes and slot nodes because they may be reused across
  3286. // multiple renders, cloning them avoids errors when DOM manipulations rely
  3287. // on their elm reference.
  3288. function cloneVNode (vnode) {
  3289. var cloned = new VNode(
  3290. vnode.tag,
  3291. vnode.data,
  3292. // #7975
  3293. // clone children array to avoid mutating original in case of cloning
  3294. // a child.
  3295. vnode.children && vnode.children.slice(),
  3296. vnode.text,
  3297. vnode.elm,
  3298. vnode.context,
  3299. vnode.componentOptions,
  3300. vnode.asyncFactory
  3301. );
  3302. cloned.ns = vnode.ns;
  3303. cloned.isStatic = vnode.isStatic;
  3304. cloned.key = vnode.key;
  3305. cloned.isComment = vnode.isComment;
  3306. cloned.fnContext = vnode.fnContext;
  3307. cloned.fnOptions = vnode.fnOptions;
  3308. cloned.fnScopeId = vnode.fnScopeId;
  3309. cloned.asyncMeta = vnode.asyncMeta;
  3310. cloned.isCloned = true;
  3311. return cloned
  3312. }
  3313. /*
  3314. * not type checking this file because flow doesn't play well with
  3315. * dynamically accessing methods on Array prototype
  3316. */
  3317. var arrayProto = Array.prototype;
  3318. var arrayMethods = Object.create(arrayProto);
  3319. var methodsToPatch = [
  3320. 'push',
  3321. 'pop',
  3322. 'shift',
  3323. 'unshift',
  3324. 'splice',
  3325. 'sort',
  3326. 'reverse'
  3327. ];
  3328. /**
  3329. * Intercept mutating methods and emit events
  3330. */
  3331. methodsToPatch.forEach(function (method) {
  3332. // cache original method
  3333. var original = arrayProto[method];
  3334. def(arrayMethods, method, function mutator () {
  3335. var args = [], len = arguments.length;
  3336. while ( len-- ) args[ len ] = arguments[ len ];
  3337. var result = original.apply(this, args);
  3338. var ob = this.__ob__;
  3339. var inserted;
  3340. switch (method) {
  3341. case 'push':
  3342. case 'unshift':
  3343. inserted = args;
  3344. break
  3345. case 'splice':
  3346. inserted = args.slice(2);
  3347. break
  3348. }
  3349. if (inserted) { ob.observeArray(inserted); }
  3350. // notify change
  3351. ob.dep.notify();
  3352. return result
  3353. });
  3354. });
  3355. /* */
  3356. var arrayKeys = Object.getOwnPropertyNames(arrayMethods);
  3357. /**
  3358. * In some cases we may want to disable observation inside a component's
  3359. * update computation.
  3360. */
  3361. var shouldObserve = true;
  3362. function toggleObserving (value) {
  3363. shouldObserve = value;
  3364. }
  3365. /**
  3366. * Observer class that is attached to each observed
  3367. * object. Once attached, the observer converts the target
  3368. * object's property keys into getter/setters that
  3369. * collect dependencies and dispatch updates.
  3370. */
  3371. var Observer = function Observer (value) {
  3372. this.value = value;
  3373. this.dep = new Dep();
  3374. this.vmCount = 0;
  3375. def(value, '__ob__', this);
  3376. if (Array.isArray(value)) {
  3377. if (hasProto) {
  3378. {// fixed by xxxxxx 微信小程序使用 plugins 之后,数组方法被直接挂载到了数组对象上,需要执行 copyAugment 逻辑
  3379. if(value.push !== value.__proto__.push){
  3380. copyAugment(value, arrayMethods, arrayKeys);
  3381. } else {
  3382. protoAugment(value, arrayMethods);
  3383. }
  3384. }
  3385. } else {
  3386. copyAugment(value, arrayMethods, arrayKeys);
  3387. }
  3388. this.observeArray(value);
  3389. } else {
  3390. this.walk(value);
  3391. }
  3392. };
  3393. /**
  3394. * Walk through all properties and convert them into
  3395. * getter/setters. This method should only be called when
  3396. * value type is Object.
  3397. */
  3398. Observer.prototype.walk = function walk (obj) {
  3399. var keys = Object.keys(obj);
  3400. for (var i = 0; i < keys.length; i++) {
  3401. defineReactive$$1(obj, keys[i]);
  3402. }
  3403. };
  3404. /**
  3405. * Observe a list of Array items.
  3406. */
  3407. Observer.prototype.observeArray = function observeArray (items) {
  3408. for (var i = 0, l = items.length; i < l; i++) {
  3409. observe(items[i]);
  3410. }
  3411. };
  3412. // helpers
  3413. /**
  3414. * Augment a target Object or Array by intercepting
  3415. * the prototype chain using __proto__
  3416. */
  3417. function protoAugment (target, src) {
  3418. /* eslint-disable no-proto */
  3419. target.__proto__ = src;
  3420. /* eslint-enable no-proto */
  3421. }
  3422. /**
  3423. * Augment a target Object or Array by defining
  3424. * hidden properties.
  3425. */
  3426. /* istanbul ignore next */
  3427. function copyAugment (target, src, keys) {
  3428. for (var i = 0, l = keys.length; i < l; i++) {
  3429. var key = keys[i];
  3430. def(target, key, src[key]);
  3431. }
  3432. }
  3433. /**
  3434. * Attempt to create an observer instance for a value,
  3435. * returns the new observer if successfully observed,
  3436. * or the existing observer if the value already has one.
  3437. */
  3438. function observe (value, asRootData) {
  3439. if (!isObject(value) || value instanceof VNode) {
  3440. return
  3441. }
  3442. var ob;
  3443. if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {
  3444. ob = value.__ob__;
  3445. } else if (
  3446. shouldObserve &&
  3447. !isServerRendering() &&
  3448. (Array.isArray(value) || isPlainObject(value)) &&
  3449. Object.isExtensible(value) &&
  3450. !value._isVue
  3451. ) {
  3452. ob = new Observer(value);
  3453. }
  3454. if (asRootData && ob) {
  3455. ob.vmCount++;
  3456. }
  3457. return ob
  3458. }
  3459. /**
  3460. * Define a reactive property on an Object.
  3461. */
  3462. function defineReactive$$1 (
  3463. obj,
  3464. key,
  3465. val,
  3466. customSetter,
  3467. shallow
  3468. ) {
  3469. var dep = new Dep();
  3470. var property = Object.getOwnPropertyDescriptor(obj, key);
  3471. if (property && property.configurable === false) {
  3472. return
  3473. }
  3474. // cater for pre-defined getter/setters
  3475. var getter = property && property.get;
  3476. var setter = property && property.set;
  3477. if ((!getter || setter) && arguments.length === 2) {
  3478. val = obj[key];
  3479. }
  3480. var childOb = !shallow && observe(val);
  3481. Object.defineProperty(obj, key, {
  3482. enumerable: true,
  3483. configurable: true,
  3484. get: function reactiveGetter () {
  3485. var value = getter ? getter.call(obj) : val;
  3486. if (Dep.SharedObject.target) { // fixed by xxxxxx
  3487. dep.depend();
  3488. if (childOb) {
  3489. childOb.dep.depend();
  3490. if (Array.isArray(value)) {
  3491. dependArray(value);
  3492. }
  3493. }
  3494. }
  3495. return value
  3496. },
  3497. set: function reactiveSetter (newVal) {
  3498. var value = getter ? getter.call(obj) : val;
  3499. /* eslint-disable no-self-compare */
  3500. if (newVal === value || (newVal !== newVal && value !== value)) {
  3501. return
  3502. }
  3503. /* eslint-enable no-self-compare */
  3504. if ( true && customSetter) {
  3505. customSetter();
  3506. }
  3507. // #7981: for accessor properties without setter
  3508. if (getter && !setter) { return }
  3509. if (setter) {
  3510. setter.call(obj, newVal);
  3511. } else {
  3512. val = newVal;
  3513. }
  3514. childOb = !shallow && observe(newVal);
  3515. dep.notify();
  3516. }
  3517. });
  3518. }
  3519. /**
  3520. * Set a property on an object. Adds the new property and
  3521. * triggers change notification if the property doesn't
  3522. * already exist.
  3523. */
  3524. function set (target, key, val) {
  3525. if ( true &&
  3526. (isUndef(target) || isPrimitive(target))
  3527. ) {
  3528. warn(("Cannot set reactive property on undefined, null, or primitive value: " + ((target))));
  3529. }
  3530. if (Array.isArray(target) && isValidArrayIndex(key)) {
  3531. target.length = Math.max(target.length, key);
  3532. target.splice(key, 1, val);
  3533. return val
  3534. }
  3535. if (key in target && !(key in Object.prototype)) {
  3536. target[key] = val;
  3537. return val
  3538. }
  3539. var ob = (target).__ob__;
  3540. if (target._isVue || (ob && ob.vmCount)) {
  3541. true && warn(
  3542. 'Avoid adding reactive properties to a Vue instance or its root $data ' +
  3543. 'at runtime - declare it upfront in the data option.'
  3544. );
  3545. return val
  3546. }
  3547. if (!ob) {
  3548. target[key] = val;
  3549. return val
  3550. }
  3551. defineReactive$$1(ob.value, key, val);
  3552. ob.dep.notify();
  3553. return val
  3554. }
  3555. /**
  3556. * Delete a property and trigger change if necessary.
  3557. */
  3558. function del (target, key) {
  3559. if ( true &&
  3560. (isUndef(target) || isPrimitive(target))
  3561. ) {
  3562. warn(("Cannot delete reactive property on undefined, null, or primitive value: " + ((target))));
  3563. }
  3564. if (Array.isArray(target) && isValidArrayIndex(key)) {
  3565. target.splice(key, 1);
  3566. return
  3567. }
  3568. var ob = (target).__ob__;
  3569. if (target._isVue || (ob && ob.vmCount)) {
  3570. true && warn(
  3571. 'Avoid deleting properties on a Vue instance or its root $data ' +
  3572. '- just set it to null.'
  3573. );
  3574. return
  3575. }
  3576. if (!hasOwn(target, key)) {
  3577. return
  3578. }
  3579. delete target[key];
  3580. if (!ob) {
  3581. return
  3582. }
  3583. ob.dep.notify();
  3584. }
  3585. /**
  3586. * Collect dependencies on array elements when the array is touched, since
  3587. * we cannot intercept array element access like property getters.
  3588. */
  3589. function dependArray (value) {
  3590. for (var e = (void 0), i = 0, l = value.length; i < l; i++) {
  3591. e = value[i];
  3592. e && e.__ob__ && e.__ob__.dep.depend();
  3593. if (Array.isArray(e)) {
  3594. dependArray(e);
  3595. }
  3596. }
  3597. }
  3598. /* */
  3599. /**
  3600. * Option overwriting strategies are functions that handle
  3601. * how to merge a parent option value and a child option
  3602. * value into the final value.
  3603. */
  3604. var strats = config.optionMergeStrategies;
  3605. /**
  3606. * Options with restrictions
  3607. */
  3608. if (true) {
  3609. strats.el = strats.propsData = function (parent, child, vm, key) {
  3610. if (!vm) {
  3611. warn(
  3612. "option \"" + key + "\" can only be used during instance " +
  3613. 'creation with the `new` keyword.'
  3614. );
  3615. }
  3616. return defaultStrat(parent, child)
  3617. };
  3618. }
  3619. /**
  3620. * Helper that recursively merges two data objects together.
  3621. */
  3622. function mergeData (to, from) {
  3623. if (!from) { return to }
  3624. var key, toVal, fromVal;
  3625. var keys = hasSymbol
  3626. ? Reflect.ownKeys(from)
  3627. : Object.keys(from);
  3628. for (var i = 0; i < keys.length; i++) {
  3629. key = keys[i];
  3630. // in case the object is already observed...
  3631. if (key === '__ob__') { continue }
  3632. toVal = to[key];
  3633. fromVal = from[key];
  3634. if (!hasOwn(to, key)) {
  3635. set(to, key, fromVal);
  3636. } else if (
  3637. toVal !== fromVal &&
  3638. isPlainObject(toVal) &&
  3639. isPlainObject(fromVal)
  3640. ) {
  3641. mergeData(toVal, fromVal);
  3642. }
  3643. }
  3644. return to
  3645. }
  3646. /**
  3647. * Data
  3648. */
  3649. function mergeDataOrFn (
  3650. parentVal,
  3651. childVal,
  3652. vm
  3653. ) {
  3654. if (!vm) {
  3655. // in a Vue.extend merge, both should be functions
  3656. if (!childVal) {
  3657. return parentVal
  3658. }
  3659. if (!parentVal) {
  3660. return childVal
  3661. }
  3662. // when parentVal & childVal are both present,
  3663. // we need to return a function that returns the
  3664. // merged result of both functions... no need to
  3665. // check if parentVal is a function here because
  3666. // it has to be a function to pass previous merges.
  3667. return function mergedDataFn () {
  3668. return mergeData(
  3669. typeof childVal === 'function' ? childVal.call(this, this) : childVal,
  3670. typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal
  3671. )
  3672. }
  3673. } else {
  3674. return function mergedInstanceDataFn () {
  3675. // instance merge
  3676. var instanceData = typeof childVal === 'function'
  3677. ? childVal.call(vm, vm)
  3678. : childVal;
  3679. var defaultData = typeof parentVal === 'function'
  3680. ? parentVal.call(vm, vm)
  3681. : parentVal;
  3682. if (instanceData) {
  3683. return mergeData(instanceData, defaultData)
  3684. } else {
  3685. return defaultData
  3686. }
  3687. }
  3688. }
  3689. }
  3690. strats.data = function (
  3691. parentVal,
  3692. childVal,
  3693. vm
  3694. ) {
  3695. if (!vm) {
  3696. if (childVal && typeof childVal !== 'function') {
  3697. true && warn(
  3698. 'The "data" option should be a function ' +
  3699. 'that returns a per-instance value in component ' +
  3700. 'definitions.',
  3701. vm
  3702. );
  3703. return parentVal
  3704. }
  3705. return mergeDataOrFn(parentVal, childVal)
  3706. }
  3707. return mergeDataOrFn(parentVal, childVal, vm)
  3708. };
  3709. /**
  3710. * Hooks and props are merged as arrays.
  3711. */
  3712. function mergeHook (
  3713. parentVal,
  3714. childVal
  3715. ) {
  3716. var res = childVal
  3717. ? parentVal
  3718. ? parentVal.concat(childVal)
  3719. : Array.isArray(childVal)
  3720. ? childVal
  3721. : [childVal]
  3722. : parentVal;
  3723. return res
  3724. ? dedupeHooks(res)
  3725. : res
  3726. }
  3727. function dedupeHooks (hooks) {
  3728. var res = [];
  3729. for (var i = 0; i < hooks.length; i++) {
  3730. if (res.indexOf(hooks[i]) === -1) {
  3731. res.push(hooks[i]);
  3732. }
  3733. }
  3734. return res
  3735. }
  3736. LIFECYCLE_HOOKS.forEach(function (hook) {
  3737. strats[hook] = mergeHook;
  3738. });
  3739. /**
  3740. * Assets
  3741. *
  3742. * When a vm is present (instance creation), we need to do
  3743. * a three-way merge between constructor options, instance
  3744. * options and parent options.
  3745. */
  3746. function mergeAssets (
  3747. parentVal,
  3748. childVal,
  3749. vm,
  3750. key
  3751. ) {
  3752. var res = Object.create(parentVal || null);
  3753. if (childVal) {
  3754. true && assertObjectType(key, childVal, vm);
  3755. return extend(res, childVal)
  3756. } else {
  3757. return res
  3758. }
  3759. }
  3760. ASSET_TYPES.forEach(function (type) {
  3761. strats[type + 's'] = mergeAssets;
  3762. });
  3763. /**
  3764. * Watchers.
  3765. *
  3766. * Watchers hashes should not overwrite one
  3767. * another, so we merge them as arrays.
  3768. */
  3769. strats.watch = function (
  3770. parentVal,
  3771. childVal,
  3772. vm,
  3773. key
  3774. ) {
  3775. // work around Firefox's Object.prototype.watch...
  3776. if (parentVal === nativeWatch) { parentVal = undefined; }
  3777. if (childVal === nativeWatch) { childVal = undefined; }
  3778. /* istanbul ignore if */
  3779. if (!childVal) { return Object.create(parentVal || null) }
  3780. if (true) {
  3781. assertObjectType(key, childVal, vm);
  3782. }
  3783. if (!parentVal) { return childVal }
  3784. var ret = {};
  3785. extend(ret, parentVal);
  3786. for (var key$1 in childVal) {
  3787. var parent = ret[key$1];
  3788. var child = childVal[key$1];
  3789. if (parent && !Array.isArray(parent)) {
  3790. parent = [parent];
  3791. }
  3792. ret[key$1] = parent
  3793. ? parent.concat(child)
  3794. : Array.isArray(child) ? child : [child];
  3795. }
  3796. return ret
  3797. };
  3798. /**
  3799. * Other object hashes.
  3800. */
  3801. strats.props =
  3802. strats.methods =
  3803. strats.inject =
  3804. strats.computed = function (
  3805. parentVal,
  3806. childVal,
  3807. vm,
  3808. key
  3809. ) {
  3810. if (childVal && "development" !== 'production') {
  3811. assertObjectType(key, childVal, vm);
  3812. }
  3813. if (!parentVal) { return childVal }
  3814. var ret = Object.create(null);
  3815. extend(ret, parentVal);
  3816. if (childVal) { extend(ret, childVal); }
  3817. return ret
  3818. };
  3819. strats.provide = mergeDataOrFn;
  3820. /**
  3821. * Default strategy.
  3822. */
  3823. var defaultStrat = function (parentVal, childVal) {
  3824. return childVal === undefined
  3825. ? parentVal
  3826. : childVal
  3827. };
  3828. /**
  3829. * Validate component names
  3830. */
  3831. function checkComponents (options) {
  3832. for (var key in options.components) {
  3833. validateComponentName(key);
  3834. }
  3835. }
  3836. function validateComponentName (name) {
  3837. if (!new RegExp(("^[a-zA-Z][\\-\\.0-9_" + (unicodeRegExp.source) + "]*$")).test(name)) {
  3838. warn(
  3839. 'Invalid component name: "' + name + '". Component names ' +
  3840. 'should conform to valid custom element name in html5 specification.'
  3841. );
  3842. }
  3843. if (isBuiltInTag(name) || config.isReservedTag(name)) {
  3844. warn(
  3845. 'Do not use built-in or reserved HTML elements as component ' +
  3846. 'id: ' + name
  3847. );
  3848. }
  3849. }
  3850. /**
  3851. * Ensure all props option syntax are normalized into the
  3852. * Object-based format.
  3853. */
  3854. function normalizeProps (options, vm) {
  3855. var props = options.props;
  3856. if (!props) { return }
  3857. var res = {};
  3858. var i, val, name;
  3859. if (Array.isArray(props)) {
  3860. i = props.length;
  3861. while (i--) {
  3862. val = props[i];
  3863. if (typeof val === 'string') {
  3864. name = camelize(val);
  3865. res[name] = { type: null };
  3866. } else if (true) {
  3867. warn('props must be strings when using array syntax.');
  3868. }
  3869. }
  3870. } else if (isPlainObject(props)) {
  3871. for (var key in props) {
  3872. val = props[key];
  3873. name = camelize(key);
  3874. res[name] = isPlainObject(val)
  3875. ? val
  3876. : { type: val };
  3877. }
  3878. } else if (true) {
  3879. warn(
  3880. "Invalid value for option \"props\": expected an Array or an Object, " +
  3881. "but got " + (toRawType(props)) + ".",
  3882. vm
  3883. );
  3884. }
  3885. options.props = res;
  3886. }
  3887. /**
  3888. * Normalize all injections into Object-based format
  3889. */
  3890. function normalizeInject (options, vm) {
  3891. var inject = options.inject;
  3892. if (!inject) { return }
  3893. var normalized = options.inject = {};
  3894. if (Array.isArray(inject)) {
  3895. for (var i = 0; i < inject.length; i++) {
  3896. normalized[inject[i]] = { from: inject[i] };
  3897. }
  3898. } else if (isPlainObject(inject)) {
  3899. for (var key in inject) {
  3900. var val = inject[key];
  3901. normalized[key] = isPlainObject(val)
  3902. ? extend({ from: key }, val)
  3903. : { from: val };
  3904. }
  3905. } else if (true) {
  3906. warn(
  3907. "Invalid value for option \"inject\": expected an Array or an Object, " +
  3908. "but got " + (toRawType(inject)) + ".",
  3909. vm
  3910. );
  3911. }
  3912. }
  3913. /**
  3914. * Normalize raw function directives into object format.
  3915. */
  3916. function normalizeDirectives (options) {
  3917. var dirs = options.directives;
  3918. if (dirs) {
  3919. for (var key in dirs) {
  3920. var def$$1 = dirs[key];
  3921. if (typeof def$$1 === 'function') {
  3922. dirs[key] = { bind: def$$1, update: def$$1 };
  3923. }
  3924. }
  3925. }
  3926. }
  3927. function assertObjectType (name, value, vm) {
  3928. if (!isPlainObject(value)) {
  3929. warn(
  3930. "Invalid value for option \"" + name + "\": expected an Object, " +
  3931. "but got " + (toRawType(value)) + ".",
  3932. vm
  3933. );
  3934. }
  3935. }
  3936. /**
  3937. * Merge two option objects into a new one.
  3938. * Core utility used in both instantiation and inheritance.
  3939. */
  3940. function mergeOptions (
  3941. parent,
  3942. child,
  3943. vm
  3944. ) {
  3945. if (true) {
  3946. checkComponents(child);
  3947. }
  3948. if (typeof child === 'function') {
  3949. child = child.options;
  3950. }
  3951. normalizeProps(child, vm);
  3952. normalizeInject(child, vm);
  3953. normalizeDirectives(child);
  3954. // Apply extends and mixins on the child options,
  3955. // but only if it is a raw options object that isn't
  3956. // the result of another mergeOptions call.
  3957. // Only merged options has the _base property.
  3958. if (!child._base) {
  3959. if (child.extends) {
  3960. parent = mergeOptions(parent, child.extends, vm);
  3961. }
  3962. if (child.mixins) {
  3963. for (var i = 0, l = child.mixins.length; i < l; i++) {
  3964. parent = mergeOptions(parent, child.mixins[i], vm);
  3965. }
  3966. }
  3967. }
  3968. var options = {};
  3969. var key;
  3970. for (key in parent) {
  3971. mergeField(key);
  3972. }
  3973. for (key in child) {
  3974. if (!hasOwn(parent, key)) {
  3975. mergeField(key);
  3976. }
  3977. }
  3978. function mergeField (key) {
  3979. var strat = strats[key] || defaultStrat;
  3980. options[key] = strat(parent[key], child[key], vm, key);
  3981. }
  3982. return options
  3983. }
  3984. /**
  3985. * Resolve an asset.
  3986. * This function is used because child instances need access
  3987. * to assets defined in its ancestor chain.
  3988. */
  3989. function resolveAsset (
  3990. options,
  3991. type,
  3992. id,
  3993. warnMissing
  3994. ) {
  3995. /* istanbul ignore if */
  3996. if (typeof id !== 'string') {
  3997. return
  3998. }
  3999. var assets = options[type];
  4000. // check local registration variations first
  4001. if (hasOwn(assets, id)) { return assets[id] }
  4002. var camelizedId = camelize(id);
  4003. if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }
  4004. var PascalCaseId = capitalize(camelizedId);
  4005. if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }
  4006. // fallback to prototype chain
  4007. var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];
  4008. if ( true && warnMissing && !res) {
  4009. warn(
  4010. 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,
  4011. options
  4012. );
  4013. }
  4014. return res
  4015. }
  4016. /* */
  4017. function validateProp (
  4018. key,
  4019. propOptions,
  4020. propsData,
  4021. vm
  4022. ) {
  4023. var prop = propOptions[key];
  4024. var absent = !hasOwn(propsData, key);
  4025. var value = propsData[key];
  4026. // boolean casting
  4027. var booleanIndex = getTypeIndex(Boolean, prop.type);
  4028. if (booleanIndex > -1) {
  4029. if (absent && !hasOwn(prop, 'default')) {
  4030. value = false;
  4031. } else if (value === '' || value === hyphenate(key)) {
  4032. // only cast empty string / same name to boolean if
  4033. // boolean has higher priority
  4034. var stringIndex = getTypeIndex(String, prop.type);
  4035. if (stringIndex < 0 || booleanIndex < stringIndex) {
  4036. value = true;
  4037. }
  4038. }
  4039. }
  4040. // check default value
  4041. if (value === undefined) {
  4042. value = getPropDefaultValue(vm, prop, key);
  4043. // since the default value is a fresh copy,
  4044. // make sure to observe it.
  4045. var prevShouldObserve = shouldObserve;
  4046. toggleObserving(true);
  4047. observe(value);
  4048. toggleObserving(prevShouldObserve);
  4049. }
  4050. if (
  4051. true
  4052. ) {
  4053. assertProp(prop, key, value, vm, absent);
  4054. }
  4055. return value
  4056. }
  4057. /**
  4058. * Get the default value of a prop.
  4059. */
  4060. function getPropDefaultValue (vm, prop, key) {
  4061. // no default, return undefined
  4062. if (!hasOwn(prop, 'default')) {
  4063. return undefined
  4064. }
  4065. var def = prop.default;
  4066. // warn against non-factory defaults for Object & Array
  4067. if ( true && isObject(def)) {
  4068. warn(
  4069. 'Invalid default value for prop "' + key + '": ' +
  4070. 'Props with type Object/Array must use a factory function ' +
  4071. 'to return the default value.',
  4072. vm
  4073. );
  4074. }
  4075. // the raw prop value was also undefined from previous render,
  4076. // return previous default value to avoid unnecessary watcher trigger
  4077. if (vm && vm.$options.propsData &&
  4078. vm.$options.propsData[key] === undefined &&
  4079. vm._props[key] !== undefined
  4080. ) {
  4081. return vm._props[key]
  4082. }
  4083. // call factory function for non-Function types
  4084. // a value is Function if its prototype is function even across different execution context
  4085. return typeof def === 'function' && getType(prop.type) !== 'Function'
  4086. ? def.call(vm)
  4087. : def
  4088. }
  4089. /**
  4090. * Assert whether a prop is valid.
  4091. */
  4092. function assertProp (
  4093. prop,
  4094. name,
  4095. value,
  4096. vm,
  4097. absent
  4098. ) {
  4099. if (prop.required && absent) {
  4100. warn(
  4101. 'Missing required prop: "' + name + '"',
  4102. vm
  4103. );
  4104. return
  4105. }
  4106. if (value == null && !prop.required) {
  4107. return
  4108. }
  4109. var type = prop.type;
  4110. var valid = !type || type === true;
  4111. var expectedTypes = [];
  4112. if (type) {
  4113. if (!Array.isArray(type)) {
  4114. type = [type];
  4115. }
  4116. for (var i = 0; i < type.length && !valid; i++) {
  4117. var assertedType = assertType(value, type[i]);
  4118. expectedTypes.push(assertedType.expectedType || '');
  4119. valid = assertedType.valid;
  4120. }
  4121. }
  4122. if (!valid) {
  4123. warn(
  4124. getInvalidTypeMessage(name, value, expectedTypes),
  4125. vm
  4126. );
  4127. return
  4128. }
  4129. var validator = prop.validator;
  4130. if (validator) {
  4131. if (!validator(value)) {
  4132. warn(
  4133. 'Invalid prop: custom validator check failed for prop "' + name + '".',
  4134. vm
  4135. );
  4136. }
  4137. }
  4138. }
  4139. var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;
  4140. function assertType (value, type) {
  4141. var valid;
  4142. var expectedType = getType(type);
  4143. if (simpleCheckRE.test(expectedType)) {
  4144. var t = typeof value;
  4145. valid = t === expectedType.toLowerCase();
  4146. // for primitive wrapper objects
  4147. if (!valid && t === 'object') {
  4148. valid = value instanceof type;
  4149. }
  4150. } else if (expectedType === 'Object') {
  4151. valid = isPlainObject(value);
  4152. } else if (expectedType === 'Array') {
  4153. valid = Array.isArray(value);
  4154. } else {
  4155. valid = value instanceof type;
  4156. }
  4157. return {
  4158. valid: valid,
  4159. expectedType: expectedType
  4160. }
  4161. }
  4162. /**
  4163. * Use function string name to check built-in types,
  4164. * because a simple equality check will fail when running
  4165. * across different vms / iframes.
  4166. */
  4167. function getType (fn) {
  4168. var match = fn && fn.toString().match(/^\s*function (\w+)/);
  4169. return match ? match[1] : ''
  4170. }
  4171. function isSameType (a, b) {
  4172. return getType(a) === getType(b)
  4173. }
  4174. function getTypeIndex (type, expectedTypes) {
  4175. if (!Array.isArray(expectedTypes)) {
  4176. return isSameType(expectedTypes, type) ? 0 : -1
  4177. }
  4178. for (var i = 0, len = expectedTypes.length; i < len; i++) {
  4179. if (isSameType(expectedTypes[i], type)) {
  4180. return i
  4181. }
  4182. }
  4183. return -1
  4184. }
  4185. function getInvalidTypeMessage (name, value, expectedTypes) {
  4186. var message = "Invalid prop: type check failed for prop \"" + name + "\"." +
  4187. " Expected " + (expectedTypes.map(capitalize).join(', '));
  4188. var expectedType = expectedTypes[0];
  4189. var receivedType = toRawType(value);
  4190. var expectedValue = styleValue(value, expectedType);
  4191. var receivedValue = styleValue(value, receivedType);
  4192. // check if we need to specify expected value
  4193. if (expectedTypes.length === 1 &&
  4194. isExplicable(expectedType) &&
  4195. !isBoolean(expectedType, receivedType)) {
  4196. message += " with value " + expectedValue;
  4197. }
  4198. message += ", got " + receivedType + " ";
  4199. // check if we need to specify received value
  4200. if (isExplicable(receivedType)) {
  4201. message += "with value " + receivedValue + ".";
  4202. }
  4203. return message
  4204. }
  4205. function styleValue (value, type) {
  4206. if (type === 'String') {
  4207. return ("\"" + value + "\"")
  4208. } else if (type === 'Number') {
  4209. return ("" + (Number(value)))
  4210. } else {
  4211. return ("" + value)
  4212. }
  4213. }
  4214. function isExplicable (value) {
  4215. var explicitTypes = ['string', 'number', 'boolean'];
  4216. return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })
  4217. }
  4218. function isBoolean () {
  4219. var args = [], len = arguments.length;
  4220. while ( len-- ) args[ len ] = arguments[ len ];
  4221. return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })
  4222. }
  4223. /* */
  4224. function handleError (err, vm, info) {
  4225. // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.
  4226. // See: https://github.com/vuejs/vuex/issues/1505
  4227. pushTarget();
  4228. try {
  4229. if (vm) {
  4230. var cur = vm;
  4231. while ((cur = cur.$parent)) {
  4232. var hooks = cur.$options.errorCaptured;
  4233. if (hooks) {
  4234. for (var i = 0; i < hooks.length; i++) {
  4235. try {
  4236. var capture = hooks[i].call(cur, err, vm, info) === false;
  4237. if (capture) { return }
  4238. } catch (e) {
  4239. globalHandleError(e, cur, 'errorCaptured hook');
  4240. }
  4241. }
  4242. }
  4243. }
  4244. }
  4245. globalHandleError(err, vm, info);
  4246. } finally {
  4247. popTarget();
  4248. }
  4249. }
  4250. function invokeWithErrorHandling (
  4251. handler,
  4252. context,
  4253. args,
  4254. vm,
  4255. info
  4256. ) {
  4257. var res;
  4258. try {
  4259. res = args ? handler.apply(context, args) : handler.call(context);
  4260. if (res && !res._isVue && isPromise(res) && !res._handled) {
  4261. res.catch(function (e) { return handleError(e, vm, info + " (Promise/async)"); });
  4262. // issue #9511
  4263. // avoid catch triggering multiple times when nested calls
  4264. res._handled = true;
  4265. }
  4266. } catch (e) {
  4267. handleError(e, vm, info);
  4268. }
  4269. return res
  4270. }
  4271. function globalHandleError (err, vm, info) {
  4272. if (config.errorHandler) {
  4273. try {
  4274. return config.errorHandler.call(null, err, vm, info)
  4275. } catch (e) {
  4276. // if the user intentionally throws the original error in the handler,
  4277. // do not log it twice
  4278. if (e !== err) {
  4279. logError(e, null, 'config.errorHandler');
  4280. }
  4281. }
  4282. }
  4283. logError(err, vm, info);
  4284. }
  4285. function logError (err, vm, info) {
  4286. if (true) {
  4287. warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm);
  4288. }
  4289. /* istanbul ignore else */
  4290. if ((inBrowser || inWeex) && typeof console !== 'undefined') {
  4291. console.error(err);
  4292. } else {
  4293. throw err
  4294. }
  4295. }
  4296. /* */
  4297. var callbacks = [];
  4298. var pending = false;
  4299. function flushCallbacks () {
  4300. pending = false;
  4301. var copies = callbacks.slice(0);
  4302. callbacks.length = 0;
  4303. for (var i = 0; i < copies.length; i++) {
  4304. copies[i]();
  4305. }
  4306. }
  4307. // Here we have async deferring wrappers using microtasks.
  4308. // In 2.5 we used (macro) tasks (in combination with microtasks).
  4309. // However, it has subtle problems when state is changed right before repaint
  4310. // (e.g. #6813, out-in transitions).
  4311. // Also, using (macro) tasks in event handler would cause some weird behaviors
  4312. // that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).
  4313. // So we now use microtasks everywhere, again.
  4314. // A major drawback of this tradeoff is that there are some scenarios
  4315. // where microtasks have too high a priority and fire in between supposedly
  4316. // sequential events (e.g. #4521, #6690, which have workarounds)
  4317. // or even between bubbling of the same event (#6566).
  4318. var timerFunc;
  4319. // The nextTick behavior leverages the microtask queue, which can be accessed
  4320. // via either native Promise.then or MutationObserver.
  4321. // MutationObserver has wider support, however it is seriously bugged in
  4322. // UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It
  4323. // completely stops working after triggering a few times... so, if native
  4324. // Promise is available, we will use it:
  4325. /* istanbul ignore next, $flow-disable-line */
  4326. if (typeof Promise !== 'undefined' && isNative(Promise)) {
  4327. var p = Promise.resolve();
  4328. timerFunc = function () {
  4329. p.then(flushCallbacks);
  4330. // In problematic UIWebViews, Promise.then doesn't completely break, but
  4331. // it can get stuck in a weird state where callbacks are pushed into the
  4332. // microtask queue but the queue isn't being flushed, until the browser
  4333. // needs to do some other work, e.g. handle a timer. Therefore we can
  4334. // "force" the microtask queue to be flushed by adding an empty timer.
  4335. if (isIOS) { setTimeout(noop); }
  4336. };
  4337. } else if (!isIE && typeof MutationObserver !== 'undefined' && (
  4338. isNative(MutationObserver) ||
  4339. // PhantomJS and iOS 7.x
  4340. MutationObserver.toString() === '[object MutationObserverConstructor]'
  4341. )) {
  4342. // Use MutationObserver where native Promise is not available,
  4343. // e.g. PhantomJS, iOS7, Android 4.4
  4344. // (#6466 MutationObserver is unreliable in IE11)
  4345. var counter = 1;
  4346. var observer = new MutationObserver(flushCallbacks);
  4347. var textNode = document.createTextNode(String(counter));
  4348. observer.observe(textNode, {
  4349. characterData: true
  4350. });
  4351. timerFunc = function () {
  4352. counter = (counter + 1) % 2;
  4353. textNode.data = String(counter);
  4354. };
  4355. } else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {
  4356. // Fallback to setImmediate.
  4357. // Technically it leverages the (macro) task queue,
  4358. // but it is still a better choice than setTimeout.
  4359. timerFunc = function () {
  4360. setImmediate(flushCallbacks);
  4361. };
  4362. } else {
  4363. // Fallback to setTimeout.
  4364. timerFunc = function () {
  4365. setTimeout(flushCallbacks, 0);
  4366. };
  4367. }
  4368. function nextTick (cb, ctx) {
  4369. var _resolve;
  4370. callbacks.push(function () {
  4371. if (cb) {
  4372. try {
  4373. cb.call(ctx);
  4374. } catch (e) {
  4375. handleError(e, ctx, 'nextTick');
  4376. }
  4377. } else if (_resolve) {
  4378. _resolve(ctx);
  4379. }
  4380. });
  4381. if (!pending) {
  4382. pending = true;
  4383. timerFunc();
  4384. }
  4385. // $flow-disable-line
  4386. if (!cb && typeof Promise !== 'undefined') {
  4387. return new Promise(function (resolve) {
  4388. _resolve = resolve;
  4389. })
  4390. }
  4391. }
  4392. /* */
  4393. /* not type checking this file because flow doesn't play well with Proxy */
  4394. var initProxy;
  4395. if (true) {
  4396. var allowedGlobals = makeMap(
  4397. 'Infinity,undefined,NaN,isFinite,isNaN,' +
  4398. 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +
  4399. 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +
  4400. 'require' // for Webpack/Browserify
  4401. );
  4402. var warnNonPresent = function (target, key) {
  4403. warn(
  4404. "Property or method \"" + key + "\" is not defined on the instance but " +
  4405. 'referenced during render. Make sure that this property is reactive, ' +
  4406. 'either in the data option, or for class-based components, by ' +
  4407. 'initializing the property. ' +
  4408. 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',
  4409. target
  4410. );
  4411. };
  4412. var warnReservedPrefix = function (target, key) {
  4413. warn(
  4414. "Property \"" + key + "\" must be accessed with \"$data." + key + "\" because " +
  4415. 'properties starting with "$" or "_" are not proxied in the Vue instance to ' +
  4416. 'prevent conflicts with Vue internals. ' +
  4417. 'See: https://vuejs.org/v2/api/#data',
  4418. target
  4419. );
  4420. };
  4421. var hasProxy =
  4422. typeof Proxy !== 'undefined' && isNative(Proxy);
  4423. if (hasProxy) {
  4424. var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');
  4425. config.keyCodes = new Proxy(config.keyCodes, {
  4426. set: function set (target, key, value) {
  4427. if (isBuiltInModifier(key)) {
  4428. warn(("Avoid overwriting built-in modifier in config.keyCodes: ." + key));
  4429. return false
  4430. } else {
  4431. target[key] = value;
  4432. return true
  4433. }
  4434. }
  4435. });
  4436. }
  4437. var hasHandler = {
  4438. has: function has (target, key) {
  4439. var has = key in target;
  4440. var isAllowed = allowedGlobals(key) ||
  4441. (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));
  4442. if (!has && !isAllowed) {
  4443. if (key in target.$data) { warnReservedPrefix(target, key); }
  4444. else { warnNonPresent(target, key); }
  4445. }
  4446. return has || !isAllowed
  4447. }
  4448. };
  4449. var getHandler = {
  4450. get: function get (target, key) {
  4451. if (typeof key === 'string' && !(key in target)) {
  4452. if (key in target.$data) { warnReservedPrefix(target, key); }
  4453. else { warnNonPresent(target, key); }
  4454. }
  4455. return target[key]
  4456. }
  4457. };
  4458. initProxy = function initProxy (vm) {
  4459. if (hasProxy) {
  4460. // determine which proxy handler to use
  4461. var options = vm.$options;
  4462. var handlers = options.render && options.render._withStripped
  4463. ? getHandler
  4464. : hasHandler;
  4465. vm._renderProxy = new Proxy(vm, handlers);
  4466. } else {
  4467. vm._renderProxy = vm;
  4468. }
  4469. };
  4470. }
  4471. /* */
  4472. var seenObjects = new _Set();
  4473. /**
  4474. * Recursively traverse an object to evoke all converted
  4475. * getters, so that every nested property inside the object
  4476. * is collected as a "deep" dependency.
  4477. */
  4478. function traverse (val) {
  4479. _traverse(val, seenObjects);
  4480. seenObjects.clear();
  4481. }
  4482. function _traverse (val, seen) {
  4483. var i, keys;
  4484. var isA = Array.isArray(val);
  4485. if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {
  4486. return
  4487. }
  4488. if (val.__ob__) {
  4489. var depId = val.__ob__.dep.id;
  4490. if (seen.has(depId)) {
  4491. return
  4492. }
  4493. seen.add(depId);
  4494. }
  4495. if (isA) {
  4496. i = val.length;
  4497. while (i--) { _traverse(val[i], seen); }
  4498. } else {
  4499. keys = Object.keys(val);
  4500. i = keys.length;
  4501. while (i--) { _traverse(val[keys[i]], seen); }
  4502. }
  4503. }
  4504. var mark;
  4505. var measure;
  4506. if (true) {
  4507. var perf = inBrowser && window.performance;
  4508. /* istanbul ignore if */
  4509. if (
  4510. perf &&
  4511. perf.mark &&
  4512. perf.measure &&
  4513. perf.clearMarks &&
  4514. perf.clearMeasures
  4515. ) {
  4516. mark = function (tag) { return perf.mark(tag); };
  4517. measure = function (name, startTag, endTag) {
  4518. perf.measure(name, startTag, endTag);
  4519. perf.clearMarks(startTag);
  4520. perf.clearMarks(endTag);
  4521. // perf.clearMeasures(name)
  4522. };
  4523. }
  4524. }
  4525. /* */
  4526. var normalizeEvent = cached(function (name) {
  4527. var passive = name.charAt(0) === '&';
  4528. name = passive ? name.slice(1) : name;
  4529. var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first
  4530. name = once$$1 ? name.slice(1) : name;
  4531. var capture = name.charAt(0) === '!';
  4532. name = capture ? name.slice(1) : name;
  4533. return {
  4534. name: name,
  4535. once: once$$1,
  4536. capture: capture,
  4537. passive: passive
  4538. }
  4539. });
  4540. function createFnInvoker (fns, vm) {
  4541. function invoker () {
  4542. var arguments$1 = arguments;
  4543. var fns = invoker.fns;
  4544. if (Array.isArray(fns)) {
  4545. var cloned = fns.slice();
  4546. for (var i = 0; i < cloned.length; i++) {
  4547. invokeWithErrorHandling(cloned[i], null, arguments$1, vm, "v-on handler");
  4548. }
  4549. } else {
  4550. // return handler return value for single handlers
  4551. return invokeWithErrorHandling(fns, null, arguments, vm, "v-on handler")
  4552. }
  4553. }
  4554. invoker.fns = fns;
  4555. return invoker
  4556. }
  4557. function updateListeners (
  4558. on,
  4559. oldOn,
  4560. add,
  4561. remove$$1,
  4562. createOnceHandler,
  4563. vm
  4564. ) {
  4565. var name, def$$1, cur, old, event;
  4566. for (name in on) {
  4567. def$$1 = cur = on[name];
  4568. old = oldOn[name];
  4569. event = normalizeEvent(name);
  4570. if (isUndef(cur)) {
  4571. true && warn(
  4572. "Invalid handler for event \"" + (event.name) + "\": got " + String(cur),
  4573. vm
  4574. );
  4575. } else if (isUndef(old)) {
  4576. if (isUndef(cur.fns)) {
  4577. cur = on[name] = createFnInvoker(cur, vm);
  4578. }
  4579. if (isTrue(event.once)) {
  4580. cur = on[name] = createOnceHandler(event.name, cur, event.capture);
  4581. }
  4582. add(event.name, cur, event.capture, event.passive, event.params);
  4583. } else if (cur !== old) {
  4584. old.fns = cur;
  4585. on[name] = old;
  4586. }
  4587. }
  4588. for (name in oldOn) {
  4589. if (isUndef(on[name])) {
  4590. event = normalizeEvent(name);
  4591. remove$$1(event.name, oldOn[name], event.capture);
  4592. }
  4593. }
  4594. }
  4595. /* */
  4596. /* */
  4597. // fixed by xxxxxx (mp properties)
  4598. function extractPropertiesFromVNodeData(data, Ctor, res, context) {
  4599. var propOptions = Ctor.options.mpOptions && Ctor.options.mpOptions.properties;
  4600. if (isUndef(propOptions)) {
  4601. return res
  4602. }
  4603. var externalClasses = Ctor.options.mpOptions.externalClasses || [];
  4604. var attrs = data.attrs;
  4605. var props = data.props;
  4606. if (isDef(attrs) || isDef(props)) {
  4607. for (var key in propOptions) {
  4608. var altKey = hyphenate(key);
  4609. var result = checkProp(res, props, key, altKey, true) ||
  4610. checkProp(res, attrs, key, altKey, false);
  4611. // externalClass
  4612. if (
  4613. result &&
  4614. res[key] &&
  4615. externalClasses.indexOf(altKey) !== -1 &&
  4616. context[camelize(res[key])]
  4617. ) {
  4618. // 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串)
  4619. res[key] = context[camelize(res[key])];
  4620. }
  4621. }
  4622. }
  4623. return res
  4624. }
  4625. function extractPropsFromVNodeData (
  4626. data,
  4627. Ctor,
  4628. tag,
  4629. context// fixed by xxxxxx
  4630. ) {
  4631. // we are only extracting raw values here.
  4632. // validation and default values are handled in the child
  4633. // component itself.
  4634. var propOptions = Ctor.options.props;
  4635. if (isUndef(propOptions)) {
  4636. // fixed by xxxxxx
  4637. return extractPropertiesFromVNodeData(data, Ctor, {}, context)
  4638. }
  4639. var res = {};
  4640. var attrs = data.attrs;
  4641. var props = data.props;
  4642. if (isDef(attrs) || isDef(props)) {
  4643. for (var key in propOptions) {
  4644. var altKey = hyphenate(key);
  4645. if (true) {
  4646. var keyInLowerCase = key.toLowerCase();
  4647. if (
  4648. key !== keyInLowerCase &&
  4649. attrs && hasOwn(attrs, keyInLowerCase)
  4650. ) {
  4651. tip(
  4652. "Prop \"" + keyInLowerCase + "\" is passed to component " +
  4653. (formatComponentName(tag || Ctor)) + ", but the declared prop name is" +
  4654. " \"" + key + "\". " +
  4655. "Note that HTML attributes are case-insensitive and camelCased " +
  4656. "props need to use their kebab-case equivalents when using in-DOM " +
  4657. "templates. You should probably use \"" + altKey + "\" instead of \"" + key + "\"."
  4658. );
  4659. }
  4660. }
  4661. checkProp(res, props, key, altKey, true) ||
  4662. checkProp(res, attrs, key, altKey, false);
  4663. }
  4664. }
  4665. // fixed by xxxxxx
  4666. return extractPropertiesFromVNodeData(data, Ctor, res, context)
  4667. }
  4668. function checkProp (
  4669. res,
  4670. hash,
  4671. key,
  4672. altKey,
  4673. preserve
  4674. ) {
  4675. if (isDef(hash)) {
  4676. if (hasOwn(hash, key)) {
  4677. res[key] = hash[key];
  4678. if (!preserve) {
  4679. delete hash[key];
  4680. }
  4681. return true
  4682. } else if (hasOwn(hash, altKey)) {
  4683. res[key] = hash[altKey];
  4684. if (!preserve) {
  4685. delete hash[altKey];
  4686. }
  4687. return true
  4688. }
  4689. }
  4690. return false
  4691. }
  4692. /* */
  4693. // The template compiler attempts to minimize the need for normalization by
  4694. // statically analyzing the template at compile time.
  4695. //
  4696. // For plain HTML markup, normalization can be completely skipped because the
  4697. // generated render function is guaranteed to return Array<VNode>. There are
  4698. // two cases where extra normalization is needed:
  4699. // 1. When the children contains components - because a functional component
  4700. // may return an Array instead of a single root. In this case, just a simple
  4701. // normalization is needed - if any child is an Array, we flatten the whole
  4702. // thing with Array.prototype.concat. It is guaranteed to be only 1-level deep
  4703. // because functional components already normalize their own children.
  4704. function simpleNormalizeChildren (children) {
  4705. for (var i = 0; i < children.length; i++) {
  4706. if (Array.isArray(children[i])) {
  4707. return Array.prototype.concat.apply([], children)
  4708. }
  4709. }
  4710. return children
  4711. }
  4712. // 2. When the children contains constructs that always generated nested Arrays,
  4713. // e.g. <template>, <slot>, v-for, or when the children is provided by user
  4714. // with hand-written render functions / JSX. In such cases a full normalization
  4715. // is needed to cater to all possible types of children values.
  4716. function normalizeChildren (children) {
  4717. return isPrimitive(children)
  4718. ? [createTextVNode(children)]
  4719. : Array.isArray(children)
  4720. ? normalizeArrayChildren(children)
  4721. : undefined
  4722. }
  4723. function isTextNode (node) {
  4724. return isDef(node) && isDef(node.text) && isFalse(node.isComment)
  4725. }
  4726. function normalizeArrayChildren (children, nestedIndex) {
  4727. var res = [];
  4728. var i, c, lastIndex, last;
  4729. for (i = 0; i < children.length; i++) {
  4730. c = children[i];
  4731. if (isUndef(c) || typeof c === 'boolean') { continue }
  4732. lastIndex = res.length - 1;
  4733. last = res[lastIndex];
  4734. // nested
  4735. if (Array.isArray(c)) {
  4736. if (c.length > 0) {
  4737. c = normalizeArrayChildren(c, ((nestedIndex || '') + "_" + i));
  4738. // merge adjacent text nodes
  4739. if (isTextNode(c[0]) && isTextNode(last)) {
  4740. res[lastIndex] = createTextVNode(last.text + (c[0]).text);
  4741. c.shift();
  4742. }
  4743. res.push.apply(res, c);
  4744. }
  4745. } else if (isPrimitive(c)) {
  4746. if (isTextNode(last)) {
  4747. // merge adjacent text nodes
  4748. // this is necessary for SSR hydration because text nodes are
  4749. // essentially merged when rendered to HTML strings
  4750. res[lastIndex] = createTextVNode(last.text + c);
  4751. } else if (c !== '') {
  4752. // convert primitive to vnode
  4753. res.push(createTextVNode(c));
  4754. }
  4755. } else {
  4756. if (isTextNode(c) && isTextNode(last)) {
  4757. // merge adjacent text nodes
  4758. res[lastIndex] = createTextVNode(last.text + c.text);
  4759. } else {
  4760. // default key for nested array children (likely generated by v-for)
  4761. if (isTrue(children._isVList) &&
  4762. isDef(c.tag) &&
  4763. isUndef(c.key) &&
  4764. isDef(nestedIndex)) {
  4765. c.key = "__vlist" + nestedIndex + "_" + i + "__";
  4766. }
  4767. res.push(c);
  4768. }
  4769. }
  4770. }
  4771. return res
  4772. }
  4773. /* */
  4774. function initProvide (vm) {
  4775. var provide = vm.$options.provide;
  4776. if (provide) {
  4777. vm._provided = typeof provide === 'function'
  4778. ? provide.call(vm)
  4779. : provide;
  4780. }
  4781. }
  4782. function initInjections (vm) {
  4783. var result = resolveInject(vm.$options.inject, vm);
  4784. if (result) {
  4785. toggleObserving(false);
  4786. Object.keys(result).forEach(function (key) {
  4787. /* istanbul ignore else */
  4788. if (true) {
  4789. defineReactive$$1(vm, key, result[key], function () {
  4790. warn(
  4791. "Avoid mutating an injected value directly since the changes will be " +
  4792. "overwritten whenever the provided component re-renders. " +
  4793. "injection being mutated: \"" + key + "\"",
  4794. vm
  4795. );
  4796. });
  4797. } else {}
  4798. });
  4799. toggleObserving(true);
  4800. }
  4801. }
  4802. function resolveInject (inject, vm) {
  4803. if (inject) {
  4804. // inject is :any because flow is not smart enough to figure out cached
  4805. var result = Object.create(null);
  4806. var keys = hasSymbol
  4807. ? Reflect.ownKeys(inject)
  4808. : Object.keys(inject);
  4809. for (var i = 0; i < keys.length; i++) {
  4810. var key = keys[i];
  4811. // #6574 in case the inject object is observed...
  4812. if (key === '__ob__') { continue }
  4813. var provideKey = inject[key].from;
  4814. var source = vm;
  4815. while (source) {
  4816. if (source._provided && hasOwn(source._provided, provideKey)) {
  4817. result[key] = source._provided[provideKey];
  4818. break
  4819. }
  4820. source = source.$parent;
  4821. }
  4822. if (!source) {
  4823. if ('default' in inject[key]) {
  4824. var provideDefault = inject[key].default;
  4825. result[key] = typeof provideDefault === 'function'
  4826. ? provideDefault.call(vm)
  4827. : provideDefault;
  4828. } else if (true) {
  4829. warn(("Injection \"" + key + "\" not found"), vm);
  4830. }
  4831. }
  4832. }
  4833. return result
  4834. }
  4835. }
  4836. /* */
  4837. /**
  4838. * Runtime helper for resolving raw children VNodes into a slot object.
  4839. */
  4840. function resolveSlots (
  4841. children,
  4842. context
  4843. ) {
  4844. if (!children || !children.length) {
  4845. return {}
  4846. }
  4847. var slots = {};
  4848. for (var i = 0, l = children.length; i < l; i++) {
  4849. var child = children[i];
  4850. var data = child.data;
  4851. // remove slot attribute if the node is resolved as a Vue slot node
  4852. if (data && data.attrs && data.attrs.slot) {
  4853. delete data.attrs.slot;
  4854. }
  4855. // named slots should only be respected if the vnode was rendered in the
  4856. // same context.
  4857. if ((child.context === context || child.fnContext === context) &&
  4858. data && data.slot != null
  4859. ) {
  4860. var name = data.slot;
  4861. var slot = (slots[name] || (slots[name] = []));
  4862. if (child.tag === 'template') {
  4863. slot.push.apply(slot, child.children || []);
  4864. } else {
  4865. slot.push(child);
  4866. }
  4867. } else {
  4868. // fixed by xxxxxx 临时 hack 掉 uni-app 中的异步 name slot page
  4869. if(child.asyncMeta && child.asyncMeta.data && child.asyncMeta.data.slot === 'page'){
  4870. (slots['page'] || (slots['page'] = [])).push(child);
  4871. }else{
  4872. (slots.default || (slots.default = [])).push(child);
  4873. }
  4874. }
  4875. }
  4876. // ignore slots that contains only whitespace
  4877. for (var name$1 in slots) {
  4878. if (slots[name$1].every(isWhitespace)) {
  4879. delete slots[name$1];
  4880. }
  4881. }
  4882. return slots
  4883. }
  4884. function isWhitespace (node) {
  4885. return (node.isComment && !node.asyncFactory) || node.text === ' '
  4886. }
  4887. /* */
  4888. function normalizeScopedSlots (
  4889. slots,
  4890. normalSlots,
  4891. prevSlots
  4892. ) {
  4893. var res;
  4894. var hasNormalSlots = Object.keys(normalSlots).length > 0;
  4895. var isStable = slots ? !!slots.$stable : !hasNormalSlots;
  4896. var key = slots && slots.$key;
  4897. if (!slots) {
  4898. res = {};
  4899. } else if (slots._normalized) {
  4900. // fast path 1: child component re-render only, parent did not change
  4901. return slots._normalized
  4902. } else if (
  4903. isStable &&
  4904. prevSlots &&
  4905. prevSlots !== emptyObject &&
  4906. key === prevSlots.$key &&
  4907. !hasNormalSlots &&
  4908. !prevSlots.$hasNormal
  4909. ) {
  4910. // fast path 2: stable scoped slots w/ no normal slots to proxy,
  4911. // only need to normalize once
  4912. return prevSlots
  4913. } else {
  4914. res = {};
  4915. for (var key$1 in slots) {
  4916. if (slots[key$1] && key$1[0] !== '$') {
  4917. res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);
  4918. }
  4919. }
  4920. }
  4921. // expose normal slots on scopedSlots
  4922. for (var key$2 in normalSlots) {
  4923. if (!(key$2 in res)) {
  4924. res[key$2] = proxyNormalSlot(normalSlots, key$2);
  4925. }
  4926. }
  4927. // avoriaz seems to mock a non-extensible $scopedSlots object
  4928. // and when that is passed down this would cause an error
  4929. if (slots && Object.isExtensible(slots)) {
  4930. (slots)._normalized = res;
  4931. }
  4932. def(res, '$stable', isStable);
  4933. def(res, '$key', key);
  4934. def(res, '$hasNormal', hasNormalSlots);
  4935. return res
  4936. }
  4937. function normalizeScopedSlot(normalSlots, key, fn) {
  4938. var normalized = function () {
  4939. var res = arguments.length ? fn.apply(null, arguments) : fn({});
  4940. res = res && typeof res === 'object' && !Array.isArray(res)
  4941. ? [res] // single vnode
  4942. : normalizeChildren(res);
  4943. return res && (
  4944. res.length === 0 ||
  4945. (res.length === 1 && res[0].isComment) // #9658
  4946. ) ? undefined
  4947. : res
  4948. };
  4949. // this is a slot using the new v-slot syntax without scope. although it is
  4950. // compiled as a scoped slot, render fn users would expect it to be present
  4951. // on this.$slots because the usage is semantically a normal slot.
  4952. if (fn.proxy) {
  4953. Object.defineProperty(normalSlots, key, {
  4954. get: normalized,
  4955. enumerable: true,
  4956. configurable: true
  4957. });
  4958. }
  4959. return normalized
  4960. }
  4961. function proxyNormalSlot(slots, key) {
  4962. return function () { return slots[key]; }
  4963. }
  4964. /* */
  4965. /**
  4966. * Runtime helper for rendering v-for lists.
  4967. */
  4968. function renderList (
  4969. val,
  4970. render
  4971. ) {
  4972. var ret, i, l, keys, key;
  4973. if (Array.isArray(val) || typeof val === 'string') {
  4974. ret = new Array(val.length);
  4975. for (i = 0, l = val.length; i < l; i++) {
  4976. ret[i] = render(val[i], i, i, i); // fixed by xxxxxx
  4977. }
  4978. } else if (typeof val === 'number') {
  4979. ret = new Array(val);
  4980. for (i = 0; i < val; i++) {
  4981. ret[i] = render(i + 1, i, i, i); // fixed by xxxxxx
  4982. }
  4983. } else if (isObject(val)) {
  4984. if (hasSymbol && val[Symbol.iterator]) {
  4985. ret = [];
  4986. var iterator = val[Symbol.iterator]();
  4987. var result = iterator.next();
  4988. while (!result.done) {
  4989. ret.push(render(result.value, ret.length, i, i++)); // fixed by xxxxxx
  4990. result = iterator.next();
  4991. }
  4992. } else {
  4993. keys = Object.keys(val);
  4994. ret = new Array(keys.length);
  4995. for (i = 0, l = keys.length; i < l; i++) {
  4996. key = keys[i];
  4997. ret[i] = render(val[key], key, i, i); // fixed by xxxxxx
  4998. }
  4999. }
  5000. }
  5001. if (!isDef(ret)) {
  5002. ret = [];
  5003. }
  5004. (ret)._isVList = true;
  5005. return ret
  5006. }
  5007. /* */
  5008. /**
  5009. * Runtime helper for rendering <slot>
  5010. */
  5011. function renderSlot (
  5012. name,
  5013. fallback,
  5014. props,
  5015. bindObject
  5016. ) {
  5017. var scopedSlotFn = this.$scopedSlots[name];
  5018. var nodes;
  5019. if (scopedSlotFn) { // scoped slot
  5020. props = props || {};
  5021. if (bindObject) {
  5022. if ( true && !isObject(bindObject)) {
  5023. warn(
  5024. 'slot v-bind without argument expects an Object',
  5025. this
  5026. );
  5027. }
  5028. props = extend(extend({}, bindObject), props);
  5029. }
  5030. // fixed by xxxxxx app-plus scopedSlot
  5031. nodes = scopedSlotFn(props, this, props._i) || fallback;
  5032. } else {
  5033. nodes = this.$slots[name] || fallback;
  5034. }
  5035. var target = props && props.slot;
  5036. if (target) {
  5037. return this.$createElement('template', { slot: target }, nodes)
  5038. } else {
  5039. return nodes
  5040. }
  5041. }
  5042. /* */
  5043. /**
  5044. * Runtime helper for resolving filters
  5045. */
  5046. function resolveFilter (id) {
  5047. return resolveAsset(this.$options, 'filters', id, true) || identity
  5048. }
  5049. /* */
  5050. function isKeyNotMatch (expect, actual) {
  5051. if (Array.isArray(expect)) {
  5052. return expect.indexOf(actual) === -1
  5053. } else {
  5054. return expect !== actual
  5055. }
  5056. }
  5057. /**
  5058. * Runtime helper for checking keyCodes from config.
  5059. * exposed as Vue.prototype._k
  5060. * passing in eventKeyName as last argument separately for backwards compat
  5061. */
  5062. function checkKeyCodes (
  5063. eventKeyCode,
  5064. key,
  5065. builtInKeyCode,
  5066. eventKeyName,
  5067. builtInKeyName
  5068. ) {
  5069. var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;
  5070. if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {
  5071. return isKeyNotMatch(builtInKeyName, eventKeyName)
  5072. } else if (mappedKeyCode) {
  5073. return isKeyNotMatch(mappedKeyCode, eventKeyCode)
  5074. } else if (eventKeyName) {
  5075. return hyphenate(eventKeyName) !== key
  5076. }
  5077. }
  5078. /* */
  5079. /**
  5080. * Runtime helper for merging v-bind="object" into a VNode's data.
  5081. */
  5082. function bindObjectProps (
  5083. data,
  5084. tag,
  5085. value,
  5086. asProp,
  5087. isSync
  5088. ) {
  5089. if (value) {
  5090. if (!isObject(value)) {
  5091. true && warn(
  5092. 'v-bind without argument expects an Object or Array value',
  5093. this
  5094. );
  5095. } else {
  5096. if (Array.isArray(value)) {
  5097. value = toObject(value);
  5098. }
  5099. var hash;
  5100. var loop = function ( key ) {
  5101. if (
  5102. key === 'class' ||
  5103. key === 'style' ||
  5104. isReservedAttribute(key)
  5105. ) {
  5106. hash = data;
  5107. } else {
  5108. var type = data.attrs && data.attrs.type;
  5109. hash = asProp || config.mustUseProp(tag, type, key)
  5110. ? data.domProps || (data.domProps = {})
  5111. : data.attrs || (data.attrs = {});
  5112. }
  5113. var camelizedKey = camelize(key);
  5114. var hyphenatedKey = hyphenate(key);
  5115. if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {
  5116. hash[key] = value[key];
  5117. if (isSync) {
  5118. var on = data.on || (data.on = {});
  5119. on[("update:" + key)] = function ($event) {
  5120. value[key] = $event;
  5121. };
  5122. }
  5123. }
  5124. };
  5125. for (var key in value) loop( key );
  5126. }
  5127. }
  5128. return data
  5129. }
  5130. /* */
  5131. /**
  5132. * Runtime helper for rendering static trees.
  5133. */
  5134. function renderStatic (
  5135. index,
  5136. isInFor
  5137. ) {
  5138. var cached = this._staticTrees || (this._staticTrees = []);
  5139. var tree = cached[index];
  5140. // if has already-rendered static tree and not inside v-for,
  5141. // we can reuse the same tree.
  5142. if (tree && !isInFor) {
  5143. return tree
  5144. }
  5145. // otherwise, render a fresh tree.
  5146. tree = cached[index] = this.$options.staticRenderFns[index].call(
  5147. this._renderProxy,
  5148. null,
  5149. this // for render fns generated for functional component templates
  5150. );
  5151. markStatic(tree, ("__static__" + index), false);
  5152. return tree
  5153. }
  5154. /**
  5155. * Runtime helper for v-once.
  5156. * Effectively it means marking the node as static with a unique key.
  5157. */
  5158. function markOnce (
  5159. tree,
  5160. index,
  5161. key
  5162. ) {
  5163. markStatic(tree, ("__once__" + index + (key ? ("_" + key) : "")), true);
  5164. return tree
  5165. }
  5166. function markStatic (
  5167. tree,
  5168. key,
  5169. isOnce
  5170. ) {
  5171. if (Array.isArray(tree)) {
  5172. for (var i = 0; i < tree.length; i++) {
  5173. if (tree[i] && typeof tree[i] !== 'string') {
  5174. markStaticNode(tree[i], (key + "_" + i), isOnce);
  5175. }
  5176. }
  5177. } else {
  5178. markStaticNode(tree, key, isOnce);
  5179. }
  5180. }
  5181. function markStaticNode (node, key, isOnce) {
  5182. node.isStatic = true;
  5183. node.key = key;
  5184. node.isOnce = isOnce;
  5185. }
  5186. /* */
  5187. function bindObjectListeners (data, value) {
  5188. if (value) {
  5189. if (!isPlainObject(value)) {
  5190. true && warn(
  5191. 'v-on without argument expects an Object value',
  5192. this
  5193. );
  5194. } else {
  5195. var on = data.on = data.on ? extend({}, data.on) : {};
  5196. for (var key in value) {
  5197. var existing = on[key];
  5198. var ours = value[key];
  5199. on[key] = existing ? [].concat(existing, ours) : ours;
  5200. }
  5201. }
  5202. }
  5203. return data
  5204. }
  5205. /* */
  5206. function resolveScopedSlots (
  5207. fns, // see flow/vnode
  5208. res,
  5209. // the following are added in 2.6
  5210. hasDynamicKeys,
  5211. contentHashKey
  5212. ) {
  5213. res = res || { $stable: !hasDynamicKeys };
  5214. for (var i = 0; i < fns.length; i++) {
  5215. var slot = fns[i];
  5216. if (Array.isArray(slot)) {
  5217. resolveScopedSlots(slot, res, hasDynamicKeys);
  5218. } else if (slot) {
  5219. // marker for reverse proxying v-slot without scope on this.$slots
  5220. if (slot.proxy) {
  5221. slot.fn.proxy = true;
  5222. }
  5223. res[slot.key] = slot.fn;
  5224. }
  5225. }
  5226. if (contentHashKey) {
  5227. (res).$key = contentHashKey;
  5228. }
  5229. return res
  5230. }
  5231. /* */
  5232. function bindDynamicKeys (baseObj, values) {
  5233. for (var i = 0; i < values.length; i += 2) {
  5234. var key = values[i];
  5235. if (typeof key === 'string' && key) {
  5236. baseObj[values[i]] = values[i + 1];
  5237. } else if ( true && key !== '' && key !== null) {
  5238. // null is a special value for explicitly removing a binding
  5239. warn(
  5240. ("Invalid value for dynamic directive argument (expected string or null): " + key),
  5241. this
  5242. );
  5243. }
  5244. }
  5245. return baseObj
  5246. }
  5247. // helper to dynamically append modifier runtime markers to event names.
  5248. // ensure only append when value is already string, otherwise it will be cast
  5249. // to string and cause the type check to miss.
  5250. function prependModifier (value, symbol) {
  5251. return typeof value === 'string' ? symbol + value : value
  5252. }
  5253. /* */
  5254. function installRenderHelpers (target) {
  5255. target._o = markOnce;
  5256. target._n = toNumber;
  5257. target._s = toString;
  5258. target._l = renderList;
  5259. target._t = renderSlot;
  5260. target._q = looseEqual;
  5261. target._i = looseIndexOf;
  5262. target._m = renderStatic;
  5263. target._f = resolveFilter;
  5264. target._k = checkKeyCodes;
  5265. target._b = bindObjectProps;
  5266. target._v = createTextVNode;
  5267. target._e = createEmptyVNode;
  5268. target._u = resolveScopedSlots;
  5269. target._g = bindObjectListeners;
  5270. target._d = bindDynamicKeys;
  5271. target._p = prependModifier;
  5272. }
  5273. /* */
  5274. function FunctionalRenderContext (
  5275. data,
  5276. props,
  5277. children,
  5278. parent,
  5279. Ctor
  5280. ) {
  5281. var this$1 = this;
  5282. var options = Ctor.options;
  5283. // ensure the createElement function in functional components
  5284. // gets a unique context - this is necessary for correct named slot check
  5285. var contextVm;
  5286. if (hasOwn(parent, '_uid')) {
  5287. contextVm = Object.create(parent);
  5288. // $flow-disable-line
  5289. contextVm._original = parent;
  5290. } else {
  5291. // the context vm passed in is a functional context as well.
  5292. // in this case we want to make sure we are able to get a hold to the
  5293. // real context instance.
  5294. contextVm = parent;
  5295. // $flow-disable-line
  5296. parent = parent._original;
  5297. }
  5298. var isCompiled = isTrue(options._compiled);
  5299. var needNormalization = !isCompiled;
  5300. this.data = data;
  5301. this.props = props;
  5302. this.children = children;
  5303. this.parent = parent;
  5304. this.listeners = data.on || emptyObject;
  5305. this.injections = resolveInject(options.inject, parent);
  5306. this.slots = function () {
  5307. if (!this$1.$slots) {
  5308. normalizeScopedSlots(
  5309. data.scopedSlots,
  5310. this$1.$slots = resolveSlots(children, parent)
  5311. );
  5312. }
  5313. return this$1.$slots
  5314. };
  5315. Object.defineProperty(this, 'scopedSlots', ({
  5316. enumerable: true,
  5317. get: function get () {
  5318. return normalizeScopedSlots(data.scopedSlots, this.slots())
  5319. }
  5320. }));
  5321. // support for compiled functional template
  5322. if (isCompiled) {
  5323. // exposing $options for renderStatic()
  5324. this.$options = options;
  5325. // pre-resolve slots for renderSlot()
  5326. this.$slots = this.slots();
  5327. this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);
  5328. }
  5329. if (options._scopeId) {
  5330. this._c = function (a, b, c, d) {
  5331. var vnode = createElement(contextVm, a, b, c, d, needNormalization);
  5332. if (vnode && !Array.isArray(vnode)) {
  5333. vnode.fnScopeId = options._scopeId;
  5334. vnode.fnContext = parent;
  5335. }
  5336. return vnode
  5337. };
  5338. } else {
  5339. this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };
  5340. }
  5341. }
  5342. installRenderHelpers(FunctionalRenderContext.prototype);
  5343. function createFunctionalComponent (
  5344. Ctor,
  5345. propsData,
  5346. data,
  5347. contextVm,
  5348. children
  5349. ) {
  5350. var options = Ctor.options;
  5351. var props = {};
  5352. var propOptions = options.props;
  5353. if (isDef(propOptions)) {
  5354. for (var key in propOptions) {
  5355. props[key] = validateProp(key, propOptions, propsData || emptyObject);
  5356. }
  5357. } else {
  5358. if (isDef(data.attrs)) { mergeProps(props, data.attrs); }
  5359. if (isDef(data.props)) { mergeProps(props, data.props); }
  5360. }
  5361. var renderContext = new FunctionalRenderContext(
  5362. data,
  5363. props,
  5364. children,
  5365. contextVm,
  5366. Ctor
  5367. );
  5368. var vnode = options.render.call(null, renderContext._c, renderContext);
  5369. if (vnode instanceof VNode) {
  5370. return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)
  5371. } else if (Array.isArray(vnode)) {
  5372. var vnodes = normalizeChildren(vnode) || [];
  5373. var res = new Array(vnodes.length);
  5374. for (var i = 0; i < vnodes.length; i++) {
  5375. res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);
  5376. }
  5377. return res
  5378. }
  5379. }
  5380. function cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {
  5381. // #7817 clone node before setting fnContext, otherwise if the node is reused
  5382. // (e.g. it was from a cached normal slot) the fnContext causes named slots
  5383. // that should not be matched to match.
  5384. var clone = cloneVNode(vnode);
  5385. clone.fnContext = contextVm;
  5386. clone.fnOptions = options;
  5387. if (true) {
  5388. (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;
  5389. }
  5390. if (data.slot) {
  5391. (clone.data || (clone.data = {})).slot = data.slot;
  5392. }
  5393. return clone
  5394. }
  5395. function mergeProps (to, from) {
  5396. for (var key in from) {
  5397. to[camelize(key)] = from[key];
  5398. }
  5399. }
  5400. /* */
  5401. /* */
  5402. /* */
  5403. /* */
  5404. // inline hooks to be invoked on component VNodes during patch
  5405. var componentVNodeHooks = {
  5406. init: function init (vnode, hydrating) {
  5407. if (
  5408. vnode.componentInstance &&
  5409. !vnode.componentInstance._isDestroyed &&
  5410. vnode.data.keepAlive
  5411. ) {
  5412. // kept-alive components, treat as a patch
  5413. var mountedNode = vnode; // work around flow
  5414. componentVNodeHooks.prepatch(mountedNode, mountedNode);
  5415. } else {
  5416. var child = vnode.componentInstance = createComponentInstanceForVnode(
  5417. vnode,
  5418. activeInstance
  5419. );
  5420. child.$mount(hydrating ? vnode.elm : undefined, hydrating);
  5421. }
  5422. },
  5423. prepatch: function prepatch (oldVnode, vnode) {
  5424. var options = vnode.componentOptions;
  5425. var child = vnode.componentInstance = oldVnode.componentInstance;
  5426. updateChildComponent(
  5427. child,
  5428. options.propsData, // updated props
  5429. options.listeners, // updated listeners
  5430. vnode, // new parent vnode
  5431. options.children // new children
  5432. );
  5433. },
  5434. insert: function insert (vnode) {
  5435. var context = vnode.context;
  5436. var componentInstance = vnode.componentInstance;
  5437. if (!componentInstance._isMounted) {
  5438. callHook(componentInstance, 'onServiceCreated');
  5439. callHook(componentInstance, 'onServiceAttached');
  5440. componentInstance._isMounted = true;
  5441. callHook(componentInstance, 'mounted');
  5442. }
  5443. if (vnode.data.keepAlive) {
  5444. if (context._isMounted) {
  5445. // vue-router#1212
  5446. // During updates, a kept-alive component's child components may
  5447. // change, so directly walking the tree here may call activated hooks
  5448. // on incorrect children. Instead we push them into a queue which will
  5449. // be processed after the whole patch process ended.
  5450. queueActivatedComponent(componentInstance);
  5451. } else {
  5452. activateChildComponent(componentInstance, true /* direct */);
  5453. }
  5454. }
  5455. },
  5456. destroy: function destroy (vnode) {
  5457. var componentInstance = vnode.componentInstance;
  5458. if (!componentInstance._isDestroyed) {
  5459. if (!vnode.data.keepAlive) {
  5460. componentInstance.$destroy();
  5461. } else {
  5462. deactivateChildComponent(componentInstance, true /* direct */);
  5463. }
  5464. }
  5465. }
  5466. };
  5467. var hooksToMerge = Object.keys(componentVNodeHooks);
  5468. function createComponent (
  5469. Ctor,
  5470. data,
  5471. context,
  5472. children,
  5473. tag
  5474. ) {
  5475. if (isUndef(Ctor)) {
  5476. return
  5477. }
  5478. var baseCtor = context.$options._base;
  5479. // plain options object: turn it into a constructor
  5480. if (isObject(Ctor)) {
  5481. Ctor = baseCtor.extend(Ctor);
  5482. }
  5483. // if at this stage it's not a constructor or an async component factory,
  5484. // reject.
  5485. if (typeof Ctor !== 'function') {
  5486. if (true) {
  5487. warn(("Invalid Component definition: " + (String(Ctor))), context);
  5488. }
  5489. return
  5490. }
  5491. // async component
  5492. var asyncFactory;
  5493. if (isUndef(Ctor.cid)) {
  5494. asyncFactory = Ctor;
  5495. Ctor = resolveAsyncComponent(asyncFactory, baseCtor);
  5496. if (Ctor === undefined) {
  5497. // return a placeholder node for async component, which is rendered
  5498. // as a comment node but preserves all the raw information for the node.
  5499. // the information will be used for async server-rendering and hydration.
  5500. return createAsyncPlaceholder(
  5501. asyncFactory,
  5502. data,
  5503. context,
  5504. children,
  5505. tag
  5506. )
  5507. }
  5508. }
  5509. data = data || {};
  5510. // resolve constructor options in case global mixins are applied after
  5511. // component constructor creation
  5512. resolveConstructorOptions(Ctor);
  5513. // transform component v-model data into props & events
  5514. if (isDef(data.model)) {
  5515. transformModel(Ctor.options, data);
  5516. }
  5517. // extract props
  5518. var propsData = extractPropsFromVNodeData(data, Ctor, tag, context); // fixed by xxxxxx
  5519. // functional component
  5520. if (isTrue(Ctor.options.functional)) {
  5521. return createFunctionalComponent(Ctor, propsData, data, context, children)
  5522. }
  5523. // extract listeners, since these needs to be treated as
  5524. // child component listeners instead of DOM listeners
  5525. var listeners = data.on;
  5526. // replace with listeners with .native modifier
  5527. // so it gets processed during parent component patch.
  5528. data.on = data.nativeOn;
  5529. if (isTrue(Ctor.options.abstract)) {
  5530. // abstract components do not keep anything
  5531. // other than props & listeners & slot
  5532. // work around flow
  5533. var slot = data.slot;
  5534. data = {};
  5535. if (slot) {
  5536. data.slot = slot;
  5537. }
  5538. }
  5539. // install component management hooks onto the placeholder node
  5540. installComponentHooks(data);
  5541. // return a placeholder vnode
  5542. var name = Ctor.options.name || tag;
  5543. var vnode = new VNode(
  5544. ("vue-component-" + (Ctor.cid) + (name ? ("-" + name) : '')),
  5545. data, undefined, undefined, undefined, context,
  5546. { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },
  5547. asyncFactory
  5548. );
  5549. return vnode
  5550. }
  5551. function createComponentInstanceForVnode (
  5552. vnode, // we know it's MountedComponentVNode but flow doesn't
  5553. parent // activeInstance in lifecycle state
  5554. ) {
  5555. var options = {
  5556. _isComponent: true,
  5557. _parentVnode: vnode,
  5558. parent: parent
  5559. };
  5560. // check inline-template render functions
  5561. var inlineTemplate = vnode.data.inlineTemplate;
  5562. if (isDef(inlineTemplate)) {
  5563. options.render = inlineTemplate.render;
  5564. options.staticRenderFns = inlineTemplate.staticRenderFns;
  5565. }
  5566. return new vnode.componentOptions.Ctor(options)
  5567. }
  5568. function installComponentHooks (data) {
  5569. var hooks = data.hook || (data.hook = {});
  5570. for (var i = 0; i < hooksToMerge.length; i++) {
  5571. var key = hooksToMerge[i];
  5572. var existing = hooks[key];
  5573. var toMerge = componentVNodeHooks[key];
  5574. if (existing !== toMerge && !(existing && existing._merged)) {
  5575. hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;
  5576. }
  5577. }
  5578. }
  5579. function mergeHook$1 (f1, f2) {
  5580. var merged = function (a, b) {
  5581. // flow complains about extra args which is why we use any
  5582. f1(a, b);
  5583. f2(a, b);
  5584. };
  5585. merged._merged = true;
  5586. return merged
  5587. }
  5588. // transform component v-model info (value and callback) into
  5589. // prop and event handler respectively.
  5590. function transformModel (options, data) {
  5591. var prop = (options.model && options.model.prop) || 'value';
  5592. var event = (options.model && options.model.event) || 'input'
  5593. ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;
  5594. var on = data.on || (data.on = {});
  5595. var existing = on[event];
  5596. var callback = data.model.callback;
  5597. if (isDef(existing)) {
  5598. if (
  5599. Array.isArray(existing)
  5600. ? existing.indexOf(callback) === -1
  5601. : existing !== callback
  5602. ) {
  5603. on[event] = [callback].concat(existing);
  5604. }
  5605. } else {
  5606. on[event] = callback;
  5607. }
  5608. }
  5609. /* */
  5610. var SIMPLE_NORMALIZE = 1;
  5611. var ALWAYS_NORMALIZE = 2;
  5612. // wrapper function for providing a more flexible interface
  5613. // without getting yelled at by flow
  5614. function createElement (
  5615. context,
  5616. tag,
  5617. data,
  5618. children,
  5619. normalizationType,
  5620. alwaysNormalize
  5621. ) {
  5622. if (Array.isArray(data) || isPrimitive(data)) {
  5623. normalizationType = children;
  5624. children = data;
  5625. data = undefined;
  5626. }
  5627. if (isTrue(alwaysNormalize)) {
  5628. normalizationType = ALWAYS_NORMALIZE;
  5629. }
  5630. return _createElement(context, tag, data, children, normalizationType)
  5631. }
  5632. function _createElement (
  5633. context,
  5634. tag,
  5635. data,
  5636. children,
  5637. normalizationType
  5638. ) {
  5639. if (isDef(data) && isDef((data).__ob__)) {
  5640. true && warn(
  5641. "Avoid using observed data object as vnode data: " + (JSON.stringify(data)) + "\n" +
  5642. 'Always create fresh vnode data objects in each render!',
  5643. context
  5644. );
  5645. return createEmptyVNode()
  5646. }
  5647. // object syntax in v-bind
  5648. if (isDef(data) && isDef(data.is)) {
  5649. tag = data.is;
  5650. }
  5651. if (!tag) {
  5652. // in case of component :is set to falsy value
  5653. return createEmptyVNode()
  5654. }
  5655. // warn against non-primitive key
  5656. if ( true &&
  5657. isDef(data) && isDef(data.key) && !isPrimitive(data.key)
  5658. ) {
  5659. {
  5660. warn(
  5661. 'Avoid using non-primitive value as key, ' +
  5662. 'use string/number value instead.',
  5663. context
  5664. );
  5665. }
  5666. }
  5667. // support single function children as default scoped slot
  5668. if (Array.isArray(children) &&
  5669. typeof children[0] === 'function'
  5670. ) {
  5671. data = data || {};
  5672. data.scopedSlots = { default: children[0] };
  5673. children.length = 0;
  5674. }
  5675. if (normalizationType === ALWAYS_NORMALIZE) {
  5676. children = normalizeChildren(children);
  5677. } else if (normalizationType === SIMPLE_NORMALIZE) {
  5678. children = simpleNormalizeChildren(children);
  5679. }
  5680. var vnode, ns;
  5681. if (typeof tag === 'string') {
  5682. var Ctor;
  5683. ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);
  5684. if (config.isReservedTag(tag)) {
  5685. // platform built-in elements
  5686. if ( true && isDef(data) && isDef(data.nativeOn)) {
  5687. warn(
  5688. ("The .native modifier for v-on is only valid on components but it was used on <" + tag + ">."),
  5689. context
  5690. );
  5691. }
  5692. vnode = new VNode(
  5693. config.parsePlatformTagName(tag), data, children,
  5694. undefined, undefined, context
  5695. );
  5696. } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {
  5697. // component
  5698. vnode = createComponent(Ctor, data, context, children, tag);
  5699. } else {
  5700. // unknown or unlisted namespaced elements
  5701. // check at runtime because it may get assigned a namespace when its
  5702. // parent normalizes children
  5703. vnode = new VNode(
  5704. tag, data, children,
  5705. undefined, undefined, context
  5706. );
  5707. }
  5708. } else {
  5709. // direct component options / constructor
  5710. vnode = createComponent(tag, data, context, children);
  5711. }
  5712. if (Array.isArray(vnode)) {
  5713. return vnode
  5714. } else if (isDef(vnode)) {
  5715. if (isDef(ns)) { applyNS(vnode, ns); }
  5716. if (isDef(data)) { registerDeepBindings(data); }
  5717. return vnode
  5718. } else {
  5719. return createEmptyVNode()
  5720. }
  5721. }
  5722. function applyNS (vnode, ns, force) {
  5723. vnode.ns = ns;
  5724. if (vnode.tag === 'foreignObject') {
  5725. // use default namespace inside foreignObject
  5726. ns = undefined;
  5727. force = true;
  5728. }
  5729. if (isDef(vnode.children)) {
  5730. for (var i = 0, l = vnode.children.length; i < l; i++) {
  5731. var child = vnode.children[i];
  5732. if (isDef(child.tag) && (
  5733. isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {
  5734. applyNS(child, ns, force);
  5735. }
  5736. }
  5737. }
  5738. }
  5739. // ref #5318
  5740. // necessary to ensure parent re-render when deep bindings like :style and
  5741. // :class are used on slot nodes
  5742. function registerDeepBindings (data) {
  5743. if (isObject(data.style)) {
  5744. traverse(data.style);
  5745. }
  5746. if (isObject(data.class)) {
  5747. traverse(data.class);
  5748. }
  5749. }
  5750. /* */
  5751. function initRender (vm) {
  5752. vm._vnode = null; // the root of the child tree
  5753. vm._staticTrees = null; // v-once cached trees
  5754. var options = vm.$options;
  5755. var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree
  5756. var renderContext = parentVnode && parentVnode.context;
  5757. vm.$slots = resolveSlots(options._renderChildren, renderContext);
  5758. vm.$scopedSlots = emptyObject;
  5759. // bind the createElement fn to this instance
  5760. // so that we get proper render context inside it.
  5761. // args order: tag, data, children, normalizationType, alwaysNormalize
  5762. // internal version is used by render functions compiled from templates
  5763. vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };
  5764. // normalization is always applied for the public version, used in
  5765. // user-written render functions.
  5766. vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };
  5767. // $attrs & $listeners are exposed for easier HOC creation.
  5768. // they need to be reactive so that HOCs using them are always updated
  5769. var parentData = parentVnode && parentVnode.data;
  5770. /* istanbul ignore else */
  5771. if (true) {
  5772. defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {
  5773. !isUpdatingChildComponent && warn("$attrs is readonly.", vm);
  5774. }, true);
  5775. defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {
  5776. !isUpdatingChildComponent && warn("$listeners is readonly.", vm);
  5777. }, true);
  5778. } else {}
  5779. }
  5780. var currentRenderingInstance = null;
  5781. function renderMixin (Vue) {
  5782. // install runtime convenience helpers
  5783. installRenderHelpers(Vue.prototype);
  5784. Vue.prototype.$nextTick = function (fn) {
  5785. return nextTick(fn, this)
  5786. };
  5787. Vue.prototype._render = function () {
  5788. var vm = this;
  5789. var ref = vm.$options;
  5790. var render = ref.render;
  5791. var _parentVnode = ref._parentVnode;
  5792. if (_parentVnode) {
  5793. vm.$scopedSlots = normalizeScopedSlots(
  5794. _parentVnode.data.scopedSlots,
  5795. vm.$slots,
  5796. vm.$scopedSlots
  5797. );
  5798. }
  5799. // set parent vnode. this allows render functions to have access
  5800. // to the data on the placeholder node.
  5801. vm.$vnode = _parentVnode;
  5802. // render self
  5803. var vnode;
  5804. try {
  5805. // There's no need to maintain a stack because all render fns are called
  5806. // separately from one another. Nested component's render fns are called
  5807. // when parent component is patched.
  5808. currentRenderingInstance = vm;
  5809. vnode = render.call(vm._renderProxy, vm.$createElement);
  5810. } catch (e) {
  5811. handleError(e, vm, "render");
  5812. // return error render result,
  5813. // or previous vnode to prevent render error causing blank component
  5814. /* istanbul ignore else */
  5815. if ( true && vm.$options.renderError) {
  5816. try {
  5817. vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);
  5818. } catch (e) {
  5819. handleError(e, vm, "renderError");
  5820. vnode = vm._vnode;
  5821. }
  5822. } else {
  5823. vnode = vm._vnode;
  5824. }
  5825. } finally {
  5826. currentRenderingInstance = null;
  5827. }
  5828. // if the returned array contains only a single node, allow it
  5829. if (Array.isArray(vnode) && vnode.length === 1) {
  5830. vnode = vnode[0];
  5831. }
  5832. // return empty vnode in case the render function errored out
  5833. if (!(vnode instanceof VNode)) {
  5834. if ( true && Array.isArray(vnode)) {
  5835. warn(
  5836. 'Multiple root nodes returned from render function. Render function ' +
  5837. 'should return a single root node.',
  5838. vm
  5839. );
  5840. }
  5841. vnode = createEmptyVNode();
  5842. }
  5843. // set parent
  5844. vnode.parent = _parentVnode;
  5845. return vnode
  5846. };
  5847. }
  5848. /* */
  5849. function ensureCtor (comp, base) {
  5850. if (
  5851. comp.__esModule ||
  5852. (hasSymbol && comp[Symbol.toStringTag] === 'Module')
  5853. ) {
  5854. comp = comp.default;
  5855. }
  5856. return isObject(comp)
  5857. ? base.extend(comp)
  5858. : comp
  5859. }
  5860. function createAsyncPlaceholder (
  5861. factory,
  5862. data,
  5863. context,
  5864. children,
  5865. tag
  5866. ) {
  5867. var node = createEmptyVNode();
  5868. node.asyncFactory = factory;
  5869. node.asyncMeta = { data: data, context: context, children: children, tag: tag };
  5870. return node
  5871. }
  5872. function resolveAsyncComponent (
  5873. factory,
  5874. baseCtor
  5875. ) {
  5876. if (isTrue(factory.error) && isDef(factory.errorComp)) {
  5877. return factory.errorComp
  5878. }
  5879. if (isDef(factory.resolved)) {
  5880. return factory.resolved
  5881. }
  5882. var owner = currentRenderingInstance;
  5883. if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {
  5884. // already pending
  5885. factory.owners.push(owner);
  5886. }
  5887. if (isTrue(factory.loading) && isDef(factory.loadingComp)) {
  5888. return factory.loadingComp
  5889. }
  5890. if (owner && !isDef(factory.owners)) {
  5891. var owners = factory.owners = [owner];
  5892. var sync = true;
  5893. var timerLoading = null;
  5894. var timerTimeout = null
  5895. ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });
  5896. var forceRender = function (renderCompleted) {
  5897. for (var i = 0, l = owners.length; i < l; i++) {
  5898. (owners[i]).$forceUpdate();
  5899. }
  5900. if (renderCompleted) {
  5901. owners.length = 0;
  5902. if (timerLoading !== null) {
  5903. clearTimeout(timerLoading);
  5904. timerLoading = null;
  5905. }
  5906. if (timerTimeout !== null) {
  5907. clearTimeout(timerTimeout);
  5908. timerTimeout = null;
  5909. }
  5910. }
  5911. };
  5912. var resolve = once(function (res) {
  5913. // cache resolved
  5914. factory.resolved = ensureCtor(res, baseCtor);
  5915. // invoke callbacks only if this is not a synchronous resolve
  5916. // (async resolves are shimmed as synchronous during SSR)
  5917. if (!sync) {
  5918. forceRender(true);
  5919. } else {
  5920. owners.length = 0;
  5921. }
  5922. });
  5923. var reject = once(function (reason) {
  5924. true && warn(
  5925. "Failed to resolve async component: " + (String(factory)) +
  5926. (reason ? ("\nReason: " + reason) : '')
  5927. );
  5928. if (isDef(factory.errorComp)) {
  5929. factory.error = true;
  5930. forceRender(true);
  5931. }
  5932. });
  5933. var res = factory(resolve, reject);
  5934. if (isObject(res)) {
  5935. if (isPromise(res)) {
  5936. // () => Promise
  5937. if (isUndef(factory.resolved)) {
  5938. res.then(resolve, reject);
  5939. }
  5940. } else if (isPromise(res.component)) {
  5941. res.component.then(resolve, reject);
  5942. if (isDef(res.error)) {
  5943. factory.errorComp = ensureCtor(res.error, baseCtor);
  5944. }
  5945. if (isDef(res.loading)) {
  5946. factory.loadingComp = ensureCtor(res.loading, baseCtor);
  5947. if (res.delay === 0) {
  5948. factory.loading = true;
  5949. } else {
  5950. timerLoading = setTimeout(function () {
  5951. timerLoading = null;
  5952. if (isUndef(factory.resolved) && isUndef(factory.error)) {
  5953. factory.loading = true;
  5954. forceRender(false);
  5955. }
  5956. }, res.delay || 200);
  5957. }
  5958. }
  5959. if (isDef(res.timeout)) {
  5960. timerTimeout = setTimeout(function () {
  5961. timerTimeout = null;
  5962. if (isUndef(factory.resolved)) {
  5963. reject(
  5964. true
  5965. ? ("timeout (" + (res.timeout) + "ms)")
  5966. : undefined
  5967. );
  5968. }
  5969. }, res.timeout);
  5970. }
  5971. }
  5972. }
  5973. sync = false;
  5974. // return in case resolved synchronously
  5975. return factory.loading
  5976. ? factory.loadingComp
  5977. : factory.resolved
  5978. }
  5979. }
  5980. /* */
  5981. function isAsyncPlaceholder (node) {
  5982. return node.isComment && node.asyncFactory
  5983. }
  5984. /* */
  5985. function getFirstComponentChild (children) {
  5986. if (Array.isArray(children)) {
  5987. for (var i = 0; i < children.length; i++) {
  5988. var c = children[i];
  5989. if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {
  5990. return c
  5991. }
  5992. }
  5993. }
  5994. }
  5995. /* */
  5996. /* */
  5997. function initEvents (vm) {
  5998. vm._events = Object.create(null);
  5999. vm._hasHookEvent = false;
  6000. // init parent attached events
  6001. var listeners = vm.$options._parentListeners;
  6002. if (listeners) {
  6003. updateComponentListeners(vm, listeners);
  6004. }
  6005. }
  6006. var target;
  6007. function add (event, fn) {
  6008. target.$on(event, fn);
  6009. }
  6010. function remove$1 (event, fn) {
  6011. target.$off(event, fn);
  6012. }
  6013. function createOnceHandler (event, fn) {
  6014. var _target = target;
  6015. return function onceHandler () {
  6016. var res = fn.apply(null, arguments);
  6017. if (res !== null) {
  6018. _target.$off(event, onceHandler);
  6019. }
  6020. }
  6021. }
  6022. function updateComponentListeners (
  6023. vm,
  6024. listeners,
  6025. oldListeners
  6026. ) {
  6027. target = vm;
  6028. updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);
  6029. target = undefined;
  6030. }
  6031. function eventsMixin (Vue) {
  6032. var hookRE = /^hook:/;
  6033. Vue.prototype.$on = function (event, fn) {
  6034. var vm = this;
  6035. if (Array.isArray(event)) {
  6036. for (var i = 0, l = event.length; i < l; i++) {
  6037. vm.$on(event[i], fn);
  6038. }
  6039. } else {
  6040. (vm._events[event] || (vm._events[event] = [])).push(fn);
  6041. // optimize hook:event cost by using a boolean flag marked at registration
  6042. // instead of a hash lookup
  6043. if (hookRE.test(event)) {
  6044. vm._hasHookEvent = true;
  6045. }
  6046. }
  6047. return vm
  6048. };
  6049. Vue.prototype.$once = function (event, fn) {
  6050. var vm = this;
  6051. function on () {
  6052. vm.$off(event, on);
  6053. fn.apply(vm, arguments);
  6054. }
  6055. on.fn = fn;
  6056. vm.$on(event, on);
  6057. return vm
  6058. };
  6059. Vue.prototype.$off = function (event, fn) {
  6060. var vm = this;
  6061. // all
  6062. if (!arguments.length) {
  6063. vm._events = Object.create(null);
  6064. return vm
  6065. }
  6066. // array of events
  6067. if (Array.isArray(event)) {
  6068. for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {
  6069. vm.$off(event[i$1], fn);
  6070. }
  6071. return vm
  6072. }
  6073. // specific event
  6074. var cbs = vm._events[event];
  6075. if (!cbs) {
  6076. return vm
  6077. }
  6078. if (!fn) {
  6079. vm._events[event] = null;
  6080. return vm
  6081. }
  6082. // specific handler
  6083. var cb;
  6084. var i = cbs.length;
  6085. while (i--) {
  6086. cb = cbs[i];
  6087. if (cb === fn || cb.fn === fn) {
  6088. cbs.splice(i, 1);
  6089. break
  6090. }
  6091. }
  6092. return vm
  6093. };
  6094. Vue.prototype.$emit = function (event) {
  6095. var vm = this;
  6096. if (true) {
  6097. var lowerCaseEvent = event.toLowerCase();
  6098. if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {
  6099. tip(
  6100. "Event \"" + lowerCaseEvent + "\" is emitted in component " +
  6101. (formatComponentName(vm)) + " but the handler is registered for \"" + event + "\". " +
  6102. "Note that HTML attributes are case-insensitive and you cannot use " +
  6103. "v-on to listen to camelCase events when using in-DOM templates. " +
  6104. "You should probably use \"" + (hyphenate(event)) + "\" instead of \"" + event + "\"."
  6105. );
  6106. }
  6107. }
  6108. var cbs = vm._events[event];
  6109. if (cbs) {
  6110. cbs = cbs.length > 1 ? toArray(cbs) : cbs;
  6111. var args = toArray(arguments, 1);
  6112. var info = "event handler for \"" + event + "\"";
  6113. for (var i = 0, l = cbs.length; i < l; i++) {
  6114. invokeWithErrorHandling(cbs[i], vm, args, vm, info);
  6115. }
  6116. }
  6117. return vm
  6118. };
  6119. }
  6120. /* */
  6121. var activeInstance = null;
  6122. var isUpdatingChildComponent = false;
  6123. function setActiveInstance(vm) {
  6124. var prevActiveInstance = activeInstance;
  6125. activeInstance = vm;
  6126. return function () {
  6127. activeInstance = prevActiveInstance;
  6128. }
  6129. }
  6130. function initLifecycle (vm) {
  6131. var options = vm.$options;
  6132. // locate first non-abstract parent
  6133. var parent = options.parent;
  6134. if (parent && !options.abstract) {
  6135. while (parent.$options.abstract && parent.$parent) {
  6136. parent = parent.$parent;
  6137. }
  6138. parent.$children.push(vm);
  6139. }
  6140. vm.$parent = parent;
  6141. vm.$root = parent ? parent.$root : vm;
  6142. vm.$children = [];
  6143. vm.$refs = {};
  6144. vm._watcher = null;
  6145. vm._inactive = null;
  6146. vm._directInactive = false;
  6147. vm._isMounted = false;
  6148. vm._isDestroyed = false;
  6149. vm._isBeingDestroyed = false;
  6150. }
  6151. function lifecycleMixin (Vue) {
  6152. Vue.prototype._update = function (vnode, hydrating) {
  6153. var vm = this;
  6154. var prevEl = vm.$el;
  6155. var prevVnode = vm._vnode;
  6156. var restoreActiveInstance = setActiveInstance(vm);
  6157. vm._vnode = vnode;
  6158. // Vue.prototype.__patch__ is injected in entry points
  6159. // based on the rendering backend used.
  6160. if (!prevVnode) {
  6161. // initial render
  6162. vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);
  6163. } else {
  6164. // updates
  6165. vm.$el = vm.__patch__(prevVnode, vnode);
  6166. }
  6167. restoreActiveInstance();
  6168. // update __vue__ reference
  6169. if (prevEl) {
  6170. prevEl.__vue__ = null;
  6171. }
  6172. if (vm.$el) {
  6173. vm.$el.__vue__ = vm;
  6174. }
  6175. // if parent is an HOC, update its $el as well
  6176. if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {
  6177. vm.$parent.$el = vm.$el;
  6178. }
  6179. // updated hook is called by the scheduler to ensure that children are
  6180. // updated in a parent's updated hook.
  6181. };
  6182. Vue.prototype.$forceUpdate = function () {
  6183. var vm = this;
  6184. if (vm._watcher) {
  6185. vm._watcher.update();
  6186. }
  6187. };
  6188. Vue.prototype.$destroy = function () {
  6189. var vm = this;
  6190. if (vm._isBeingDestroyed) {
  6191. return
  6192. }
  6193. callHook(vm, 'beforeDestroy');
  6194. vm._isBeingDestroyed = true;
  6195. // remove self from parent
  6196. var parent = vm.$parent;
  6197. if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {
  6198. remove(parent.$children, vm);
  6199. }
  6200. // teardown watchers
  6201. if (vm._watcher) {
  6202. vm._watcher.teardown();
  6203. }
  6204. var i = vm._watchers.length;
  6205. while (i--) {
  6206. vm._watchers[i].teardown();
  6207. }
  6208. // remove reference from data ob
  6209. // frozen object may not have observer.
  6210. if (vm._data.__ob__) {
  6211. vm._data.__ob__.vmCount--;
  6212. }
  6213. // call the last hook...
  6214. vm._isDestroyed = true;
  6215. // invoke destroy hooks on current rendered tree
  6216. vm.__patch__(vm._vnode, null);
  6217. // fire destroyed hook
  6218. callHook(vm, 'destroyed');
  6219. // turn off all instance listeners.
  6220. vm.$off();
  6221. // remove __vue__ reference
  6222. if (vm.$el) {
  6223. vm.$el.__vue__ = null;
  6224. }
  6225. // release circular reference (#6759)
  6226. if (vm.$vnode) {
  6227. vm.$vnode.parent = null;
  6228. }
  6229. };
  6230. }
  6231. function updateChildComponent (
  6232. vm,
  6233. propsData,
  6234. listeners,
  6235. parentVnode,
  6236. renderChildren
  6237. ) {
  6238. if (true) {
  6239. isUpdatingChildComponent = true;
  6240. }
  6241. // determine whether component has slot children
  6242. // we need to do this before overwriting $options._renderChildren.
  6243. // check if there are dynamic scopedSlots (hand-written or compiled but with
  6244. // dynamic slot names). Static scoped slots compiled from template has the
  6245. // "$stable" marker.
  6246. var newScopedSlots = parentVnode.data.scopedSlots;
  6247. var oldScopedSlots = vm.$scopedSlots;
  6248. var hasDynamicScopedSlot = !!(
  6249. (newScopedSlots && !newScopedSlots.$stable) ||
  6250. (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||
  6251. (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key)
  6252. );
  6253. // Any static slot children from the parent may have changed during parent's
  6254. // update. Dynamic scoped slots may also have changed. In such cases, a forced
  6255. // update is necessary to ensure correctness.
  6256. var needsForceUpdate = !!(
  6257. renderChildren || // has new static slots
  6258. vm.$options._renderChildren || // has old static slots
  6259. hasDynamicScopedSlot
  6260. );
  6261. vm.$options._parentVnode = parentVnode;
  6262. vm.$vnode = parentVnode; // update vm's placeholder node without re-render
  6263. if (vm._vnode) { // update child tree's parent
  6264. vm._vnode.parent = parentVnode;
  6265. }
  6266. vm.$options._renderChildren = renderChildren;
  6267. // update $attrs and $listeners hash
  6268. // these are also reactive so they may trigger child update if the child
  6269. // used them during render
  6270. vm.$attrs = parentVnode.data.attrs || emptyObject;
  6271. vm.$listeners = listeners || emptyObject;
  6272. // update props
  6273. if (propsData && vm.$options.props) {
  6274. toggleObserving(false);
  6275. var props = vm._props;
  6276. var propKeys = vm.$options._propKeys || [];
  6277. for (var i = 0; i < propKeys.length; i++) {
  6278. var key = propKeys[i];
  6279. var propOptions = vm.$options.props; // wtf flow?
  6280. props[key] = validateProp(key, propOptions, propsData, vm);
  6281. }
  6282. toggleObserving(true);
  6283. // keep a copy of raw propsData
  6284. vm.$options.propsData = propsData;
  6285. }
  6286. // fixed by xxxxxx update properties(mp runtime)
  6287. vm._$updateProperties && vm._$updateProperties(vm);
  6288. // update listeners
  6289. listeners = listeners || emptyObject;
  6290. var oldListeners = vm.$options._parentListeners;
  6291. vm.$options._parentListeners = listeners;
  6292. updateComponentListeners(vm, listeners, oldListeners);
  6293. // resolve slots + force update if has children
  6294. if (needsForceUpdate) {
  6295. vm.$slots = resolveSlots(renderChildren, parentVnode.context);
  6296. vm.$forceUpdate();
  6297. }
  6298. if (true) {
  6299. isUpdatingChildComponent = false;
  6300. }
  6301. }
  6302. function isInInactiveTree (vm) {
  6303. while (vm && (vm = vm.$parent)) {
  6304. if (vm._inactive) { return true }
  6305. }
  6306. return false
  6307. }
  6308. function activateChildComponent (vm, direct) {
  6309. if (direct) {
  6310. vm._directInactive = false;
  6311. if (isInInactiveTree(vm)) {
  6312. return
  6313. }
  6314. } else if (vm._directInactive) {
  6315. return
  6316. }
  6317. if (vm._inactive || vm._inactive === null) {
  6318. vm._inactive = false;
  6319. for (var i = 0; i < vm.$children.length; i++) {
  6320. activateChildComponent(vm.$children[i]);
  6321. }
  6322. callHook(vm, 'activated');
  6323. }
  6324. }
  6325. function deactivateChildComponent (vm, direct) {
  6326. if (direct) {
  6327. vm._directInactive = true;
  6328. if (isInInactiveTree(vm)) {
  6329. return
  6330. }
  6331. }
  6332. if (!vm._inactive) {
  6333. vm._inactive = true;
  6334. for (var i = 0; i < vm.$children.length; i++) {
  6335. deactivateChildComponent(vm.$children[i]);
  6336. }
  6337. callHook(vm, 'deactivated');
  6338. }
  6339. }
  6340. function callHook (vm, hook) {
  6341. // #7573 disable dep collection when invoking lifecycle hooks
  6342. pushTarget();
  6343. var handlers = vm.$options[hook];
  6344. var info = hook + " hook";
  6345. if (handlers) {
  6346. for (var i = 0, j = handlers.length; i < j; i++) {
  6347. invokeWithErrorHandling(handlers[i], vm, null, vm, info);
  6348. }
  6349. }
  6350. if (vm._hasHookEvent) {
  6351. vm.$emit('hook:' + hook);
  6352. }
  6353. popTarget();
  6354. }
  6355. /* */
  6356. var MAX_UPDATE_COUNT = 100;
  6357. var queue = [];
  6358. var activatedChildren = [];
  6359. var has = {};
  6360. var circular = {};
  6361. var waiting = false;
  6362. var flushing = false;
  6363. var index = 0;
  6364. /**
  6365. * Reset the scheduler's state.
  6366. */
  6367. function resetSchedulerState () {
  6368. index = queue.length = activatedChildren.length = 0;
  6369. has = {};
  6370. if (true) {
  6371. circular = {};
  6372. }
  6373. waiting = flushing = false;
  6374. }
  6375. // Async edge case #6566 requires saving the timestamp when event listeners are
  6376. // attached. However, calling performance.now() has a perf overhead especially
  6377. // if the page has thousands of event listeners. Instead, we take a timestamp
  6378. // every time the scheduler flushes and use that for all event listeners
  6379. // attached during that flush.
  6380. var currentFlushTimestamp = 0;
  6381. // Async edge case fix requires storing an event listener's attach timestamp.
  6382. var getNow = Date.now;
  6383. // Determine what event timestamp the browser is using. Annoyingly, the
  6384. // timestamp can either be hi-res (relative to page load) or low-res
  6385. // (relative to UNIX epoch), so in order to compare time we have to use the
  6386. // same timestamp type when saving the flush timestamp.
  6387. // All IE versions use low-res event timestamps, and have problematic clock
  6388. // implementations (#9632)
  6389. if (inBrowser && !isIE) {
  6390. var performance = window.performance;
  6391. if (
  6392. performance &&
  6393. typeof performance.now === 'function' &&
  6394. getNow() > document.createEvent('Event').timeStamp
  6395. ) {
  6396. // if the event timestamp, although evaluated AFTER the Date.now(), is
  6397. // smaller than it, it means the event is using a hi-res timestamp,
  6398. // and we need to use the hi-res version for event listener timestamps as
  6399. // well.
  6400. getNow = function () { return performance.now(); };
  6401. }
  6402. }
  6403. /**
  6404. * Flush both queues and run the watchers.
  6405. */
  6406. function flushSchedulerQueue () {
  6407. currentFlushTimestamp = getNow();
  6408. flushing = true;
  6409. var watcher, id;
  6410. // Sort queue before flush.
  6411. // This ensures that:
  6412. // 1. Components are updated from parent to child. (because parent is always
  6413. // created before the child)
  6414. // 2. A component's user watchers are run before its render watcher (because
  6415. // user watchers are created before the render watcher)
  6416. // 3. If a component is destroyed during a parent component's watcher run,
  6417. // its watchers can be skipped.
  6418. queue.sort(function (a, b) { return a.id - b.id; });
  6419. // do not cache length because more watchers might be pushed
  6420. // as we run existing watchers
  6421. for (index = 0; index < queue.length; index++) {
  6422. watcher = queue[index];
  6423. if (watcher.before) {
  6424. watcher.before();
  6425. }
  6426. id = watcher.id;
  6427. has[id] = null;
  6428. watcher.run();
  6429. // in dev build, check and stop circular updates.
  6430. if ( true && has[id] != null) {
  6431. circular[id] = (circular[id] || 0) + 1;
  6432. if (circular[id] > MAX_UPDATE_COUNT) {
  6433. warn(
  6434. 'You may have an infinite update loop ' + (
  6435. watcher.user
  6436. ? ("in watcher with expression \"" + (watcher.expression) + "\"")
  6437. : "in a component render function."
  6438. ),
  6439. watcher.vm
  6440. );
  6441. break
  6442. }
  6443. }
  6444. }
  6445. // keep copies of post queues before resetting state
  6446. var activatedQueue = activatedChildren.slice();
  6447. var updatedQueue = queue.slice();
  6448. resetSchedulerState();
  6449. // call component updated and activated hooks
  6450. callActivatedHooks(activatedQueue);
  6451. callUpdatedHooks(updatedQueue);
  6452. // devtool hook
  6453. /* istanbul ignore if */
  6454. if (devtools && config.devtools) {
  6455. devtools.emit('flush');
  6456. }
  6457. }
  6458. function callUpdatedHooks (queue) {
  6459. var i = queue.length;
  6460. while (i--) {
  6461. var watcher = queue[i];
  6462. var vm = watcher.vm;
  6463. if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {
  6464. callHook(vm, 'updated');
  6465. }
  6466. }
  6467. }
  6468. /**
  6469. * Queue a kept-alive component that was activated during patch.
  6470. * The queue will be processed after the entire tree has been patched.
  6471. */
  6472. function queueActivatedComponent (vm) {
  6473. // setting _inactive to false here so that a render function can
  6474. // rely on checking whether it's in an inactive tree (e.g. router-view)
  6475. vm._inactive = false;
  6476. activatedChildren.push(vm);
  6477. }
  6478. function callActivatedHooks (queue) {
  6479. for (var i = 0; i < queue.length; i++) {
  6480. queue[i]._inactive = true;
  6481. activateChildComponent(queue[i], true /* true */);
  6482. }
  6483. }
  6484. /**
  6485. * Push a watcher into the watcher queue.
  6486. * Jobs with duplicate IDs will be skipped unless it's
  6487. * pushed when the queue is being flushed.
  6488. */
  6489. function queueWatcher (watcher) {
  6490. var id = watcher.id;
  6491. if (has[id] == null) {
  6492. has[id] = true;
  6493. if (!flushing) {
  6494. queue.push(watcher);
  6495. } else {
  6496. // if already flushing, splice the watcher based on its id
  6497. // if already past its id, it will be run next immediately.
  6498. var i = queue.length - 1;
  6499. while (i > index && queue[i].id > watcher.id) {
  6500. i--;
  6501. }
  6502. queue.splice(i + 1, 0, watcher);
  6503. }
  6504. // queue the flush
  6505. if (!waiting) {
  6506. waiting = true;
  6507. if ( true && !config.async) {
  6508. flushSchedulerQueue();
  6509. return
  6510. }
  6511. nextTick(flushSchedulerQueue);
  6512. }
  6513. }
  6514. }
  6515. /* */
  6516. var uid$2 = 0;
  6517. /**
  6518. * A watcher parses an expression, collects dependencies,
  6519. * and fires callback when the expression value changes.
  6520. * This is used for both the $watch() api and directives.
  6521. */
  6522. var Watcher = function Watcher (
  6523. vm,
  6524. expOrFn,
  6525. cb,
  6526. options,
  6527. isRenderWatcher
  6528. ) {
  6529. this.vm = vm;
  6530. if (isRenderWatcher) {
  6531. vm._watcher = this;
  6532. }
  6533. vm._watchers.push(this);
  6534. // options
  6535. if (options) {
  6536. this.deep = !!options.deep;
  6537. this.user = !!options.user;
  6538. this.lazy = !!options.lazy;
  6539. this.sync = !!options.sync;
  6540. this.before = options.before;
  6541. } else {
  6542. this.deep = this.user = this.lazy = this.sync = false;
  6543. }
  6544. this.cb = cb;
  6545. this.id = ++uid$2; // uid for batching
  6546. this.active = true;
  6547. this.dirty = this.lazy; // for lazy watchers
  6548. this.deps = [];
  6549. this.newDeps = [];
  6550. this.depIds = new _Set();
  6551. this.newDepIds = new _Set();
  6552. this.expression = true
  6553. ? expOrFn.toString()
  6554. : undefined;
  6555. // parse expression for getter
  6556. if (typeof expOrFn === 'function') {
  6557. this.getter = expOrFn;
  6558. } else {
  6559. this.getter = parsePath(expOrFn);
  6560. if (!this.getter) {
  6561. this.getter = noop;
  6562. true && warn(
  6563. "Failed watching path: \"" + expOrFn + "\" " +
  6564. 'Watcher only accepts simple dot-delimited paths. ' +
  6565. 'For full control, use a function instead.',
  6566. vm
  6567. );
  6568. }
  6569. }
  6570. this.value = this.lazy
  6571. ? undefined
  6572. : this.get();
  6573. };
  6574. /**
  6575. * Evaluate the getter, and re-collect dependencies.
  6576. */
  6577. Watcher.prototype.get = function get () {
  6578. pushTarget(this);
  6579. var value;
  6580. var vm = this.vm;
  6581. try {
  6582. value = this.getter.call(vm, vm);
  6583. } catch (e) {
  6584. if (this.user) {
  6585. handleError(e, vm, ("getter for watcher \"" + (this.expression) + "\""));
  6586. } else {
  6587. throw e
  6588. }
  6589. } finally {
  6590. // "touch" every property so they are all tracked as
  6591. // dependencies for deep watching
  6592. if (this.deep) {
  6593. traverse(value);
  6594. }
  6595. popTarget();
  6596. this.cleanupDeps();
  6597. }
  6598. return value
  6599. };
  6600. /**
  6601. * Add a dependency to this directive.
  6602. */
  6603. Watcher.prototype.addDep = function addDep (dep) {
  6604. var id = dep.id;
  6605. if (!this.newDepIds.has(id)) {
  6606. this.newDepIds.add(id);
  6607. this.newDeps.push(dep);
  6608. if (!this.depIds.has(id)) {
  6609. dep.addSub(this);
  6610. }
  6611. }
  6612. };
  6613. /**
  6614. * Clean up for dependency collection.
  6615. */
  6616. Watcher.prototype.cleanupDeps = function cleanupDeps () {
  6617. var i = this.deps.length;
  6618. while (i--) {
  6619. var dep = this.deps[i];
  6620. if (!this.newDepIds.has(dep.id)) {
  6621. dep.removeSub(this);
  6622. }
  6623. }
  6624. var tmp = this.depIds;
  6625. this.depIds = this.newDepIds;
  6626. this.newDepIds = tmp;
  6627. this.newDepIds.clear();
  6628. tmp = this.deps;
  6629. this.deps = this.newDeps;
  6630. this.newDeps = tmp;
  6631. this.newDeps.length = 0;
  6632. };
  6633. /**
  6634. * Subscriber interface.
  6635. * Will be called when a dependency changes.
  6636. */
  6637. Watcher.prototype.update = function update () {
  6638. /* istanbul ignore else */
  6639. if (this.lazy) {
  6640. this.dirty = true;
  6641. } else if (this.sync) {
  6642. this.run();
  6643. } else {
  6644. queueWatcher(this);
  6645. }
  6646. };
  6647. /**
  6648. * Scheduler job interface.
  6649. * Will be called by the scheduler.
  6650. */
  6651. Watcher.prototype.run = function run () {
  6652. if (this.active) {
  6653. var value = this.get();
  6654. if (
  6655. value !== this.value ||
  6656. // Deep watchers and watchers on Object/Arrays should fire even
  6657. // when the value is the same, because the value may
  6658. // have mutated.
  6659. isObject(value) ||
  6660. this.deep
  6661. ) {
  6662. // set new value
  6663. var oldValue = this.value;
  6664. this.value = value;
  6665. if (this.user) {
  6666. try {
  6667. this.cb.call(this.vm, value, oldValue);
  6668. } catch (e) {
  6669. handleError(e, this.vm, ("callback for watcher \"" + (this.expression) + "\""));
  6670. }
  6671. } else {
  6672. this.cb.call(this.vm, value, oldValue);
  6673. }
  6674. }
  6675. }
  6676. };
  6677. /**
  6678. * Evaluate the value of the watcher.
  6679. * This only gets called for lazy watchers.
  6680. */
  6681. Watcher.prototype.evaluate = function evaluate () {
  6682. this.value = this.get();
  6683. this.dirty = false;
  6684. };
  6685. /**
  6686. * Depend on all deps collected by this watcher.
  6687. */
  6688. Watcher.prototype.depend = function depend () {
  6689. var i = this.deps.length;
  6690. while (i--) {
  6691. this.deps[i].depend();
  6692. }
  6693. };
  6694. /**
  6695. * Remove self from all dependencies' subscriber list.
  6696. */
  6697. Watcher.prototype.teardown = function teardown () {
  6698. if (this.active) {
  6699. // remove self from vm's watcher list
  6700. // this is a somewhat expensive operation so we skip it
  6701. // if the vm is being destroyed.
  6702. if (!this.vm._isBeingDestroyed) {
  6703. remove(this.vm._watchers, this);
  6704. }
  6705. var i = this.deps.length;
  6706. while (i--) {
  6707. this.deps[i].removeSub(this);
  6708. }
  6709. this.active = false;
  6710. }
  6711. };
  6712. /* */
  6713. var sharedPropertyDefinition = {
  6714. enumerable: true,
  6715. configurable: true,
  6716. get: noop,
  6717. set: noop
  6718. };
  6719. function proxy (target, sourceKey, key) {
  6720. sharedPropertyDefinition.get = function proxyGetter () {
  6721. return this[sourceKey][key]
  6722. };
  6723. sharedPropertyDefinition.set = function proxySetter (val) {
  6724. this[sourceKey][key] = val;
  6725. };
  6726. Object.defineProperty(target, key, sharedPropertyDefinition);
  6727. }
  6728. function initState (vm) {
  6729. vm._watchers = [];
  6730. var opts = vm.$options;
  6731. if (opts.props) { initProps(vm, opts.props); }
  6732. if (opts.methods) { initMethods(vm, opts.methods); }
  6733. if (opts.data) {
  6734. initData(vm);
  6735. } else {
  6736. observe(vm._data = {}, true /* asRootData */);
  6737. }
  6738. if (opts.computed) { initComputed(vm, opts.computed); }
  6739. if (opts.watch && opts.watch !== nativeWatch) {
  6740. initWatch(vm, opts.watch);
  6741. }
  6742. }
  6743. function initProps (vm, propsOptions) {
  6744. var propsData = vm.$options.propsData || {};
  6745. var props = vm._props = {};
  6746. // cache prop keys so that future props updates can iterate using Array
  6747. // instead of dynamic object key enumeration.
  6748. var keys = vm.$options._propKeys = [];
  6749. var isRoot = !vm.$parent;
  6750. // root instance props should be converted
  6751. if (!isRoot) {
  6752. toggleObserving(false);
  6753. }
  6754. var loop = function ( key ) {
  6755. keys.push(key);
  6756. var value = validateProp(key, propsOptions, propsData, vm);
  6757. /* istanbul ignore else */
  6758. if (true) {
  6759. var hyphenatedKey = hyphenate(key);
  6760. if (isReservedAttribute(hyphenatedKey) ||
  6761. config.isReservedAttr(hyphenatedKey)) {
  6762. warn(
  6763. ("\"" + hyphenatedKey + "\" is a reserved attribute and cannot be used as component prop."),
  6764. vm
  6765. );
  6766. }
  6767. defineReactive$$1(props, key, value, function () {
  6768. if (!isRoot && !isUpdatingChildComponent) {
  6769. {
  6770. if(vm.mpHost === 'mp-baidu' || vm.mpHost === 'mp-kuaishou' || vm.mpHost === 'mp-xhs'){//百度、快手、小红书 observer 在 setData callback 之后触发,直接忽略该 warn
  6771. return
  6772. }
  6773. //fixed by xxxxxx __next_tick_pending,uni://form-field 时不告警
  6774. if(
  6775. key === 'value' &&
  6776. Array.isArray(vm.$options.behaviors) &&
  6777. vm.$options.behaviors.indexOf('uni://form-field') !== -1
  6778. ){
  6779. return
  6780. }
  6781. if(vm._getFormData){
  6782. return
  6783. }
  6784. var $parent = vm.$parent;
  6785. while($parent){
  6786. if($parent.__next_tick_pending){
  6787. return
  6788. }
  6789. $parent = $parent.$parent;
  6790. }
  6791. }
  6792. warn(
  6793. "Avoid mutating a prop directly since the value will be " +
  6794. "overwritten whenever the parent component re-renders. " +
  6795. "Instead, use a data or computed property based on the prop's " +
  6796. "value. Prop being mutated: \"" + key + "\"",
  6797. vm
  6798. );
  6799. }
  6800. });
  6801. } else {}
  6802. // static props are already proxied on the component's prototype
  6803. // during Vue.extend(). We only need to proxy props defined at
  6804. // instantiation here.
  6805. if (!(key in vm)) {
  6806. proxy(vm, "_props", key);
  6807. }
  6808. };
  6809. for (var key in propsOptions) loop( key );
  6810. toggleObserving(true);
  6811. }
  6812. function initData (vm) {
  6813. var data = vm.$options.data;
  6814. data = vm._data = typeof data === 'function'
  6815. ? getData(data, vm)
  6816. : data || {};
  6817. if (!isPlainObject(data)) {
  6818. data = {};
  6819. true && warn(
  6820. 'data functions should return an object:\n' +
  6821. 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',
  6822. vm
  6823. );
  6824. }
  6825. // proxy data on instance
  6826. var keys = Object.keys(data);
  6827. var props = vm.$options.props;
  6828. var methods = vm.$options.methods;
  6829. var i = keys.length;
  6830. while (i--) {
  6831. var key = keys[i];
  6832. if (true) {
  6833. if (methods && hasOwn(methods, key)) {
  6834. warn(
  6835. ("Method \"" + key + "\" has already been defined as a data property."),
  6836. vm
  6837. );
  6838. }
  6839. }
  6840. if (props && hasOwn(props, key)) {
  6841. true && warn(
  6842. "The data property \"" + key + "\" is already declared as a prop. " +
  6843. "Use prop default value instead.",
  6844. vm
  6845. );
  6846. } else if (!isReserved(key)) {
  6847. proxy(vm, "_data", key);
  6848. }
  6849. }
  6850. // observe data
  6851. observe(data, true /* asRootData */);
  6852. }
  6853. function getData (data, vm) {
  6854. // #7573 disable dep collection when invoking data getters
  6855. pushTarget();
  6856. try {
  6857. return data.call(vm, vm)
  6858. } catch (e) {
  6859. handleError(e, vm, "data()");
  6860. return {}
  6861. } finally {
  6862. popTarget();
  6863. }
  6864. }
  6865. var computedWatcherOptions = { lazy: true };
  6866. function initComputed (vm, computed) {
  6867. // $flow-disable-line
  6868. var watchers = vm._computedWatchers = Object.create(null);
  6869. // computed properties are just getters during SSR
  6870. var isSSR = isServerRendering();
  6871. for (var key in computed) {
  6872. var userDef = computed[key];
  6873. var getter = typeof userDef === 'function' ? userDef : userDef.get;
  6874. if ( true && getter == null) {
  6875. warn(
  6876. ("Getter is missing for computed property \"" + key + "\"."),
  6877. vm
  6878. );
  6879. }
  6880. if (!isSSR) {
  6881. // create internal watcher for the computed property.
  6882. watchers[key] = new Watcher(
  6883. vm,
  6884. getter || noop,
  6885. noop,
  6886. computedWatcherOptions
  6887. );
  6888. }
  6889. // component-defined computed properties are already defined on the
  6890. // component prototype. We only need to define computed properties defined
  6891. // at instantiation here.
  6892. if (!(key in vm)) {
  6893. defineComputed(vm, key, userDef);
  6894. } else if (true) {
  6895. if (key in vm.$data) {
  6896. warn(("The computed property \"" + key + "\" is already defined in data."), vm);
  6897. } else if (vm.$options.props && key in vm.$options.props) {
  6898. warn(("The computed property \"" + key + "\" is already defined as a prop."), vm);
  6899. }
  6900. }
  6901. }
  6902. }
  6903. function defineComputed (
  6904. target,
  6905. key,
  6906. userDef
  6907. ) {
  6908. var shouldCache = !isServerRendering();
  6909. if (typeof userDef === 'function') {
  6910. sharedPropertyDefinition.get = shouldCache
  6911. ? createComputedGetter(key)
  6912. : createGetterInvoker(userDef);
  6913. sharedPropertyDefinition.set = noop;
  6914. } else {
  6915. sharedPropertyDefinition.get = userDef.get
  6916. ? shouldCache && userDef.cache !== false
  6917. ? createComputedGetter(key)
  6918. : createGetterInvoker(userDef.get)
  6919. : noop;
  6920. sharedPropertyDefinition.set = userDef.set || noop;
  6921. }
  6922. if ( true &&
  6923. sharedPropertyDefinition.set === noop) {
  6924. sharedPropertyDefinition.set = function () {
  6925. warn(
  6926. ("Computed property \"" + key + "\" was assigned to but it has no setter."),
  6927. this
  6928. );
  6929. };
  6930. }
  6931. Object.defineProperty(target, key, sharedPropertyDefinition);
  6932. }
  6933. function createComputedGetter (key) {
  6934. return function computedGetter () {
  6935. var watcher = this._computedWatchers && this._computedWatchers[key];
  6936. if (watcher) {
  6937. if (watcher.dirty) {
  6938. watcher.evaluate();
  6939. }
  6940. if (Dep.SharedObject.target) {// fixed by xxxxxx
  6941. watcher.depend();
  6942. }
  6943. return watcher.value
  6944. }
  6945. }
  6946. }
  6947. function createGetterInvoker(fn) {
  6948. return function computedGetter () {
  6949. return fn.call(this, this)
  6950. }
  6951. }
  6952. function initMethods (vm, methods) {
  6953. var props = vm.$options.props;
  6954. for (var key in methods) {
  6955. if (true) {
  6956. if (typeof methods[key] !== 'function') {
  6957. warn(
  6958. "Method \"" + key + "\" has type \"" + (typeof methods[key]) + "\" in the component definition. " +
  6959. "Did you reference the function correctly?",
  6960. vm
  6961. );
  6962. }
  6963. if (props && hasOwn(props, key)) {
  6964. warn(
  6965. ("Method \"" + key + "\" has already been defined as a prop."),
  6966. vm
  6967. );
  6968. }
  6969. if ((key in vm) && isReserved(key)) {
  6970. warn(
  6971. "Method \"" + key + "\" conflicts with an existing Vue instance method. " +
  6972. "Avoid defining component methods that start with _ or $."
  6973. );
  6974. }
  6975. }
  6976. vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);
  6977. }
  6978. }
  6979. function initWatch (vm, watch) {
  6980. for (var key in watch) {
  6981. var handler = watch[key];
  6982. if (Array.isArray(handler)) {
  6983. for (var i = 0; i < handler.length; i++) {
  6984. createWatcher(vm, key, handler[i]);
  6985. }
  6986. } else {
  6987. createWatcher(vm, key, handler);
  6988. }
  6989. }
  6990. }
  6991. function createWatcher (
  6992. vm,
  6993. expOrFn,
  6994. handler,
  6995. options
  6996. ) {
  6997. if (isPlainObject(handler)) {
  6998. options = handler;
  6999. handler = handler.handler;
  7000. }
  7001. if (typeof handler === 'string') {
  7002. handler = vm[handler];
  7003. }
  7004. return vm.$watch(expOrFn, handler, options)
  7005. }
  7006. function stateMixin (Vue) {
  7007. // flow somehow has problems with directly declared definition object
  7008. // when using Object.defineProperty, so we have to procedurally build up
  7009. // the object here.
  7010. var dataDef = {};
  7011. dataDef.get = function () { return this._data };
  7012. var propsDef = {};
  7013. propsDef.get = function () { return this._props };
  7014. if (true) {
  7015. dataDef.set = function () {
  7016. warn(
  7017. 'Avoid replacing instance root $data. ' +
  7018. 'Use nested data properties instead.',
  7019. this
  7020. );
  7021. };
  7022. propsDef.set = function () {
  7023. warn("$props is readonly.", this);
  7024. };
  7025. }
  7026. Object.defineProperty(Vue.prototype, '$data', dataDef);
  7027. Object.defineProperty(Vue.prototype, '$props', propsDef);
  7028. Vue.prototype.$set = set;
  7029. Vue.prototype.$delete = del;
  7030. Vue.prototype.$watch = function (
  7031. expOrFn,
  7032. cb,
  7033. options
  7034. ) {
  7035. var vm = this;
  7036. if (isPlainObject(cb)) {
  7037. return createWatcher(vm, expOrFn, cb, options)
  7038. }
  7039. options = options || {};
  7040. options.user = true;
  7041. var watcher = new Watcher(vm, expOrFn, cb, options);
  7042. if (options.immediate) {
  7043. try {
  7044. cb.call(vm, watcher.value);
  7045. } catch (error) {
  7046. handleError(error, vm, ("callback for immediate watcher \"" + (watcher.expression) + "\""));
  7047. }
  7048. }
  7049. return function unwatchFn () {
  7050. watcher.teardown();
  7051. }
  7052. };
  7053. }
  7054. /* */
  7055. var uid$3 = 0;
  7056. function initMixin (Vue) {
  7057. Vue.prototype._init = function (options) {
  7058. var vm = this;
  7059. // a uid
  7060. vm._uid = uid$3++;
  7061. var startTag, endTag;
  7062. /* istanbul ignore if */
  7063. if ( true && config.performance && mark) {
  7064. startTag = "vue-perf-start:" + (vm._uid);
  7065. endTag = "vue-perf-end:" + (vm._uid);
  7066. mark(startTag);
  7067. }
  7068. // a flag to avoid this being observed
  7069. vm._isVue = true;
  7070. // merge options
  7071. if (options && options._isComponent) {
  7072. // optimize internal component instantiation
  7073. // since dynamic options merging is pretty slow, and none of the
  7074. // internal component options needs special treatment.
  7075. initInternalComponent(vm, options);
  7076. } else {
  7077. vm.$options = mergeOptions(
  7078. resolveConstructorOptions(vm.constructor),
  7079. options || {},
  7080. vm
  7081. );
  7082. }
  7083. /* istanbul ignore else */
  7084. if (true) {
  7085. initProxy(vm);
  7086. } else {}
  7087. // expose real self
  7088. vm._self = vm;
  7089. initLifecycle(vm);
  7090. initEvents(vm);
  7091. initRender(vm);
  7092. callHook(vm, 'beforeCreate');
  7093. !vm._$fallback && initInjections(vm); // resolve injections before data/props
  7094. initState(vm);
  7095. !vm._$fallback && initProvide(vm); // resolve provide after data/props
  7096. !vm._$fallback && callHook(vm, 'created');
  7097. /* istanbul ignore if */
  7098. if ( true && config.performance && mark) {
  7099. vm._name = formatComponentName(vm, false);
  7100. mark(endTag);
  7101. measure(("vue " + (vm._name) + " init"), startTag, endTag);
  7102. }
  7103. if (vm.$options.el) {
  7104. vm.$mount(vm.$options.el);
  7105. }
  7106. };
  7107. }
  7108. function initInternalComponent (vm, options) {
  7109. var opts = vm.$options = Object.create(vm.constructor.options);
  7110. // doing this because it's faster than dynamic enumeration.
  7111. var parentVnode = options._parentVnode;
  7112. opts.parent = options.parent;
  7113. opts._parentVnode = parentVnode;
  7114. var vnodeComponentOptions = parentVnode.componentOptions;
  7115. opts.propsData = vnodeComponentOptions.propsData;
  7116. opts._parentListeners = vnodeComponentOptions.listeners;
  7117. opts._renderChildren = vnodeComponentOptions.children;
  7118. opts._componentTag = vnodeComponentOptions.tag;
  7119. if (options.render) {
  7120. opts.render = options.render;
  7121. opts.staticRenderFns = options.staticRenderFns;
  7122. }
  7123. }
  7124. function resolveConstructorOptions (Ctor) {
  7125. var options = Ctor.options;
  7126. if (Ctor.super) {
  7127. var superOptions = resolveConstructorOptions(Ctor.super);
  7128. var cachedSuperOptions = Ctor.superOptions;
  7129. if (superOptions !== cachedSuperOptions) {
  7130. // super option changed,
  7131. // need to resolve new options.
  7132. Ctor.superOptions = superOptions;
  7133. // check if there are any late-modified/attached options (#4976)
  7134. var modifiedOptions = resolveModifiedOptions(Ctor);
  7135. // update base extend options
  7136. if (modifiedOptions) {
  7137. extend(Ctor.extendOptions, modifiedOptions);
  7138. }
  7139. options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);
  7140. if (options.name) {
  7141. options.components[options.name] = Ctor;
  7142. }
  7143. }
  7144. }
  7145. return options
  7146. }
  7147. function resolveModifiedOptions (Ctor) {
  7148. var modified;
  7149. var latest = Ctor.options;
  7150. var sealed = Ctor.sealedOptions;
  7151. for (var key in latest) {
  7152. if (latest[key] !== sealed[key]) {
  7153. if (!modified) { modified = {}; }
  7154. modified[key] = latest[key];
  7155. }
  7156. }
  7157. return modified
  7158. }
  7159. function Vue (options) {
  7160. if ( true &&
  7161. !(this instanceof Vue)
  7162. ) {
  7163. warn('Vue is a constructor and should be called with the `new` keyword');
  7164. }
  7165. this._init(options);
  7166. }
  7167. initMixin(Vue);
  7168. stateMixin(Vue);
  7169. eventsMixin(Vue);
  7170. lifecycleMixin(Vue);
  7171. renderMixin(Vue);
  7172. /* */
  7173. function initUse (Vue) {
  7174. Vue.use = function (plugin) {
  7175. var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));
  7176. if (installedPlugins.indexOf(plugin) > -1) {
  7177. return this
  7178. }
  7179. // additional parameters
  7180. var args = toArray(arguments, 1);
  7181. args.unshift(this);
  7182. if (typeof plugin.install === 'function') {
  7183. plugin.install.apply(plugin, args);
  7184. } else if (typeof plugin === 'function') {
  7185. plugin.apply(null, args);
  7186. }
  7187. installedPlugins.push(plugin);
  7188. return this
  7189. };
  7190. }
  7191. /* */
  7192. function initMixin$1 (Vue) {
  7193. Vue.mixin = function (mixin) {
  7194. this.options = mergeOptions(this.options, mixin);
  7195. return this
  7196. };
  7197. }
  7198. /* */
  7199. function initExtend (Vue) {
  7200. /**
  7201. * Each instance constructor, including Vue, has a unique
  7202. * cid. This enables us to create wrapped "child
  7203. * constructors" for prototypal inheritance and cache them.
  7204. */
  7205. Vue.cid = 0;
  7206. var cid = 1;
  7207. /**
  7208. * Class inheritance
  7209. */
  7210. Vue.extend = function (extendOptions) {
  7211. extendOptions = extendOptions || {};
  7212. var Super = this;
  7213. var SuperId = Super.cid;
  7214. var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});
  7215. if (cachedCtors[SuperId]) {
  7216. return cachedCtors[SuperId]
  7217. }
  7218. var name = extendOptions.name || Super.options.name;
  7219. if ( true && name) {
  7220. validateComponentName(name);
  7221. }
  7222. var Sub = function VueComponent (options) {
  7223. this._init(options);
  7224. };
  7225. Sub.prototype = Object.create(Super.prototype);
  7226. Sub.prototype.constructor = Sub;
  7227. Sub.cid = cid++;
  7228. Sub.options = mergeOptions(
  7229. Super.options,
  7230. extendOptions
  7231. );
  7232. Sub['super'] = Super;
  7233. // For props and computed properties, we define the proxy getters on
  7234. // the Vue instances at extension time, on the extended prototype. This
  7235. // avoids Object.defineProperty calls for each instance created.
  7236. if (Sub.options.props) {
  7237. initProps$1(Sub);
  7238. }
  7239. if (Sub.options.computed) {
  7240. initComputed$1(Sub);
  7241. }
  7242. // allow further extension/mixin/plugin usage
  7243. Sub.extend = Super.extend;
  7244. Sub.mixin = Super.mixin;
  7245. Sub.use = Super.use;
  7246. // create asset registers, so extended classes
  7247. // can have their private assets too.
  7248. ASSET_TYPES.forEach(function (type) {
  7249. Sub[type] = Super[type];
  7250. });
  7251. // enable recursive self-lookup
  7252. if (name) {
  7253. Sub.options.components[name] = Sub;
  7254. }
  7255. // keep a reference to the super options at extension time.
  7256. // later at instantiation we can check if Super's options have
  7257. // been updated.
  7258. Sub.superOptions = Super.options;
  7259. Sub.extendOptions = extendOptions;
  7260. Sub.sealedOptions = extend({}, Sub.options);
  7261. // cache constructor
  7262. cachedCtors[SuperId] = Sub;
  7263. return Sub
  7264. };
  7265. }
  7266. function initProps$1 (Comp) {
  7267. var props = Comp.options.props;
  7268. for (var key in props) {
  7269. proxy(Comp.prototype, "_props", key);
  7270. }
  7271. }
  7272. function initComputed$1 (Comp) {
  7273. var computed = Comp.options.computed;
  7274. for (var key in computed) {
  7275. defineComputed(Comp.prototype, key, computed[key]);
  7276. }
  7277. }
  7278. /* */
  7279. function initAssetRegisters (Vue) {
  7280. /**
  7281. * Create asset registration methods.
  7282. */
  7283. ASSET_TYPES.forEach(function (type) {
  7284. Vue[type] = function (
  7285. id,
  7286. definition
  7287. ) {
  7288. if (!definition) {
  7289. return this.options[type + 's'][id]
  7290. } else {
  7291. /* istanbul ignore if */
  7292. if ( true && type === 'component') {
  7293. validateComponentName(id);
  7294. }
  7295. if (type === 'component' && isPlainObject(definition)) {
  7296. definition.name = definition.name || id;
  7297. definition = this.options._base.extend(definition);
  7298. }
  7299. if (type === 'directive' && typeof definition === 'function') {
  7300. definition = { bind: definition, update: definition };
  7301. }
  7302. this.options[type + 's'][id] = definition;
  7303. return definition
  7304. }
  7305. };
  7306. });
  7307. }
  7308. /* */
  7309. function getComponentName (opts) {
  7310. return opts && (opts.Ctor.options.name || opts.tag)
  7311. }
  7312. function matches (pattern, name) {
  7313. if (Array.isArray(pattern)) {
  7314. return pattern.indexOf(name) > -1
  7315. } else if (typeof pattern === 'string') {
  7316. return pattern.split(',').indexOf(name) > -1
  7317. } else if (isRegExp(pattern)) {
  7318. return pattern.test(name)
  7319. }
  7320. /* istanbul ignore next */
  7321. return false
  7322. }
  7323. function pruneCache (keepAliveInstance, filter) {
  7324. var cache = keepAliveInstance.cache;
  7325. var keys = keepAliveInstance.keys;
  7326. var _vnode = keepAliveInstance._vnode;
  7327. for (var key in cache) {
  7328. var cachedNode = cache[key];
  7329. if (cachedNode) {
  7330. var name = getComponentName(cachedNode.componentOptions);
  7331. if (name && !filter(name)) {
  7332. pruneCacheEntry(cache, key, keys, _vnode);
  7333. }
  7334. }
  7335. }
  7336. }
  7337. function pruneCacheEntry (
  7338. cache,
  7339. key,
  7340. keys,
  7341. current
  7342. ) {
  7343. var cached$$1 = cache[key];
  7344. if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {
  7345. cached$$1.componentInstance.$destroy();
  7346. }
  7347. cache[key] = null;
  7348. remove(keys, key);
  7349. }
  7350. var patternTypes = [String, RegExp, Array];
  7351. var KeepAlive = {
  7352. name: 'keep-alive',
  7353. abstract: true,
  7354. props: {
  7355. include: patternTypes,
  7356. exclude: patternTypes,
  7357. max: [String, Number]
  7358. },
  7359. created: function created () {
  7360. this.cache = Object.create(null);
  7361. this.keys = [];
  7362. },
  7363. destroyed: function destroyed () {
  7364. for (var key in this.cache) {
  7365. pruneCacheEntry(this.cache, key, this.keys);
  7366. }
  7367. },
  7368. mounted: function mounted () {
  7369. var this$1 = this;
  7370. this.$watch('include', function (val) {
  7371. pruneCache(this$1, function (name) { return matches(val, name); });
  7372. });
  7373. this.$watch('exclude', function (val) {
  7374. pruneCache(this$1, function (name) { return !matches(val, name); });
  7375. });
  7376. },
  7377. render: function render () {
  7378. var slot = this.$slots.default;
  7379. var vnode = getFirstComponentChild(slot);
  7380. var componentOptions = vnode && vnode.componentOptions;
  7381. if (componentOptions) {
  7382. // check pattern
  7383. var name = getComponentName(componentOptions);
  7384. var ref = this;
  7385. var include = ref.include;
  7386. var exclude = ref.exclude;
  7387. if (
  7388. // not included
  7389. (include && (!name || !matches(include, name))) ||
  7390. // excluded
  7391. (exclude && name && matches(exclude, name))
  7392. ) {
  7393. return vnode
  7394. }
  7395. var ref$1 = this;
  7396. var cache = ref$1.cache;
  7397. var keys = ref$1.keys;
  7398. var key = vnode.key == null
  7399. // same constructor may get registered as different local components
  7400. // so cid alone is not enough (#3269)
  7401. ? componentOptions.Ctor.cid + (componentOptions.tag ? ("::" + (componentOptions.tag)) : '')
  7402. : vnode.key;
  7403. if (cache[key]) {
  7404. vnode.componentInstance = cache[key].componentInstance;
  7405. // make current key freshest
  7406. remove(keys, key);
  7407. keys.push(key);
  7408. } else {
  7409. cache[key] = vnode;
  7410. keys.push(key);
  7411. // prune oldest entry
  7412. if (this.max && keys.length > parseInt(this.max)) {
  7413. pruneCacheEntry(cache, keys[0], keys, this._vnode);
  7414. }
  7415. }
  7416. vnode.data.keepAlive = true;
  7417. }
  7418. return vnode || (slot && slot[0])
  7419. }
  7420. };
  7421. var builtInComponents = {
  7422. KeepAlive: KeepAlive
  7423. };
  7424. /* */
  7425. function initGlobalAPI (Vue) {
  7426. // config
  7427. var configDef = {};
  7428. configDef.get = function () { return config; };
  7429. if (true) {
  7430. configDef.set = function () {
  7431. warn(
  7432. 'Do not replace the Vue.config object, set individual fields instead.'
  7433. );
  7434. };
  7435. }
  7436. Object.defineProperty(Vue, 'config', configDef);
  7437. // exposed util methods.
  7438. // NOTE: these are not considered part of the public API - avoid relying on
  7439. // them unless you are aware of the risk.
  7440. Vue.util = {
  7441. warn: warn,
  7442. extend: extend,
  7443. mergeOptions: mergeOptions,
  7444. defineReactive: defineReactive$$1
  7445. };
  7446. Vue.set = set;
  7447. Vue.delete = del;
  7448. Vue.nextTick = nextTick;
  7449. // 2.6 explicit observable API
  7450. Vue.observable = function (obj) {
  7451. observe(obj);
  7452. return obj
  7453. };
  7454. Vue.options = Object.create(null);
  7455. ASSET_TYPES.forEach(function (type) {
  7456. Vue.options[type + 's'] = Object.create(null);
  7457. });
  7458. // this is used to identify the "base" constructor to extend all plain-object
  7459. // components with in Weex's multi-instance scenarios.
  7460. Vue.options._base = Vue;
  7461. extend(Vue.options.components, builtInComponents);
  7462. initUse(Vue);
  7463. initMixin$1(Vue);
  7464. initExtend(Vue);
  7465. initAssetRegisters(Vue);
  7466. }
  7467. initGlobalAPI(Vue);
  7468. Object.defineProperty(Vue.prototype, '$isServer', {
  7469. get: isServerRendering
  7470. });
  7471. Object.defineProperty(Vue.prototype, '$ssrContext', {
  7472. get: function get () {
  7473. /* istanbul ignore next */
  7474. return this.$vnode && this.$vnode.ssrContext
  7475. }
  7476. });
  7477. // expose FunctionalRenderContext for ssr runtime helper installation
  7478. Object.defineProperty(Vue, 'FunctionalRenderContext', {
  7479. value: FunctionalRenderContext
  7480. });
  7481. Vue.version = '2.6.11';
  7482. /**
  7483. * https://raw.githubusercontent.com/Tencent/westore/master/packages/westore/utils/diff.js
  7484. */
  7485. var ARRAYTYPE = '[object Array]';
  7486. var OBJECTTYPE = '[object Object]';
  7487. // const FUNCTIONTYPE = '[object Function]'
  7488. function diff(current, pre) {
  7489. var result = {};
  7490. syncKeys(current, pre);
  7491. _diff(current, pre, '', result);
  7492. return result
  7493. }
  7494. function syncKeys(current, pre) {
  7495. if (current === pre) { return }
  7496. var rootCurrentType = type(current);
  7497. var rootPreType = type(pre);
  7498. if (rootCurrentType == OBJECTTYPE && rootPreType == OBJECTTYPE) {
  7499. if(Object.keys(current).length >= Object.keys(pre).length){
  7500. for (var key in pre) {
  7501. var currentValue = current[key];
  7502. if (currentValue === undefined) {
  7503. current[key] = null;
  7504. } else {
  7505. syncKeys(currentValue, pre[key]);
  7506. }
  7507. }
  7508. }
  7509. } else if (rootCurrentType == ARRAYTYPE && rootPreType == ARRAYTYPE) {
  7510. if (current.length >= pre.length) {
  7511. pre.forEach(function (item, index) {
  7512. syncKeys(current[index], item);
  7513. });
  7514. }
  7515. }
  7516. }
  7517. function _diff(current, pre, path, result) {
  7518. if (current === pre) { return }
  7519. var rootCurrentType = type(current);
  7520. var rootPreType = type(pre);
  7521. if (rootCurrentType == OBJECTTYPE) {
  7522. if (rootPreType != OBJECTTYPE || Object.keys(current).length < Object.keys(pre).length) {
  7523. setResult(result, path, current);
  7524. } else {
  7525. var loop = function ( key ) {
  7526. var currentValue = current[key];
  7527. var preValue = pre[key];
  7528. var currentType = type(currentValue);
  7529. var preType = type(preValue);
  7530. if (currentType != ARRAYTYPE && currentType != OBJECTTYPE) {
  7531. if (currentValue !== pre[key]) {
  7532. setResult(result, (path == '' ? '' : path + ".") + key, currentValue);
  7533. }
  7534. } else if (currentType == ARRAYTYPE) {
  7535. if (preType != ARRAYTYPE) {
  7536. setResult(result, (path == '' ? '' : path + ".") + key, currentValue);
  7537. } else {
  7538. if (currentValue.length < preValue.length) {
  7539. setResult(result, (path == '' ? '' : path + ".") + key, currentValue);
  7540. } else {
  7541. currentValue.forEach(function (item, index) {
  7542. _diff(item, preValue[index], (path == '' ? '' : path + ".") + key + '[' + index + ']', result);
  7543. });
  7544. }
  7545. }
  7546. } else if (currentType == OBJECTTYPE) {
  7547. if (preType != OBJECTTYPE || Object.keys(currentValue).length < Object.keys(preValue).length) {
  7548. setResult(result, (path == '' ? '' : path + ".") + key, currentValue);
  7549. } else {
  7550. for (var subKey in currentValue) {
  7551. _diff(currentValue[subKey], preValue[subKey], (path == '' ? '' : path + ".") + key + '.' + subKey, result);
  7552. }
  7553. }
  7554. }
  7555. };
  7556. for (var key in current) loop( key );
  7557. }
  7558. } else if (rootCurrentType == ARRAYTYPE) {
  7559. if (rootPreType != ARRAYTYPE) {
  7560. setResult(result, path, current);
  7561. } else {
  7562. if (current.length < pre.length) {
  7563. setResult(result, path, current);
  7564. } else {
  7565. current.forEach(function (item, index) {
  7566. _diff(item, pre[index], path + '[' + index + ']', result);
  7567. });
  7568. }
  7569. }
  7570. } else {
  7571. setResult(result, path, current);
  7572. }
  7573. }
  7574. function setResult(result, k, v) {
  7575. // if (type(v) != FUNCTIONTYPE) {
  7576. result[k] = v;
  7577. // }
  7578. }
  7579. function type(obj) {
  7580. return Object.prototype.toString.call(obj)
  7581. }
  7582. /* */
  7583. function flushCallbacks$1(vm) {
  7584. if (vm.__next_tick_callbacks && vm.__next_tick_callbacks.length) {
  7585. if (Object({"NODE_ENV":"development","VUE_APP_NAME":"重卡换电","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG) {
  7586. var mpInstance = vm.$scope;
  7587. console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +
  7588. ']:flushCallbacks[' + vm.__next_tick_callbacks.length + ']');
  7589. }
  7590. var copies = vm.__next_tick_callbacks.slice(0);
  7591. vm.__next_tick_callbacks.length = 0;
  7592. for (var i = 0; i < copies.length; i++) {
  7593. copies[i]();
  7594. }
  7595. }
  7596. }
  7597. function hasRenderWatcher(vm) {
  7598. return queue.find(function (watcher) { return vm._watcher === watcher; })
  7599. }
  7600. function nextTick$1(vm, cb) {
  7601. //1.nextTick 之前 已 setData 且 setData 还未回调完成
  7602. //2.nextTick 之前存在 render watcher
  7603. if (!vm.__next_tick_pending && !hasRenderWatcher(vm)) {
  7604. if(Object({"NODE_ENV":"development","VUE_APP_NAME":"重卡换电","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG){
  7605. var mpInstance = vm.$scope;
  7606. console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +
  7607. ']:nextVueTick');
  7608. }
  7609. return nextTick(cb, vm)
  7610. }else{
  7611. if(Object({"NODE_ENV":"development","VUE_APP_NAME":"重卡换电","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG){
  7612. var mpInstance$1 = vm.$scope;
  7613. console.log('[' + (+new Date) + '][' + (mpInstance$1.is || mpInstance$1.route) + '][' + vm._uid +
  7614. ']:nextMPTick');
  7615. }
  7616. }
  7617. var _resolve;
  7618. if (!vm.__next_tick_callbacks) {
  7619. vm.__next_tick_callbacks = [];
  7620. }
  7621. vm.__next_tick_callbacks.push(function () {
  7622. if (cb) {
  7623. try {
  7624. cb.call(vm);
  7625. } catch (e) {
  7626. handleError(e, vm, 'nextTick');
  7627. }
  7628. } else if (_resolve) {
  7629. _resolve(vm);
  7630. }
  7631. });
  7632. // $flow-disable-line
  7633. if (!cb && typeof Promise !== 'undefined') {
  7634. return new Promise(function (resolve) {
  7635. _resolve = resolve;
  7636. })
  7637. }
  7638. }
  7639. /* */
  7640. function cloneWithData(vm) {
  7641. // 确保当前 vm 所有数据被同步
  7642. var ret = Object.create(null);
  7643. var dataKeys = [].concat(
  7644. Object.keys(vm._data || {}),
  7645. Object.keys(vm._computedWatchers || {}));
  7646. dataKeys.reduce(function(ret, key) {
  7647. ret[key] = vm[key];
  7648. return ret
  7649. }, ret);
  7650. // vue-composition-api
  7651. var compositionApiState = vm.__composition_api_state__ || vm.__secret_vfa_state__;
  7652. var rawBindings = compositionApiState && compositionApiState.rawBindings;
  7653. if (rawBindings) {
  7654. Object.keys(rawBindings).forEach(function (key) {
  7655. ret[key] = vm[key];
  7656. });
  7657. }
  7658. //TODO 需要把无用数据处理掉,比如 list=>l0 则 list 需要移除,否则多传输一份数据
  7659. Object.assign(ret, vm.$mp.data || {});
  7660. if (
  7661. Array.isArray(vm.$options.behaviors) &&
  7662. vm.$options.behaviors.indexOf('uni://form-field') !== -1
  7663. ) { //form-field
  7664. ret['name'] = vm.name;
  7665. ret['value'] = vm.value;
  7666. }
  7667. return JSON.parse(JSON.stringify(ret))
  7668. }
  7669. var patch = function(oldVnode, vnode) {
  7670. var this$1 = this;
  7671. if (vnode === null) { //destroy
  7672. return
  7673. }
  7674. if (this.mpType === 'page' || this.mpType === 'component') {
  7675. var mpInstance = this.$scope;
  7676. var data = Object.create(null);
  7677. try {
  7678. data = cloneWithData(this);
  7679. } catch (err) {
  7680. console.error(err);
  7681. }
  7682. data.__webviewId__ = mpInstance.data.__webviewId__;
  7683. var mpData = Object.create(null);
  7684. Object.keys(data).forEach(function (key) { //仅同步 data 中有的数据
  7685. mpData[key] = mpInstance.data[key];
  7686. });
  7687. var diffData = this.$shouldDiffData === false ? data : diff(data, mpData);
  7688. if (Object.keys(diffData).length) {
  7689. if (Object({"NODE_ENV":"development","VUE_APP_NAME":"重卡换电","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG) {
  7690. console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + this._uid +
  7691. ']差量更新',
  7692. JSON.stringify(diffData));
  7693. }
  7694. this.__next_tick_pending = true;
  7695. mpInstance.setData(diffData, function () {
  7696. this$1.__next_tick_pending = false;
  7697. flushCallbacks$1(this$1);
  7698. });
  7699. } else {
  7700. flushCallbacks$1(this);
  7701. }
  7702. }
  7703. };
  7704. /* */
  7705. function createEmptyRender() {
  7706. }
  7707. function mountComponent$1(
  7708. vm,
  7709. el,
  7710. hydrating
  7711. ) {
  7712. if (!vm.mpType) {//main.js 中的 new Vue
  7713. return vm
  7714. }
  7715. if (vm.mpType === 'app') {
  7716. vm.$options.render = createEmptyRender;
  7717. }
  7718. if (!vm.$options.render) {
  7719. vm.$options.render = createEmptyRender;
  7720. if (true) {
  7721. /* istanbul ignore if */
  7722. if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||
  7723. vm.$options.el || el) {
  7724. warn(
  7725. 'You are using the runtime-only build of Vue where the template ' +
  7726. 'compiler is not available. Either pre-compile the templates into ' +
  7727. 'render functions, or use the compiler-included build.',
  7728. vm
  7729. );
  7730. } else {
  7731. warn(
  7732. 'Failed to mount component: template or render function not defined.',
  7733. vm
  7734. );
  7735. }
  7736. }
  7737. }
  7738. !vm._$fallback && callHook(vm, 'beforeMount');
  7739. var updateComponent = function () {
  7740. vm._update(vm._render(), hydrating);
  7741. };
  7742. // we set this to vm._watcher inside the watcher's constructor
  7743. // since the watcher's initial patch may call $forceUpdate (e.g. inside child
  7744. // component's mounted hook), which relies on vm._watcher being already defined
  7745. new Watcher(vm, updateComponent, noop, {
  7746. before: function before() {
  7747. if (vm._isMounted && !vm._isDestroyed) {
  7748. callHook(vm, 'beforeUpdate');
  7749. }
  7750. }
  7751. }, true /* isRenderWatcher */);
  7752. hydrating = false;
  7753. return vm
  7754. }
  7755. /* */
  7756. function renderClass (
  7757. staticClass,
  7758. dynamicClass
  7759. ) {
  7760. if (isDef(staticClass) || isDef(dynamicClass)) {
  7761. return concat(staticClass, stringifyClass(dynamicClass))
  7762. }
  7763. /* istanbul ignore next */
  7764. return ''
  7765. }
  7766. function concat (a, b) {
  7767. return a ? b ? (a + ' ' + b) : a : (b || '')
  7768. }
  7769. function stringifyClass (value) {
  7770. if (Array.isArray(value)) {
  7771. return stringifyArray(value)
  7772. }
  7773. if (isObject(value)) {
  7774. return stringifyObject(value)
  7775. }
  7776. if (typeof value === 'string') {
  7777. return value
  7778. }
  7779. /* istanbul ignore next */
  7780. return ''
  7781. }
  7782. function stringifyArray (value) {
  7783. var res = '';
  7784. var stringified;
  7785. for (var i = 0, l = value.length; i < l; i++) {
  7786. if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {
  7787. if (res) { res += ' '; }
  7788. res += stringified;
  7789. }
  7790. }
  7791. return res
  7792. }
  7793. function stringifyObject (value) {
  7794. var res = '';
  7795. for (var key in value) {
  7796. if (value[key]) {
  7797. if (res) { res += ' '; }
  7798. res += key;
  7799. }
  7800. }
  7801. return res
  7802. }
  7803. /* */
  7804. var parseStyleText = cached(function (cssText) {
  7805. var res = {};
  7806. var listDelimiter = /;(?![^(]*\))/g;
  7807. var propertyDelimiter = /:(.+)/;
  7808. cssText.split(listDelimiter).forEach(function (item) {
  7809. if (item) {
  7810. var tmp = item.split(propertyDelimiter);
  7811. tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());
  7812. }
  7813. });
  7814. return res
  7815. });
  7816. // normalize possible array / string values into Object
  7817. function normalizeStyleBinding (bindingStyle) {
  7818. if (Array.isArray(bindingStyle)) {
  7819. return toObject(bindingStyle)
  7820. }
  7821. if (typeof bindingStyle === 'string') {
  7822. return parseStyleText(bindingStyle)
  7823. }
  7824. return bindingStyle
  7825. }
  7826. /* */
  7827. var MP_METHODS = ['createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', 'selectComponent'];
  7828. function getTarget(obj, path) {
  7829. var parts = path.split('.');
  7830. var key = parts[0];
  7831. if (key.indexOf('__$n') === 0) { //number index
  7832. key = parseInt(key.replace('__$n', ''));
  7833. }
  7834. if (parts.length === 1) {
  7835. return obj[key]
  7836. }
  7837. return getTarget(obj[key], parts.slice(1).join('.'))
  7838. }
  7839. function internalMixin(Vue) {
  7840. Vue.config.errorHandler = function(err, vm, info) {
  7841. Vue.util.warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm);
  7842. console.error(err);
  7843. /* eslint-disable no-undef */
  7844. var app = typeof getApp === 'function' && getApp();
  7845. if (app && app.onError) {
  7846. app.onError(err);
  7847. }
  7848. };
  7849. var oldEmit = Vue.prototype.$emit;
  7850. Vue.prototype.$emit = function(event) {
  7851. if (this.$scope && event) {
  7852. (this.$scope['_triggerEvent'] || this.$scope['triggerEvent']).call(this.$scope, event, {
  7853. __args__: toArray(arguments, 1)
  7854. });
  7855. }
  7856. return oldEmit.apply(this, arguments)
  7857. };
  7858. Vue.prototype.$nextTick = function(fn) {
  7859. return nextTick$1(this, fn)
  7860. };
  7861. MP_METHODS.forEach(function (method) {
  7862. Vue.prototype[method] = function(args) {
  7863. if (this.$scope && this.$scope[method]) {
  7864. return this.$scope[method](args)
  7865. }
  7866. // mp-alipay
  7867. if (typeof my === 'undefined') {
  7868. return
  7869. }
  7870. if (method === 'createSelectorQuery') {
  7871. /* eslint-disable no-undef */
  7872. return my.createSelectorQuery(args)
  7873. } else if (method === 'createIntersectionObserver') {
  7874. /* eslint-disable no-undef */
  7875. return my.createIntersectionObserver(args)
  7876. }
  7877. // TODO mp-alipay 暂不支持 selectAllComponents,selectComponent
  7878. };
  7879. });
  7880. Vue.prototype.__init_provide = initProvide;
  7881. Vue.prototype.__init_injections = initInjections;
  7882. Vue.prototype.__call_hook = function(hook, args) {
  7883. var vm = this;
  7884. // #7573 disable dep collection when invoking lifecycle hooks
  7885. pushTarget();
  7886. var handlers = vm.$options[hook];
  7887. var info = hook + " hook";
  7888. var ret;
  7889. if (handlers) {
  7890. for (var i = 0, j = handlers.length; i < j; i++) {
  7891. ret = invokeWithErrorHandling(handlers[i], vm, args ? [args] : null, vm, info);
  7892. }
  7893. }
  7894. if (vm._hasHookEvent) {
  7895. vm.$emit('hook:' + hook, args);
  7896. }
  7897. popTarget();
  7898. return ret
  7899. };
  7900. Vue.prototype.__set_model = function(target, key, value, modifiers) {
  7901. if (Array.isArray(modifiers)) {
  7902. if (modifiers.indexOf('trim') !== -1) {
  7903. value = value.trim();
  7904. }
  7905. if (modifiers.indexOf('number') !== -1) {
  7906. value = this._n(value);
  7907. }
  7908. }
  7909. if (!target) {
  7910. target = this;
  7911. }
  7912. // 解决动态属性添加
  7913. Vue.set(target, key, value);
  7914. };
  7915. Vue.prototype.__set_sync = function(target, key, value) {
  7916. if (!target) {
  7917. target = this;
  7918. }
  7919. // 解决动态属性添加
  7920. Vue.set(target, key, value);
  7921. };
  7922. Vue.prototype.__get_orig = function(item) {
  7923. if (isPlainObject(item)) {
  7924. return item['$orig'] || item
  7925. }
  7926. return item
  7927. };
  7928. Vue.prototype.__get_value = function(dataPath, target) {
  7929. return getTarget(target || this, dataPath)
  7930. };
  7931. Vue.prototype.__get_class = function(dynamicClass, staticClass) {
  7932. return renderClass(staticClass, dynamicClass)
  7933. };
  7934. Vue.prototype.__get_style = function(dynamicStyle, staticStyle) {
  7935. if (!dynamicStyle && !staticStyle) {
  7936. return ''
  7937. }
  7938. var dynamicStyleObj = normalizeStyleBinding(dynamicStyle);
  7939. var styleObj = staticStyle ? extend(staticStyle, dynamicStyleObj) : dynamicStyleObj;
  7940. return Object.keys(styleObj).map(function (name) { return ((hyphenate(name)) + ":" + (styleObj[name])); }).join(';')
  7941. };
  7942. Vue.prototype.__map = function(val, iteratee) {
  7943. //TODO 暂不考虑 string
  7944. var ret, i, l, keys, key;
  7945. if (Array.isArray(val)) {
  7946. ret = new Array(val.length);
  7947. for (i = 0, l = val.length; i < l; i++) {
  7948. ret[i] = iteratee(val[i], i);
  7949. }
  7950. return ret
  7951. } else if (isObject(val)) {
  7952. keys = Object.keys(val);
  7953. ret = Object.create(null);
  7954. for (i = 0, l = keys.length; i < l; i++) {
  7955. key = keys[i];
  7956. ret[key] = iteratee(val[key], key, i);
  7957. }
  7958. return ret
  7959. } else if (typeof val === 'number') {
  7960. ret = new Array(val);
  7961. for (i = 0, l = val; i < l; i++) {
  7962. // 第一个参数暂时仍和小程序一致
  7963. ret[i] = iteratee(i, i);
  7964. }
  7965. return ret
  7966. }
  7967. return []
  7968. };
  7969. }
  7970. /* */
  7971. var LIFECYCLE_HOOKS$1 = [
  7972. //App
  7973. 'onLaunch',
  7974. 'onShow',
  7975. 'onHide',
  7976. 'onUniNViewMessage',
  7977. 'onPageNotFound',
  7978. 'onThemeChange',
  7979. 'onError',
  7980. 'onUnhandledRejection',
  7981. //Page
  7982. 'onInit',
  7983. 'onLoad',
  7984. // 'onShow',
  7985. 'onReady',
  7986. // 'onHide',
  7987. 'onUnload',
  7988. 'onPullDownRefresh',
  7989. 'onReachBottom',
  7990. 'onTabItemTap',
  7991. 'onAddToFavorites',
  7992. 'onShareTimeline',
  7993. 'onShareAppMessage',
  7994. 'onResize',
  7995. 'onPageScroll',
  7996. 'onNavigationBarButtonTap',
  7997. 'onBackPress',
  7998. 'onNavigationBarSearchInputChanged',
  7999. 'onNavigationBarSearchInputConfirmed',
  8000. 'onNavigationBarSearchInputClicked',
  8001. //Component
  8002. // 'onReady', // 兼容旧版本,应该移除该事件
  8003. 'onPageShow',
  8004. 'onPageHide',
  8005. 'onPageResize'
  8006. ];
  8007. function lifecycleMixin$1(Vue) {
  8008. //fixed vue-class-component
  8009. var oldExtend = Vue.extend;
  8010. Vue.extend = function(extendOptions) {
  8011. extendOptions = extendOptions || {};
  8012. var methods = extendOptions.methods;
  8013. if (methods) {
  8014. Object.keys(methods).forEach(function (methodName) {
  8015. if (LIFECYCLE_HOOKS$1.indexOf(methodName)!==-1) {
  8016. extendOptions[methodName] = methods[methodName];
  8017. delete methods[methodName];
  8018. }
  8019. });
  8020. }
  8021. return oldExtend.call(this, extendOptions)
  8022. };
  8023. var strategies = Vue.config.optionMergeStrategies;
  8024. var mergeHook = strategies.created;
  8025. LIFECYCLE_HOOKS$1.forEach(function (hook) {
  8026. strategies[hook] = mergeHook;
  8027. });
  8028. Vue.prototype.__lifecycle_hooks__ = LIFECYCLE_HOOKS$1;
  8029. }
  8030. /* */
  8031. // install platform patch function
  8032. Vue.prototype.__patch__ = patch;
  8033. // public mount method
  8034. Vue.prototype.$mount = function(
  8035. el ,
  8036. hydrating
  8037. ) {
  8038. return mountComponent$1(this, el, hydrating)
  8039. };
  8040. lifecycleMixin$1(Vue);
  8041. internalMixin(Vue);
  8042. /* */
  8043. /* harmony default export */ __webpack_exports__["default"] = (Vue);
  8044. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../../webpack/buildin/global.js */ 2)))
  8045. /***/ }),
  8046. /* 5 */
  8047. /*!***********************************************************************!*\
  8048. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/pages.json ***!
  8049. \***********************************************************************/
  8050. /*! no static exports found */
  8051. /***/ (function(module, exports) {
  8052. /***/ }),
  8053. /* 6 */,
  8054. /* 7 */,
  8055. /* 8 */,
  8056. /* 9 */,
  8057. /* 10 */,
  8058. /* 11 */
  8059. /*!**********************************************************************************************************!*\
  8060. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js ***!
  8061. \**********************************************************************************************************/
  8062. /*! exports provided: default */
  8063. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8064. "use strict";
  8065. __webpack_require__.r(__webpack_exports__);
  8066. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return normalizeComponent; });
  8067. /* globals __VUE_SSR_CONTEXT__ */
  8068. // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
  8069. // This module is a runtime utility for cleaner component module output and will
  8070. // be included in the final webpack user bundle.
  8071. function normalizeComponent (
  8072. scriptExports,
  8073. render,
  8074. staticRenderFns,
  8075. functionalTemplate,
  8076. injectStyles,
  8077. scopeId,
  8078. moduleIdentifier, /* server only */
  8079. shadowMode, /* vue-cli only */
  8080. components, // fixed by xxxxxx auto components
  8081. renderjs // fixed by xxxxxx renderjs
  8082. ) {
  8083. // Vue.extend constructor export interop
  8084. var options = typeof scriptExports === 'function'
  8085. ? scriptExports.options
  8086. : scriptExports
  8087. // fixed by xxxxxx auto components
  8088. if (components) {
  8089. if (!options.components) {
  8090. options.components = {}
  8091. }
  8092. var hasOwn = Object.prototype.hasOwnProperty
  8093. for (var name in components) {
  8094. if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) {
  8095. options.components[name] = components[name]
  8096. }
  8097. }
  8098. }
  8099. // fixed by xxxxxx renderjs
  8100. if (renderjs) {
  8101. (renderjs.beforeCreate || (renderjs.beforeCreate = [])).unshift(function() {
  8102. this[renderjs.__module] = this
  8103. });
  8104. (options.mixins || (options.mixins = [])).push(renderjs)
  8105. }
  8106. // render functions
  8107. if (render) {
  8108. options.render = render
  8109. options.staticRenderFns = staticRenderFns
  8110. options._compiled = true
  8111. }
  8112. // functional template
  8113. if (functionalTemplate) {
  8114. options.functional = true
  8115. }
  8116. // scopedId
  8117. if (scopeId) {
  8118. options._scopeId = 'data-v-' + scopeId
  8119. }
  8120. var hook
  8121. if (moduleIdentifier) { // server build
  8122. hook = function (context) {
  8123. // 2.3 injection
  8124. context =
  8125. context || // cached call
  8126. (this.$vnode && this.$vnode.ssrContext) || // stateful
  8127. (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
  8128. // 2.2 with runInNewContext: true
  8129. if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
  8130. context = __VUE_SSR_CONTEXT__
  8131. }
  8132. // inject component styles
  8133. if (injectStyles) {
  8134. injectStyles.call(this, context)
  8135. }
  8136. // register component module identifier for async chunk inferrence
  8137. if (context && context._registeredComponents) {
  8138. context._registeredComponents.add(moduleIdentifier)
  8139. }
  8140. }
  8141. // used by ssr in case component is cached and beforeCreate
  8142. // never gets called
  8143. options._ssrRegister = hook
  8144. } else if (injectStyles) {
  8145. hook = shadowMode
  8146. ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }
  8147. : injectStyles
  8148. }
  8149. if (hook) {
  8150. if (options.functional) {
  8151. // for template-only hot-reload because in that case the render fn doesn't
  8152. // go through the normalizer
  8153. options._injectStyles = hook
  8154. // register for functioal component in vue file
  8155. var originalRender = options.render
  8156. options.render = function renderWithStyleInjection (h, context) {
  8157. hook.call(context)
  8158. return originalRender(h, context)
  8159. }
  8160. } else {
  8161. // inject component registration as beforeCreate hook
  8162. var existing = options.beforeCreate
  8163. options.beforeCreate = existing
  8164. ? [].concat(existing, hook)
  8165. : [hook]
  8166. }
  8167. }
  8168. return {
  8169. exports: scriptExports,
  8170. options: options
  8171. }
  8172. }
  8173. /***/ }),
  8174. /* 12 */
  8175. /*!***************************************************************************!*\
  8176. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/common/http.js ***!
  8177. \***************************************************************************/
  8178. /*! no static exports found */
  8179. /***/ (function(module, exports, __webpack_require__) {
  8180. "use strict";
  8181. Object.defineProperty(exports, "__esModule", { value: true });exports.wxgetCode = wxgetCode;exports.wxLogin = wxLogin;exports.ucenterData = ucenterData;exports.getService = getService;exports.exchangeRecord = exchangeRecord;exports.getDays = getDays;exports.exchangeRecordShow = exchangeRecordShow;exports.exchangeHistoryCar = exchangeHistoryCar;exports.userCarList = userCarList;exports.exchangeCarDetail = exchangeCarDetail;exports.getStationExchange = getStationExchange;exports.homeCar = homeCar;exports.homeStation = homeStation;exports.getExchangeTimes = getExchangeTimes;exports.getAgreement = getAgreement;var _request = _interopRequireDefault(__webpack_require__(/*! ./request */ 13));
  8182. var _storage = _interopRequireDefault(__webpack_require__(/*! ./storage */ 15));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
  8183. //获取code
  8184. function wxgetCode(params) {
  8185. return new Promise(function (resolve, reject) {
  8186. _request.default.post("/user/session", params).then(function (result) {
  8187. resolve(result);
  8188. }).catch(function (err) {
  8189. reject(err);
  8190. });
  8191. });
  8192. }
  8193. //登录
  8194. function wxLogin(params) {
  8195. return new Promise(function (resolve, reject) {
  8196. _request.default.post("/user/login", params).then(function (result) {
  8197. resolve(result);
  8198. }).catch(function (err) {
  8199. reject(err);
  8200. });
  8201. });
  8202. }
  8203. //个人中心首页
  8204. function ucenterData() {
  8205. return _request.default.post("/inquire/myData");
  8206. }
  8207. //个人中心联系客服
  8208. function getService() {
  8209. return _request.default.post("/inquire/contact/service");
  8210. }
  8211. //个人中心换电记录
  8212. function exchangeRecord(params) {
  8213. return _request.default.post("/inquire/exchangeRecord", params);
  8214. }
  8215. //个人中心获取天数
  8216. function getDays() {
  8217. return _request.default.post("/user/days");
  8218. }
  8219. //换电记录详情
  8220. function exchangeRecordShow(id) {
  8221. return _request.default.post("/inquire/exchangeDetail/".concat(id));
  8222. }
  8223. //个人中心我的车辆
  8224. function exchangeHistoryCar() {
  8225. return _request.default.post("/inquire/exchangeHistorical");
  8226. }
  8227. //个人中心获取所有车辆列表
  8228. function userCarList() {
  8229. return _request.default.post("/inquire/vehInfo");
  8230. }
  8231. //个人中心我的车辆详情
  8232. function exchangeCarDetail(plate) {
  8233. return _request.default.post("/inquire/vehDetail?plate=".concat(plate));
  8234. }
  8235. //用stationCode获取换电编号
  8236. function getStationExchange(params) {
  8237. return _request.default.post("/swap/getStationExchange", params);
  8238. }
  8239. //首页车辆信息
  8240. function homeCar(params) {
  8241. return _request.default.post("/inquire/homeCar", params);
  8242. }
  8243. //首页换电站信息
  8244. function homeStation(params) {
  8245. return _request.default.post("/inquire/homeStation", params);
  8246. }
  8247. //换电流程累计换电次数
  8248. function getExchangeTimes(params) {
  8249. return _request.default.post("/exchange/record/getExchangeNum", params);
  8250. }
  8251. //登录用户协议
  8252. function getAgreement() {
  8253. return _request.default.post("/user/agreement", 1);
  8254. }
  8255. /***/ }),
  8256. /* 13 */
  8257. /*!******************************************************************************!*\
  8258. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/common/request.js ***!
  8259. \******************************************************************************/
  8260. /*! no static exports found */
  8261. /***/ (function(module, exports, __webpack_require__) {
  8262. "use strict";
  8263. /* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _config = _interopRequireDefault(__webpack_require__(/*! @/config */ 14));
  8264. var _storage = _interopRequireDefault(__webpack_require__(/*! ./storage */ 15));
  8265. var _index = _interopRequireDefault(__webpack_require__(/*! ../store/index */ 16));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function _slicedToArray(arr, i) {return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o, minLen) {if (!o) return;if (typeof o === "string") return _arrayLikeToArray(o, minLen);var n = Object.prototype.toString.call(o).slice(8, -1);if (n === "Object" && o.constructor) n = o.constructor.name;if (n === "Map" || n === "Set") return Array.from(o);if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);}function _arrayLikeToArray(arr, len) {if (len == null || len > arr.length) len = arr.length;for (var i = 0, arr2 = new Array(len); i < len; i++) {arr2[i] = arr[i];}return arr2;}function _iterableToArrayLimit(arr, i) {if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;var _arr = [];var _n = true;var _d = false;var _e = undefined;try {for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {_arr.push(_s.value);if (i && _arr.length === i) break;}} catch (err) {_d = true;_e = err;} finally {try {if (!_n && _i["return"] != null) _i["return"]();} finally {if (_d) throw _e;}}return _arr;}function _arrayWithHoles(arr) {if (Array.isArray(arr)) return arr;}var _default =
  8266. {
  8267. console: function console(options) {
  8268. // if(config.debug){
  8269. // console.log("====================【request start】===========================");
  8270. // console.log("header: " + JSON.stringify(options.header));
  8271. // console.log("method: " + options.method + " URL: " + options.url);
  8272. // console.log(options.data);
  8273. // console.log("====================【request end】===========================");
  8274. // }
  8275. },
  8276. domain: function domain() {
  8277. return _config.default.uni_app_web_api_url.replace("api", "");
  8278. },
  8279. send: function send() {var _this = this;var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  8280. options.url = _config.default.uni_app_web_api_url + '' + options.url;
  8281. options.method = options.method || "GET";
  8282. var users = _storage.default.getJson("users");
  8283. var token = _storage.default.getJson("token");
  8284. if (users != null && token != null) {
  8285. options.header = { "Authorization": token };
  8286. }
  8287. this.console(options);
  8288. return new Promise(function (resolve, reject) {
  8289. uni.request(options).then(function (data) {var _data = _slicedToArray(
  8290. data, 2),error = _data[0],res = _data[1];
  8291. _this.console(res.data.code);
  8292. if (error != null) {
  8293. reject(error);
  8294. } else {
  8295. if (res.data.code == -3) {
  8296. _storage.default.remove("users");
  8297. _storage.default.remove("token");
  8298. _storage.default.remove("mobile");
  8299. _index.default.commit("DELETEUSERS");
  8300. _index.default.commit("DELETEMOBILE");
  8301. uni.reLaunch({
  8302. url: '/pages/public/login' });
  8303. } else {
  8304. resolve(res.data);
  8305. }
  8306. }
  8307. });
  8308. });
  8309. },
  8310. get: function get() {var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  8311. return this.send({
  8312. url: url,
  8313. data: data });
  8314. },
  8315. post: function post() {var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  8316. return this.send({
  8317. url: url,
  8318. data: data,
  8319. method: "POST" });
  8320. } };exports.default = _default;
  8321. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
  8322. /***/ }),
  8323. /* 14 */
  8324. /*!**********************************************************************!*\
  8325. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/config.js ***!
  8326. \**********************************************************************/
  8327. /*! no static exports found */
  8328. /***/ (function(module, exports, __webpack_require__) {
  8329. "use strict";
  8330. Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _default = {
  8331. web_name: "智小狸",
  8332. uni_app_web_api_url: "https://zk.li-ai.com.cn/driver/api", //后端统一接口路径
  8333. //uni_app_web_api_url: "http://192.168.0.84:8088/driver/api",
  8334. //web_socket_url:'ws://zk.li-ai.com.cn:8088/ws/abbbccc/SSSSSSSS',
  8335. web_socket_url: 'wss://zk.li-ai.com.cn/driver/ws/',
  8336. debug: true };exports.default = _default;
  8337. /***/ }),
  8338. /* 15 */
  8339. /*!******************************************************************************!*\
  8340. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/common/storage.js ***!
  8341. \******************************************************************************/
  8342. /*! no static exports found */
  8343. /***/ (function(module, exports, __webpack_require__) {
  8344. "use strict";
  8345. /* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _default = {
  8346. set: function set(name, value) {
  8347. uni.setStorageSync(name, value);
  8348. },
  8349. get: function get(name) {
  8350. return uni.getStorageSync(name);
  8351. },
  8352. setJson: function setJson(name, value) {
  8353. uni.setStorageSync(name, JSON.stringify(value));
  8354. },
  8355. getJson: function getJson(name) {
  8356. var content = uni.getStorageSync(name);
  8357. if (!content) {
  8358. return null;
  8359. }
  8360. return JSON.parse(content);
  8361. },
  8362. remove: function remove(name) {
  8363. uni.removeStorageSync(name);
  8364. },
  8365. clear: function clear() {
  8366. uni.clearStorageSync();
  8367. } };exports.default = _default;
  8368. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
  8369. /***/ }),
  8370. /* 16 */
  8371. /*!***************************************************************************!*\
  8372. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/store/index.js ***!
  8373. \***************************************************************************/
  8374. /*! no static exports found */
  8375. /***/ (function(module, exports, __webpack_require__) {
  8376. "use strict";
  8377. Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 4));
  8378. var _vuex = _interopRequireDefault(__webpack_require__(/*! vuex */ 17));
  8379. var _storage = _interopRequireDefault(__webpack_require__(/*! ../common/storage */ 15));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
  8380. _vue.default.use(_vuex.default);
  8381. var store = new _vuex.default.Store({
  8382. // 属性值
  8383. state: {
  8384. users: _storage.default.getJson("users"),
  8385. mobile: _storage.default.getJson("mobile") },
  8386. // Mutation 必须是同步函数
  8387. // 更改state属性内容
  8388. // 使用:this.$store.commit("setUserInfo",{ });
  8389. mutations: {
  8390. UPDATEUSERS: function UPDATEUSERS(state, data) {
  8391. state.users = data;
  8392. _storage.default.setJson("users", data);
  8393. },
  8394. DELETEUSERS: function DELETEUSERS(state, name) {
  8395. state.users = null;
  8396. _storage.default.remove(name);
  8397. },
  8398. UPDATEMOBILE: function UPDATEMOBILE(state, data) {
  8399. state.mobile = data;
  8400. _storage.default.setJson("mobile", data);
  8401. },
  8402. DELETEMOBILE: function DELETEMOBILE(state, name) {
  8403. state.mobile = null;
  8404. _storage.default.remove(name);
  8405. } },
  8406. // Action 可以包含任意异步操作
  8407. // 通过 context.commit 可以方问mutations方法
  8408. // 也可以获得getters内容
  8409. // 通过 this.$store.dispatch("getUser") 来取得内容
  8410. actions: {
  8411. getUser: function getUser(context) {
  8412. //console.log(context.getters.cart)
  8413. },
  8414. usersStatus: function usersStatus(context) {
  8415. return new Promise(function (resolve, reject) {
  8416. var users = _storage.default.getJson("users");
  8417. if (users == null) {
  8418. reject();
  8419. } else {
  8420. resolve();
  8421. }
  8422. });
  8423. },
  8424. usersMobile: function usersMobile(context) {
  8425. return new Promise(function (resolve, reject) {
  8426. var mobile = _storage.default.getJson("mobile");
  8427. if (mobile == null) {
  8428. reject();
  8429. } else {
  8430. resolve();
  8431. }
  8432. });
  8433. } } });var _default =
  8434. store;exports.default = _default;
  8435. /***/ }),
  8436. /* 17 */
  8437. /*!**************************************************************************************!*\
  8438. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vuex3/dist/vuex.common.js ***!
  8439. \**************************************************************************************/
  8440. /*! no static exports found */
  8441. /***/ (function(module, exports, __webpack_require__) {
  8442. "use strict";
  8443. /* WEBPACK VAR INJECTION */(function(global) {/*!
  8444. * vuex v3.6.2
  8445. * (c) 2021 Evan You
  8446. * @license MIT
  8447. */
  8448. function applyMixin (Vue) {
  8449. var version = Number(Vue.version.split('.')[0]);
  8450. if (version >= 2) {
  8451. Vue.mixin({ beforeCreate: vuexInit });
  8452. } else {
  8453. // override init and inject vuex init procedure
  8454. // for 1.x backwards compatibility.
  8455. var _init = Vue.prototype._init;
  8456. Vue.prototype._init = function (options) {
  8457. if ( options === void 0 ) options = {};
  8458. options.init = options.init
  8459. ? [vuexInit].concat(options.init)
  8460. : vuexInit;
  8461. _init.call(this, options);
  8462. };
  8463. }
  8464. /**
  8465. * Vuex init hook, injected into each instances init hooks list.
  8466. */
  8467. function vuexInit () {
  8468. var options = this.$options;
  8469. // store injection
  8470. if (options.store) {
  8471. this.$store = typeof options.store === 'function'
  8472. ? options.store()
  8473. : options.store;
  8474. } else if (options.parent && options.parent.$store) {
  8475. this.$store = options.parent.$store;
  8476. }
  8477. }
  8478. }
  8479. var target = typeof window !== 'undefined'
  8480. ? window
  8481. : typeof global !== 'undefined'
  8482. ? global
  8483. : {};
  8484. var devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__;
  8485. function devtoolPlugin (store) {
  8486. if (!devtoolHook) { return }
  8487. store._devtoolHook = devtoolHook;
  8488. devtoolHook.emit('vuex:init', store);
  8489. devtoolHook.on('vuex:travel-to-state', function (targetState) {
  8490. store.replaceState(targetState);
  8491. });
  8492. store.subscribe(function (mutation, state) {
  8493. devtoolHook.emit('vuex:mutation', mutation, state);
  8494. }, { prepend: true });
  8495. store.subscribeAction(function (action, state) {
  8496. devtoolHook.emit('vuex:action', action, state);
  8497. }, { prepend: true });
  8498. }
  8499. /**
  8500. * Get the first item that pass the test
  8501. * by second argument function
  8502. *
  8503. * @param {Array} list
  8504. * @param {Function} f
  8505. * @return {*}
  8506. */
  8507. function find (list, f) {
  8508. return list.filter(f)[0]
  8509. }
  8510. /**
  8511. * Deep copy the given object considering circular structure.
  8512. * This function caches all nested objects and its copies.
  8513. * If it detects circular structure, use cached copy to avoid infinite loop.
  8514. *
  8515. * @param {*} obj
  8516. * @param {Array<Object>} cache
  8517. * @return {*}
  8518. */
  8519. function deepCopy (obj, cache) {
  8520. if ( cache === void 0 ) cache = [];
  8521. // just return if obj is immutable value
  8522. if (obj === null || typeof obj !== 'object') {
  8523. return obj
  8524. }
  8525. // if obj is hit, it is in circular structure
  8526. var hit = find(cache, function (c) { return c.original === obj; });
  8527. if (hit) {
  8528. return hit.copy
  8529. }
  8530. var copy = Array.isArray(obj) ? [] : {};
  8531. // put the copy into cache at first
  8532. // because we want to refer it in recursive deepCopy
  8533. cache.push({
  8534. original: obj,
  8535. copy: copy
  8536. });
  8537. Object.keys(obj).forEach(function (key) {
  8538. copy[key] = deepCopy(obj[key], cache);
  8539. });
  8540. return copy
  8541. }
  8542. /**
  8543. * forEach for object
  8544. */
  8545. function forEachValue (obj, fn) {
  8546. Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });
  8547. }
  8548. function isObject (obj) {
  8549. return obj !== null && typeof obj === 'object'
  8550. }
  8551. function isPromise (val) {
  8552. return val && typeof val.then === 'function'
  8553. }
  8554. function assert (condition, msg) {
  8555. if (!condition) { throw new Error(("[vuex] " + msg)) }
  8556. }
  8557. function partial (fn, arg) {
  8558. return function () {
  8559. return fn(arg)
  8560. }
  8561. }
  8562. // Base data struct for store's module, package with some attribute and method
  8563. var Module = function Module (rawModule, runtime) {
  8564. this.runtime = runtime;
  8565. // Store some children item
  8566. this._children = Object.create(null);
  8567. // Store the origin module object which passed by programmer
  8568. this._rawModule = rawModule;
  8569. var rawState = rawModule.state;
  8570. // Store the origin module's state
  8571. this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};
  8572. };
  8573. var prototypeAccessors = { namespaced: { configurable: true } };
  8574. prototypeAccessors.namespaced.get = function () {
  8575. return !!this._rawModule.namespaced
  8576. };
  8577. Module.prototype.addChild = function addChild (key, module) {
  8578. this._children[key] = module;
  8579. };
  8580. Module.prototype.removeChild = function removeChild (key) {
  8581. delete this._children[key];
  8582. };
  8583. Module.prototype.getChild = function getChild (key) {
  8584. return this._children[key]
  8585. };
  8586. Module.prototype.hasChild = function hasChild (key) {
  8587. return key in this._children
  8588. };
  8589. Module.prototype.update = function update (rawModule) {
  8590. this._rawModule.namespaced = rawModule.namespaced;
  8591. if (rawModule.actions) {
  8592. this._rawModule.actions = rawModule.actions;
  8593. }
  8594. if (rawModule.mutations) {
  8595. this._rawModule.mutations = rawModule.mutations;
  8596. }
  8597. if (rawModule.getters) {
  8598. this._rawModule.getters = rawModule.getters;
  8599. }
  8600. };
  8601. Module.prototype.forEachChild = function forEachChild (fn) {
  8602. forEachValue(this._children, fn);
  8603. };
  8604. Module.prototype.forEachGetter = function forEachGetter (fn) {
  8605. if (this._rawModule.getters) {
  8606. forEachValue(this._rawModule.getters, fn);
  8607. }
  8608. };
  8609. Module.prototype.forEachAction = function forEachAction (fn) {
  8610. if (this._rawModule.actions) {
  8611. forEachValue(this._rawModule.actions, fn);
  8612. }
  8613. };
  8614. Module.prototype.forEachMutation = function forEachMutation (fn) {
  8615. if (this._rawModule.mutations) {
  8616. forEachValue(this._rawModule.mutations, fn);
  8617. }
  8618. };
  8619. Object.defineProperties( Module.prototype, prototypeAccessors );
  8620. var ModuleCollection = function ModuleCollection (rawRootModule) {
  8621. // register root module (Vuex.Store options)
  8622. this.register([], rawRootModule, false);
  8623. };
  8624. ModuleCollection.prototype.get = function get (path) {
  8625. return path.reduce(function (module, key) {
  8626. return module.getChild(key)
  8627. }, this.root)
  8628. };
  8629. ModuleCollection.prototype.getNamespace = function getNamespace (path) {
  8630. var module = this.root;
  8631. return path.reduce(function (namespace, key) {
  8632. module = module.getChild(key);
  8633. return namespace + (module.namespaced ? key + '/' : '')
  8634. }, '')
  8635. };
  8636. ModuleCollection.prototype.update = function update$1 (rawRootModule) {
  8637. update([], this.root, rawRootModule);
  8638. };
  8639. ModuleCollection.prototype.register = function register (path, rawModule, runtime) {
  8640. var this$1 = this;
  8641. if ( runtime === void 0 ) runtime = true;
  8642. if ((true)) {
  8643. assertRawModule(path, rawModule);
  8644. }
  8645. var newModule = new Module(rawModule, runtime);
  8646. if (path.length === 0) {
  8647. this.root = newModule;
  8648. } else {
  8649. var parent = this.get(path.slice(0, -1));
  8650. parent.addChild(path[path.length - 1], newModule);
  8651. }
  8652. // register nested modules
  8653. if (rawModule.modules) {
  8654. forEachValue(rawModule.modules, function (rawChildModule, key) {
  8655. this$1.register(path.concat(key), rawChildModule, runtime);
  8656. });
  8657. }
  8658. };
  8659. ModuleCollection.prototype.unregister = function unregister (path) {
  8660. var parent = this.get(path.slice(0, -1));
  8661. var key = path[path.length - 1];
  8662. var child = parent.getChild(key);
  8663. if (!child) {
  8664. if ((true)) {
  8665. console.warn(
  8666. "[vuex] trying to unregister module '" + key + "', which is " +
  8667. "not registered"
  8668. );
  8669. }
  8670. return
  8671. }
  8672. if (!child.runtime) {
  8673. return
  8674. }
  8675. parent.removeChild(key);
  8676. };
  8677. ModuleCollection.prototype.isRegistered = function isRegistered (path) {
  8678. var parent = this.get(path.slice(0, -1));
  8679. var key = path[path.length - 1];
  8680. if (parent) {
  8681. return parent.hasChild(key)
  8682. }
  8683. return false
  8684. };
  8685. function update (path, targetModule, newModule) {
  8686. if ((true)) {
  8687. assertRawModule(path, newModule);
  8688. }
  8689. // update target module
  8690. targetModule.update(newModule);
  8691. // update nested modules
  8692. if (newModule.modules) {
  8693. for (var key in newModule.modules) {
  8694. if (!targetModule.getChild(key)) {
  8695. if ((true)) {
  8696. console.warn(
  8697. "[vuex] trying to add a new module '" + key + "' on hot reloading, " +
  8698. 'manual reload is needed'
  8699. );
  8700. }
  8701. return
  8702. }
  8703. update(
  8704. path.concat(key),
  8705. targetModule.getChild(key),
  8706. newModule.modules[key]
  8707. );
  8708. }
  8709. }
  8710. }
  8711. var functionAssert = {
  8712. assert: function (value) { return typeof value === 'function'; },
  8713. expected: 'function'
  8714. };
  8715. var objectAssert = {
  8716. assert: function (value) { return typeof value === 'function' ||
  8717. (typeof value === 'object' && typeof value.handler === 'function'); },
  8718. expected: 'function or object with "handler" function'
  8719. };
  8720. var assertTypes = {
  8721. getters: functionAssert,
  8722. mutations: functionAssert,
  8723. actions: objectAssert
  8724. };
  8725. function assertRawModule (path, rawModule) {
  8726. Object.keys(assertTypes).forEach(function (key) {
  8727. if (!rawModule[key]) { return }
  8728. var assertOptions = assertTypes[key];
  8729. forEachValue(rawModule[key], function (value, type) {
  8730. assert(
  8731. assertOptions.assert(value),
  8732. makeAssertionMessage(path, key, type, value, assertOptions.expected)
  8733. );
  8734. });
  8735. });
  8736. }
  8737. function makeAssertionMessage (path, key, type, value, expected) {
  8738. var buf = key + " should be " + expected + " but \"" + key + "." + type + "\"";
  8739. if (path.length > 0) {
  8740. buf += " in module \"" + (path.join('.')) + "\"";
  8741. }
  8742. buf += " is " + (JSON.stringify(value)) + ".";
  8743. return buf
  8744. }
  8745. var Vue; // bind on install
  8746. var Store = function Store (options) {
  8747. var this$1 = this;
  8748. if ( options === void 0 ) options = {};
  8749. // Auto install if it is not done yet and `window` has `Vue`.
  8750. // To allow users to avoid auto-installation in some cases,
  8751. // this code should be placed here. See #731
  8752. if (!Vue && typeof window !== 'undefined' && window.Vue) {
  8753. install(window.Vue);
  8754. }
  8755. if ((true)) {
  8756. assert(Vue, "must call Vue.use(Vuex) before creating a store instance.");
  8757. assert(typeof Promise !== 'undefined', "vuex requires a Promise polyfill in this browser.");
  8758. assert(this instanceof Store, "store must be called with the new operator.");
  8759. }
  8760. var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];
  8761. var strict = options.strict; if ( strict === void 0 ) strict = false;
  8762. // store internal state
  8763. this._committing = false;
  8764. this._actions = Object.create(null);
  8765. this._actionSubscribers = [];
  8766. this._mutations = Object.create(null);
  8767. this._wrappedGetters = Object.create(null);
  8768. this._modules = new ModuleCollection(options);
  8769. this._modulesNamespaceMap = Object.create(null);
  8770. this._subscribers = [];
  8771. this._watcherVM = new Vue();
  8772. this._makeLocalGettersCache = Object.create(null);
  8773. // bind commit and dispatch to self
  8774. var store = this;
  8775. var ref = this;
  8776. var dispatch = ref.dispatch;
  8777. var commit = ref.commit;
  8778. this.dispatch = function boundDispatch (type, payload) {
  8779. return dispatch.call(store, type, payload)
  8780. };
  8781. this.commit = function boundCommit (type, payload, options) {
  8782. return commit.call(store, type, payload, options)
  8783. };
  8784. // strict mode
  8785. this.strict = strict;
  8786. var state = this._modules.root.state;
  8787. // init root module.
  8788. // this also recursively registers all sub-modules
  8789. // and collects all module getters inside this._wrappedGetters
  8790. installModule(this, state, [], this._modules.root);
  8791. // initialize the store vm, which is responsible for the reactivity
  8792. // (also registers _wrappedGetters as computed properties)
  8793. resetStoreVM(this, state);
  8794. // apply plugins
  8795. plugins.forEach(function (plugin) { return plugin(this$1); });
  8796. var useDevtools = options.devtools !== undefined ? options.devtools : Vue.config.devtools;
  8797. if (useDevtools) {
  8798. devtoolPlugin(this);
  8799. }
  8800. };
  8801. var prototypeAccessors$1 = { state: { configurable: true } };
  8802. prototypeAccessors$1.state.get = function () {
  8803. return this._vm._data.$$state
  8804. };
  8805. prototypeAccessors$1.state.set = function (v) {
  8806. if ((true)) {
  8807. assert(false, "use store.replaceState() to explicit replace store state.");
  8808. }
  8809. };
  8810. Store.prototype.commit = function commit (_type, _payload, _options) {
  8811. var this$1 = this;
  8812. // check object-style commit
  8813. var ref = unifyObjectStyle(_type, _payload, _options);
  8814. var type = ref.type;
  8815. var payload = ref.payload;
  8816. var options = ref.options;
  8817. var mutation = { type: type, payload: payload };
  8818. var entry = this._mutations[type];
  8819. if (!entry) {
  8820. if ((true)) {
  8821. console.error(("[vuex] unknown mutation type: " + type));
  8822. }
  8823. return
  8824. }
  8825. this._withCommit(function () {
  8826. entry.forEach(function commitIterator (handler) {
  8827. handler(payload);
  8828. });
  8829. });
  8830. this._subscribers
  8831. .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe
  8832. .forEach(function (sub) { return sub(mutation, this$1.state); });
  8833. if (
  8834. ( true) &&
  8835. options && options.silent
  8836. ) {
  8837. console.warn(
  8838. "[vuex] mutation type: " + type + ". Silent option has been removed. " +
  8839. 'Use the filter functionality in the vue-devtools'
  8840. );
  8841. }
  8842. };
  8843. Store.prototype.dispatch = function dispatch (_type, _payload) {
  8844. var this$1 = this;
  8845. // check object-style dispatch
  8846. var ref = unifyObjectStyle(_type, _payload);
  8847. var type = ref.type;
  8848. var payload = ref.payload;
  8849. var action = { type: type, payload: payload };
  8850. var entry = this._actions[type];
  8851. if (!entry) {
  8852. if ((true)) {
  8853. console.error(("[vuex] unknown action type: " + type));
  8854. }
  8855. return
  8856. }
  8857. try {
  8858. this._actionSubscribers
  8859. .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe
  8860. .filter(function (sub) { return sub.before; })
  8861. .forEach(function (sub) { return sub.before(action, this$1.state); });
  8862. } catch (e) {
  8863. if ((true)) {
  8864. console.warn("[vuex] error in before action subscribers: ");
  8865. console.error(e);
  8866. }
  8867. }
  8868. var result = entry.length > 1
  8869. ? Promise.all(entry.map(function (handler) { return handler(payload); }))
  8870. : entry[0](payload);
  8871. return new Promise(function (resolve, reject) {
  8872. result.then(function (res) {
  8873. try {
  8874. this$1._actionSubscribers
  8875. .filter(function (sub) { return sub.after; })
  8876. .forEach(function (sub) { return sub.after(action, this$1.state); });
  8877. } catch (e) {
  8878. if ((true)) {
  8879. console.warn("[vuex] error in after action subscribers: ");
  8880. console.error(e);
  8881. }
  8882. }
  8883. resolve(res);
  8884. }, function (error) {
  8885. try {
  8886. this$1._actionSubscribers
  8887. .filter(function (sub) { return sub.error; })
  8888. .forEach(function (sub) { return sub.error(action, this$1.state, error); });
  8889. } catch (e) {
  8890. if ((true)) {
  8891. console.warn("[vuex] error in error action subscribers: ");
  8892. console.error(e);
  8893. }
  8894. }
  8895. reject(error);
  8896. });
  8897. })
  8898. };
  8899. Store.prototype.subscribe = function subscribe (fn, options) {
  8900. return genericSubscribe(fn, this._subscribers, options)
  8901. };
  8902. Store.prototype.subscribeAction = function subscribeAction (fn, options) {
  8903. var subs = typeof fn === 'function' ? { before: fn } : fn;
  8904. return genericSubscribe(subs, this._actionSubscribers, options)
  8905. };
  8906. Store.prototype.watch = function watch (getter, cb, options) {
  8907. var this$1 = this;
  8908. if ((true)) {
  8909. assert(typeof getter === 'function', "store.watch only accepts a function.");
  8910. }
  8911. return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)
  8912. };
  8913. Store.prototype.replaceState = function replaceState (state) {
  8914. var this$1 = this;
  8915. this._withCommit(function () {
  8916. this$1._vm._data.$$state = state;
  8917. });
  8918. };
  8919. Store.prototype.registerModule = function registerModule (path, rawModule, options) {
  8920. if ( options === void 0 ) options = {};
  8921. if (typeof path === 'string') { path = [path]; }
  8922. if ((true)) {
  8923. assert(Array.isArray(path), "module path must be a string or an Array.");
  8924. assert(path.length > 0, 'cannot register the root module by using registerModule.');
  8925. }
  8926. this._modules.register(path, rawModule);
  8927. installModule(this, this.state, path, this._modules.get(path), options.preserveState);
  8928. // reset store to update getters...
  8929. resetStoreVM(this, this.state);
  8930. };
  8931. Store.prototype.unregisterModule = function unregisterModule (path) {
  8932. var this$1 = this;
  8933. if (typeof path === 'string') { path = [path]; }
  8934. if ((true)) {
  8935. assert(Array.isArray(path), "module path must be a string or an Array.");
  8936. }
  8937. this._modules.unregister(path);
  8938. this._withCommit(function () {
  8939. var parentState = getNestedState(this$1.state, path.slice(0, -1));
  8940. Vue.delete(parentState, path[path.length - 1]);
  8941. });
  8942. resetStore(this);
  8943. };
  8944. Store.prototype.hasModule = function hasModule (path) {
  8945. if (typeof path === 'string') { path = [path]; }
  8946. if ((true)) {
  8947. assert(Array.isArray(path), "module path must be a string or an Array.");
  8948. }
  8949. return this._modules.isRegistered(path)
  8950. };
  8951. Store.prototype[[104,111,116,85,112,100,97,116,101].map(function (item) {return String.fromCharCode(item)}).join('')] = function (newOptions) {
  8952. this._modules.update(newOptions);
  8953. resetStore(this, true);
  8954. };
  8955. Store.prototype._withCommit = function _withCommit (fn) {
  8956. var committing = this._committing;
  8957. this._committing = true;
  8958. fn();
  8959. this._committing = committing;
  8960. };
  8961. Object.defineProperties( Store.prototype, prototypeAccessors$1 );
  8962. function genericSubscribe (fn, subs, options) {
  8963. if (subs.indexOf(fn) < 0) {
  8964. options && options.prepend
  8965. ? subs.unshift(fn)
  8966. : subs.push(fn);
  8967. }
  8968. return function () {
  8969. var i = subs.indexOf(fn);
  8970. if (i > -1) {
  8971. subs.splice(i, 1);
  8972. }
  8973. }
  8974. }
  8975. function resetStore (store, hot) {
  8976. store._actions = Object.create(null);
  8977. store._mutations = Object.create(null);
  8978. store._wrappedGetters = Object.create(null);
  8979. store._modulesNamespaceMap = Object.create(null);
  8980. var state = store.state;
  8981. // init all modules
  8982. installModule(store, state, [], store._modules.root, true);
  8983. // reset vm
  8984. resetStoreVM(store, state, hot);
  8985. }
  8986. function resetStoreVM (store, state, hot) {
  8987. var oldVm = store._vm;
  8988. // bind store public getters
  8989. store.getters = {};
  8990. // reset local getters cache
  8991. store._makeLocalGettersCache = Object.create(null);
  8992. var wrappedGetters = store._wrappedGetters;
  8993. var computed = {};
  8994. forEachValue(wrappedGetters, function (fn, key) {
  8995. // use computed to leverage its lazy-caching mechanism
  8996. // direct inline function use will lead to closure preserving oldVm.
  8997. // using partial to return function with only arguments preserved in closure environment.
  8998. computed[key] = partial(fn, store);
  8999. Object.defineProperty(store.getters, key, {
  9000. get: function () { return store._vm[key]; },
  9001. enumerable: true // for local getters
  9002. });
  9003. });
  9004. // use a Vue instance to store the state tree
  9005. // suppress warnings just in case the user has added
  9006. // some funky global mixins
  9007. var silent = Vue.config.silent;
  9008. Vue.config.silent = true;
  9009. store._vm = new Vue({
  9010. data: {
  9011. $$state: state
  9012. },
  9013. computed: computed
  9014. });
  9015. Vue.config.silent = silent;
  9016. // enable strict mode for new vm
  9017. if (store.strict) {
  9018. enableStrictMode(store);
  9019. }
  9020. if (oldVm) {
  9021. if (hot) {
  9022. // dispatch changes in all subscribed watchers
  9023. // to force getter re-evaluation for hot reloading.
  9024. store._withCommit(function () {
  9025. oldVm._data.$$state = null;
  9026. });
  9027. }
  9028. Vue.nextTick(function () { return oldVm.$destroy(); });
  9029. }
  9030. }
  9031. function installModule (store, rootState, path, module, hot) {
  9032. var isRoot = !path.length;
  9033. var namespace = store._modules.getNamespace(path);
  9034. // register in namespace map
  9035. if (module.namespaced) {
  9036. if (store._modulesNamespaceMap[namespace] && ("development" !== 'production')) {
  9037. console.error(("[vuex] duplicate namespace " + namespace + " for the namespaced module " + (path.join('/'))));
  9038. }
  9039. store._modulesNamespaceMap[namespace] = module;
  9040. }
  9041. // set state
  9042. if (!isRoot && !hot) {
  9043. var parentState = getNestedState(rootState, path.slice(0, -1));
  9044. var moduleName = path[path.length - 1];
  9045. store._withCommit(function () {
  9046. if ((true)) {
  9047. if (moduleName in parentState) {
  9048. console.warn(
  9049. ("[vuex] state field \"" + moduleName + "\" was overridden by a module with the same name at \"" + (path.join('.')) + "\"")
  9050. );
  9051. }
  9052. }
  9053. Vue.set(parentState, moduleName, module.state);
  9054. });
  9055. }
  9056. var local = module.context = makeLocalContext(store, namespace, path);
  9057. module.forEachMutation(function (mutation, key) {
  9058. var namespacedType = namespace + key;
  9059. registerMutation(store, namespacedType, mutation, local);
  9060. });
  9061. module.forEachAction(function (action, key) {
  9062. var type = action.root ? key : namespace + key;
  9063. var handler = action.handler || action;
  9064. registerAction(store, type, handler, local);
  9065. });
  9066. module.forEachGetter(function (getter, key) {
  9067. var namespacedType = namespace + key;
  9068. registerGetter(store, namespacedType, getter, local);
  9069. });
  9070. module.forEachChild(function (child, key) {
  9071. installModule(store, rootState, path.concat(key), child, hot);
  9072. });
  9073. }
  9074. /**
  9075. * make localized dispatch, commit, getters and state
  9076. * if there is no namespace, just use root ones
  9077. */
  9078. function makeLocalContext (store, namespace, path) {
  9079. var noNamespace = namespace === '';
  9080. var local = {
  9081. dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {
  9082. var args = unifyObjectStyle(_type, _payload, _options);
  9083. var payload = args.payload;
  9084. var options = args.options;
  9085. var type = args.type;
  9086. if (!options || !options.root) {
  9087. type = namespace + type;
  9088. if (( true) && !store._actions[type]) {
  9089. console.error(("[vuex] unknown local action type: " + (args.type) + ", global type: " + type));
  9090. return
  9091. }
  9092. }
  9093. return store.dispatch(type, payload)
  9094. },
  9095. commit: noNamespace ? store.commit : function (_type, _payload, _options) {
  9096. var args = unifyObjectStyle(_type, _payload, _options);
  9097. var payload = args.payload;
  9098. var options = args.options;
  9099. var type = args.type;
  9100. if (!options || !options.root) {
  9101. type = namespace + type;
  9102. if (( true) && !store._mutations[type]) {
  9103. console.error(("[vuex] unknown local mutation type: " + (args.type) + ", global type: " + type));
  9104. return
  9105. }
  9106. }
  9107. store.commit(type, payload, options);
  9108. }
  9109. };
  9110. // getters and state object must be gotten lazily
  9111. // because they will be changed by vm update
  9112. Object.defineProperties(local, {
  9113. getters: {
  9114. get: noNamespace
  9115. ? function () { return store.getters; }
  9116. : function () { return makeLocalGetters(store, namespace); }
  9117. },
  9118. state: {
  9119. get: function () { return getNestedState(store.state, path); }
  9120. }
  9121. });
  9122. return local
  9123. }
  9124. function makeLocalGetters (store, namespace) {
  9125. if (!store._makeLocalGettersCache[namespace]) {
  9126. var gettersProxy = {};
  9127. var splitPos = namespace.length;
  9128. Object.keys(store.getters).forEach(function (type) {
  9129. // skip if the target getter is not match this namespace
  9130. if (type.slice(0, splitPos) !== namespace) { return }
  9131. // extract local getter type
  9132. var localType = type.slice(splitPos);
  9133. // Add a port to the getters proxy.
  9134. // Define as getter property because
  9135. // we do not want to evaluate the getters in this time.
  9136. Object.defineProperty(gettersProxy, localType, {
  9137. get: function () { return store.getters[type]; },
  9138. enumerable: true
  9139. });
  9140. });
  9141. store._makeLocalGettersCache[namespace] = gettersProxy;
  9142. }
  9143. return store._makeLocalGettersCache[namespace]
  9144. }
  9145. function registerMutation (store, type, handler, local) {
  9146. var entry = store._mutations[type] || (store._mutations[type] = []);
  9147. entry.push(function wrappedMutationHandler (payload) {
  9148. handler.call(store, local.state, payload);
  9149. });
  9150. }
  9151. function registerAction (store, type, handler, local) {
  9152. var entry = store._actions[type] || (store._actions[type] = []);
  9153. entry.push(function wrappedActionHandler (payload) {
  9154. var res = handler.call(store, {
  9155. dispatch: local.dispatch,
  9156. commit: local.commit,
  9157. getters: local.getters,
  9158. state: local.state,
  9159. rootGetters: store.getters,
  9160. rootState: store.state
  9161. }, payload);
  9162. if (!isPromise(res)) {
  9163. res = Promise.resolve(res);
  9164. }
  9165. if (store._devtoolHook) {
  9166. return res.catch(function (err) {
  9167. store._devtoolHook.emit('vuex:error', err);
  9168. throw err
  9169. })
  9170. } else {
  9171. return res
  9172. }
  9173. });
  9174. }
  9175. function registerGetter (store, type, rawGetter, local) {
  9176. if (store._wrappedGetters[type]) {
  9177. if ((true)) {
  9178. console.error(("[vuex] duplicate getter key: " + type));
  9179. }
  9180. return
  9181. }
  9182. store._wrappedGetters[type] = function wrappedGetter (store) {
  9183. return rawGetter(
  9184. local.state, // local state
  9185. local.getters, // local getters
  9186. store.state, // root state
  9187. store.getters // root getters
  9188. )
  9189. };
  9190. }
  9191. function enableStrictMode (store) {
  9192. store._vm.$watch(function () { return this._data.$$state }, function () {
  9193. if ((true)) {
  9194. assert(store._committing, "do not mutate vuex store state outside mutation handlers.");
  9195. }
  9196. }, { deep: true, sync: true });
  9197. }
  9198. function getNestedState (state, path) {
  9199. return path.reduce(function (state, key) { return state[key]; }, state)
  9200. }
  9201. function unifyObjectStyle (type, payload, options) {
  9202. if (isObject(type) && type.type) {
  9203. options = payload;
  9204. payload = type;
  9205. type = type.type;
  9206. }
  9207. if ((true)) {
  9208. assert(typeof type === 'string', ("expects string as the type, but found " + (typeof type) + "."));
  9209. }
  9210. return { type: type, payload: payload, options: options }
  9211. }
  9212. function install (_Vue) {
  9213. if (Vue && _Vue === Vue) {
  9214. if ((true)) {
  9215. console.error(
  9216. '[vuex] already installed. Vue.use(Vuex) should be called only once.'
  9217. );
  9218. }
  9219. return
  9220. }
  9221. Vue = _Vue;
  9222. applyMixin(Vue);
  9223. }
  9224. /**
  9225. * Reduce the code which written in Vue.js for getting the state.
  9226. * @param {String} [namespace] - Module's namespace
  9227. * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it.
  9228. * @param {Object}
  9229. */
  9230. var mapState = normalizeNamespace(function (namespace, states) {
  9231. var res = {};
  9232. if (( true) && !isValidMap(states)) {
  9233. console.error('[vuex] mapState: mapper parameter must be either an Array or an Object');
  9234. }
  9235. normalizeMap(states).forEach(function (ref) {
  9236. var key = ref.key;
  9237. var val = ref.val;
  9238. res[key] = function mappedState () {
  9239. var state = this.$store.state;
  9240. var getters = this.$store.getters;
  9241. if (namespace) {
  9242. var module = getModuleByNamespace(this.$store, 'mapState', namespace);
  9243. if (!module) {
  9244. return
  9245. }
  9246. state = module.context.state;
  9247. getters = module.context.getters;
  9248. }
  9249. return typeof val === 'function'
  9250. ? val.call(this, state, getters)
  9251. : state[val]
  9252. };
  9253. // mark vuex getter for devtools
  9254. res[key].vuex = true;
  9255. });
  9256. return res
  9257. });
  9258. /**
  9259. * Reduce the code which written in Vue.js for committing the mutation
  9260. * @param {String} [namespace] - Module's namespace
  9261. * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function.
  9262. * @return {Object}
  9263. */
  9264. var mapMutations = normalizeNamespace(function (namespace, mutations) {
  9265. var res = {};
  9266. if (( true) && !isValidMap(mutations)) {
  9267. console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object');
  9268. }
  9269. normalizeMap(mutations).forEach(function (ref) {
  9270. var key = ref.key;
  9271. var val = ref.val;
  9272. res[key] = function mappedMutation () {
  9273. var args = [], len = arguments.length;
  9274. while ( len-- ) args[ len ] = arguments[ len ];
  9275. // Get the commit method from store
  9276. var commit = this.$store.commit;
  9277. if (namespace) {
  9278. var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);
  9279. if (!module) {
  9280. return
  9281. }
  9282. commit = module.context.commit;
  9283. }
  9284. return typeof val === 'function'
  9285. ? val.apply(this, [commit].concat(args))
  9286. : commit.apply(this.$store, [val].concat(args))
  9287. };
  9288. });
  9289. return res
  9290. });
  9291. /**
  9292. * Reduce the code which written in Vue.js for getting the getters
  9293. * @param {String} [namespace] - Module's namespace
  9294. * @param {Object|Array} getters
  9295. * @return {Object}
  9296. */
  9297. var mapGetters = normalizeNamespace(function (namespace, getters) {
  9298. var res = {};
  9299. if (( true) && !isValidMap(getters)) {
  9300. console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object');
  9301. }
  9302. normalizeMap(getters).forEach(function (ref) {
  9303. var key = ref.key;
  9304. var val = ref.val;
  9305. // The namespace has been mutated by normalizeNamespace
  9306. val = namespace + val;
  9307. res[key] = function mappedGetter () {
  9308. if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {
  9309. return
  9310. }
  9311. if (( true) && !(val in this.$store.getters)) {
  9312. console.error(("[vuex] unknown getter: " + val));
  9313. return
  9314. }
  9315. return this.$store.getters[val]
  9316. };
  9317. // mark vuex getter for devtools
  9318. res[key].vuex = true;
  9319. });
  9320. return res
  9321. });
  9322. /**
  9323. * Reduce the code which written in Vue.js for dispatch the action
  9324. * @param {String} [namespace] - Module's namespace
  9325. * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function.
  9326. * @return {Object}
  9327. */
  9328. var mapActions = normalizeNamespace(function (namespace, actions) {
  9329. var res = {};
  9330. if (( true) && !isValidMap(actions)) {
  9331. console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object');
  9332. }
  9333. normalizeMap(actions).forEach(function (ref) {
  9334. var key = ref.key;
  9335. var val = ref.val;
  9336. res[key] = function mappedAction () {
  9337. var args = [], len = arguments.length;
  9338. while ( len-- ) args[ len ] = arguments[ len ];
  9339. // get dispatch function from store
  9340. var dispatch = this.$store.dispatch;
  9341. if (namespace) {
  9342. var module = getModuleByNamespace(this.$store, 'mapActions', namespace);
  9343. if (!module) {
  9344. return
  9345. }
  9346. dispatch = module.context.dispatch;
  9347. }
  9348. return typeof val === 'function'
  9349. ? val.apply(this, [dispatch].concat(args))
  9350. : dispatch.apply(this.$store, [val].concat(args))
  9351. };
  9352. });
  9353. return res
  9354. });
  9355. /**
  9356. * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object
  9357. * @param {String} namespace
  9358. * @return {Object}
  9359. */
  9360. var createNamespacedHelpers = function (namespace) { return ({
  9361. mapState: mapState.bind(null, namespace),
  9362. mapGetters: mapGetters.bind(null, namespace),
  9363. mapMutations: mapMutations.bind(null, namespace),
  9364. mapActions: mapActions.bind(null, namespace)
  9365. }); };
  9366. /**
  9367. * Normalize the map
  9368. * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ]
  9369. * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ]
  9370. * @param {Array|Object} map
  9371. * @return {Object}
  9372. */
  9373. function normalizeMap (map) {
  9374. if (!isValidMap(map)) {
  9375. return []
  9376. }
  9377. return Array.isArray(map)
  9378. ? map.map(function (key) { return ({ key: key, val: key }); })
  9379. : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })
  9380. }
  9381. /**
  9382. * Validate whether given map is valid or not
  9383. * @param {*} map
  9384. * @return {Boolean}
  9385. */
  9386. function isValidMap (map) {
  9387. return Array.isArray(map) || isObject(map)
  9388. }
  9389. /**
  9390. * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map.
  9391. * @param {Function} fn
  9392. * @return {Function}
  9393. */
  9394. function normalizeNamespace (fn) {
  9395. return function (namespace, map) {
  9396. if (typeof namespace !== 'string') {
  9397. map = namespace;
  9398. namespace = '';
  9399. } else if (namespace.charAt(namespace.length - 1) !== '/') {
  9400. namespace += '/';
  9401. }
  9402. return fn(namespace, map)
  9403. }
  9404. }
  9405. /**
  9406. * Search a special module from store by namespace. if module not exist, print error message.
  9407. * @param {Object} store
  9408. * @param {String} helper
  9409. * @param {String} namespace
  9410. * @return {Object}
  9411. */
  9412. function getModuleByNamespace (store, helper, namespace) {
  9413. var module = store._modulesNamespaceMap[namespace];
  9414. if (( true) && !module) {
  9415. console.error(("[vuex] module namespace not found in " + helper + "(): " + namespace));
  9416. }
  9417. return module
  9418. }
  9419. // Credits: borrowed code from fcomb/redux-logger
  9420. function createLogger (ref) {
  9421. if ( ref === void 0 ) ref = {};
  9422. var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true;
  9423. var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; };
  9424. var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; };
  9425. var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; };
  9426. var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; };
  9427. var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; };
  9428. var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true;
  9429. var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true;
  9430. var logger = ref.logger; if ( logger === void 0 ) logger = console;
  9431. return function (store) {
  9432. var prevState = deepCopy(store.state);
  9433. if (typeof logger === 'undefined') {
  9434. return
  9435. }
  9436. if (logMutations) {
  9437. store.subscribe(function (mutation, state) {
  9438. var nextState = deepCopy(state);
  9439. if (filter(mutation, prevState, nextState)) {
  9440. var formattedTime = getFormattedTime();
  9441. var formattedMutation = mutationTransformer(mutation);
  9442. var message = "mutation " + (mutation.type) + formattedTime;
  9443. startMessage(logger, message, collapsed);
  9444. logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState));
  9445. logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation);
  9446. logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState));
  9447. endMessage(logger);
  9448. }
  9449. prevState = nextState;
  9450. });
  9451. }
  9452. if (logActions) {
  9453. store.subscribeAction(function (action, state) {
  9454. if (actionFilter(action, state)) {
  9455. var formattedTime = getFormattedTime();
  9456. var formattedAction = actionTransformer(action);
  9457. var message = "action " + (action.type) + formattedTime;
  9458. startMessage(logger, message, collapsed);
  9459. logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction);
  9460. endMessage(logger);
  9461. }
  9462. });
  9463. }
  9464. }
  9465. }
  9466. function startMessage (logger, message, collapsed) {
  9467. var startMessage = collapsed
  9468. ? logger.groupCollapsed
  9469. : logger.group;
  9470. // render
  9471. try {
  9472. startMessage.call(logger, message);
  9473. } catch (e) {
  9474. logger.log(message);
  9475. }
  9476. }
  9477. function endMessage (logger) {
  9478. try {
  9479. logger.groupEnd();
  9480. } catch (e) {
  9481. logger.log('—— log end ——');
  9482. }
  9483. }
  9484. function getFormattedTime () {
  9485. var time = new Date();
  9486. return (" @ " + (pad(time.getHours(), 2)) + ":" + (pad(time.getMinutes(), 2)) + ":" + (pad(time.getSeconds(), 2)) + "." + (pad(time.getMilliseconds(), 3)))
  9487. }
  9488. function repeat (str, times) {
  9489. return (new Array(times + 1)).join(str)
  9490. }
  9491. function pad (num, maxLength) {
  9492. return repeat('0', maxLength - num.toString().length) + num
  9493. }
  9494. var index_cjs = {
  9495. Store: Store,
  9496. install: install,
  9497. version: '3.6.2',
  9498. mapState: mapState,
  9499. mapMutations: mapMutations,
  9500. mapGetters: mapGetters,
  9501. mapActions: mapActions,
  9502. createNamespacedHelpers: createNamespacedHelpers,
  9503. createLogger: createLogger
  9504. };
  9505. module.exports = index_cjs;
  9506. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../../webpack/buildin/global.js */ 2)))
  9507. /***/ }),
  9508. /* 18 */
  9509. /*!****************************************************************************!*\
  9510. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/common/utils.js ***!
  9511. \****************************************************************************/
  9512. /*! no static exports found */
  9513. /***/ (function(module, exports, __webpack_require__) {
  9514. "use strict";
  9515. /* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.msg = msg;exports.showLoading = showLoading;exports.hideLoading = hideLoading;exports.in_array = in_array;exports.isDataType = isDataType;exports.ltrim = ltrim;exports.rtrim = rtrim;exports.navigateTo = navigateTo;exports.redirectTo = redirectTo;exports.reLaunch = reLaunch;exports.switchTab = switchTab;exports.navigateBack = navigateBack;exports.preloadPage = preloadPage;exports.prePage = prePage;exports.rpx2px = rpx2px;exports.px2rpx = px2rpx;exports.getSystemInfo = getSystemInfo;exports.platformAgent = platformAgent;exports.isIOS = isIOS;exports.getShareUrl = getShareUrl;exports.iCopy = iCopy;var _storage = _interopRequireDefault(__webpack_require__(/*! ./storage */ 15));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
  9516. function msg(content) {var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3000;
  9517. uni.showToast({
  9518. icon: 'none',
  9519. title: content,
  9520. duration: time });
  9521. }
  9522. function showLoading() {var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "加载数据中...";var mask = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
  9523. uni.showLoading({
  9524. title: content,
  9525. mask: mask });
  9526. }
  9527. function hideLoading() {var timer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
  9528. if (timer > 0) {
  9529. var t = setTimeout(function () {
  9530. uni.hideLoading();
  9531. clearTimeout(t);
  9532. }, timer);
  9533. } else {
  9534. uni.hideLoading();
  9535. }
  9536. }
  9537. function in_array(search, array) {
  9538. var flag = false;
  9539. for (var i in array) {
  9540. if (array[i] == search) {
  9541. flag = true;
  9542. break;
  9543. }
  9544. }
  9545. return flag;
  9546. }
  9547. function isDataType(data, type) {
  9548. return Object.prototype.toString.call(data) === '[object ' + type + ']';
  9549. }
  9550. function ltrim(str, char) {
  9551. var pos = str.indexOf(char);
  9552. var sonstr = str.substr(pos + 1);
  9553. return sonstr;
  9554. }
  9555. function rtrim(str, char) {
  9556. var pos = str.lastIndexOf(char);
  9557. var sonstr = str.substr(0, pos);
  9558. return sonstr;
  9559. }
  9560. /**
  9561. * 保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。
  9562. */
  9563. function navigateTo(url, params) {
  9564. uni.navigateTo({
  9565. url: parseUrl(url, params) });
  9566. }
  9567. /**
  9568. * 关闭当前页面,跳转到应用内的某个页面。
  9569. */
  9570. function redirectTo(url, params) {
  9571. uni.redirectTo({
  9572. url: parseUrl(url, params) });
  9573. }
  9574. /**
  9575. * 关闭所有页面,打开到应用内的某个页面。
  9576. */
  9577. function reLaunch(url, params) {
  9578. uni.reLaunch({
  9579. url: parseUrl(url, params) });
  9580. }
  9581. /**
  9582. * 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
  9583. */
  9584. function switchTab(url, params) {
  9585. uni.switchTab({
  9586. url: parseUrl(url, params) });
  9587. }
  9588. /**
  9589. * 关闭当前页面,返回上一页面或多级页面
  9590. */
  9591. function navigateBack(delta) {
  9592. uni.navigateBack({
  9593. delta: delta });
  9594. }
  9595. /**
  9596. * 预加载页面,是一种性能优化技术。被预载的页面,在打开时速度更快。
  9597. */
  9598. function preloadPage() {
  9599. uni.preloadPage({
  9600. url: parseUrl(url, params) });
  9601. }
  9602. function prePage() {
  9603. var pages = getCurrentPages();
  9604. var prePage = pages[pages.length - 2];
  9605. return prePage.$vm;
  9606. }
  9607. /**
  9608. * rpx转px
  9609. * @param int|float num
  9610. */
  9611. function rpx2px(num) {
  9612. // const info = uni.getSystemInfoSync()
  9613. // let scale = 750 / info.windowWidth;
  9614. // return (Number.isNaN(parseFloat(num)) ? 0 : parseFloat(num)) / scale;
  9615. return uni.upx2px(num);
  9616. }
  9617. /**
  9618. * @param int|float num
  9619. */
  9620. function px2rpx(num) {
  9621. return num / (uni.upx2px(num) / num);
  9622. }
  9623. function getSystemInfo() {
  9624. var info = uni.getSystemInfoSync();
  9625. return {
  9626. w: info.windowWidth,
  9627. h: info.windowHeight };
  9628. }
  9629. function parseUrl(url, params) {
  9630. var arr = [];
  9631. var string = '';
  9632. for (var i in params) {
  9633. arr.push(i + "=" + params[i]);
  9634. }
  9635. string = "/pages/" + url;
  9636. if (arr.length > 0) {
  9637. string += "?" + arr.join("&");
  9638. }
  9639. return string;
  9640. }
  9641. function platformAgent() {
  9642. var obj = { type: "", name: "", isWechat: false, isMini: false };
  9643. obj.isMini = true;
  9644. obj.type = "mp-weixin";
  9645. obj.name = "微信小程序";
  9646. return obj;
  9647. }
  9648. function isIOS() {
  9649. return !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
  9650. }
  9651. function getShareUrl(url) {
  9652. var users = _storage.default.getJson("users");
  9653. return url;
  9654. }
  9655. function iCopy(content) {
  9656. return new Promise(function (resolve, reject) {
  9657. if (!content) {
  9658. reject('复制的内容不能为空 !');
  9659. } else {
  9660. // H5端的复制逻辑
  9661. // 小程序端 和 app端的复制功能
  9662. uni.setClipboardData({
  9663. data: content,
  9664. success: function success() {
  9665. resolve("复制成功");
  9666. },
  9667. fail: function fail() {
  9668. reject("复制失败");
  9669. } });
  9670. }
  9671. });
  9672. }
  9673. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
  9674. /***/ }),
  9675. /* 19 */
  9676. /*!******************************************************************************************!*\
  9677. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/moment.js ***!
  9678. \******************************************************************************************/
  9679. /*! no static exports found */
  9680. /***/ (function(module, exports, __webpack_require__) {
  9681. /* WEBPACK VAR INJECTION */(function(module) {var require;//! moment.js
  9682. //! version : 2.29.4
  9683. //! authors : Tim Wood, Iskren Chernev, Moment.js contributors
  9684. //! license : MIT
  9685. //! momentjs.com
  9686. ;(function (global, factory) {
  9687. true ? module.exports = factory() :
  9688. undefined;
  9689. })(this, function () {'use strict';
  9690. var hookCallback;
  9691. function hooks() {
  9692. return hookCallback.apply(null, arguments);
  9693. }
  9694. // This is done to register the method called with moment()
  9695. // without creating circular dependencies.
  9696. function setHookCallback(callback) {
  9697. hookCallback = callback;
  9698. }
  9699. function isArray(input) {
  9700. return (
  9701. input instanceof Array ||
  9702. Object.prototype.toString.call(input) === '[object Array]');
  9703. }
  9704. function isObject(input) {
  9705. // IE8 will treat undefined and null as object if it wasn't for
  9706. // input != null
  9707. return (
  9708. input != null &&
  9709. Object.prototype.toString.call(input) === '[object Object]');
  9710. }
  9711. function hasOwnProp(a, b) {
  9712. return Object.prototype.hasOwnProperty.call(a, b);
  9713. }
  9714. function isObjectEmpty(obj) {
  9715. if (Object.getOwnPropertyNames) {
  9716. return Object.getOwnPropertyNames(obj).length === 0;
  9717. } else {
  9718. var k;
  9719. for (k in obj) {
  9720. if (hasOwnProp(obj, k)) {
  9721. return false;
  9722. }
  9723. }
  9724. return true;
  9725. }
  9726. }
  9727. function isUndefined(input) {
  9728. return input === void 0;
  9729. }
  9730. function isNumber(input) {
  9731. return (
  9732. typeof input === 'number' ||
  9733. Object.prototype.toString.call(input) === '[object Number]');
  9734. }
  9735. function isDate(input) {
  9736. return (
  9737. input instanceof Date ||
  9738. Object.prototype.toString.call(input) === '[object Date]');
  9739. }
  9740. function map(arr, fn) {
  9741. var res = [],
  9742. i,
  9743. arrLen = arr.length;
  9744. for (i = 0; i < arrLen; ++i) {
  9745. res.push(fn(arr[i], i));
  9746. }
  9747. return res;
  9748. }
  9749. function extend(a, b) {
  9750. for (var i in b) {
  9751. if (hasOwnProp(b, i)) {
  9752. a[i] = b[i];
  9753. }
  9754. }
  9755. if (hasOwnProp(b, 'toString')) {
  9756. a.toString = b.toString;
  9757. }
  9758. if (hasOwnProp(b, 'valueOf')) {
  9759. a.valueOf = b.valueOf;
  9760. }
  9761. return a;
  9762. }
  9763. function createUTC(input, format, locale, strict) {
  9764. return createLocalOrUTC(input, format, locale, strict, true).utc();
  9765. }
  9766. function defaultParsingFlags() {
  9767. // We need to deep clone this object.
  9768. return {
  9769. empty: false,
  9770. unusedTokens: [],
  9771. unusedInput: [],
  9772. overflow: -2,
  9773. charsLeftOver: 0,
  9774. nullInput: false,
  9775. invalidEra: null,
  9776. invalidMonth: null,
  9777. invalidFormat: false,
  9778. userInvalidated: false,
  9779. iso: false,
  9780. parsedDateParts: [],
  9781. era: null,
  9782. meridiem: null,
  9783. rfc2822: false,
  9784. weekdayMismatch: false };
  9785. }
  9786. function getParsingFlags(m) {
  9787. if (m._pf == null) {
  9788. m._pf = defaultParsingFlags();
  9789. }
  9790. return m._pf;
  9791. }
  9792. var some;
  9793. if (Array.prototype.some) {
  9794. some = Array.prototype.some;
  9795. } else {
  9796. some = function some(fun) {
  9797. var t = Object(this),
  9798. len = t.length >>> 0,
  9799. i;
  9800. for (i = 0; i < len; i++) {
  9801. if (i in t && fun.call(this, t[i], i, t)) {
  9802. return true;
  9803. }
  9804. }
  9805. return false;
  9806. };
  9807. }
  9808. function isValid(m) {
  9809. if (m._isValid == null) {
  9810. var flags = getParsingFlags(m),
  9811. parsedParts = some.call(flags.parsedDateParts, function (i) {
  9812. return i != null;
  9813. }),
  9814. isNowValid =
  9815. !isNaN(m._d.getTime()) &&
  9816. flags.overflow < 0 &&
  9817. !flags.empty &&
  9818. !flags.invalidEra &&
  9819. !flags.invalidMonth &&
  9820. !flags.invalidWeekday &&
  9821. !flags.weekdayMismatch &&
  9822. !flags.nullInput &&
  9823. !flags.invalidFormat &&
  9824. !flags.userInvalidated && (
  9825. !flags.meridiem || flags.meridiem && parsedParts);
  9826. if (m._strict) {
  9827. isNowValid =
  9828. isNowValid &&
  9829. flags.charsLeftOver === 0 &&
  9830. flags.unusedTokens.length === 0 &&
  9831. flags.bigHour === undefined;
  9832. }
  9833. if (Object.isFrozen == null || !Object.isFrozen(m)) {
  9834. m._isValid = isNowValid;
  9835. } else {
  9836. return isNowValid;
  9837. }
  9838. }
  9839. return m._isValid;
  9840. }
  9841. function createInvalid(flags) {
  9842. var m = createUTC(NaN);
  9843. if (flags != null) {
  9844. extend(getParsingFlags(m), flags);
  9845. } else {
  9846. getParsingFlags(m).userInvalidated = true;
  9847. }
  9848. return m;
  9849. }
  9850. // Plugins that add properties should also add the key here (null value),
  9851. // so we can properly clone ourselves.
  9852. var momentProperties = hooks.momentProperties = [],
  9853. updateInProgress = false;
  9854. function copyConfig(to, from) {
  9855. var i,
  9856. prop,
  9857. val,
  9858. momentPropertiesLen = momentProperties.length;
  9859. if (!isUndefined(from._isAMomentObject)) {
  9860. to._isAMomentObject = from._isAMomentObject;
  9861. }
  9862. if (!isUndefined(from._i)) {
  9863. to._i = from._i;
  9864. }
  9865. if (!isUndefined(from._f)) {
  9866. to._f = from._f;
  9867. }
  9868. if (!isUndefined(from._l)) {
  9869. to._l = from._l;
  9870. }
  9871. if (!isUndefined(from._strict)) {
  9872. to._strict = from._strict;
  9873. }
  9874. if (!isUndefined(from._tzm)) {
  9875. to._tzm = from._tzm;
  9876. }
  9877. if (!isUndefined(from._isUTC)) {
  9878. to._isUTC = from._isUTC;
  9879. }
  9880. if (!isUndefined(from._offset)) {
  9881. to._offset = from._offset;
  9882. }
  9883. if (!isUndefined(from._pf)) {
  9884. to._pf = getParsingFlags(from);
  9885. }
  9886. if (!isUndefined(from._locale)) {
  9887. to._locale = from._locale;
  9888. }
  9889. if (momentPropertiesLen > 0) {
  9890. for (i = 0; i < momentPropertiesLen; i++) {
  9891. prop = momentProperties[i];
  9892. val = from[prop];
  9893. if (!isUndefined(val)) {
  9894. to[prop] = val;
  9895. }
  9896. }
  9897. }
  9898. return to;
  9899. }
  9900. // Moment prototype object
  9901. function Moment(config) {
  9902. copyConfig(this, config);
  9903. this._d = new Date(config._d != null ? config._d.getTime() : NaN);
  9904. if (!this.isValid()) {
  9905. this._d = new Date(NaN);
  9906. }
  9907. // Prevent infinite loop in case updateOffset creates new moment
  9908. // objects.
  9909. if (updateInProgress === false) {
  9910. updateInProgress = true;
  9911. hooks.updateOffset(this);
  9912. updateInProgress = false;
  9913. }
  9914. }
  9915. function isMoment(obj) {
  9916. return (
  9917. obj instanceof Moment || obj != null && obj._isAMomentObject != null);
  9918. }
  9919. function warn(msg) {
  9920. if (
  9921. hooks.suppressDeprecationWarnings === false &&
  9922. typeof console !== 'undefined' &&
  9923. console.warn)
  9924. {
  9925. console.warn('Deprecation warning: ' + msg);
  9926. }
  9927. }
  9928. function deprecate(msg, fn) {
  9929. var firstTime = true;
  9930. return extend(function () {
  9931. if (hooks.deprecationHandler != null) {
  9932. hooks.deprecationHandler(null, msg);
  9933. }
  9934. if (firstTime) {
  9935. var args = [],
  9936. arg,
  9937. i,
  9938. key,
  9939. argLen = arguments.length;
  9940. for (i = 0; i < argLen; i++) {
  9941. arg = '';
  9942. if (typeof arguments[i] === 'object') {
  9943. arg += '\n[' + i + '] ';
  9944. for (key in arguments[0]) {
  9945. if (hasOwnProp(arguments[0], key)) {
  9946. arg += key + ': ' + arguments[0][key] + ', ';
  9947. }
  9948. }
  9949. arg = arg.slice(0, -2); // Remove trailing comma and space
  9950. } else {
  9951. arg = arguments[i];
  9952. }
  9953. args.push(arg);
  9954. }
  9955. warn(
  9956. msg +
  9957. '\nArguments: ' +
  9958. Array.prototype.slice.call(args).join('') +
  9959. '\n' +
  9960. new Error().stack);
  9961. firstTime = false;
  9962. }
  9963. return fn.apply(this, arguments);
  9964. }, fn);
  9965. }
  9966. var deprecations = {};
  9967. function deprecateSimple(name, msg) {
  9968. if (hooks.deprecationHandler != null) {
  9969. hooks.deprecationHandler(name, msg);
  9970. }
  9971. if (!deprecations[name]) {
  9972. warn(msg);
  9973. deprecations[name] = true;
  9974. }
  9975. }
  9976. hooks.suppressDeprecationWarnings = false;
  9977. hooks.deprecationHandler = null;
  9978. function isFunction(input) {
  9979. return (
  9980. typeof Function !== 'undefined' && input instanceof Function ||
  9981. Object.prototype.toString.call(input) === '[object Function]');
  9982. }
  9983. function set(config) {
  9984. var prop, i;
  9985. for (i in config) {
  9986. if (hasOwnProp(config, i)) {
  9987. prop = config[i];
  9988. if (isFunction(prop)) {
  9989. this[i] = prop;
  9990. } else {
  9991. this['_' + i] = prop;
  9992. }
  9993. }
  9994. }
  9995. this._config = config;
  9996. // Lenient ordinal parsing accepts just a number in addition to
  9997. // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.
  9998. // TODO: Remove "ordinalParse" fallback in next major release.
  9999. this._dayOfMonthOrdinalParseLenient = new RegExp(
  10000. (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +
  10001. '|' +
  10002. /\d{1,2}/.source);
  10003. }
  10004. function mergeConfigs(parentConfig, childConfig) {
  10005. var res = extend({}, parentConfig),
  10006. prop;
  10007. for (prop in childConfig) {
  10008. if (hasOwnProp(childConfig, prop)) {
  10009. if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {
  10010. res[prop] = {};
  10011. extend(res[prop], parentConfig[prop]);
  10012. extend(res[prop], childConfig[prop]);
  10013. } else if (childConfig[prop] != null) {
  10014. res[prop] = childConfig[prop];
  10015. } else {
  10016. delete res[prop];
  10017. }
  10018. }
  10019. }
  10020. for (prop in parentConfig) {
  10021. if (
  10022. hasOwnProp(parentConfig, prop) &&
  10023. !hasOwnProp(childConfig, prop) &&
  10024. isObject(parentConfig[prop]))
  10025. {
  10026. // make sure changes to properties don't modify parent config
  10027. res[prop] = extend({}, res[prop]);
  10028. }
  10029. }
  10030. return res;
  10031. }
  10032. function Locale(config) {
  10033. if (config != null) {
  10034. this.set(config);
  10035. }
  10036. }
  10037. var keys;
  10038. if (Object.keys) {
  10039. keys = Object.keys;
  10040. } else {
  10041. keys = function keys(obj) {
  10042. var i,
  10043. res = [];
  10044. for (i in obj) {
  10045. if (hasOwnProp(obj, i)) {
  10046. res.push(i);
  10047. }
  10048. }
  10049. return res;
  10050. };
  10051. }
  10052. var defaultCalendar = {
  10053. sameDay: '[Today at] LT',
  10054. nextDay: '[Tomorrow at] LT',
  10055. nextWeek: 'dddd [at] LT',
  10056. lastDay: '[Yesterday at] LT',
  10057. lastWeek: '[Last] dddd [at] LT',
  10058. sameElse: 'L' };
  10059. function calendar(key, mom, now) {
  10060. var output = this._calendar[key] || this._calendar['sameElse'];
  10061. return isFunction(output) ? output.call(mom, now) : output;
  10062. }
  10063. function zeroFill(number, targetLength, forceSign) {
  10064. var absNumber = '' + Math.abs(number),
  10065. zerosToFill = targetLength - absNumber.length,
  10066. sign = number >= 0;
  10067. return (
  10068. (sign ? forceSign ? '+' : '' : '-') +
  10069. Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +
  10070. absNumber);
  10071. }
  10072. var formattingTokens =
  10073. /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,
  10074. localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,
  10075. formatFunctions = {},
  10076. formatTokenFunctions = {};
  10077. // token: 'M'
  10078. // padded: ['MM', 2]
  10079. // ordinal: 'Mo'
  10080. // callback: function () { this.month() + 1 }
  10081. function addFormatToken(token, padded, ordinal, callback) {
  10082. var func = callback;
  10083. if (typeof callback === 'string') {
  10084. func = function func() {
  10085. return this[callback]();
  10086. };
  10087. }
  10088. if (token) {
  10089. formatTokenFunctions[token] = func;
  10090. }
  10091. if (padded) {
  10092. formatTokenFunctions[padded[0]] = function () {
  10093. return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
  10094. };
  10095. }
  10096. if (ordinal) {
  10097. formatTokenFunctions[ordinal] = function () {
  10098. return this.localeData().ordinal(
  10099. func.apply(this, arguments),
  10100. token);
  10101. };
  10102. }
  10103. }
  10104. function removeFormattingTokens(input) {
  10105. if (input.match(/\[[\s\S]/)) {
  10106. return input.replace(/^\[|\]$/g, '');
  10107. }
  10108. return input.replace(/\\/g, '');
  10109. }
  10110. function makeFormatFunction(format) {
  10111. var array = format.match(formattingTokens),
  10112. i,
  10113. length;
  10114. for (i = 0, length = array.length; i < length; i++) {
  10115. if (formatTokenFunctions[array[i]]) {
  10116. array[i] = formatTokenFunctions[array[i]];
  10117. } else {
  10118. array[i] = removeFormattingTokens(array[i]);
  10119. }
  10120. }
  10121. return function (mom) {
  10122. var output = '',
  10123. i;
  10124. for (i = 0; i < length; i++) {
  10125. output += isFunction(array[i]) ?
  10126. array[i].call(mom, format) :
  10127. array[i];
  10128. }
  10129. return output;
  10130. };
  10131. }
  10132. // format date using native date object
  10133. function formatMoment(m, format) {
  10134. if (!m.isValid()) {
  10135. return m.localeData().invalidDate();
  10136. }
  10137. format = expandFormat(format, m.localeData());
  10138. formatFunctions[format] =
  10139. formatFunctions[format] || makeFormatFunction(format);
  10140. return formatFunctions[format](m);
  10141. }
  10142. function expandFormat(format, locale) {
  10143. var i = 5;
  10144. function replaceLongDateFormatTokens(input) {
  10145. return locale.longDateFormat(input) || input;
  10146. }
  10147. localFormattingTokens.lastIndex = 0;
  10148. while (i >= 0 && localFormattingTokens.test(format)) {
  10149. format = format.replace(
  10150. localFormattingTokens,
  10151. replaceLongDateFormatTokens);
  10152. localFormattingTokens.lastIndex = 0;
  10153. i -= 1;
  10154. }
  10155. return format;
  10156. }
  10157. var defaultLongDateFormat = {
  10158. LTS: 'h:mm:ss A',
  10159. LT: 'h:mm A',
  10160. L: 'MM/DD/YYYY',
  10161. LL: 'MMMM D, YYYY',
  10162. LLL: 'MMMM D, YYYY h:mm A',
  10163. LLLL: 'dddd, MMMM D, YYYY h:mm A' };
  10164. function longDateFormat(key) {
  10165. var format = this._longDateFormat[key],
  10166. formatUpper = this._longDateFormat[key.toUpperCase()];
  10167. if (format || !formatUpper) {
  10168. return format;
  10169. }
  10170. this._longDateFormat[key] = formatUpper.
  10171. match(formattingTokens).
  10172. map(function (tok) {
  10173. if (
  10174. tok === 'MMMM' ||
  10175. tok === 'MM' ||
  10176. tok === 'DD' ||
  10177. tok === 'dddd')
  10178. {
  10179. return tok.slice(1);
  10180. }
  10181. return tok;
  10182. }).
  10183. join('');
  10184. return this._longDateFormat[key];
  10185. }
  10186. var defaultInvalidDate = 'Invalid date';
  10187. function invalidDate() {
  10188. return this._invalidDate;
  10189. }
  10190. var defaultOrdinal = '%d',
  10191. defaultDayOfMonthOrdinalParse = /\d{1,2}/;
  10192. function ordinal(number) {
  10193. return this._ordinal.replace('%d', number);
  10194. }
  10195. var defaultRelativeTime = {
  10196. future: 'in %s',
  10197. past: '%s ago',
  10198. s: 'a few seconds',
  10199. ss: '%d seconds',
  10200. m: 'a minute',
  10201. mm: '%d minutes',
  10202. h: 'an hour',
  10203. hh: '%d hours',
  10204. d: 'a day',
  10205. dd: '%d days',
  10206. w: 'a week',
  10207. ww: '%d weeks',
  10208. M: 'a month',
  10209. MM: '%d months',
  10210. y: 'a year',
  10211. yy: '%d years' };
  10212. function relativeTime(number, withoutSuffix, string, isFuture) {
  10213. var output = this._relativeTime[string];
  10214. return isFunction(output) ?
  10215. output(number, withoutSuffix, string, isFuture) :
  10216. output.replace(/%d/i, number);
  10217. }
  10218. function pastFuture(diff, output) {
  10219. var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
  10220. return isFunction(format) ? format(output) : format.replace(/%s/i, output);
  10221. }
  10222. var aliases = {};
  10223. function addUnitAlias(unit, shorthand) {
  10224. var lowerCase = unit.toLowerCase();
  10225. aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
  10226. }
  10227. function normalizeUnits(units) {
  10228. return typeof units === 'string' ?
  10229. aliases[units] || aliases[units.toLowerCase()] :
  10230. undefined;
  10231. }
  10232. function normalizeObjectUnits(inputObject) {
  10233. var normalizedInput = {},
  10234. normalizedProp,
  10235. prop;
  10236. for (prop in inputObject) {
  10237. if (hasOwnProp(inputObject, prop)) {
  10238. normalizedProp = normalizeUnits(prop);
  10239. if (normalizedProp) {
  10240. normalizedInput[normalizedProp] = inputObject[prop];
  10241. }
  10242. }
  10243. }
  10244. return normalizedInput;
  10245. }
  10246. var priorities = {};
  10247. function addUnitPriority(unit, priority) {
  10248. priorities[unit] = priority;
  10249. }
  10250. function getPrioritizedUnits(unitsObj) {
  10251. var units = [],
  10252. u;
  10253. for (u in unitsObj) {
  10254. if (hasOwnProp(unitsObj, u)) {
  10255. units.push({ unit: u, priority: priorities[u] });
  10256. }
  10257. }
  10258. units.sort(function (a, b) {
  10259. return a.priority - b.priority;
  10260. });
  10261. return units;
  10262. }
  10263. function isLeapYear(year) {
  10264. return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
  10265. }
  10266. function absFloor(number) {
  10267. if (number < 0) {
  10268. // -0 -> 0
  10269. return Math.ceil(number) || 0;
  10270. } else {
  10271. return Math.floor(number);
  10272. }
  10273. }
  10274. function toInt(argumentForCoercion) {
  10275. var coercedNumber = +argumentForCoercion,
  10276. value = 0;
  10277. if (coercedNumber !== 0 && isFinite(coercedNumber)) {
  10278. value = absFloor(coercedNumber);
  10279. }
  10280. return value;
  10281. }
  10282. function makeGetSet(unit, keepTime) {
  10283. return function (value) {
  10284. if (value != null) {
  10285. set$1(this, unit, value);
  10286. hooks.updateOffset(this, keepTime);
  10287. return this;
  10288. } else {
  10289. return get(this, unit);
  10290. }
  10291. };
  10292. }
  10293. function get(mom, unit) {
  10294. return mom.isValid() ?
  10295. mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() :
  10296. NaN;
  10297. }
  10298. function set$1(mom, unit, value) {
  10299. if (mom.isValid() && !isNaN(value)) {
  10300. if (
  10301. unit === 'FullYear' &&
  10302. isLeapYear(mom.year()) &&
  10303. mom.month() === 1 &&
  10304. mom.date() === 29)
  10305. {
  10306. value = toInt(value);
  10307. mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](
  10308. value,
  10309. mom.month(),
  10310. daysInMonth(value, mom.month()));
  10311. } else {
  10312. mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
  10313. }
  10314. }
  10315. }
  10316. // MOMENTS
  10317. function stringGet(units) {
  10318. units = normalizeUnits(units);
  10319. if (isFunction(this[units])) {
  10320. return this[units]();
  10321. }
  10322. return this;
  10323. }
  10324. function stringSet(units, value) {
  10325. if (typeof units === 'object') {
  10326. units = normalizeObjectUnits(units);
  10327. var prioritized = getPrioritizedUnits(units),
  10328. i,
  10329. prioritizedLen = prioritized.length;
  10330. for (i = 0; i < prioritizedLen; i++) {
  10331. this[prioritized[i].unit](units[prioritized[i].unit]);
  10332. }
  10333. } else {
  10334. units = normalizeUnits(units);
  10335. if (isFunction(this[units])) {
  10336. return this[units](value);
  10337. }
  10338. }
  10339. return this;
  10340. }
  10341. var match1 = /\d/, // 0 - 9
  10342. match2 = /\d\d/, // 00 - 99
  10343. match3 = /\d{3}/, // 000 - 999
  10344. match4 = /\d{4}/, // 0000 - 9999
  10345. match6 = /[+-]?\d{6}/, // -999999 - 999999
  10346. match1to2 = /\d\d?/, // 0 - 99
  10347. match3to4 = /\d\d\d\d?/, // 999 - 9999
  10348. match5to6 = /\d\d\d\d\d\d?/, // 99999 - 999999
  10349. match1to3 = /\d{1,3}/, // 0 - 999
  10350. match1to4 = /\d{1,4}/, // 0 - 9999
  10351. match1to6 = /[+-]?\d{1,6}/, // -999999 - 999999
  10352. matchUnsigned = /\d+/, // 0 - inf
  10353. matchSigned = /[+-]?\d+/, // -inf - inf
  10354. matchOffset = /Z|[+-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z
  10355. matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z
  10356. matchTimestamp = /[+-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123
  10357. // any word (or two) characters or numbers including two/three word month in arabic.
  10358. // includes scottish gaelic two word and hyphenated months
  10359. matchWord =
  10360. /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,
  10361. regexes;
  10362. regexes = {};
  10363. function addRegexToken(token, regex, strictRegex) {
  10364. regexes[token] = isFunction(regex) ?
  10365. regex :
  10366. function (isStrict, localeData) {
  10367. return isStrict && strictRegex ? strictRegex : regex;
  10368. };
  10369. }
  10370. function getParseRegexForToken(token, config) {
  10371. if (!hasOwnProp(regexes, token)) {
  10372. return new RegExp(unescapeFormat(token));
  10373. }
  10374. return regexes[token](config._strict, config._locale);
  10375. }
  10376. // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
  10377. function unescapeFormat(s) {
  10378. return regexEscape(
  10379. s.
  10380. replace('\\', '').
  10381. replace(
  10382. /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,
  10383. function (matched, p1, p2, p3, p4) {
  10384. return p1 || p2 || p3 || p4;
  10385. }));
  10386. }
  10387. function regexEscape(s) {
  10388. return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
  10389. }
  10390. var tokens = {};
  10391. function addParseToken(token, callback) {
  10392. var i,
  10393. func = callback,
  10394. tokenLen;
  10395. if (typeof token === 'string') {
  10396. token = [token];
  10397. }
  10398. if (isNumber(callback)) {
  10399. func = function func(input, array) {
  10400. array[callback] = toInt(input);
  10401. };
  10402. }
  10403. tokenLen = token.length;
  10404. for (i = 0; i < tokenLen; i++) {
  10405. tokens[token[i]] = func;
  10406. }
  10407. }
  10408. function addWeekParseToken(token, callback) {
  10409. addParseToken(token, function (input, array, config, token) {
  10410. config._w = config._w || {};
  10411. callback(input, config._w, config, token);
  10412. });
  10413. }
  10414. function addTimeToArrayFromToken(token, input, config) {
  10415. if (input != null && hasOwnProp(tokens, token)) {
  10416. tokens[token](input, config._a, config, token);
  10417. }
  10418. }
  10419. var YEAR = 0,
  10420. MONTH = 1,
  10421. DATE = 2,
  10422. HOUR = 3,
  10423. MINUTE = 4,
  10424. SECOND = 5,
  10425. MILLISECOND = 6,
  10426. WEEK = 7,
  10427. WEEKDAY = 8;
  10428. function mod(n, x) {
  10429. return (n % x + x) % x;
  10430. }
  10431. var indexOf;
  10432. if (Array.prototype.indexOf) {
  10433. indexOf = Array.prototype.indexOf;
  10434. } else {
  10435. indexOf = function indexOf(o) {
  10436. // I know
  10437. var i;
  10438. for (i = 0; i < this.length; ++i) {
  10439. if (this[i] === o) {
  10440. return i;
  10441. }
  10442. }
  10443. return -1;
  10444. };
  10445. }
  10446. function daysInMonth(year, month) {
  10447. if (isNaN(year) || isNaN(month)) {
  10448. return NaN;
  10449. }
  10450. var modMonth = mod(month, 12);
  10451. year += (month - modMonth) / 12;
  10452. return modMonth === 1 ?
  10453. isLeapYear(year) ?
  10454. 29 :
  10455. 28 :
  10456. 31 - modMonth % 7 % 2;
  10457. }
  10458. // FORMATTING
  10459. addFormatToken('M', ['MM', 2], 'Mo', function () {
  10460. return this.month() + 1;
  10461. });
  10462. addFormatToken('MMM', 0, 0, function (format) {
  10463. return this.localeData().monthsShort(this, format);
  10464. });
  10465. addFormatToken('MMMM', 0, 0, function (format) {
  10466. return this.localeData().months(this, format);
  10467. });
  10468. // ALIASES
  10469. addUnitAlias('month', 'M');
  10470. // PRIORITY
  10471. addUnitPriority('month', 8);
  10472. // PARSING
  10473. addRegexToken('M', match1to2);
  10474. addRegexToken('MM', match1to2, match2);
  10475. addRegexToken('MMM', function (isStrict, locale) {
  10476. return locale.monthsShortRegex(isStrict);
  10477. });
  10478. addRegexToken('MMMM', function (isStrict, locale) {
  10479. return locale.monthsRegex(isStrict);
  10480. });
  10481. addParseToken(['M', 'MM'], function (input, array) {
  10482. array[MONTH] = toInt(input) - 1;
  10483. });
  10484. addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {
  10485. var month = config._locale.monthsParse(input, token, config._strict);
  10486. // if we didn't find a month name, mark the date as invalid.
  10487. if (month != null) {
  10488. array[MONTH] = month;
  10489. } else {
  10490. getParsingFlags(config).invalidMonth = input;
  10491. }
  10492. });
  10493. // LOCALES
  10494. var defaultLocaleMonths =
  10495. 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
  10496. '_'),
  10497. defaultLocaleMonthsShort =
  10498. 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
  10499. MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,
  10500. defaultMonthsShortRegex = matchWord,
  10501. defaultMonthsRegex = matchWord;
  10502. function localeMonths(m, format) {
  10503. if (!m) {
  10504. return isArray(this._months) ?
  10505. this._months :
  10506. this._months['standalone'];
  10507. }
  10508. return isArray(this._months) ?
  10509. this._months[m.month()] :
  10510. this._months[
  10511. (this._months.isFormat || MONTHS_IN_FORMAT).test(format) ?
  10512. 'format' :
  10513. 'standalone'][
  10514. m.month()];
  10515. }
  10516. function localeMonthsShort(m, format) {
  10517. if (!m) {
  10518. return isArray(this._monthsShort) ?
  10519. this._monthsShort :
  10520. this._monthsShort['standalone'];
  10521. }
  10522. return isArray(this._monthsShort) ?
  10523. this._monthsShort[m.month()] :
  10524. this._monthsShort[
  10525. MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][
  10526. m.month()];
  10527. }
  10528. function handleStrictParse(monthName, format, strict) {
  10529. var i,
  10530. ii,
  10531. mom,
  10532. llc = monthName.toLocaleLowerCase();
  10533. if (!this._monthsParse) {
  10534. // this is not used
  10535. this._monthsParse = [];
  10536. this._longMonthsParse = [];
  10537. this._shortMonthsParse = [];
  10538. for (i = 0; i < 12; ++i) {
  10539. mom = createUTC([2000, i]);
  10540. this._shortMonthsParse[i] = this.monthsShort(
  10541. mom,
  10542. '').
  10543. toLocaleLowerCase();
  10544. this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();
  10545. }
  10546. }
  10547. if (strict) {
  10548. if (format === 'MMM') {
  10549. ii = indexOf.call(this._shortMonthsParse, llc);
  10550. return ii !== -1 ? ii : null;
  10551. } else {
  10552. ii = indexOf.call(this._longMonthsParse, llc);
  10553. return ii !== -1 ? ii : null;
  10554. }
  10555. } else {
  10556. if (format === 'MMM') {
  10557. ii = indexOf.call(this._shortMonthsParse, llc);
  10558. if (ii !== -1) {
  10559. return ii;
  10560. }
  10561. ii = indexOf.call(this._longMonthsParse, llc);
  10562. return ii !== -1 ? ii : null;
  10563. } else {
  10564. ii = indexOf.call(this._longMonthsParse, llc);
  10565. if (ii !== -1) {
  10566. return ii;
  10567. }
  10568. ii = indexOf.call(this._shortMonthsParse, llc);
  10569. return ii !== -1 ? ii : null;
  10570. }
  10571. }
  10572. }
  10573. function localeMonthsParse(monthName, format, strict) {
  10574. var i, mom, regex;
  10575. if (this._monthsParseExact) {
  10576. return handleStrictParse.call(this, monthName, format, strict);
  10577. }
  10578. if (!this._monthsParse) {
  10579. this._monthsParse = [];
  10580. this._longMonthsParse = [];
  10581. this._shortMonthsParse = [];
  10582. }
  10583. // TODO: add sorting
  10584. // Sorting makes sure if one month (or abbr) is a prefix of another
  10585. // see sorting in computeMonthsParse
  10586. for (i = 0; i < 12; i++) {
  10587. // make the regex if we don't have it already
  10588. mom = createUTC([2000, i]);
  10589. if (strict && !this._longMonthsParse[i]) {
  10590. this._longMonthsParse[i] = new RegExp(
  10591. '^' + this.months(mom, '').replace('.', '') + '$',
  10592. 'i');
  10593. this._shortMonthsParse[i] = new RegExp(
  10594. '^' + this.monthsShort(mom, '').replace('.', '') + '$',
  10595. 'i');
  10596. }
  10597. if (!strict && !this._monthsParse[i]) {
  10598. regex =
  10599. '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
  10600. this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
  10601. }
  10602. // test the regex
  10603. if (
  10604. strict &&
  10605. format === 'MMMM' &&
  10606. this._longMonthsParse[i].test(monthName))
  10607. {
  10608. return i;
  10609. } else if (
  10610. strict &&
  10611. format === 'MMM' &&
  10612. this._shortMonthsParse[i].test(monthName))
  10613. {
  10614. return i;
  10615. } else if (!strict && this._monthsParse[i].test(monthName)) {
  10616. return i;
  10617. }
  10618. }
  10619. }
  10620. // MOMENTS
  10621. function setMonth(mom, value) {
  10622. var dayOfMonth;
  10623. if (!mom.isValid()) {
  10624. // No op
  10625. return mom;
  10626. }
  10627. if (typeof value === 'string') {
  10628. if (/^\d+$/.test(value)) {
  10629. value = toInt(value);
  10630. } else {
  10631. value = mom.localeData().monthsParse(value);
  10632. // TODO: Another silent failure?
  10633. if (!isNumber(value)) {
  10634. return mom;
  10635. }
  10636. }
  10637. }
  10638. dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
  10639. mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
  10640. return mom;
  10641. }
  10642. function getSetMonth(value) {
  10643. if (value != null) {
  10644. setMonth(this, value);
  10645. hooks.updateOffset(this, true);
  10646. return this;
  10647. } else {
  10648. return get(this, 'Month');
  10649. }
  10650. }
  10651. function getDaysInMonth() {
  10652. return daysInMonth(this.year(), this.month());
  10653. }
  10654. function monthsShortRegex(isStrict) {
  10655. if (this._monthsParseExact) {
  10656. if (!hasOwnProp(this, '_monthsRegex')) {
  10657. computeMonthsParse.call(this);
  10658. }
  10659. if (isStrict) {
  10660. return this._monthsShortStrictRegex;
  10661. } else {
  10662. return this._monthsShortRegex;
  10663. }
  10664. } else {
  10665. if (!hasOwnProp(this, '_monthsShortRegex')) {
  10666. this._monthsShortRegex = defaultMonthsShortRegex;
  10667. }
  10668. return this._monthsShortStrictRegex && isStrict ?
  10669. this._monthsShortStrictRegex :
  10670. this._monthsShortRegex;
  10671. }
  10672. }
  10673. function monthsRegex(isStrict) {
  10674. if (this._monthsParseExact) {
  10675. if (!hasOwnProp(this, '_monthsRegex')) {
  10676. computeMonthsParse.call(this);
  10677. }
  10678. if (isStrict) {
  10679. return this._monthsStrictRegex;
  10680. } else {
  10681. return this._monthsRegex;
  10682. }
  10683. } else {
  10684. if (!hasOwnProp(this, '_monthsRegex')) {
  10685. this._monthsRegex = defaultMonthsRegex;
  10686. }
  10687. return this._monthsStrictRegex && isStrict ?
  10688. this._monthsStrictRegex :
  10689. this._monthsRegex;
  10690. }
  10691. }
  10692. function computeMonthsParse() {
  10693. function cmpLenRev(a, b) {
  10694. return b.length - a.length;
  10695. }
  10696. var shortPieces = [],
  10697. longPieces = [],
  10698. mixedPieces = [],
  10699. i,
  10700. mom;
  10701. for (i = 0; i < 12; i++) {
  10702. // make the regex if we don't have it already
  10703. mom = createUTC([2000, i]);
  10704. shortPieces.push(this.monthsShort(mom, ''));
  10705. longPieces.push(this.months(mom, ''));
  10706. mixedPieces.push(this.months(mom, ''));
  10707. mixedPieces.push(this.monthsShort(mom, ''));
  10708. }
  10709. // Sorting makes sure if one month (or abbr) is a prefix of another it
  10710. // will match the longer piece.
  10711. shortPieces.sort(cmpLenRev);
  10712. longPieces.sort(cmpLenRev);
  10713. mixedPieces.sort(cmpLenRev);
  10714. for (i = 0; i < 12; i++) {
  10715. shortPieces[i] = regexEscape(shortPieces[i]);
  10716. longPieces[i] = regexEscape(longPieces[i]);
  10717. }
  10718. for (i = 0; i < 24; i++) {
  10719. mixedPieces[i] = regexEscape(mixedPieces[i]);
  10720. }
  10721. this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
  10722. this._monthsShortRegex = this._monthsRegex;
  10723. this._monthsStrictRegex = new RegExp(
  10724. '^(' + longPieces.join('|') + ')',
  10725. 'i');
  10726. this._monthsShortStrictRegex = new RegExp(
  10727. '^(' + shortPieces.join('|') + ')',
  10728. 'i');
  10729. }
  10730. // FORMATTING
  10731. addFormatToken('Y', 0, 0, function () {
  10732. var y = this.year();
  10733. return y <= 9999 ? zeroFill(y, 4) : '+' + y;
  10734. });
  10735. addFormatToken(0, ['YY', 2], 0, function () {
  10736. return this.year() % 100;
  10737. });
  10738. addFormatToken(0, ['YYYY', 4], 0, 'year');
  10739. addFormatToken(0, ['YYYYY', 5], 0, 'year');
  10740. addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
  10741. // ALIASES
  10742. addUnitAlias('year', 'y');
  10743. // PRIORITIES
  10744. addUnitPriority('year', 1);
  10745. // PARSING
  10746. addRegexToken('Y', matchSigned);
  10747. addRegexToken('YY', match1to2, match2);
  10748. addRegexToken('YYYY', match1to4, match4);
  10749. addRegexToken('YYYYY', match1to6, match6);
  10750. addRegexToken('YYYYYY', match1to6, match6);
  10751. addParseToken(['YYYYY', 'YYYYYY'], YEAR);
  10752. addParseToken('YYYY', function (input, array) {
  10753. array[YEAR] =
  10754. input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
  10755. });
  10756. addParseToken('YY', function (input, array) {
  10757. array[YEAR] = hooks.parseTwoDigitYear(input);
  10758. });
  10759. addParseToken('Y', function (input, array) {
  10760. array[YEAR] = parseInt(input, 10);
  10761. });
  10762. // HELPERS
  10763. function daysInYear(year) {
  10764. return isLeapYear(year) ? 366 : 365;
  10765. }
  10766. // HOOKS
  10767. hooks.parseTwoDigitYear = function (input) {
  10768. return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
  10769. };
  10770. // MOMENTS
  10771. var getSetYear = makeGetSet('FullYear', true);
  10772. function getIsLeapYear() {
  10773. return isLeapYear(this.year());
  10774. }
  10775. function createDate(y, m, d, h, M, s, ms) {
  10776. // can't just apply() to create a date:
  10777. // https://stackoverflow.com/q/181348
  10778. var date;
  10779. // the date constructor remaps years 0-99 to 1900-1999
  10780. if (y < 100 && y >= 0) {
  10781. // preserve leap years using a full 400 year cycle, then reset
  10782. date = new Date(y + 400, m, d, h, M, s, ms);
  10783. if (isFinite(date.getFullYear())) {
  10784. date.setFullYear(y);
  10785. }
  10786. } else {
  10787. date = new Date(y, m, d, h, M, s, ms);
  10788. }
  10789. return date;
  10790. }
  10791. function createUTCDate(y) {
  10792. var date, args;
  10793. // the Date.UTC function remaps years 0-99 to 1900-1999
  10794. if (y < 100 && y >= 0) {
  10795. args = Array.prototype.slice.call(arguments);
  10796. // preserve leap years using a full 400 year cycle, then reset
  10797. args[0] = y + 400;
  10798. date = new Date(Date.UTC.apply(null, args));
  10799. if (isFinite(date.getUTCFullYear())) {
  10800. date.setUTCFullYear(y);
  10801. }
  10802. } else {
  10803. date = new Date(Date.UTC.apply(null, arguments));
  10804. }
  10805. return date;
  10806. }
  10807. // start-of-first-week - start-of-year
  10808. function firstWeekOffset(year, dow, doy) {
  10809. var // first-week day -- which january is always in the first week (4 for iso, 1 for other)
  10810. fwd = 7 + dow - doy,
  10811. // first-week day local weekday -- which local weekday is fwd
  10812. fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;
  10813. return -fwdlw + fwd - 1;
  10814. }
  10815. // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
  10816. function dayOfYearFromWeeks(year, week, weekday, dow, doy) {
  10817. var localWeekday = (7 + weekday - dow) % 7,
  10818. weekOffset = firstWeekOffset(year, dow, doy),
  10819. dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,
  10820. resYear,
  10821. resDayOfYear;
  10822. if (dayOfYear <= 0) {
  10823. resYear = year - 1;
  10824. resDayOfYear = daysInYear(resYear) + dayOfYear;
  10825. } else if (dayOfYear > daysInYear(year)) {
  10826. resYear = year + 1;
  10827. resDayOfYear = dayOfYear - daysInYear(year);
  10828. } else {
  10829. resYear = year;
  10830. resDayOfYear = dayOfYear;
  10831. }
  10832. return {
  10833. year: resYear,
  10834. dayOfYear: resDayOfYear };
  10835. }
  10836. function weekOfYear(mom, dow, doy) {
  10837. var weekOffset = firstWeekOffset(mom.year(), dow, doy),
  10838. week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,
  10839. resWeek,
  10840. resYear;
  10841. if (week < 1) {
  10842. resYear = mom.year() - 1;
  10843. resWeek = week + weeksInYear(resYear, dow, doy);
  10844. } else if (week > weeksInYear(mom.year(), dow, doy)) {
  10845. resWeek = week - weeksInYear(mom.year(), dow, doy);
  10846. resYear = mom.year() + 1;
  10847. } else {
  10848. resYear = mom.year();
  10849. resWeek = week;
  10850. }
  10851. return {
  10852. week: resWeek,
  10853. year: resYear };
  10854. }
  10855. function weeksInYear(year, dow, doy) {
  10856. var weekOffset = firstWeekOffset(year, dow, doy),
  10857. weekOffsetNext = firstWeekOffset(year + 1, dow, doy);
  10858. return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;
  10859. }
  10860. // FORMATTING
  10861. addFormatToken('w', ['ww', 2], 'wo', 'week');
  10862. addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
  10863. // ALIASES
  10864. addUnitAlias('week', 'w');
  10865. addUnitAlias('isoWeek', 'W');
  10866. // PRIORITIES
  10867. addUnitPriority('week', 5);
  10868. addUnitPriority('isoWeek', 5);
  10869. // PARSING
  10870. addRegexToken('w', match1to2);
  10871. addRegexToken('ww', match1to2, match2);
  10872. addRegexToken('W', match1to2);
  10873. addRegexToken('WW', match1to2, match2);
  10874. addWeekParseToken(
  10875. ['w', 'ww', 'W', 'WW'],
  10876. function (input, week, config, token) {
  10877. week[token.substr(0, 1)] = toInt(input);
  10878. });
  10879. // HELPERS
  10880. // LOCALES
  10881. function localeWeek(mom) {
  10882. return weekOfYear(mom, this._week.dow, this._week.doy).week;
  10883. }
  10884. var defaultLocaleWeek = {
  10885. dow: 0, // Sunday is the first day of the week.
  10886. doy: 6 // The week that contains Jan 6th is the first week of the year.
  10887. };
  10888. function localeFirstDayOfWeek() {
  10889. return this._week.dow;
  10890. }
  10891. function localeFirstDayOfYear() {
  10892. return this._week.doy;
  10893. }
  10894. // MOMENTS
  10895. function getSetWeek(input) {
  10896. var week = this.localeData().week(this);
  10897. return input == null ? week : this.add((input - week) * 7, 'd');
  10898. }
  10899. function getSetISOWeek(input) {
  10900. var week = weekOfYear(this, 1, 4).week;
  10901. return input == null ? week : this.add((input - week) * 7, 'd');
  10902. }
  10903. // FORMATTING
  10904. addFormatToken('d', 0, 'do', 'day');
  10905. addFormatToken('dd', 0, 0, function (format) {
  10906. return this.localeData().weekdaysMin(this, format);
  10907. });
  10908. addFormatToken('ddd', 0, 0, function (format) {
  10909. return this.localeData().weekdaysShort(this, format);
  10910. });
  10911. addFormatToken('dddd', 0, 0, function (format) {
  10912. return this.localeData().weekdays(this, format);
  10913. });
  10914. addFormatToken('e', 0, 0, 'weekday');
  10915. addFormatToken('E', 0, 0, 'isoWeekday');
  10916. // ALIASES
  10917. addUnitAlias('day', 'd');
  10918. addUnitAlias('weekday', 'e');
  10919. addUnitAlias('isoWeekday', 'E');
  10920. // PRIORITY
  10921. addUnitPriority('day', 11);
  10922. addUnitPriority('weekday', 11);
  10923. addUnitPriority('isoWeekday', 11);
  10924. // PARSING
  10925. addRegexToken('d', match1to2);
  10926. addRegexToken('e', match1to2);
  10927. addRegexToken('E', match1to2);
  10928. addRegexToken('dd', function (isStrict, locale) {
  10929. return locale.weekdaysMinRegex(isStrict);
  10930. });
  10931. addRegexToken('ddd', function (isStrict, locale) {
  10932. return locale.weekdaysShortRegex(isStrict);
  10933. });
  10934. addRegexToken('dddd', function (isStrict, locale) {
  10935. return locale.weekdaysRegex(isStrict);
  10936. });
  10937. addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {
  10938. var weekday = config._locale.weekdaysParse(input, token, config._strict);
  10939. // if we didn't get a weekday name, mark the date as invalid
  10940. if (weekday != null) {
  10941. week.d = weekday;
  10942. } else {
  10943. getParsingFlags(config).invalidWeekday = input;
  10944. }
  10945. });
  10946. addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {
  10947. week[token] = toInt(input);
  10948. });
  10949. // HELPERS
  10950. function parseWeekday(input, locale) {
  10951. if (typeof input !== 'string') {
  10952. return input;
  10953. }
  10954. if (!isNaN(input)) {
  10955. return parseInt(input, 10);
  10956. }
  10957. input = locale.weekdaysParse(input);
  10958. if (typeof input === 'number') {
  10959. return input;
  10960. }
  10961. return null;
  10962. }
  10963. function parseIsoWeekday(input, locale) {
  10964. if (typeof input === 'string') {
  10965. return locale.weekdaysParse(input) % 7 || 7;
  10966. }
  10967. return isNaN(input) ? null : input;
  10968. }
  10969. // LOCALES
  10970. function shiftWeekdays(ws, n) {
  10971. return ws.slice(n, 7).concat(ws.slice(0, n));
  10972. }
  10973. var defaultLocaleWeekdays =
  10974. 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
  10975. defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
  10976. defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
  10977. defaultWeekdaysRegex = matchWord,
  10978. defaultWeekdaysShortRegex = matchWord,
  10979. defaultWeekdaysMinRegex = matchWord;
  10980. function localeWeekdays(m, format) {
  10981. var weekdays = isArray(this._weekdays) ?
  10982. this._weekdays :
  10983. this._weekdays[
  10984. m && m !== true && this._weekdays.isFormat.test(format) ?
  10985. 'format' :
  10986. 'standalone'];
  10987. return m === true ?
  10988. shiftWeekdays(weekdays, this._week.dow) :
  10989. m ?
  10990. weekdays[m.day()] :
  10991. weekdays;
  10992. }
  10993. function localeWeekdaysShort(m) {
  10994. return m === true ?
  10995. shiftWeekdays(this._weekdaysShort, this._week.dow) :
  10996. m ?
  10997. this._weekdaysShort[m.day()] :
  10998. this._weekdaysShort;
  10999. }
  11000. function localeWeekdaysMin(m) {
  11001. return m === true ?
  11002. shiftWeekdays(this._weekdaysMin, this._week.dow) :
  11003. m ?
  11004. this._weekdaysMin[m.day()] :
  11005. this._weekdaysMin;
  11006. }
  11007. function handleStrictParse$1(weekdayName, format, strict) {
  11008. var i,
  11009. ii,
  11010. mom,
  11011. llc = weekdayName.toLocaleLowerCase();
  11012. if (!this._weekdaysParse) {
  11013. this._weekdaysParse = [];
  11014. this._shortWeekdaysParse = [];
  11015. this._minWeekdaysParse = [];
  11016. for (i = 0; i < 7; ++i) {
  11017. mom = createUTC([2000, 1]).day(i);
  11018. this._minWeekdaysParse[i] = this.weekdaysMin(
  11019. mom,
  11020. '').
  11021. toLocaleLowerCase();
  11022. this._shortWeekdaysParse[i] = this.weekdaysShort(
  11023. mom,
  11024. '').
  11025. toLocaleLowerCase();
  11026. this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();
  11027. }
  11028. }
  11029. if (strict) {
  11030. if (format === 'dddd') {
  11031. ii = indexOf.call(this._weekdaysParse, llc);
  11032. return ii !== -1 ? ii : null;
  11033. } else if (format === 'ddd') {
  11034. ii = indexOf.call(this._shortWeekdaysParse, llc);
  11035. return ii !== -1 ? ii : null;
  11036. } else {
  11037. ii = indexOf.call(this._minWeekdaysParse, llc);
  11038. return ii !== -1 ? ii : null;
  11039. }
  11040. } else {
  11041. if (format === 'dddd') {
  11042. ii = indexOf.call(this._weekdaysParse, llc);
  11043. if (ii !== -1) {
  11044. return ii;
  11045. }
  11046. ii = indexOf.call(this._shortWeekdaysParse, llc);
  11047. if (ii !== -1) {
  11048. return ii;
  11049. }
  11050. ii = indexOf.call(this._minWeekdaysParse, llc);
  11051. return ii !== -1 ? ii : null;
  11052. } else if (format === 'ddd') {
  11053. ii = indexOf.call(this._shortWeekdaysParse, llc);
  11054. if (ii !== -1) {
  11055. return ii;
  11056. }
  11057. ii = indexOf.call(this._weekdaysParse, llc);
  11058. if (ii !== -1) {
  11059. return ii;
  11060. }
  11061. ii = indexOf.call(this._minWeekdaysParse, llc);
  11062. return ii !== -1 ? ii : null;
  11063. } else {
  11064. ii = indexOf.call(this._minWeekdaysParse, llc);
  11065. if (ii !== -1) {
  11066. return ii;
  11067. }
  11068. ii = indexOf.call(this._weekdaysParse, llc);
  11069. if (ii !== -1) {
  11070. return ii;
  11071. }
  11072. ii = indexOf.call(this._shortWeekdaysParse, llc);
  11073. return ii !== -1 ? ii : null;
  11074. }
  11075. }
  11076. }
  11077. function localeWeekdaysParse(weekdayName, format, strict) {
  11078. var i, mom, regex;
  11079. if (this._weekdaysParseExact) {
  11080. return handleStrictParse$1.call(this, weekdayName, format, strict);
  11081. }
  11082. if (!this._weekdaysParse) {
  11083. this._weekdaysParse = [];
  11084. this._minWeekdaysParse = [];
  11085. this._shortWeekdaysParse = [];
  11086. this._fullWeekdaysParse = [];
  11087. }
  11088. for (i = 0; i < 7; i++) {
  11089. // make the regex if we don't have it already
  11090. mom = createUTC([2000, 1]).day(i);
  11091. if (strict && !this._fullWeekdaysParse[i]) {
  11092. this._fullWeekdaysParse[i] = new RegExp(
  11093. '^' + this.weekdays(mom, '').replace('.', '\\.?') + '$',
  11094. 'i');
  11095. this._shortWeekdaysParse[i] = new RegExp(
  11096. '^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$',
  11097. 'i');
  11098. this._minWeekdaysParse[i] = new RegExp(
  11099. '^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$',
  11100. 'i');
  11101. }
  11102. if (!this._weekdaysParse[i]) {
  11103. regex =
  11104. '^' +
  11105. this.weekdays(mom, '') +
  11106. '|^' +
  11107. this.weekdaysShort(mom, '') +
  11108. '|^' +
  11109. this.weekdaysMin(mom, '');
  11110. this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
  11111. }
  11112. // test the regex
  11113. if (
  11114. strict &&
  11115. format === 'dddd' &&
  11116. this._fullWeekdaysParse[i].test(weekdayName))
  11117. {
  11118. return i;
  11119. } else if (
  11120. strict &&
  11121. format === 'ddd' &&
  11122. this._shortWeekdaysParse[i].test(weekdayName))
  11123. {
  11124. return i;
  11125. } else if (
  11126. strict &&
  11127. format === 'dd' &&
  11128. this._minWeekdaysParse[i].test(weekdayName))
  11129. {
  11130. return i;
  11131. } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {
  11132. return i;
  11133. }
  11134. }
  11135. }
  11136. // MOMENTS
  11137. function getSetDayOfWeek(input) {
  11138. if (!this.isValid()) {
  11139. return input != null ? this : NaN;
  11140. }
  11141. var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
  11142. if (input != null) {
  11143. input = parseWeekday(input, this.localeData());
  11144. return this.add(input - day, 'd');
  11145. } else {
  11146. return day;
  11147. }
  11148. }
  11149. function getSetLocaleDayOfWeek(input) {
  11150. if (!this.isValid()) {
  11151. return input != null ? this : NaN;
  11152. }
  11153. var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
  11154. return input == null ? weekday : this.add(input - weekday, 'd');
  11155. }
  11156. function getSetISODayOfWeek(input) {
  11157. if (!this.isValid()) {
  11158. return input != null ? this : NaN;
  11159. }
  11160. // behaves the same as moment#day except
  11161. // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
  11162. // as a setter, sunday should belong to the previous week.
  11163. if (input != null) {
  11164. var weekday = parseIsoWeekday(input, this.localeData());
  11165. return this.day(this.day() % 7 ? weekday : weekday - 7);
  11166. } else {
  11167. return this.day() || 7;
  11168. }
  11169. }
  11170. function weekdaysRegex(isStrict) {
  11171. if (this._weekdaysParseExact) {
  11172. if (!hasOwnProp(this, '_weekdaysRegex')) {
  11173. computeWeekdaysParse.call(this);
  11174. }
  11175. if (isStrict) {
  11176. return this._weekdaysStrictRegex;
  11177. } else {
  11178. return this._weekdaysRegex;
  11179. }
  11180. } else {
  11181. if (!hasOwnProp(this, '_weekdaysRegex')) {
  11182. this._weekdaysRegex = defaultWeekdaysRegex;
  11183. }
  11184. return this._weekdaysStrictRegex && isStrict ?
  11185. this._weekdaysStrictRegex :
  11186. this._weekdaysRegex;
  11187. }
  11188. }
  11189. function weekdaysShortRegex(isStrict) {
  11190. if (this._weekdaysParseExact) {
  11191. if (!hasOwnProp(this, '_weekdaysRegex')) {
  11192. computeWeekdaysParse.call(this);
  11193. }
  11194. if (isStrict) {
  11195. return this._weekdaysShortStrictRegex;
  11196. } else {
  11197. return this._weekdaysShortRegex;
  11198. }
  11199. } else {
  11200. if (!hasOwnProp(this, '_weekdaysShortRegex')) {
  11201. this._weekdaysShortRegex = defaultWeekdaysShortRegex;
  11202. }
  11203. return this._weekdaysShortStrictRegex && isStrict ?
  11204. this._weekdaysShortStrictRegex :
  11205. this._weekdaysShortRegex;
  11206. }
  11207. }
  11208. function weekdaysMinRegex(isStrict) {
  11209. if (this._weekdaysParseExact) {
  11210. if (!hasOwnProp(this, '_weekdaysRegex')) {
  11211. computeWeekdaysParse.call(this);
  11212. }
  11213. if (isStrict) {
  11214. return this._weekdaysMinStrictRegex;
  11215. } else {
  11216. return this._weekdaysMinRegex;
  11217. }
  11218. } else {
  11219. if (!hasOwnProp(this, '_weekdaysMinRegex')) {
  11220. this._weekdaysMinRegex = defaultWeekdaysMinRegex;
  11221. }
  11222. return this._weekdaysMinStrictRegex && isStrict ?
  11223. this._weekdaysMinStrictRegex :
  11224. this._weekdaysMinRegex;
  11225. }
  11226. }
  11227. function computeWeekdaysParse() {
  11228. function cmpLenRev(a, b) {
  11229. return b.length - a.length;
  11230. }
  11231. var minPieces = [],
  11232. shortPieces = [],
  11233. longPieces = [],
  11234. mixedPieces = [],
  11235. i,
  11236. mom,
  11237. minp,
  11238. shortp,
  11239. longp;
  11240. for (i = 0; i < 7; i++) {
  11241. // make the regex if we don't have it already
  11242. mom = createUTC([2000, 1]).day(i);
  11243. minp = regexEscape(this.weekdaysMin(mom, ''));
  11244. shortp = regexEscape(this.weekdaysShort(mom, ''));
  11245. longp = regexEscape(this.weekdays(mom, ''));
  11246. minPieces.push(minp);
  11247. shortPieces.push(shortp);
  11248. longPieces.push(longp);
  11249. mixedPieces.push(minp);
  11250. mixedPieces.push(shortp);
  11251. mixedPieces.push(longp);
  11252. }
  11253. // Sorting makes sure if one weekday (or abbr) is a prefix of another it
  11254. // will match the longer piece.
  11255. minPieces.sort(cmpLenRev);
  11256. shortPieces.sort(cmpLenRev);
  11257. longPieces.sort(cmpLenRev);
  11258. mixedPieces.sort(cmpLenRev);
  11259. this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
  11260. this._weekdaysShortRegex = this._weekdaysRegex;
  11261. this._weekdaysMinRegex = this._weekdaysRegex;
  11262. this._weekdaysStrictRegex = new RegExp(
  11263. '^(' + longPieces.join('|') + ')',
  11264. 'i');
  11265. this._weekdaysShortStrictRegex = new RegExp(
  11266. '^(' + shortPieces.join('|') + ')',
  11267. 'i');
  11268. this._weekdaysMinStrictRegex = new RegExp(
  11269. '^(' + minPieces.join('|') + ')',
  11270. 'i');
  11271. }
  11272. // FORMATTING
  11273. function hFormat() {
  11274. return this.hours() % 12 || 12;
  11275. }
  11276. function kFormat() {
  11277. return this.hours() || 24;
  11278. }
  11279. addFormatToken('H', ['HH', 2], 0, 'hour');
  11280. addFormatToken('h', ['hh', 2], 0, hFormat);
  11281. addFormatToken('k', ['kk', 2], 0, kFormat);
  11282. addFormatToken('hmm', 0, 0, function () {
  11283. return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);
  11284. });
  11285. addFormatToken('hmmss', 0, 0, function () {
  11286. return (
  11287. '' +
  11288. hFormat.apply(this) +
  11289. zeroFill(this.minutes(), 2) +
  11290. zeroFill(this.seconds(), 2));
  11291. });
  11292. addFormatToken('Hmm', 0, 0, function () {
  11293. return '' + this.hours() + zeroFill(this.minutes(), 2);
  11294. });
  11295. addFormatToken('Hmmss', 0, 0, function () {
  11296. return (
  11297. '' +
  11298. this.hours() +
  11299. zeroFill(this.minutes(), 2) +
  11300. zeroFill(this.seconds(), 2));
  11301. });
  11302. function meridiem(token, lowercase) {
  11303. addFormatToken(token, 0, 0, function () {
  11304. return this.localeData().meridiem(
  11305. this.hours(),
  11306. this.minutes(),
  11307. lowercase);
  11308. });
  11309. }
  11310. meridiem('a', true);
  11311. meridiem('A', false);
  11312. // ALIASES
  11313. addUnitAlias('hour', 'h');
  11314. // PRIORITY
  11315. addUnitPriority('hour', 13);
  11316. // PARSING
  11317. function matchMeridiem(isStrict, locale) {
  11318. return locale._meridiemParse;
  11319. }
  11320. addRegexToken('a', matchMeridiem);
  11321. addRegexToken('A', matchMeridiem);
  11322. addRegexToken('H', match1to2);
  11323. addRegexToken('h', match1to2);
  11324. addRegexToken('k', match1to2);
  11325. addRegexToken('HH', match1to2, match2);
  11326. addRegexToken('hh', match1to2, match2);
  11327. addRegexToken('kk', match1to2, match2);
  11328. addRegexToken('hmm', match3to4);
  11329. addRegexToken('hmmss', match5to6);
  11330. addRegexToken('Hmm', match3to4);
  11331. addRegexToken('Hmmss', match5to6);
  11332. addParseToken(['H', 'HH'], HOUR);
  11333. addParseToken(['k', 'kk'], function (input, array, config) {
  11334. var kInput = toInt(input);
  11335. array[HOUR] = kInput === 24 ? 0 : kInput;
  11336. });
  11337. addParseToken(['a', 'A'], function (input, array, config) {
  11338. config._isPm = config._locale.isPM(input);
  11339. config._meridiem = input;
  11340. });
  11341. addParseToken(['h', 'hh'], function (input, array, config) {
  11342. array[HOUR] = toInt(input);
  11343. getParsingFlags(config).bigHour = true;
  11344. });
  11345. addParseToken('hmm', function (input, array, config) {
  11346. var pos = input.length - 2;
  11347. array[HOUR] = toInt(input.substr(0, pos));
  11348. array[MINUTE] = toInt(input.substr(pos));
  11349. getParsingFlags(config).bigHour = true;
  11350. });
  11351. addParseToken('hmmss', function (input, array, config) {
  11352. var pos1 = input.length - 4,
  11353. pos2 = input.length - 2;
  11354. array[HOUR] = toInt(input.substr(0, pos1));
  11355. array[MINUTE] = toInt(input.substr(pos1, 2));
  11356. array[SECOND] = toInt(input.substr(pos2));
  11357. getParsingFlags(config).bigHour = true;
  11358. });
  11359. addParseToken('Hmm', function (input, array, config) {
  11360. var pos = input.length - 2;
  11361. array[HOUR] = toInt(input.substr(0, pos));
  11362. array[MINUTE] = toInt(input.substr(pos));
  11363. });
  11364. addParseToken('Hmmss', function (input, array, config) {
  11365. var pos1 = input.length - 4,
  11366. pos2 = input.length - 2;
  11367. array[HOUR] = toInt(input.substr(0, pos1));
  11368. array[MINUTE] = toInt(input.substr(pos1, 2));
  11369. array[SECOND] = toInt(input.substr(pos2));
  11370. });
  11371. // LOCALES
  11372. function localeIsPM(input) {
  11373. // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
  11374. // Using charAt should be more compatible.
  11375. return (input + '').toLowerCase().charAt(0) === 'p';
  11376. }
  11377. var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i,
  11378. // Setting the hour should keep the time, because the user explicitly
  11379. // specified which hour they want. So trying to maintain the same hour (in
  11380. // a new timezone) makes sense. Adding/subtracting hours does not follow
  11381. // this rule.
  11382. getSetHour = makeGetSet('Hours', true);
  11383. function localeMeridiem(hours, minutes, isLower) {
  11384. if (hours > 11) {
  11385. return isLower ? 'pm' : 'PM';
  11386. } else {
  11387. return isLower ? 'am' : 'AM';
  11388. }
  11389. }
  11390. var baseConfig = {
  11391. calendar: defaultCalendar,
  11392. longDateFormat: defaultLongDateFormat,
  11393. invalidDate: defaultInvalidDate,
  11394. ordinal: defaultOrdinal,
  11395. dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,
  11396. relativeTime: defaultRelativeTime,
  11397. months: defaultLocaleMonths,
  11398. monthsShort: defaultLocaleMonthsShort,
  11399. week: defaultLocaleWeek,
  11400. weekdays: defaultLocaleWeekdays,
  11401. weekdaysMin: defaultLocaleWeekdaysMin,
  11402. weekdaysShort: defaultLocaleWeekdaysShort,
  11403. meridiemParse: defaultLocaleMeridiemParse };
  11404. // internal storage for locale config files
  11405. var locales = {},
  11406. localeFamilies = {},
  11407. globalLocale;
  11408. function commonPrefix(arr1, arr2) {
  11409. var i,
  11410. minl = Math.min(arr1.length, arr2.length);
  11411. for (i = 0; i < minl; i += 1) {
  11412. if (arr1[i] !== arr2[i]) {
  11413. return i;
  11414. }
  11415. }
  11416. return minl;
  11417. }
  11418. function normalizeLocale(key) {
  11419. return key ? key.toLowerCase().replace('_', '-') : key;
  11420. }
  11421. // pick the locale from the array
  11422. // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
  11423. // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
  11424. function chooseLocale(names) {
  11425. var i = 0,
  11426. j,
  11427. next,
  11428. locale,
  11429. split;
  11430. while (i < names.length) {
  11431. split = normalizeLocale(names[i]).split('-');
  11432. j = split.length;
  11433. next = normalizeLocale(names[i + 1]);
  11434. next = next ? next.split('-') : null;
  11435. while (j > 0) {
  11436. locale = loadLocale(split.slice(0, j).join('-'));
  11437. if (locale) {
  11438. return locale;
  11439. }
  11440. if (
  11441. next &&
  11442. next.length >= j &&
  11443. commonPrefix(split, next) >= j - 1)
  11444. {
  11445. //the next array item is better than a shallower substring of this one
  11446. break;
  11447. }
  11448. j--;
  11449. }
  11450. i++;
  11451. }
  11452. return globalLocale;
  11453. }
  11454. function isLocaleNameSane(name) {
  11455. // Prevent names that look like filesystem paths, i.e contain '/' or '\'
  11456. return name.match('^[^/\\\\]*$') != null;
  11457. }
  11458. function loadLocale(name) {
  11459. var oldLocale = null,
  11460. aliasedRequire;
  11461. // TODO: Find a better way to register and load all the locales in Node
  11462. if (
  11463. locales[name] === undefined &&
  11464. typeof module !== 'undefined' &&
  11465. module &&
  11466. module.exports &&
  11467. isLocaleNameSane(name))
  11468. {
  11469. try {
  11470. oldLocale = globalLocale._abbr;
  11471. aliasedRequire = require;
  11472. __webpack_require__(21)("./" + name);
  11473. getSetGlobalLocale(oldLocale);
  11474. } catch (e) {
  11475. // mark as not found to avoid repeating expensive file require call causing high CPU
  11476. // when trying to find en-US, en_US, en-us for every format call
  11477. locales[name] = null; // null means not found
  11478. }
  11479. }
  11480. return locales[name];
  11481. }
  11482. // This function will load locale and then set the global locale. If
  11483. // no arguments are passed in, it will simply return the current global
  11484. // locale key.
  11485. function getSetGlobalLocale(key, values) {
  11486. var data;
  11487. if (key) {
  11488. if (isUndefined(values)) {
  11489. data = getLocale(key);
  11490. } else {
  11491. data = defineLocale(key, values);
  11492. }
  11493. if (data) {
  11494. // moment.duration._locale = moment._locale = data;
  11495. globalLocale = data;
  11496. } else {
  11497. if (typeof console !== 'undefined' && console.warn) {
  11498. //warn user if arguments are passed but the locale could not be set
  11499. console.warn(
  11500. 'Locale ' + key + ' not found. Did you forget to load it?');
  11501. }
  11502. }
  11503. }
  11504. return globalLocale._abbr;
  11505. }
  11506. function defineLocale(name, config) {
  11507. if (config !== null) {
  11508. var locale,
  11509. parentConfig = baseConfig;
  11510. config.abbr = name;
  11511. if (locales[name] != null) {
  11512. deprecateSimple(
  11513. 'defineLocaleOverride',
  11514. 'use moment.updateLocale(localeName, config) to change ' +
  11515. 'an existing locale. moment.defineLocale(localeName, ' +
  11516. 'config) should only be used for creating a new locale ' +
  11517. 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');
  11518. parentConfig = locales[name]._config;
  11519. } else if (config.parentLocale != null) {
  11520. if (locales[config.parentLocale] != null) {
  11521. parentConfig = locales[config.parentLocale]._config;
  11522. } else {
  11523. locale = loadLocale(config.parentLocale);
  11524. if (locale != null) {
  11525. parentConfig = locale._config;
  11526. } else {
  11527. if (!localeFamilies[config.parentLocale]) {
  11528. localeFamilies[config.parentLocale] = [];
  11529. }
  11530. localeFamilies[config.parentLocale].push({
  11531. name: name,
  11532. config: config });
  11533. return null;
  11534. }
  11535. }
  11536. }
  11537. locales[name] = new Locale(mergeConfigs(parentConfig, config));
  11538. if (localeFamilies[name]) {
  11539. localeFamilies[name].forEach(function (x) {
  11540. defineLocale(x.name, x.config);
  11541. });
  11542. }
  11543. // backwards compat for now: also set the locale
  11544. // make sure we set the locale AFTER all child locales have been
  11545. // created, so we won't end up with the child locale set.
  11546. getSetGlobalLocale(name);
  11547. return locales[name];
  11548. } else {
  11549. // useful for testing
  11550. delete locales[name];
  11551. return null;
  11552. }
  11553. }
  11554. function updateLocale(name, config) {
  11555. if (config != null) {
  11556. var locale,
  11557. tmpLocale,
  11558. parentConfig = baseConfig;
  11559. if (locales[name] != null && locales[name].parentLocale != null) {
  11560. // Update existing child locale in-place to avoid memory-leaks
  11561. locales[name].set(mergeConfigs(locales[name]._config, config));
  11562. } else {
  11563. // MERGE
  11564. tmpLocale = loadLocale(name);
  11565. if (tmpLocale != null) {
  11566. parentConfig = tmpLocale._config;
  11567. }
  11568. config = mergeConfigs(parentConfig, config);
  11569. if (tmpLocale == null) {
  11570. // updateLocale is called for creating a new locale
  11571. // Set abbr so it will have a name (getters return
  11572. // undefined otherwise).
  11573. config.abbr = name;
  11574. }
  11575. locale = new Locale(config);
  11576. locale.parentLocale = locales[name];
  11577. locales[name] = locale;
  11578. }
  11579. // backwards compat for now: also set the locale
  11580. getSetGlobalLocale(name);
  11581. } else {
  11582. // pass null for config to unupdate, useful for tests
  11583. if (locales[name] != null) {
  11584. if (locales[name].parentLocale != null) {
  11585. locales[name] = locales[name].parentLocale;
  11586. if (name === getSetGlobalLocale()) {
  11587. getSetGlobalLocale(name);
  11588. }
  11589. } else if (locales[name] != null) {
  11590. delete locales[name];
  11591. }
  11592. }
  11593. }
  11594. return locales[name];
  11595. }
  11596. // returns locale data
  11597. function getLocale(key) {
  11598. var locale;
  11599. if (key && key._locale && key._locale._abbr) {
  11600. key = key._locale._abbr;
  11601. }
  11602. if (!key) {
  11603. return globalLocale;
  11604. }
  11605. if (!isArray(key)) {
  11606. //short-circuit everything else
  11607. locale = loadLocale(key);
  11608. if (locale) {
  11609. return locale;
  11610. }
  11611. key = [key];
  11612. }
  11613. return chooseLocale(key);
  11614. }
  11615. function listLocales() {
  11616. return keys(locales);
  11617. }
  11618. function checkOverflow(m) {
  11619. var overflow,
  11620. a = m._a;
  11621. if (a && getParsingFlags(m).overflow === -2) {
  11622. overflow =
  11623. a[MONTH] < 0 || a[MONTH] > 11 ?
  11624. MONTH :
  11625. a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ?
  11626. DATE :
  11627. a[HOUR] < 0 ||
  11628. a[HOUR] > 24 ||
  11629. a[HOUR] === 24 && (
  11630. a[MINUTE] !== 0 ||
  11631. a[SECOND] !== 0 ||
  11632. a[MILLISECOND] !== 0) ?
  11633. HOUR :
  11634. a[MINUTE] < 0 || a[MINUTE] > 59 ?
  11635. MINUTE :
  11636. a[SECOND] < 0 || a[SECOND] > 59 ?
  11637. SECOND :
  11638. a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ?
  11639. MILLISECOND :
  11640. -1;
  11641. if (
  11642. getParsingFlags(m)._overflowDayOfYear && (
  11643. overflow < YEAR || overflow > DATE))
  11644. {
  11645. overflow = DATE;
  11646. }
  11647. if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
  11648. overflow = WEEK;
  11649. }
  11650. if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
  11651. overflow = WEEKDAY;
  11652. }
  11653. getParsingFlags(m).overflow = overflow;
  11654. }
  11655. return m;
  11656. }
  11657. // iso 8601 regex
  11658. // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)
  11659. var extendedIsoRegex =
  11660. /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
  11661. basicIsoRegex =
  11662. /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
  11663. tzRegex = /Z|[+-]\d\d(?::?\d\d)?/,
  11664. isoDates = [
  11665. ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/],
  11666. ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/],
  11667. ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/],
  11668. ['GGGG-[W]WW', /\d{4}-W\d\d/, false],
  11669. ['YYYY-DDD', /\d{4}-\d{3}/],
  11670. ['YYYY-MM', /\d{4}-\d\d/, false],
  11671. ['YYYYYYMMDD', /[+-]\d{10}/],
  11672. ['YYYYMMDD', /\d{8}/],
  11673. ['GGGG[W]WWE', /\d{4}W\d{3}/],
  11674. ['GGGG[W]WW', /\d{4}W\d{2}/, false],
  11675. ['YYYYDDD', /\d{7}/],
  11676. ['YYYYMM', /\d{6}/, false],
  11677. ['YYYY', /\d{4}/, false]],
  11678. // iso time formats and regexes
  11679. isoTimes = [
  11680. ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/],
  11681. ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/],
  11682. ['HH:mm:ss', /\d\d:\d\d:\d\d/],
  11683. ['HH:mm', /\d\d:\d\d/],
  11684. ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/],
  11685. ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/],
  11686. ['HHmmss', /\d\d\d\d\d\d/],
  11687. ['HHmm', /\d\d\d\d/],
  11688. ['HH', /\d\d/]],
  11689. aspNetJsonRegex = /^\/?Date\((-?\d+)/i,
  11690. // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3
  11691. rfc2822 =
  11692. /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,
  11693. obsOffsets = {
  11694. UT: 0,
  11695. GMT: 0,
  11696. EDT: -4 * 60,
  11697. EST: -5 * 60,
  11698. CDT: -5 * 60,
  11699. CST: -6 * 60,
  11700. MDT: -6 * 60,
  11701. MST: -7 * 60,
  11702. PDT: -7 * 60,
  11703. PST: -8 * 60 };
  11704. // date from iso format
  11705. function configFromISO(config) {
  11706. var i,
  11707. l,
  11708. string = config._i,
  11709. match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),
  11710. allowTime,
  11711. dateFormat,
  11712. timeFormat,
  11713. tzFormat,
  11714. isoDatesLen = isoDates.length,
  11715. isoTimesLen = isoTimes.length;
  11716. if (match) {
  11717. getParsingFlags(config).iso = true;
  11718. for (i = 0, l = isoDatesLen; i < l; i++) {
  11719. if (isoDates[i][1].exec(match[1])) {
  11720. dateFormat = isoDates[i][0];
  11721. allowTime = isoDates[i][2] !== false;
  11722. break;
  11723. }
  11724. }
  11725. if (dateFormat == null) {
  11726. config._isValid = false;
  11727. return;
  11728. }
  11729. if (match[3]) {
  11730. for (i = 0, l = isoTimesLen; i < l; i++) {
  11731. if (isoTimes[i][1].exec(match[3])) {
  11732. // match[2] should be 'T' or space
  11733. timeFormat = (match[2] || ' ') + isoTimes[i][0];
  11734. break;
  11735. }
  11736. }
  11737. if (timeFormat == null) {
  11738. config._isValid = false;
  11739. return;
  11740. }
  11741. }
  11742. if (!allowTime && timeFormat != null) {
  11743. config._isValid = false;
  11744. return;
  11745. }
  11746. if (match[4]) {
  11747. if (tzRegex.exec(match[4])) {
  11748. tzFormat = 'Z';
  11749. } else {
  11750. config._isValid = false;
  11751. return;
  11752. }
  11753. }
  11754. config._f = dateFormat + (timeFormat || '') + (tzFormat || '');
  11755. configFromStringAndFormat(config);
  11756. } else {
  11757. config._isValid = false;
  11758. }
  11759. }
  11760. function extractFromRFC2822Strings(
  11761. yearStr,
  11762. monthStr,
  11763. dayStr,
  11764. hourStr,
  11765. minuteStr,
  11766. secondStr)
  11767. {
  11768. var result = [
  11769. untruncateYear(yearStr),
  11770. defaultLocaleMonthsShort.indexOf(monthStr),
  11771. parseInt(dayStr, 10),
  11772. parseInt(hourStr, 10),
  11773. parseInt(minuteStr, 10)];
  11774. if (secondStr) {
  11775. result.push(parseInt(secondStr, 10));
  11776. }
  11777. return result;
  11778. }
  11779. function untruncateYear(yearStr) {
  11780. var year = parseInt(yearStr, 10);
  11781. if (year <= 49) {
  11782. return 2000 + year;
  11783. } else if (year <= 999) {
  11784. return 1900 + year;
  11785. }
  11786. return year;
  11787. }
  11788. function preprocessRFC2822(s) {
  11789. // Remove comments and folding whitespace and replace multiple-spaces with a single space
  11790. return s.
  11791. replace(/\([^()]*\)|[\n\t]/g, ' ').
  11792. replace(/(\s\s+)/g, ' ').
  11793. replace(/^\s\s*/, '').
  11794. replace(/\s\s*$/, '');
  11795. }
  11796. function checkWeekday(weekdayStr, parsedInput, config) {
  11797. if (weekdayStr) {
  11798. // TODO: Replace the vanilla JS Date object with an independent day-of-week check.
  11799. var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),
  11800. weekdayActual = new Date(
  11801. parsedInput[0],
  11802. parsedInput[1],
  11803. parsedInput[2]).
  11804. getDay();
  11805. if (weekdayProvided !== weekdayActual) {
  11806. getParsingFlags(config).weekdayMismatch = true;
  11807. config._isValid = false;
  11808. return false;
  11809. }
  11810. }
  11811. return true;
  11812. }
  11813. function calculateOffset(obsOffset, militaryOffset, numOffset) {
  11814. if (obsOffset) {
  11815. return obsOffsets[obsOffset];
  11816. } else if (militaryOffset) {
  11817. // the only allowed military tz is Z
  11818. return 0;
  11819. } else {
  11820. var hm = parseInt(numOffset, 10),
  11821. m = hm % 100,
  11822. h = (hm - m) / 100;
  11823. return h * 60 + m;
  11824. }
  11825. }
  11826. // date and time from ref 2822 format
  11827. function configFromRFC2822(config) {
  11828. var match = rfc2822.exec(preprocessRFC2822(config._i)),
  11829. parsedArray;
  11830. if (match) {
  11831. parsedArray = extractFromRFC2822Strings(
  11832. match[4],
  11833. match[3],
  11834. match[2],
  11835. match[5],
  11836. match[6],
  11837. match[7]);
  11838. if (!checkWeekday(match[1], parsedArray, config)) {
  11839. return;
  11840. }
  11841. config._a = parsedArray;
  11842. config._tzm = calculateOffset(match[8], match[9], match[10]);
  11843. config._d = createUTCDate.apply(null, config._a);
  11844. config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
  11845. getParsingFlags(config).rfc2822 = true;
  11846. } else {
  11847. config._isValid = false;
  11848. }
  11849. }
  11850. // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict
  11851. function configFromString(config) {
  11852. var matched = aspNetJsonRegex.exec(config._i);
  11853. if (matched !== null) {
  11854. config._d = new Date(+matched[1]);
  11855. return;
  11856. }
  11857. configFromISO(config);
  11858. if (config._isValid === false) {
  11859. delete config._isValid;
  11860. } else {
  11861. return;
  11862. }
  11863. configFromRFC2822(config);
  11864. if (config._isValid === false) {
  11865. delete config._isValid;
  11866. } else {
  11867. return;
  11868. }
  11869. if (config._strict) {
  11870. config._isValid = false;
  11871. } else {
  11872. // Final attempt, use Input Fallback
  11873. hooks.createFromInputFallback(config);
  11874. }
  11875. }
  11876. hooks.createFromInputFallback = deprecate(
  11877. 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +
  11878. 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +
  11879. 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',
  11880. function (config) {
  11881. config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
  11882. });
  11883. // Pick the first defined of two or three arguments.
  11884. function defaults(a, b, c) {
  11885. if (a != null) {
  11886. return a;
  11887. }
  11888. if (b != null) {
  11889. return b;
  11890. }
  11891. return c;
  11892. }
  11893. function currentDateArray(config) {
  11894. // hooks is actually the exported moment object
  11895. var nowValue = new Date(hooks.now());
  11896. if (config._useUTC) {
  11897. return [
  11898. nowValue.getUTCFullYear(),
  11899. nowValue.getUTCMonth(),
  11900. nowValue.getUTCDate()];
  11901. }
  11902. return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];
  11903. }
  11904. // convert an array to a date.
  11905. // the array should mirror the parameters below
  11906. // note: all values past the year are optional and will default to the lowest possible value.
  11907. // [year, month, day , hour, minute, second, millisecond]
  11908. function configFromArray(config) {
  11909. var i,
  11910. date,
  11911. input = [],
  11912. currentDate,
  11913. expectedWeekday,
  11914. yearToUse;
  11915. if (config._d) {
  11916. return;
  11917. }
  11918. currentDate = currentDateArray(config);
  11919. //compute day of the year from weeks and weekdays
  11920. if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
  11921. dayOfYearFromWeekInfo(config);
  11922. }
  11923. //if the day of the year is set, figure out what it is
  11924. if (config._dayOfYear != null) {
  11925. yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);
  11926. if (
  11927. config._dayOfYear > daysInYear(yearToUse) ||
  11928. config._dayOfYear === 0)
  11929. {
  11930. getParsingFlags(config)._overflowDayOfYear = true;
  11931. }
  11932. date = createUTCDate(yearToUse, 0, config._dayOfYear);
  11933. config._a[MONTH] = date.getUTCMonth();
  11934. config._a[DATE] = date.getUTCDate();
  11935. }
  11936. // Default to current date.
  11937. // * if no year, month, day of month are given, default to today
  11938. // * if day of month is given, default month and year
  11939. // * if month is given, default only year
  11940. // * if year is given, don't default anything
  11941. for (i = 0; i < 3 && config._a[i] == null; ++i) {
  11942. config._a[i] = input[i] = currentDate[i];
  11943. }
  11944. // Zero out whatever was not defaulted, including time
  11945. for (; i < 7; i++) {
  11946. config._a[i] = input[i] =
  11947. config._a[i] == null ? i === 2 ? 1 : 0 : config._a[i];
  11948. }
  11949. // Check for 24:00:00.000
  11950. if (
  11951. config._a[HOUR] === 24 &&
  11952. config._a[MINUTE] === 0 &&
  11953. config._a[SECOND] === 0 &&
  11954. config._a[MILLISECOND] === 0)
  11955. {
  11956. config._nextDay = true;
  11957. config._a[HOUR] = 0;
  11958. }
  11959. config._d = (config._useUTC ? createUTCDate : createDate).apply(
  11960. null,
  11961. input);
  11962. expectedWeekday = config._useUTC ?
  11963. config._d.getUTCDay() :
  11964. config._d.getDay();
  11965. // Apply timezone offset from input. The actual utcOffset can be changed
  11966. // with parseZone.
  11967. if (config._tzm != null) {
  11968. config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
  11969. }
  11970. if (config._nextDay) {
  11971. config._a[HOUR] = 24;
  11972. }
  11973. // check for mismatching day of week
  11974. if (
  11975. config._w &&
  11976. typeof config._w.d !== 'undefined' &&
  11977. config._w.d !== expectedWeekday)
  11978. {
  11979. getParsingFlags(config).weekdayMismatch = true;
  11980. }
  11981. }
  11982. function dayOfYearFromWeekInfo(config) {
  11983. var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;
  11984. w = config._w;
  11985. if (w.GG != null || w.W != null || w.E != null) {
  11986. dow = 1;
  11987. doy = 4;
  11988. // TODO: We need to take the current isoWeekYear, but that depends on
  11989. // how we interpret now (local, utc, fixed offset). So create
  11990. // a now version of current config (take local/utc/offset flags, and
  11991. // create now).
  11992. weekYear = defaults(
  11993. w.GG,
  11994. config._a[YEAR],
  11995. weekOfYear(createLocal(), 1, 4).year);
  11996. week = defaults(w.W, 1);
  11997. weekday = defaults(w.E, 1);
  11998. if (weekday < 1 || weekday > 7) {
  11999. weekdayOverflow = true;
  12000. }
  12001. } else {
  12002. dow = config._locale._week.dow;
  12003. doy = config._locale._week.doy;
  12004. curWeek = weekOfYear(createLocal(), dow, doy);
  12005. weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);
  12006. // Default to current week.
  12007. week = defaults(w.w, curWeek.week);
  12008. if (w.d != null) {
  12009. // weekday -- low day numbers are considered next week
  12010. weekday = w.d;
  12011. if (weekday < 0 || weekday > 6) {
  12012. weekdayOverflow = true;
  12013. }
  12014. } else if (w.e != null) {
  12015. // local weekday -- counting starts from beginning of week
  12016. weekday = w.e + dow;
  12017. if (w.e < 0 || w.e > 6) {
  12018. weekdayOverflow = true;
  12019. }
  12020. } else {
  12021. // default to beginning of week
  12022. weekday = dow;
  12023. }
  12024. }
  12025. if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {
  12026. getParsingFlags(config)._overflowWeeks = true;
  12027. } else if (weekdayOverflow != null) {
  12028. getParsingFlags(config)._overflowWeekday = true;
  12029. } else {
  12030. temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
  12031. config._a[YEAR] = temp.year;
  12032. config._dayOfYear = temp.dayOfYear;
  12033. }
  12034. }
  12035. // constant that refers to the ISO standard
  12036. hooks.ISO_8601 = function () {};
  12037. // constant that refers to the RFC 2822 form
  12038. hooks.RFC_2822 = function () {};
  12039. // date from string and format string
  12040. function configFromStringAndFormat(config) {
  12041. // TODO: Move this to another part of the creation flow to prevent circular deps
  12042. if (config._f === hooks.ISO_8601) {
  12043. configFromISO(config);
  12044. return;
  12045. }
  12046. if (config._f === hooks.RFC_2822) {
  12047. configFromRFC2822(config);
  12048. return;
  12049. }
  12050. config._a = [];
  12051. getParsingFlags(config).empty = true;
  12052. // This array is used to make a Date, either with `new Date` or `Date.UTC`
  12053. var string = '' + config._i,
  12054. i,
  12055. parsedInput,
  12056. tokens,
  12057. token,
  12058. skipped,
  12059. stringLength = string.length,
  12060. totalParsedInputLength = 0,
  12061. era,
  12062. tokenLen;
  12063. tokens =
  12064. expandFormat(config._f, config._locale).match(formattingTokens) || [];
  12065. tokenLen = tokens.length;
  12066. for (i = 0; i < tokenLen; i++) {
  12067. token = tokens[i];
  12068. parsedInput = (string.match(getParseRegexForToken(token, config)) ||
  12069. [])[0];
  12070. if (parsedInput) {
  12071. skipped = string.substr(0, string.indexOf(parsedInput));
  12072. if (skipped.length > 0) {
  12073. getParsingFlags(config).unusedInput.push(skipped);
  12074. }
  12075. string = string.slice(
  12076. string.indexOf(parsedInput) + parsedInput.length);
  12077. totalParsedInputLength += parsedInput.length;
  12078. }
  12079. // don't parse if it's not a known token
  12080. if (formatTokenFunctions[token]) {
  12081. if (parsedInput) {
  12082. getParsingFlags(config).empty = false;
  12083. } else {
  12084. getParsingFlags(config).unusedTokens.push(token);
  12085. }
  12086. addTimeToArrayFromToken(token, parsedInput, config);
  12087. } else if (config._strict && !parsedInput) {
  12088. getParsingFlags(config).unusedTokens.push(token);
  12089. }
  12090. }
  12091. // add remaining unparsed input length to the string
  12092. getParsingFlags(config).charsLeftOver =
  12093. stringLength - totalParsedInputLength;
  12094. if (string.length > 0) {
  12095. getParsingFlags(config).unusedInput.push(string);
  12096. }
  12097. // clear _12h flag if hour is <= 12
  12098. if (
  12099. config._a[HOUR] <= 12 &&
  12100. getParsingFlags(config).bigHour === true &&
  12101. config._a[HOUR] > 0)
  12102. {
  12103. getParsingFlags(config).bigHour = undefined;
  12104. }
  12105. getParsingFlags(config).parsedDateParts = config._a.slice(0);
  12106. getParsingFlags(config).meridiem = config._meridiem;
  12107. // handle meridiem
  12108. config._a[HOUR] = meridiemFixWrap(
  12109. config._locale,
  12110. config._a[HOUR],
  12111. config._meridiem);
  12112. // handle era
  12113. era = getParsingFlags(config).era;
  12114. if (era !== null) {
  12115. config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);
  12116. }
  12117. configFromArray(config);
  12118. checkOverflow(config);
  12119. }
  12120. function meridiemFixWrap(locale, hour, meridiem) {
  12121. var isPm;
  12122. if (meridiem == null) {
  12123. // nothing to do
  12124. return hour;
  12125. }
  12126. if (locale.meridiemHour != null) {
  12127. return locale.meridiemHour(hour, meridiem);
  12128. } else if (locale.isPM != null) {
  12129. // Fallback
  12130. isPm = locale.isPM(meridiem);
  12131. if (isPm && hour < 12) {
  12132. hour += 12;
  12133. }
  12134. if (!isPm && hour === 12) {
  12135. hour = 0;
  12136. }
  12137. return hour;
  12138. } else {
  12139. // this is not supposed to happen
  12140. return hour;
  12141. }
  12142. }
  12143. // date from string and array of format strings
  12144. function configFromStringAndArray(config) {
  12145. var tempConfig,
  12146. bestMoment,
  12147. scoreToBeat,
  12148. i,
  12149. currentScore,
  12150. validFormatFound,
  12151. bestFormatIsValid = false,
  12152. configfLen = config._f.length;
  12153. if (configfLen === 0) {
  12154. getParsingFlags(config).invalidFormat = true;
  12155. config._d = new Date(NaN);
  12156. return;
  12157. }
  12158. for (i = 0; i < configfLen; i++) {
  12159. currentScore = 0;
  12160. validFormatFound = false;
  12161. tempConfig = copyConfig({}, config);
  12162. if (config._useUTC != null) {
  12163. tempConfig._useUTC = config._useUTC;
  12164. }
  12165. tempConfig._f = config._f[i];
  12166. configFromStringAndFormat(tempConfig);
  12167. if (isValid(tempConfig)) {
  12168. validFormatFound = true;
  12169. }
  12170. // if there is any input that was not parsed add a penalty for that format
  12171. currentScore += getParsingFlags(tempConfig).charsLeftOver;
  12172. //or tokens
  12173. currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
  12174. getParsingFlags(tempConfig).score = currentScore;
  12175. if (!bestFormatIsValid) {
  12176. if (
  12177. scoreToBeat == null ||
  12178. currentScore < scoreToBeat ||
  12179. validFormatFound)
  12180. {
  12181. scoreToBeat = currentScore;
  12182. bestMoment = tempConfig;
  12183. if (validFormatFound) {
  12184. bestFormatIsValid = true;
  12185. }
  12186. }
  12187. } else {
  12188. if (currentScore < scoreToBeat) {
  12189. scoreToBeat = currentScore;
  12190. bestMoment = tempConfig;
  12191. }
  12192. }
  12193. }
  12194. extend(config, bestMoment || tempConfig);
  12195. }
  12196. function configFromObject(config) {
  12197. if (config._d) {
  12198. return;
  12199. }
  12200. var i = normalizeObjectUnits(config._i),
  12201. dayOrDate = i.day === undefined ? i.date : i.day;
  12202. config._a = map(
  12203. [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],
  12204. function (obj) {
  12205. return obj && parseInt(obj, 10);
  12206. });
  12207. configFromArray(config);
  12208. }
  12209. function createFromConfig(config) {
  12210. var res = new Moment(checkOverflow(prepareConfig(config)));
  12211. if (res._nextDay) {
  12212. // Adding is smart enough around DST
  12213. res.add(1, 'd');
  12214. res._nextDay = undefined;
  12215. }
  12216. return res;
  12217. }
  12218. function prepareConfig(config) {
  12219. var input = config._i,
  12220. format = config._f;
  12221. config._locale = config._locale || getLocale(config._l);
  12222. if (input === null || format === undefined && input === '') {
  12223. return createInvalid({ nullInput: true });
  12224. }
  12225. if (typeof input === 'string') {
  12226. config._i = input = config._locale.preparse(input);
  12227. }
  12228. if (isMoment(input)) {
  12229. return new Moment(checkOverflow(input));
  12230. } else if (isDate(input)) {
  12231. config._d = input;
  12232. } else if (isArray(format)) {
  12233. configFromStringAndArray(config);
  12234. } else if (format) {
  12235. configFromStringAndFormat(config);
  12236. } else {
  12237. configFromInput(config);
  12238. }
  12239. if (!isValid(config)) {
  12240. config._d = null;
  12241. }
  12242. return config;
  12243. }
  12244. function configFromInput(config) {
  12245. var input = config._i;
  12246. if (isUndefined(input)) {
  12247. config._d = new Date(hooks.now());
  12248. } else if (isDate(input)) {
  12249. config._d = new Date(input.valueOf());
  12250. } else if (typeof input === 'string') {
  12251. configFromString(config);
  12252. } else if (isArray(input)) {
  12253. config._a = map(input.slice(0), function (obj) {
  12254. return parseInt(obj, 10);
  12255. });
  12256. configFromArray(config);
  12257. } else if (isObject(input)) {
  12258. configFromObject(config);
  12259. } else if (isNumber(input)) {
  12260. // from milliseconds
  12261. config._d = new Date(input);
  12262. } else {
  12263. hooks.createFromInputFallback(config);
  12264. }
  12265. }
  12266. function createLocalOrUTC(input, format, locale, strict, isUTC) {
  12267. var c = {};
  12268. if (format === true || format === false) {
  12269. strict = format;
  12270. format = undefined;
  12271. }
  12272. if (locale === true || locale === false) {
  12273. strict = locale;
  12274. locale = undefined;
  12275. }
  12276. if (
  12277. isObject(input) && isObjectEmpty(input) ||
  12278. isArray(input) && input.length === 0)
  12279. {
  12280. input = undefined;
  12281. }
  12282. // object construction must be done this way.
  12283. // https://github.com/moment/moment/issues/1423
  12284. c._isAMomentObject = true;
  12285. c._useUTC = c._isUTC = isUTC;
  12286. c._l = locale;
  12287. c._i = input;
  12288. c._f = format;
  12289. c._strict = strict;
  12290. return createFromConfig(c);
  12291. }
  12292. function createLocal(input, format, locale, strict) {
  12293. return createLocalOrUTC(input, format, locale, strict, false);
  12294. }
  12295. var prototypeMin = deprecate(
  12296. 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',
  12297. function () {
  12298. var other = createLocal.apply(null, arguments);
  12299. if (this.isValid() && other.isValid()) {
  12300. return other < this ? this : other;
  12301. } else {
  12302. return createInvalid();
  12303. }
  12304. }),
  12305. prototypeMax = deprecate(
  12306. 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',
  12307. function () {
  12308. var other = createLocal.apply(null, arguments);
  12309. if (this.isValid() && other.isValid()) {
  12310. return other > this ? this : other;
  12311. } else {
  12312. return createInvalid();
  12313. }
  12314. });
  12315. // Pick a moment m from moments so that m[fn](other) is true for all
  12316. // other. This relies on the function fn to be transitive.
  12317. //
  12318. // moments should either be an array of moment objects or an array, whose
  12319. // first element is an array of moment objects.
  12320. function pickBy(fn, moments) {
  12321. var res, i;
  12322. if (moments.length === 1 && isArray(moments[0])) {
  12323. moments = moments[0];
  12324. }
  12325. if (!moments.length) {
  12326. return createLocal();
  12327. }
  12328. res = moments[0];
  12329. for (i = 1; i < moments.length; ++i) {
  12330. if (!moments[i].isValid() || moments[i][fn](res)) {
  12331. res = moments[i];
  12332. }
  12333. }
  12334. return res;
  12335. }
  12336. // TODO: Use [].sort instead?
  12337. function min() {
  12338. var args = [].slice.call(arguments, 0);
  12339. return pickBy('isBefore', args);
  12340. }
  12341. function max() {
  12342. var args = [].slice.call(arguments, 0);
  12343. return pickBy('isAfter', args);
  12344. }
  12345. var now = function now() {
  12346. return Date.now ? Date.now() : +new Date();
  12347. };
  12348. var ordering = [
  12349. 'year',
  12350. 'quarter',
  12351. 'month',
  12352. 'week',
  12353. 'day',
  12354. 'hour',
  12355. 'minute',
  12356. 'second',
  12357. 'millisecond'];
  12358. function isDurationValid(m) {
  12359. var key,
  12360. unitHasDecimal = false,
  12361. i,
  12362. orderLen = ordering.length;
  12363. for (key in m) {
  12364. if (
  12365. hasOwnProp(m, key) &&
  12366. !(
  12367. indexOf.call(ordering, key) !== -1 && (
  12368. m[key] == null || !isNaN(m[key]))))
  12369. {
  12370. return false;
  12371. }
  12372. }
  12373. for (i = 0; i < orderLen; ++i) {
  12374. if (m[ordering[i]]) {
  12375. if (unitHasDecimal) {
  12376. return false; // only allow non-integers for smallest unit
  12377. }
  12378. if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {
  12379. unitHasDecimal = true;
  12380. }
  12381. }
  12382. }
  12383. return true;
  12384. }
  12385. function isValid$1() {
  12386. return this._isValid;
  12387. }
  12388. function createInvalid$1() {
  12389. return createDuration(NaN);
  12390. }
  12391. function Duration(duration) {
  12392. var normalizedInput = normalizeObjectUnits(duration),
  12393. years = normalizedInput.year || 0,
  12394. quarters = normalizedInput.quarter || 0,
  12395. months = normalizedInput.month || 0,
  12396. weeks = normalizedInput.week || normalizedInput.isoWeek || 0,
  12397. days = normalizedInput.day || 0,
  12398. hours = normalizedInput.hour || 0,
  12399. minutes = normalizedInput.minute || 0,
  12400. seconds = normalizedInput.second || 0,
  12401. milliseconds = normalizedInput.millisecond || 0;
  12402. this._isValid = isDurationValid(normalizedInput);
  12403. // representation for dateAddRemove
  12404. this._milliseconds =
  12405. +milliseconds +
  12406. seconds * 1e3 + // 1000
  12407. minutes * 6e4 + // 1000 * 60
  12408. hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
  12409. // Because of dateAddRemove treats 24 hours as different from a
  12410. // day when working around DST, we need to store them separately
  12411. this._days = +days + weeks * 7;
  12412. // It is impossible to translate months into days without knowing
  12413. // which months you are are talking about, so we have to store
  12414. // it separately.
  12415. this._months = +months + quarters * 3 + years * 12;
  12416. this._data = {};
  12417. this._locale = getLocale();
  12418. this._bubble();
  12419. }
  12420. function isDuration(obj) {
  12421. return obj instanceof Duration;
  12422. }
  12423. function absRound(number) {
  12424. if (number < 0) {
  12425. return Math.round(-1 * number) * -1;
  12426. } else {
  12427. return Math.round(number);
  12428. }
  12429. }
  12430. // compare two arrays, return the number of differences
  12431. function compareArrays(array1, array2, dontConvert) {
  12432. var len = Math.min(array1.length, array2.length),
  12433. lengthDiff = Math.abs(array1.length - array2.length),
  12434. diffs = 0,
  12435. i;
  12436. for (i = 0; i < len; i++) {
  12437. if (
  12438. dontConvert && array1[i] !== array2[i] ||
  12439. !dontConvert && toInt(array1[i]) !== toInt(array2[i]))
  12440. {
  12441. diffs++;
  12442. }
  12443. }
  12444. return diffs + lengthDiff;
  12445. }
  12446. // FORMATTING
  12447. function offset(token, separator) {
  12448. addFormatToken(token, 0, 0, function () {
  12449. var offset = this.utcOffset(),
  12450. sign = '+';
  12451. if (offset < 0) {
  12452. offset = -offset;
  12453. sign = '-';
  12454. }
  12455. return (
  12456. sign +
  12457. zeroFill(~~(offset / 60), 2) +
  12458. separator +
  12459. zeroFill(~~offset % 60, 2));
  12460. });
  12461. }
  12462. offset('Z', ':');
  12463. offset('ZZ', '');
  12464. // PARSING
  12465. addRegexToken('Z', matchShortOffset);
  12466. addRegexToken('ZZ', matchShortOffset);
  12467. addParseToken(['Z', 'ZZ'], function (input, array, config) {
  12468. config._useUTC = true;
  12469. config._tzm = offsetFromString(matchShortOffset, input);
  12470. });
  12471. // HELPERS
  12472. // timezone chunker
  12473. // '+10:00' > ['10', '00']
  12474. // '-1530' > ['-15', '30']
  12475. var chunkOffset = /([\+\-]|\d\d)/gi;
  12476. function offsetFromString(matcher, string) {
  12477. var matches = (string || '').match(matcher),
  12478. chunk,
  12479. parts,
  12480. minutes;
  12481. if (matches === null) {
  12482. return null;
  12483. }
  12484. chunk = matches[matches.length - 1] || [];
  12485. parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];
  12486. minutes = +(parts[1] * 60) + toInt(parts[2]);
  12487. return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;
  12488. }
  12489. // Return a moment from input, that is local/utc/zone equivalent to model.
  12490. function cloneWithOffset(input, model) {
  12491. var res, diff;
  12492. if (model._isUTC) {
  12493. res = model.clone();
  12494. diff =
  12495. (isMoment(input) || isDate(input) ?
  12496. input.valueOf() :
  12497. createLocal(input).valueOf()) - res.valueOf();
  12498. // Use low-level api, because this fn is low-level api.
  12499. res._d.setTime(res._d.valueOf() + diff);
  12500. hooks.updateOffset(res, false);
  12501. return res;
  12502. } else {
  12503. return createLocal(input).local();
  12504. }
  12505. }
  12506. function getDateOffset(m) {
  12507. // On Firefox.24 Date#getTimezoneOffset returns a floating point.
  12508. // https://github.com/moment/moment/pull/1871
  12509. return -Math.round(m._d.getTimezoneOffset());
  12510. }
  12511. // HOOKS
  12512. // This function will be called whenever a moment is mutated.
  12513. // It is intended to keep the offset in sync with the timezone.
  12514. hooks.updateOffset = function () {};
  12515. // MOMENTS
  12516. // keepLocalTime = true means only change the timezone, without
  12517. // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
  12518. // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
  12519. // +0200, so we adjust the time as needed, to be valid.
  12520. //
  12521. // Keeping the time actually adds/subtracts (one hour)
  12522. // from the actual represented time. That is why we call updateOffset
  12523. // a second time. In case it wants us to change the offset again
  12524. // _changeInProgress == true case, then we have to adjust, because
  12525. // there is no such time in the given timezone.
  12526. function getSetOffset(input, keepLocalTime, keepMinutes) {
  12527. var offset = this._offset || 0,
  12528. localAdjust;
  12529. if (!this.isValid()) {
  12530. return input != null ? this : NaN;
  12531. }
  12532. if (input != null) {
  12533. if (typeof input === 'string') {
  12534. input = offsetFromString(matchShortOffset, input);
  12535. if (input === null) {
  12536. return this;
  12537. }
  12538. } else if (Math.abs(input) < 16 && !keepMinutes) {
  12539. input = input * 60;
  12540. }
  12541. if (!this._isUTC && keepLocalTime) {
  12542. localAdjust = getDateOffset(this);
  12543. }
  12544. this._offset = input;
  12545. this._isUTC = true;
  12546. if (localAdjust != null) {
  12547. this.add(localAdjust, 'm');
  12548. }
  12549. if (offset !== input) {
  12550. if (!keepLocalTime || this._changeInProgress) {
  12551. addSubtract(
  12552. this,
  12553. createDuration(input - offset, 'm'),
  12554. 1,
  12555. false);
  12556. } else if (!this._changeInProgress) {
  12557. this._changeInProgress = true;
  12558. hooks.updateOffset(this, true);
  12559. this._changeInProgress = null;
  12560. }
  12561. }
  12562. return this;
  12563. } else {
  12564. return this._isUTC ? offset : getDateOffset(this);
  12565. }
  12566. }
  12567. function getSetZone(input, keepLocalTime) {
  12568. if (input != null) {
  12569. if (typeof input !== 'string') {
  12570. input = -input;
  12571. }
  12572. this.utcOffset(input, keepLocalTime);
  12573. return this;
  12574. } else {
  12575. return -this.utcOffset();
  12576. }
  12577. }
  12578. function setOffsetToUTC(keepLocalTime) {
  12579. return this.utcOffset(0, keepLocalTime);
  12580. }
  12581. function setOffsetToLocal(keepLocalTime) {
  12582. if (this._isUTC) {
  12583. this.utcOffset(0, keepLocalTime);
  12584. this._isUTC = false;
  12585. if (keepLocalTime) {
  12586. this.subtract(getDateOffset(this), 'm');
  12587. }
  12588. }
  12589. return this;
  12590. }
  12591. function setOffsetToParsedOffset() {
  12592. if (this._tzm != null) {
  12593. this.utcOffset(this._tzm, false, true);
  12594. } else if (typeof this._i === 'string') {
  12595. var tZone = offsetFromString(matchOffset, this._i);
  12596. if (tZone != null) {
  12597. this.utcOffset(tZone);
  12598. } else {
  12599. this.utcOffset(0, true);
  12600. }
  12601. }
  12602. return this;
  12603. }
  12604. function hasAlignedHourOffset(input) {
  12605. if (!this.isValid()) {
  12606. return false;
  12607. }
  12608. input = input ? createLocal(input).utcOffset() : 0;
  12609. return (this.utcOffset() - input) % 60 === 0;
  12610. }
  12611. function isDaylightSavingTime() {
  12612. return (
  12613. this.utcOffset() > this.clone().month(0).utcOffset() ||
  12614. this.utcOffset() > this.clone().month(5).utcOffset());
  12615. }
  12616. function isDaylightSavingTimeShifted() {
  12617. if (!isUndefined(this._isDSTShifted)) {
  12618. return this._isDSTShifted;
  12619. }
  12620. var c = {},
  12621. other;
  12622. copyConfig(c, this);
  12623. c = prepareConfig(c);
  12624. if (c._a) {
  12625. other = c._isUTC ? createUTC(c._a) : createLocal(c._a);
  12626. this._isDSTShifted =
  12627. this.isValid() && compareArrays(c._a, other.toArray()) > 0;
  12628. } else {
  12629. this._isDSTShifted = false;
  12630. }
  12631. return this._isDSTShifted;
  12632. }
  12633. function isLocal() {
  12634. return this.isValid() ? !this._isUTC : false;
  12635. }
  12636. function isUtcOffset() {
  12637. return this.isValid() ? this._isUTC : false;
  12638. }
  12639. function isUtc() {
  12640. return this.isValid() ? this._isUTC && this._offset === 0 : false;
  12641. }
  12642. // ASP.NET json date format regex
  12643. var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,
  12644. // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
  12645. // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
  12646. // and further modified to allow for strings containing both week and day
  12647. isoRegex =
  12648. /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
  12649. function createDuration(input, key) {
  12650. var duration = input,
  12651. // matching against regexp is expensive, do it on demand
  12652. match = null,
  12653. sign,
  12654. ret,
  12655. diffRes;
  12656. if (isDuration(input)) {
  12657. duration = {
  12658. ms: input._milliseconds,
  12659. d: input._days,
  12660. M: input._months };
  12661. } else if (isNumber(input) || !isNaN(+input)) {
  12662. duration = {};
  12663. if (key) {
  12664. duration[key] = +input;
  12665. } else {
  12666. duration.milliseconds = +input;
  12667. }
  12668. } else if (match = aspNetRegex.exec(input)) {
  12669. sign = match[1] === '-' ? -1 : 1;
  12670. duration = {
  12671. y: 0,
  12672. d: toInt(match[DATE]) * sign,
  12673. h: toInt(match[HOUR]) * sign,
  12674. m: toInt(match[MINUTE]) * sign,
  12675. s: toInt(match[SECOND]) * sign,
  12676. ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match
  12677. };
  12678. } else if (match = isoRegex.exec(input)) {
  12679. sign = match[1] === '-' ? -1 : 1;
  12680. duration = {
  12681. y: parseIso(match[2], sign),
  12682. M: parseIso(match[3], sign),
  12683. w: parseIso(match[4], sign),
  12684. d: parseIso(match[5], sign),
  12685. h: parseIso(match[6], sign),
  12686. m: parseIso(match[7], sign),
  12687. s: parseIso(match[8], sign) };
  12688. } else if (duration == null) {
  12689. // checks for null or undefined
  12690. duration = {};
  12691. } else if (
  12692. typeof duration === 'object' && (
  12693. 'from' in duration || 'to' in duration))
  12694. {
  12695. diffRes = momentsDifference(
  12696. createLocal(duration.from),
  12697. createLocal(duration.to));
  12698. duration = {};
  12699. duration.ms = diffRes.milliseconds;
  12700. duration.M = diffRes.months;
  12701. }
  12702. ret = new Duration(duration);
  12703. if (isDuration(input) && hasOwnProp(input, '_locale')) {
  12704. ret._locale = input._locale;
  12705. }
  12706. if (isDuration(input) && hasOwnProp(input, '_isValid')) {
  12707. ret._isValid = input._isValid;
  12708. }
  12709. return ret;
  12710. }
  12711. createDuration.fn = Duration.prototype;
  12712. createDuration.invalid = createInvalid$1;
  12713. function parseIso(inp, sign) {
  12714. // We'd normally use ~~inp for this, but unfortunately it also
  12715. // converts floats to ints.
  12716. // inp may be undefined, so careful calling replace on it.
  12717. var res = inp && parseFloat(inp.replace(',', '.'));
  12718. // apply sign while we're at it
  12719. return (isNaN(res) ? 0 : res) * sign;
  12720. }
  12721. function positiveMomentsDifference(base, other) {
  12722. var res = {};
  12723. res.months =
  12724. other.month() - base.month() + (other.year() - base.year()) * 12;
  12725. if (base.clone().add(res.months, 'M').isAfter(other)) {
  12726. --res.months;
  12727. }
  12728. res.milliseconds = +other - +base.clone().add(res.months, 'M');
  12729. return res;
  12730. }
  12731. function momentsDifference(base, other) {
  12732. var res;
  12733. if (!(base.isValid() && other.isValid())) {
  12734. return { milliseconds: 0, months: 0 };
  12735. }
  12736. other = cloneWithOffset(other, base);
  12737. if (base.isBefore(other)) {
  12738. res = positiveMomentsDifference(base, other);
  12739. } else {
  12740. res = positiveMomentsDifference(other, base);
  12741. res.milliseconds = -res.milliseconds;
  12742. res.months = -res.months;
  12743. }
  12744. return res;
  12745. }
  12746. // TODO: remove 'name' arg after deprecation is removed
  12747. function createAdder(direction, name) {
  12748. return function (val, period) {
  12749. var dur, tmp;
  12750. //invert the arguments, but complain about it
  12751. if (period !== null && !isNaN(+period)) {
  12752. deprecateSimple(
  12753. name,
  12754. 'moment().' +
  12755. name +
  12756. '(period, number) is deprecated. Please use moment().' +
  12757. name +
  12758. '(number, period). ' +
  12759. 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');
  12760. tmp = val;
  12761. val = period;
  12762. period = tmp;
  12763. }
  12764. dur = createDuration(val, period);
  12765. addSubtract(this, dur, direction);
  12766. return this;
  12767. };
  12768. }
  12769. function addSubtract(mom, duration, isAdding, updateOffset) {
  12770. var milliseconds = duration._milliseconds,
  12771. days = absRound(duration._days),
  12772. months = absRound(duration._months);
  12773. if (!mom.isValid()) {
  12774. // No op
  12775. return;
  12776. }
  12777. updateOffset = updateOffset == null ? true : updateOffset;
  12778. if (months) {
  12779. setMonth(mom, get(mom, 'Month') + months * isAdding);
  12780. }
  12781. if (days) {
  12782. set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);
  12783. }
  12784. if (milliseconds) {
  12785. mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);
  12786. }
  12787. if (updateOffset) {
  12788. hooks.updateOffset(mom, days || months);
  12789. }
  12790. }
  12791. var add = createAdder(1, 'add'),
  12792. subtract = createAdder(-1, 'subtract');
  12793. function isString(input) {
  12794. return typeof input === 'string' || input instanceof String;
  12795. }
  12796. // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined
  12797. function isMomentInput(input) {
  12798. return (
  12799. isMoment(input) ||
  12800. isDate(input) ||
  12801. isString(input) ||
  12802. isNumber(input) ||
  12803. isNumberOrStringArray(input) ||
  12804. isMomentInputObject(input) ||
  12805. input === null ||
  12806. input === undefined);
  12807. }
  12808. function isMomentInputObject(input) {
  12809. var objectTest = isObject(input) && !isObjectEmpty(input),
  12810. propertyTest = false,
  12811. properties = [
  12812. 'years',
  12813. 'year',
  12814. 'y',
  12815. 'months',
  12816. 'month',
  12817. 'M',
  12818. 'days',
  12819. 'day',
  12820. 'd',
  12821. 'dates',
  12822. 'date',
  12823. 'D',
  12824. 'hours',
  12825. 'hour',
  12826. 'h',
  12827. 'minutes',
  12828. 'minute',
  12829. 'm',
  12830. 'seconds',
  12831. 'second',
  12832. 's',
  12833. 'milliseconds',
  12834. 'millisecond',
  12835. 'ms'],
  12836. i,
  12837. property,
  12838. propertyLen = properties.length;
  12839. for (i = 0; i < propertyLen; i += 1) {
  12840. property = properties[i];
  12841. propertyTest = propertyTest || hasOwnProp(input, property);
  12842. }
  12843. return objectTest && propertyTest;
  12844. }
  12845. function isNumberOrStringArray(input) {
  12846. var arrayTest = isArray(input),
  12847. dataTypeTest = false;
  12848. if (arrayTest) {
  12849. dataTypeTest =
  12850. input.filter(function (item) {
  12851. return !isNumber(item) && isString(input);
  12852. }).length === 0;
  12853. }
  12854. return arrayTest && dataTypeTest;
  12855. }
  12856. function isCalendarSpec(input) {
  12857. var objectTest = isObject(input) && !isObjectEmpty(input),
  12858. propertyTest = false,
  12859. properties = [
  12860. 'sameDay',
  12861. 'nextDay',
  12862. 'lastDay',
  12863. 'nextWeek',
  12864. 'lastWeek',
  12865. 'sameElse'],
  12866. i,
  12867. property;
  12868. for (i = 0; i < properties.length; i += 1) {
  12869. property = properties[i];
  12870. propertyTest = propertyTest || hasOwnProp(input, property);
  12871. }
  12872. return objectTest && propertyTest;
  12873. }
  12874. function getCalendarFormat(myMoment, now) {
  12875. var diff = myMoment.diff(now, 'days', true);
  12876. return diff < -6 ?
  12877. 'sameElse' :
  12878. diff < -1 ?
  12879. 'lastWeek' :
  12880. diff < 0 ?
  12881. 'lastDay' :
  12882. diff < 1 ?
  12883. 'sameDay' :
  12884. diff < 2 ?
  12885. 'nextDay' :
  12886. diff < 7 ?
  12887. 'nextWeek' :
  12888. 'sameElse';
  12889. }
  12890. function calendar$1(time, formats) {
  12891. // Support for single parameter, formats only overload to the calendar function
  12892. if (arguments.length === 1) {
  12893. if (!arguments[0]) {
  12894. time = undefined;
  12895. formats = undefined;
  12896. } else if (isMomentInput(arguments[0])) {
  12897. time = arguments[0];
  12898. formats = undefined;
  12899. } else if (isCalendarSpec(arguments[0])) {
  12900. formats = arguments[0];
  12901. time = undefined;
  12902. }
  12903. }
  12904. // We want to compare the start of today, vs this.
  12905. // Getting start-of-today depends on whether we're local/utc/offset or not.
  12906. var now = time || createLocal(),
  12907. sod = cloneWithOffset(now, this).startOf('day'),
  12908. format = hooks.calendarFormat(this, sod) || 'sameElse',
  12909. output =
  12910. formats && (
  12911. isFunction(formats[format]) ?
  12912. formats[format].call(this, now) :
  12913. formats[format]);
  12914. return this.format(
  12915. output || this.localeData().calendar(format, this, createLocal(now)));
  12916. }
  12917. function clone() {
  12918. return new Moment(this);
  12919. }
  12920. function isAfter(input, units) {
  12921. var localInput = isMoment(input) ? input : createLocal(input);
  12922. if (!(this.isValid() && localInput.isValid())) {
  12923. return false;
  12924. }
  12925. units = normalizeUnits(units) || 'millisecond';
  12926. if (units === 'millisecond') {
  12927. return this.valueOf() > localInput.valueOf();
  12928. } else {
  12929. return localInput.valueOf() < this.clone().startOf(units).valueOf();
  12930. }
  12931. }
  12932. function isBefore(input, units) {
  12933. var localInput = isMoment(input) ? input : createLocal(input);
  12934. if (!(this.isValid() && localInput.isValid())) {
  12935. return false;
  12936. }
  12937. units = normalizeUnits(units) || 'millisecond';
  12938. if (units === 'millisecond') {
  12939. return this.valueOf() < localInput.valueOf();
  12940. } else {
  12941. return this.clone().endOf(units).valueOf() < localInput.valueOf();
  12942. }
  12943. }
  12944. function isBetween(from, to, units, inclusivity) {
  12945. var localFrom = isMoment(from) ? from : createLocal(from),
  12946. localTo = isMoment(to) ? to : createLocal(to);
  12947. if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {
  12948. return false;
  12949. }
  12950. inclusivity = inclusivity || '()';
  12951. return (
  12952. (inclusivity[0] === '(' ?
  12953. this.isAfter(localFrom, units) :
  12954. !this.isBefore(localFrom, units)) && (
  12955. inclusivity[1] === ')' ?
  12956. this.isBefore(localTo, units) :
  12957. !this.isAfter(localTo, units)));
  12958. }
  12959. function isSame(input, units) {
  12960. var localInput = isMoment(input) ? input : createLocal(input),
  12961. inputMs;
  12962. if (!(this.isValid() && localInput.isValid())) {
  12963. return false;
  12964. }
  12965. units = normalizeUnits(units) || 'millisecond';
  12966. if (units === 'millisecond') {
  12967. return this.valueOf() === localInput.valueOf();
  12968. } else {
  12969. inputMs = localInput.valueOf();
  12970. return (
  12971. this.clone().startOf(units).valueOf() <= inputMs &&
  12972. inputMs <= this.clone().endOf(units).valueOf());
  12973. }
  12974. }
  12975. function isSameOrAfter(input, units) {
  12976. return this.isSame(input, units) || this.isAfter(input, units);
  12977. }
  12978. function isSameOrBefore(input, units) {
  12979. return this.isSame(input, units) || this.isBefore(input, units);
  12980. }
  12981. function diff(input, units, asFloat) {
  12982. var that, zoneDelta, output;
  12983. if (!this.isValid()) {
  12984. return NaN;
  12985. }
  12986. that = cloneWithOffset(input, this);
  12987. if (!that.isValid()) {
  12988. return NaN;
  12989. }
  12990. zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;
  12991. units = normalizeUnits(units);
  12992. switch (units) {
  12993. case 'year':
  12994. output = monthDiff(this, that) / 12;
  12995. break;
  12996. case 'month':
  12997. output = monthDiff(this, that);
  12998. break;
  12999. case 'quarter':
  13000. output = monthDiff(this, that) / 3;
  13001. break;
  13002. case 'second':
  13003. output = (this - that) / 1e3;
  13004. break; // 1000
  13005. case 'minute':
  13006. output = (this - that) / 6e4;
  13007. break; // 1000 * 60
  13008. case 'hour':
  13009. output = (this - that) / 36e5;
  13010. break; // 1000 * 60 * 60
  13011. case 'day':
  13012. output = (this - that - zoneDelta) / 864e5;
  13013. break; // 1000 * 60 * 60 * 24, negate dst
  13014. case 'week':
  13015. output = (this - that - zoneDelta) / 6048e5;
  13016. break; // 1000 * 60 * 60 * 24 * 7, negate dst
  13017. default:
  13018. output = this - that;}
  13019. return asFloat ? output : absFloor(output);
  13020. }
  13021. function monthDiff(a, b) {
  13022. if (a.date() < b.date()) {
  13023. // end-of-month calculations work correct when the start month has more
  13024. // days than the end month.
  13025. return -monthDiff(b, a);
  13026. }
  13027. // difference in months
  13028. var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),
  13029. // b is in (anchor - 1 month, anchor + 1 month)
  13030. anchor = a.clone().add(wholeMonthDiff, 'months'),
  13031. anchor2,
  13032. adjust;
  13033. if (b - anchor < 0) {
  13034. anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');
  13035. // linear across the month
  13036. adjust = (b - anchor) / (anchor - anchor2);
  13037. } else {
  13038. anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');
  13039. // linear across the month
  13040. adjust = (b - anchor) / (anchor2 - anchor);
  13041. }
  13042. //check for negative zero, return zero if negative zero
  13043. return -(wholeMonthDiff + adjust) || 0;
  13044. }
  13045. hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';
  13046. hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';
  13047. function toString() {
  13048. return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
  13049. }
  13050. function toISOString(keepOffset) {
  13051. if (!this.isValid()) {
  13052. return null;
  13053. }
  13054. var utc = keepOffset !== true,
  13055. m = utc ? this.clone().utc() : this;
  13056. if (m.year() < 0 || m.year() > 9999) {
  13057. return formatMoment(
  13058. m,
  13059. utc ?
  13060. 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' :
  13061. 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');
  13062. }
  13063. if (isFunction(Date.prototype.toISOString)) {
  13064. // native implementation is ~50x faster, use it when we can
  13065. if (utc) {
  13066. return this.toDate().toISOString();
  13067. } else {
  13068. return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).
  13069. toISOString().
  13070. replace('Z', formatMoment(m, 'Z'));
  13071. }
  13072. }
  13073. return formatMoment(
  13074. m,
  13075. utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');
  13076. }
  13077. /**
  13078. * Return a human readable representation of a moment that can
  13079. * also be evaluated to get a new moment which is the same
  13080. *
  13081. * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
  13082. */
  13083. function inspect() {
  13084. if (!this.isValid()) {
  13085. return 'moment.invalid(/* ' + this._i + ' */)';
  13086. }
  13087. var func = 'moment',
  13088. zone = '',
  13089. prefix,
  13090. year,
  13091. datetime,
  13092. suffix;
  13093. if (!this.isLocal()) {
  13094. func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';
  13095. zone = 'Z';
  13096. }
  13097. prefix = '[' + func + '("]';
  13098. year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';
  13099. datetime = '-MM-DD[T]HH:mm:ss.SSS';
  13100. suffix = zone + '[")]';
  13101. return this.format(prefix + year + datetime + suffix);
  13102. }
  13103. function format(inputString) {
  13104. if (!inputString) {
  13105. inputString = this.isUtc() ?
  13106. hooks.defaultFormatUtc :
  13107. hooks.defaultFormat;
  13108. }
  13109. var output = formatMoment(this, inputString);
  13110. return this.localeData().postformat(output);
  13111. }
  13112. function from(time, withoutSuffix) {
  13113. if (
  13114. this.isValid() && (
  13115. isMoment(time) && time.isValid() || createLocal(time).isValid()))
  13116. {
  13117. return createDuration({ to: this, from: time }).
  13118. locale(this.locale()).
  13119. humanize(!withoutSuffix);
  13120. } else {
  13121. return this.localeData().invalidDate();
  13122. }
  13123. }
  13124. function fromNow(withoutSuffix) {
  13125. return this.from(createLocal(), withoutSuffix);
  13126. }
  13127. function to(time, withoutSuffix) {
  13128. if (
  13129. this.isValid() && (
  13130. isMoment(time) && time.isValid() || createLocal(time).isValid()))
  13131. {
  13132. return createDuration({ from: this, to: time }).
  13133. locale(this.locale()).
  13134. humanize(!withoutSuffix);
  13135. } else {
  13136. return this.localeData().invalidDate();
  13137. }
  13138. }
  13139. function toNow(withoutSuffix) {
  13140. return this.to(createLocal(), withoutSuffix);
  13141. }
  13142. // If passed a locale key, it will set the locale for this
  13143. // instance. Otherwise, it will return the locale configuration
  13144. // variables for this instance.
  13145. function locale(key) {
  13146. var newLocaleData;
  13147. if (key === undefined) {
  13148. return this._locale._abbr;
  13149. } else {
  13150. newLocaleData = getLocale(key);
  13151. if (newLocaleData != null) {
  13152. this._locale = newLocaleData;
  13153. }
  13154. return this;
  13155. }
  13156. }
  13157. var lang = deprecate(
  13158. 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',
  13159. function (key) {
  13160. if (key === undefined) {
  13161. return this.localeData();
  13162. } else {
  13163. return this.locale(key);
  13164. }
  13165. });
  13166. function localeData() {
  13167. return this._locale;
  13168. }
  13169. var MS_PER_SECOND = 1000,
  13170. MS_PER_MINUTE = 60 * MS_PER_SECOND,
  13171. MS_PER_HOUR = 60 * MS_PER_MINUTE,
  13172. MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;
  13173. // actual modulo - handles negative numbers (for dates before 1970):
  13174. function mod$1(dividend, divisor) {
  13175. return (dividend % divisor + divisor) % divisor;
  13176. }
  13177. function localStartOfDate(y, m, d) {
  13178. // the date constructor remaps years 0-99 to 1900-1999
  13179. if (y < 100 && y >= 0) {
  13180. // preserve leap years using a full 400 year cycle, then reset
  13181. return new Date(y + 400, m, d) - MS_PER_400_YEARS;
  13182. } else {
  13183. return new Date(y, m, d).valueOf();
  13184. }
  13185. }
  13186. function utcStartOfDate(y, m, d) {
  13187. // Date.UTC remaps years 0-99 to 1900-1999
  13188. if (y < 100 && y >= 0) {
  13189. // preserve leap years using a full 400 year cycle, then reset
  13190. return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;
  13191. } else {
  13192. return Date.UTC(y, m, d);
  13193. }
  13194. }
  13195. function startOf(units) {
  13196. var time, startOfDate;
  13197. units = normalizeUnits(units);
  13198. if (units === undefined || units === 'millisecond' || !this.isValid()) {
  13199. return this;
  13200. }
  13201. startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
  13202. switch (units) {
  13203. case 'year':
  13204. time = startOfDate(this.year(), 0, 1);
  13205. break;
  13206. case 'quarter':
  13207. time = startOfDate(
  13208. this.year(),
  13209. this.month() - this.month() % 3,
  13210. 1);
  13211. break;
  13212. case 'month':
  13213. time = startOfDate(this.year(), this.month(), 1);
  13214. break;
  13215. case 'week':
  13216. time = startOfDate(
  13217. this.year(),
  13218. this.month(),
  13219. this.date() - this.weekday());
  13220. break;
  13221. case 'isoWeek':
  13222. time = startOfDate(
  13223. this.year(),
  13224. this.month(),
  13225. this.date() - (this.isoWeekday() - 1));
  13226. break;
  13227. case 'day':
  13228. case 'date':
  13229. time = startOfDate(this.year(), this.month(), this.date());
  13230. break;
  13231. case 'hour':
  13232. time = this._d.valueOf();
  13233. time -= mod$1(
  13234. time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),
  13235. MS_PER_HOUR);
  13236. break;
  13237. case 'minute':
  13238. time = this._d.valueOf();
  13239. time -= mod$1(time, MS_PER_MINUTE);
  13240. break;
  13241. case 'second':
  13242. time = this._d.valueOf();
  13243. time -= mod$1(time, MS_PER_SECOND);
  13244. break;}
  13245. this._d.setTime(time);
  13246. hooks.updateOffset(this, true);
  13247. return this;
  13248. }
  13249. function endOf(units) {
  13250. var time, startOfDate;
  13251. units = normalizeUnits(units);
  13252. if (units === undefined || units === 'millisecond' || !this.isValid()) {
  13253. return this;
  13254. }
  13255. startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
  13256. switch (units) {
  13257. case 'year':
  13258. time = startOfDate(this.year() + 1, 0, 1) - 1;
  13259. break;
  13260. case 'quarter':
  13261. time =
  13262. startOfDate(
  13263. this.year(),
  13264. this.month() - this.month() % 3 + 3,
  13265. 1) -
  13266. 1;
  13267. break;
  13268. case 'month':
  13269. time = startOfDate(this.year(), this.month() + 1, 1) - 1;
  13270. break;
  13271. case 'week':
  13272. time =
  13273. startOfDate(
  13274. this.year(),
  13275. this.month(),
  13276. this.date() - this.weekday() + 7) -
  13277. 1;
  13278. break;
  13279. case 'isoWeek':
  13280. time =
  13281. startOfDate(
  13282. this.year(),
  13283. this.month(),
  13284. this.date() - (this.isoWeekday() - 1) + 7) -
  13285. 1;
  13286. break;
  13287. case 'day':
  13288. case 'date':
  13289. time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;
  13290. break;
  13291. case 'hour':
  13292. time = this._d.valueOf();
  13293. time +=
  13294. MS_PER_HOUR -
  13295. mod$1(
  13296. time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),
  13297. MS_PER_HOUR) -
  13298. 1;
  13299. break;
  13300. case 'minute':
  13301. time = this._d.valueOf();
  13302. time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;
  13303. break;
  13304. case 'second':
  13305. time = this._d.valueOf();
  13306. time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;
  13307. break;}
  13308. this._d.setTime(time);
  13309. hooks.updateOffset(this, true);
  13310. return this;
  13311. }
  13312. function valueOf() {
  13313. return this._d.valueOf() - (this._offset || 0) * 60000;
  13314. }
  13315. function unix() {
  13316. return Math.floor(this.valueOf() / 1000);
  13317. }
  13318. function toDate() {
  13319. return new Date(this.valueOf());
  13320. }
  13321. function toArray() {
  13322. var m = this;
  13323. return [
  13324. m.year(),
  13325. m.month(),
  13326. m.date(),
  13327. m.hour(),
  13328. m.minute(),
  13329. m.second(),
  13330. m.millisecond()];
  13331. }
  13332. function toObject() {
  13333. var m = this;
  13334. return {
  13335. years: m.year(),
  13336. months: m.month(),
  13337. date: m.date(),
  13338. hours: m.hours(),
  13339. minutes: m.minutes(),
  13340. seconds: m.seconds(),
  13341. milliseconds: m.milliseconds() };
  13342. }
  13343. function toJSON() {
  13344. // new Date(NaN).toJSON() === null
  13345. return this.isValid() ? this.toISOString() : null;
  13346. }
  13347. function isValid$2() {
  13348. return isValid(this);
  13349. }
  13350. function parsingFlags() {
  13351. return extend({}, getParsingFlags(this));
  13352. }
  13353. function invalidAt() {
  13354. return getParsingFlags(this).overflow;
  13355. }
  13356. function creationData() {
  13357. return {
  13358. input: this._i,
  13359. format: this._f,
  13360. locale: this._locale,
  13361. isUTC: this._isUTC,
  13362. strict: this._strict };
  13363. }
  13364. addFormatToken('N', 0, 0, 'eraAbbr');
  13365. addFormatToken('NN', 0, 0, 'eraAbbr');
  13366. addFormatToken('NNN', 0, 0, 'eraAbbr');
  13367. addFormatToken('NNNN', 0, 0, 'eraName');
  13368. addFormatToken('NNNNN', 0, 0, 'eraNarrow');
  13369. addFormatToken('y', ['y', 1], 'yo', 'eraYear');
  13370. addFormatToken('y', ['yy', 2], 0, 'eraYear');
  13371. addFormatToken('y', ['yyy', 3], 0, 'eraYear');
  13372. addFormatToken('y', ['yyyy', 4], 0, 'eraYear');
  13373. addRegexToken('N', matchEraAbbr);
  13374. addRegexToken('NN', matchEraAbbr);
  13375. addRegexToken('NNN', matchEraAbbr);
  13376. addRegexToken('NNNN', matchEraName);
  13377. addRegexToken('NNNNN', matchEraNarrow);
  13378. addParseToken(
  13379. ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],
  13380. function (input, array, config, token) {
  13381. var era = config._locale.erasParse(input, token, config._strict);
  13382. if (era) {
  13383. getParsingFlags(config).era = era;
  13384. } else {
  13385. getParsingFlags(config).invalidEra = input;
  13386. }
  13387. });
  13388. addRegexToken('y', matchUnsigned);
  13389. addRegexToken('yy', matchUnsigned);
  13390. addRegexToken('yyy', matchUnsigned);
  13391. addRegexToken('yyyy', matchUnsigned);
  13392. addRegexToken('yo', matchEraYearOrdinal);
  13393. addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);
  13394. addParseToken(['yo'], function (input, array, config, token) {
  13395. var match;
  13396. if (config._locale._eraYearOrdinalRegex) {
  13397. match = input.match(config._locale._eraYearOrdinalRegex);
  13398. }
  13399. if (config._locale.eraYearOrdinalParse) {
  13400. array[YEAR] = config._locale.eraYearOrdinalParse(input, match);
  13401. } else {
  13402. array[YEAR] = parseInt(input, 10);
  13403. }
  13404. });
  13405. function localeEras(m, format) {
  13406. var i,
  13407. l,
  13408. date,
  13409. eras = this._eras || getLocale('en')._eras;
  13410. for (i = 0, l = eras.length; i < l; ++i) {
  13411. switch (typeof eras[i].since) {
  13412. case 'string':
  13413. // truncate time
  13414. date = hooks(eras[i].since).startOf('day');
  13415. eras[i].since = date.valueOf();
  13416. break;}
  13417. switch (typeof eras[i].until) {
  13418. case 'undefined':
  13419. eras[i].until = +Infinity;
  13420. break;
  13421. case 'string':
  13422. // truncate time
  13423. date = hooks(eras[i].until).startOf('day').valueOf();
  13424. eras[i].until = date.valueOf();
  13425. break;}
  13426. }
  13427. return eras;
  13428. }
  13429. function localeErasParse(eraName, format, strict) {
  13430. var i,
  13431. l,
  13432. eras = this.eras(),
  13433. name,
  13434. abbr,
  13435. narrow;
  13436. eraName = eraName.toUpperCase();
  13437. for (i = 0, l = eras.length; i < l; ++i) {
  13438. name = eras[i].name.toUpperCase();
  13439. abbr = eras[i].abbr.toUpperCase();
  13440. narrow = eras[i].narrow.toUpperCase();
  13441. if (strict) {
  13442. switch (format) {
  13443. case 'N':
  13444. case 'NN':
  13445. case 'NNN':
  13446. if (abbr === eraName) {
  13447. return eras[i];
  13448. }
  13449. break;
  13450. case 'NNNN':
  13451. if (name === eraName) {
  13452. return eras[i];
  13453. }
  13454. break;
  13455. case 'NNNNN':
  13456. if (narrow === eraName) {
  13457. return eras[i];
  13458. }
  13459. break;}
  13460. } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {
  13461. return eras[i];
  13462. }
  13463. }
  13464. }
  13465. function localeErasConvertYear(era, year) {
  13466. var dir = era.since <= era.until ? +1 : -1;
  13467. if (year === undefined) {
  13468. return hooks(era.since).year();
  13469. } else {
  13470. return hooks(era.since).year() + (year - era.offset) * dir;
  13471. }
  13472. }
  13473. function getEraName() {
  13474. var i,
  13475. l,
  13476. val,
  13477. eras = this.localeData().eras();
  13478. for (i = 0, l = eras.length; i < l; ++i) {
  13479. // truncate time
  13480. val = this.clone().startOf('day').valueOf();
  13481. if (eras[i].since <= val && val <= eras[i].until) {
  13482. return eras[i].name;
  13483. }
  13484. if (eras[i].until <= val && val <= eras[i].since) {
  13485. return eras[i].name;
  13486. }
  13487. }
  13488. return '';
  13489. }
  13490. function getEraNarrow() {
  13491. var i,
  13492. l,
  13493. val,
  13494. eras = this.localeData().eras();
  13495. for (i = 0, l = eras.length; i < l; ++i) {
  13496. // truncate time
  13497. val = this.clone().startOf('day').valueOf();
  13498. if (eras[i].since <= val && val <= eras[i].until) {
  13499. return eras[i].narrow;
  13500. }
  13501. if (eras[i].until <= val && val <= eras[i].since) {
  13502. return eras[i].narrow;
  13503. }
  13504. }
  13505. return '';
  13506. }
  13507. function getEraAbbr() {
  13508. var i,
  13509. l,
  13510. val,
  13511. eras = this.localeData().eras();
  13512. for (i = 0, l = eras.length; i < l; ++i) {
  13513. // truncate time
  13514. val = this.clone().startOf('day').valueOf();
  13515. if (eras[i].since <= val && val <= eras[i].until) {
  13516. return eras[i].abbr;
  13517. }
  13518. if (eras[i].until <= val && val <= eras[i].since) {
  13519. return eras[i].abbr;
  13520. }
  13521. }
  13522. return '';
  13523. }
  13524. function getEraYear() {
  13525. var i,
  13526. l,
  13527. dir,
  13528. val,
  13529. eras = this.localeData().eras();
  13530. for (i = 0, l = eras.length; i < l; ++i) {
  13531. dir = eras[i].since <= eras[i].until ? +1 : -1;
  13532. // truncate time
  13533. val = this.clone().startOf('day').valueOf();
  13534. if (
  13535. eras[i].since <= val && val <= eras[i].until ||
  13536. eras[i].until <= val && val <= eras[i].since)
  13537. {
  13538. return (
  13539. (this.year() - hooks(eras[i].since).year()) * dir +
  13540. eras[i].offset);
  13541. }
  13542. }
  13543. return this.year();
  13544. }
  13545. function erasNameRegex(isStrict) {
  13546. if (!hasOwnProp(this, '_erasNameRegex')) {
  13547. computeErasParse.call(this);
  13548. }
  13549. return isStrict ? this._erasNameRegex : this._erasRegex;
  13550. }
  13551. function erasAbbrRegex(isStrict) {
  13552. if (!hasOwnProp(this, '_erasAbbrRegex')) {
  13553. computeErasParse.call(this);
  13554. }
  13555. return isStrict ? this._erasAbbrRegex : this._erasRegex;
  13556. }
  13557. function erasNarrowRegex(isStrict) {
  13558. if (!hasOwnProp(this, '_erasNarrowRegex')) {
  13559. computeErasParse.call(this);
  13560. }
  13561. return isStrict ? this._erasNarrowRegex : this._erasRegex;
  13562. }
  13563. function matchEraAbbr(isStrict, locale) {
  13564. return locale.erasAbbrRegex(isStrict);
  13565. }
  13566. function matchEraName(isStrict, locale) {
  13567. return locale.erasNameRegex(isStrict);
  13568. }
  13569. function matchEraNarrow(isStrict, locale) {
  13570. return locale.erasNarrowRegex(isStrict);
  13571. }
  13572. function matchEraYearOrdinal(isStrict, locale) {
  13573. return locale._eraYearOrdinalRegex || matchUnsigned;
  13574. }
  13575. function computeErasParse() {
  13576. var abbrPieces = [],
  13577. namePieces = [],
  13578. narrowPieces = [],
  13579. mixedPieces = [],
  13580. i,
  13581. l,
  13582. eras = this.eras();
  13583. for (i = 0, l = eras.length; i < l; ++i) {
  13584. namePieces.push(regexEscape(eras[i].name));
  13585. abbrPieces.push(regexEscape(eras[i].abbr));
  13586. narrowPieces.push(regexEscape(eras[i].narrow));
  13587. mixedPieces.push(regexEscape(eras[i].name));
  13588. mixedPieces.push(regexEscape(eras[i].abbr));
  13589. mixedPieces.push(regexEscape(eras[i].narrow));
  13590. }
  13591. this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
  13592. this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');
  13593. this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');
  13594. this._erasNarrowRegex = new RegExp(
  13595. '^(' + narrowPieces.join('|') + ')',
  13596. 'i');
  13597. }
  13598. // FORMATTING
  13599. addFormatToken(0, ['gg', 2], 0, function () {
  13600. return this.weekYear() % 100;
  13601. });
  13602. addFormatToken(0, ['GG', 2], 0, function () {
  13603. return this.isoWeekYear() % 100;
  13604. });
  13605. function addWeekYearFormatToken(token, getter) {
  13606. addFormatToken(0, [token, token.length], 0, getter);
  13607. }
  13608. addWeekYearFormatToken('gggg', 'weekYear');
  13609. addWeekYearFormatToken('ggggg', 'weekYear');
  13610. addWeekYearFormatToken('GGGG', 'isoWeekYear');
  13611. addWeekYearFormatToken('GGGGG', 'isoWeekYear');
  13612. // ALIASES
  13613. addUnitAlias('weekYear', 'gg');
  13614. addUnitAlias('isoWeekYear', 'GG');
  13615. // PRIORITY
  13616. addUnitPriority('weekYear', 1);
  13617. addUnitPriority('isoWeekYear', 1);
  13618. // PARSING
  13619. addRegexToken('G', matchSigned);
  13620. addRegexToken('g', matchSigned);
  13621. addRegexToken('GG', match1to2, match2);
  13622. addRegexToken('gg', match1to2, match2);
  13623. addRegexToken('GGGG', match1to4, match4);
  13624. addRegexToken('gggg', match1to4, match4);
  13625. addRegexToken('GGGGG', match1to6, match6);
  13626. addRegexToken('ggggg', match1to6, match6);
  13627. addWeekParseToken(
  13628. ['gggg', 'ggggg', 'GGGG', 'GGGGG'],
  13629. function (input, week, config, token) {
  13630. week[token.substr(0, 2)] = toInt(input);
  13631. });
  13632. addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {
  13633. week[token] = hooks.parseTwoDigitYear(input);
  13634. });
  13635. // MOMENTS
  13636. function getSetWeekYear(input) {
  13637. return getSetWeekYearHelper.call(
  13638. this,
  13639. input,
  13640. this.week(),
  13641. this.weekday(),
  13642. this.localeData()._week.dow,
  13643. this.localeData()._week.doy);
  13644. }
  13645. function getSetISOWeekYear(input) {
  13646. return getSetWeekYearHelper.call(
  13647. this,
  13648. input,
  13649. this.isoWeek(),
  13650. this.isoWeekday(),
  13651. 1,
  13652. 4);
  13653. }
  13654. function getISOWeeksInYear() {
  13655. return weeksInYear(this.year(), 1, 4);
  13656. }
  13657. function getISOWeeksInISOWeekYear() {
  13658. return weeksInYear(this.isoWeekYear(), 1, 4);
  13659. }
  13660. function getWeeksInYear() {
  13661. var weekInfo = this.localeData()._week;
  13662. return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
  13663. }
  13664. function getWeeksInWeekYear() {
  13665. var weekInfo = this.localeData()._week;
  13666. return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);
  13667. }
  13668. function getSetWeekYearHelper(input, week, weekday, dow, doy) {
  13669. var weeksTarget;
  13670. if (input == null) {
  13671. return weekOfYear(this, dow, doy).year;
  13672. } else {
  13673. weeksTarget = weeksInYear(input, dow, doy);
  13674. if (week > weeksTarget) {
  13675. week = weeksTarget;
  13676. }
  13677. return setWeekAll.call(this, input, week, weekday, dow, doy);
  13678. }
  13679. }
  13680. function setWeekAll(weekYear, week, weekday, dow, doy) {
  13681. var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),
  13682. date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);
  13683. this.year(date.getUTCFullYear());
  13684. this.month(date.getUTCMonth());
  13685. this.date(date.getUTCDate());
  13686. return this;
  13687. }
  13688. // FORMATTING
  13689. addFormatToken('Q', 0, 'Qo', 'quarter');
  13690. // ALIASES
  13691. addUnitAlias('quarter', 'Q');
  13692. // PRIORITY
  13693. addUnitPriority('quarter', 7);
  13694. // PARSING
  13695. addRegexToken('Q', match1);
  13696. addParseToken('Q', function (input, array) {
  13697. array[MONTH] = (toInt(input) - 1) * 3;
  13698. });
  13699. // MOMENTS
  13700. function getSetQuarter(input) {
  13701. return input == null ?
  13702. Math.ceil((this.month() + 1) / 3) :
  13703. this.month((input - 1) * 3 + this.month() % 3);
  13704. }
  13705. // FORMATTING
  13706. addFormatToken('D', ['DD', 2], 'Do', 'date');
  13707. // ALIASES
  13708. addUnitAlias('date', 'D');
  13709. // PRIORITY
  13710. addUnitPriority('date', 9);
  13711. // PARSING
  13712. addRegexToken('D', match1to2);
  13713. addRegexToken('DD', match1to2, match2);
  13714. addRegexToken('Do', function (isStrict, locale) {
  13715. // TODO: Remove "ordinalParse" fallback in next major release.
  13716. return isStrict ?
  13717. locale._dayOfMonthOrdinalParse || locale._ordinalParse :
  13718. locale._dayOfMonthOrdinalParseLenient;
  13719. });
  13720. addParseToken(['D', 'DD'], DATE);
  13721. addParseToken('Do', function (input, array) {
  13722. array[DATE] = toInt(input.match(match1to2)[0]);
  13723. });
  13724. // MOMENTS
  13725. var getSetDayOfMonth = makeGetSet('Date', true);
  13726. // FORMATTING
  13727. addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
  13728. // ALIASES
  13729. addUnitAlias('dayOfYear', 'DDD');
  13730. // PRIORITY
  13731. addUnitPriority('dayOfYear', 4);
  13732. // PARSING
  13733. addRegexToken('DDD', match1to3);
  13734. addRegexToken('DDDD', match3);
  13735. addParseToken(['DDD', 'DDDD'], function (input, array, config) {
  13736. config._dayOfYear = toInt(input);
  13737. });
  13738. // HELPERS
  13739. // MOMENTS
  13740. function getSetDayOfYear(input) {
  13741. var dayOfYear =
  13742. Math.round(
  13743. (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) +
  13744. 1;
  13745. return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');
  13746. }
  13747. // FORMATTING
  13748. addFormatToken('m', ['mm', 2], 0, 'minute');
  13749. // ALIASES
  13750. addUnitAlias('minute', 'm');
  13751. // PRIORITY
  13752. addUnitPriority('minute', 14);
  13753. // PARSING
  13754. addRegexToken('m', match1to2);
  13755. addRegexToken('mm', match1to2, match2);
  13756. addParseToken(['m', 'mm'], MINUTE);
  13757. // MOMENTS
  13758. var getSetMinute = makeGetSet('Minutes', false);
  13759. // FORMATTING
  13760. addFormatToken('s', ['ss', 2], 0, 'second');
  13761. // ALIASES
  13762. addUnitAlias('second', 's');
  13763. // PRIORITY
  13764. addUnitPriority('second', 15);
  13765. // PARSING
  13766. addRegexToken('s', match1to2);
  13767. addRegexToken('ss', match1to2, match2);
  13768. addParseToken(['s', 'ss'], SECOND);
  13769. // MOMENTS
  13770. var getSetSecond = makeGetSet('Seconds', false);
  13771. // FORMATTING
  13772. addFormatToken('S', 0, 0, function () {
  13773. return ~~(this.millisecond() / 100);
  13774. });
  13775. addFormatToken(0, ['SS', 2], 0, function () {
  13776. return ~~(this.millisecond() / 10);
  13777. });
  13778. addFormatToken(0, ['SSS', 3], 0, 'millisecond');
  13779. addFormatToken(0, ['SSSS', 4], 0, function () {
  13780. return this.millisecond() * 10;
  13781. });
  13782. addFormatToken(0, ['SSSSS', 5], 0, function () {
  13783. return this.millisecond() * 100;
  13784. });
  13785. addFormatToken(0, ['SSSSSS', 6], 0, function () {
  13786. return this.millisecond() * 1000;
  13787. });
  13788. addFormatToken(0, ['SSSSSSS', 7], 0, function () {
  13789. return this.millisecond() * 10000;
  13790. });
  13791. addFormatToken(0, ['SSSSSSSS', 8], 0, function () {
  13792. return this.millisecond() * 100000;
  13793. });
  13794. addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
  13795. return this.millisecond() * 1000000;
  13796. });
  13797. // ALIASES
  13798. addUnitAlias('millisecond', 'ms');
  13799. // PRIORITY
  13800. addUnitPriority('millisecond', 16);
  13801. // PARSING
  13802. addRegexToken('S', match1to3, match1);
  13803. addRegexToken('SS', match1to3, match2);
  13804. addRegexToken('SSS', match1to3, match3);
  13805. var token, getSetMillisecond;
  13806. for (token = 'SSSS'; token.length <= 9; token += 'S') {
  13807. addRegexToken(token, matchUnsigned);
  13808. }
  13809. function parseMs(input, array) {
  13810. array[MILLISECOND] = toInt(('0.' + input) * 1000);
  13811. }
  13812. for (token = 'S'; token.length <= 9; token += 'S') {
  13813. addParseToken(token, parseMs);
  13814. }
  13815. getSetMillisecond = makeGetSet('Milliseconds', false);
  13816. // FORMATTING
  13817. addFormatToken('z', 0, 0, 'zoneAbbr');
  13818. addFormatToken('zz', 0, 0, 'zoneName');
  13819. // MOMENTS
  13820. function getZoneAbbr() {
  13821. return this._isUTC ? 'UTC' : '';
  13822. }
  13823. function getZoneName() {
  13824. return this._isUTC ? 'Coordinated Universal Time' : '';
  13825. }
  13826. var proto = Moment.prototype;
  13827. proto.add = add;
  13828. proto.calendar = calendar$1;
  13829. proto.clone = clone;
  13830. proto.diff = diff;
  13831. proto.endOf = endOf;
  13832. proto.format = format;
  13833. proto.from = from;
  13834. proto.fromNow = fromNow;
  13835. proto.to = to;
  13836. proto.toNow = toNow;
  13837. proto.get = stringGet;
  13838. proto.invalidAt = invalidAt;
  13839. proto.isAfter = isAfter;
  13840. proto.isBefore = isBefore;
  13841. proto.isBetween = isBetween;
  13842. proto.isSame = isSame;
  13843. proto.isSameOrAfter = isSameOrAfter;
  13844. proto.isSameOrBefore = isSameOrBefore;
  13845. proto.isValid = isValid$2;
  13846. proto.lang = lang;
  13847. proto.locale = locale;
  13848. proto.localeData = localeData;
  13849. proto.max = prototypeMax;
  13850. proto.min = prototypeMin;
  13851. proto.parsingFlags = parsingFlags;
  13852. proto.set = stringSet;
  13853. proto.startOf = startOf;
  13854. proto.subtract = subtract;
  13855. proto.toArray = toArray;
  13856. proto.toObject = toObject;
  13857. proto.toDate = toDate;
  13858. proto.toISOString = toISOString;
  13859. proto.inspect = inspect;
  13860. if (typeof Symbol !== 'undefined' && Symbol.for != null) {
  13861. proto[Symbol.for('nodejs.util.inspect.custom')] = function () {
  13862. return 'Moment<' + this.format() + '>';
  13863. };
  13864. }
  13865. proto.toJSON = toJSON;
  13866. proto.toString = toString;
  13867. proto.unix = unix;
  13868. proto.valueOf = valueOf;
  13869. proto.creationData = creationData;
  13870. proto.eraName = getEraName;
  13871. proto.eraNarrow = getEraNarrow;
  13872. proto.eraAbbr = getEraAbbr;
  13873. proto.eraYear = getEraYear;
  13874. proto.year = getSetYear;
  13875. proto.isLeapYear = getIsLeapYear;
  13876. proto.weekYear = getSetWeekYear;
  13877. proto.isoWeekYear = getSetISOWeekYear;
  13878. proto.quarter = proto.quarters = getSetQuarter;
  13879. proto.month = getSetMonth;
  13880. proto.daysInMonth = getDaysInMonth;
  13881. proto.week = proto.weeks = getSetWeek;
  13882. proto.isoWeek = proto.isoWeeks = getSetISOWeek;
  13883. proto.weeksInYear = getWeeksInYear;
  13884. proto.weeksInWeekYear = getWeeksInWeekYear;
  13885. proto.isoWeeksInYear = getISOWeeksInYear;
  13886. proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;
  13887. proto.date = getSetDayOfMonth;
  13888. proto.day = proto.days = getSetDayOfWeek;
  13889. proto.weekday = getSetLocaleDayOfWeek;
  13890. proto.isoWeekday = getSetISODayOfWeek;
  13891. proto.dayOfYear = getSetDayOfYear;
  13892. proto.hour = proto.hours = getSetHour;
  13893. proto.minute = proto.minutes = getSetMinute;
  13894. proto.second = proto.seconds = getSetSecond;
  13895. proto.millisecond = proto.milliseconds = getSetMillisecond;
  13896. proto.utcOffset = getSetOffset;
  13897. proto.utc = setOffsetToUTC;
  13898. proto.local = setOffsetToLocal;
  13899. proto.parseZone = setOffsetToParsedOffset;
  13900. proto.hasAlignedHourOffset = hasAlignedHourOffset;
  13901. proto.isDST = isDaylightSavingTime;
  13902. proto.isLocal = isLocal;
  13903. proto.isUtcOffset = isUtcOffset;
  13904. proto.isUtc = isUtc;
  13905. proto.isUTC = isUtc;
  13906. proto.zoneAbbr = getZoneAbbr;
  13907. proto.zoneName = getZoneName;
  13908. proto.dates = deprecate(
  13909. 'dates accessor is deprecated. Use date instead.',
  13910. getSetDayOfMonth);
  13911. proto.months = deprecate(
  13912. 'months accessor is deprecated. Use month instead',
  13913. getSetMonth);
  13914. proto.years = deprecate(
  13915. 'years accessor is deprecated. Use year instead',
  13916. getSetYear);
  13917. proto.zone = deprecate(
  13918. 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',
  13919. getSetZone);
  13920. proto.isDSTShifted = deprecate(
  13921. 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',
  13922. isDaylightSavingTimeShifted);
  13923. function createUnix(input) {
  13924. return createLocal(input * 1000);
  13925. }
  13926. function createInZone() {
  13927. return createLocal.apply(null, arguments).parseZone();
  13928. }
  13929. function preParsePostFormat(string) {
  13930. return string;
  13931. }
  13932. var proto$1 = Locale.prototype;
  13933. proto$1.calendar = calendar;
  13934. proto$1.longDateFormat = longDateFormat;
  13935. proto$1.invalidDate = invalidDate;
  13936. proto$1.ordinal = ordinal;
  13937. proto$1.preparse = preParsePostFormat;
  13938. proto$1.postformat = preParsePostFormat;
  13939. proto$1.relativeTime = relativeTime;
  13940. proto$1.pastFuture = pastFuture;
  13941. proto$1.set = set;
  13942. proto$1.eras = localeEras;
  13943. proto$1.erasParse = localeErasParse;
  13944. proto$1.erasConvertYear = localeErasConvertYear;
  13945. proto$1.erasAbbrRegex = erasAbbrRegex;
  13946. proto$1.erasNameRegex = erasNameRegex;
  13947. proto$1.erasNarrowRegex = erasNarrowRegex;
  13948. proto$1.months = localeMonths;
  13949. proto$1.monthsShort = localeMonthsShort;
  13950. proto$1.monthsParse = localeMonthsParse;
  13951. proto$1.monthsRegex = monthsRegex;
  13952. proto$1.monthsShortRegex = monthsShortRegex;
  13953. proto$1.week = localeWeek;
  13954. proto$1.firstDayOfYear = localeFirstDayOfYear;
  13955. proto$1.firstDayOfWeek = localeFirstDayOfWeek;
  13956. proto$1.weekdays = localeWeekdays;
  13957. proto$1.weekdaysMin = localeWeekdaysMin;
  13958. proto$1.weekdaysShort = localeWeekdaysShort;
  13959. proto$1.weekdaysParse = localeWeekdaysParse;
  13960. proto$1.weekdaysRegex = weekdaysRegex;
  13961. proto$1.weekdaysShortRegex = weekdaysShortRegex;
  13962. proto$1.weekdaysMinRegex = weekdaysMinRegex;
  13963. proto$1.isPM = localeIsPM;
  13964. proto$1.meridiem = localeMeridiem;
  13965. function get$1(format, index, field, setter) {
  13966. var locale = getLocale(),
  13967. utc = createUTC().set(setter, index);
  13968. return locale[field](utc, format);
  13969. }
  13970. function listMonthsImpl(format, index, field) {
  13971. if (isNumber(format)) {
  13972. index = format;
  13973. format = undefined;
  13974. }
  13975. format = format || '';
  13976. if (index != null) {
  13977. return get$1(format, index, field, 'month');
  13978. }
  13979. var i,
  13980. out = [];
  13981. for (i = 0; i < 12; i++) {
  13982. out[i] = get$1(format, i, field, 'month');
  13983. }
  13984. return out;
  13985. }
  13986. // ()
  13987. // (5)
  13988. // (fmt, 5)
  13989. // (fmt)
  13990. // (true)
  13991. // (true, 5)
  13992. // (true, fmt, 5)
  13993. // (true, fmt)
  13994. function listWeekdaysImpl(localeSorted, format, index, field) {
  13995. if (typeof localeSorted === 'boolean') {
  13996. if (isNumber(format)) {
  13997. index = format;
  13998. format = undefined;
  13999. }
  14000. format = format || '';
  14001. } else {
  14002. format = localeSorted;
  14003. index = format;
  14004. localeSorted = false;
  14005. if (isNumber(format)) {
  14006. index = format;
  14007. format = undefined;
  14008. }
  14009. format = format || '';
  14010. }
  14011. var locale = getLocale(),
  14012. shift = localeSorted ? locale._week.dow : 0,
  14013. i,
  14014. out = [];
  14015. if (index != null) {
  14016. return get$1(format, (index + shift) % 7, field, 'day');
  14017. }
  14018. for (i = 0; i < 7; i++) {
  14019. out[i] = get$1(format, (i + shift) % 7, field, 'day');
  14020. }
  14021. return out;
  14022. }
  14023. function listMonths(format, index) {
  14024. return listMonthsImpl(format, index, 'months');
  14025. }
  14026. function listMonthsShort(format, index) {
  14027. return listMonthsImpl(format, index, 'monthsShort');
  14028. }
  14029. function listWeekdays(localeSorted, format, index) {
  14030. return listWeekdaysImpl(localeSorted, format, index, 'weekdays');
  14031. }
  14032. function listWeekdaysShort(localeSorted, format, index) {
  14033. return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');
  14034. }
  14035. function listWeekdaysMin(localeSorted, format, index) {
  14036. return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');
  14037. }
  14038. getSetGlobalLocale('en', {
  14039. eras: [
  14040. {
  14041. since: '0001-01-01',
  14042. until: +Infinity,
  14043. offset: 1,
  14044. name: 'Anno Domini',
  14045. narrow: 'AD',
  14046. abbr: 'AD' },
  14047. {
  14048. since: '0000-12-31',
  14049. until: -Infinity,
  14050. offset: 1,
  14051. name: 'Before Christ',
  14052. narrow: 'BC',
  14053. abbr: 'BC' }],
  14054. dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
  14055. ordinal: function ordinal(number) {
  14056. var b = number % 10,
  14057. output =
  14058. toInt(number % 100 / 10) === 1 ?
  14059. 'th' :
  14060. b === 1 ?
  14061. 'st' :
  14062. b === 2 ?
  14063. 'nd' :
  14064. b === 3 ?
  14065. 'rd' :
  14066. 'th';
  14067. return number + output;
  14068. } });
  14069. // Side effect imports
  14070. hooks.lang = deprecate(
  14071. 'moment.lang is deprecated. Use moment.locale instead.',
  14072. getSetGlobalLocale);
  14073. hooks.langData = deprecate(
  14074. 'moment.langData is deprecated. Use moment.localeData instead.',
  14075. getLocale);
  14076. var mathAbs = Math.abs;
  14077. function abs() {
  14078. var data = this._data;
  14079. this._milliseconds = mathAbs(this._milliseconds);
  14080. this._days = mathAbs(this._days);
  14081. this._months = mathAbs(this._months);
  14082. data.milliseconds = mathAbs(data.milliseconds);
  14083. data.seconds = mathAbs(data.seconds);
  14084. data.minutes = mathAbs(data.minutes);
  14085. data.hours = mathAbs(data.hours);
  14086. data.months = mathAbs(data.months);
  14087. data.years = mathAbs(data.years);
  14088. return this;
  14089. }
  14090. function addSubtract$1(duration, input, value, direction) {
  14091. var other = createDuration(input, value);
  14092. duration._milliseconds += direction * other._milliseconds;
  14093. duration._days += direction * other._days;
  14094. duration._months += direction * other._months;
  14095. return duration._bubble();
  14096. }
  14097. // supports only 2.0-style add(1, 's') or add(duration)
  14098. function add$1(input, value) {
  14099. return addSubtract$1(this, input, value, 1);
  14100. }
  14101. // supports only 2.0-style subtract(1, 's') or subtract(duration)
  14102. function subtract$1(input, value) {
  14103. return addSubtract$1(this, input, value, -1);
  14104. }
  14105. function absCeil(number) {
  14106. if (number < 0) {
  14107. return Math.floor(number);
  14108. } else {
  14109. return Math.ceil(number);
  14110. }
  14111. }
  14112. function bubble() {
  14113. var milliseconds = this._milliseconds,
  14114. days = this._days,
  14115. months = this._months,
  14116. data = this._data,
  14117. seconds,
  14118. minutes,
  14119. hours,
  14120. years,
  14121. monthsFromDays;
  14122. // if we have a mix of positive and negative values, bubble down first
  14123. // check: https://github.com/moment/moment/issues/2166
  14124. if (
  14125. !(
  14126. milliseconds >= 0 && days >= 0 && months >= 0 ||
  14127. milliseconds <= 0 && days <= 0 && months <= 0))
  14128. {
  14129. milliseconds += absCeil(monthsToDays(months) + days) * 864e5;
  14130. days = 0;
  14131. months = 0;
  14132. }
  14133. // The following code bubbles up values, see the tests for
  14134. // examples of what that means.
  14135. data.milliseconds = milliseconds % 1000;
  14136. seconds = absFloor(milliseconds / 1000);
  14137. data.seconds = seconds % 60;
  14138. minutes = absFloor(seconds / 60);
  14139. data.minutes = minutes % 60;
  14140. hours = absFloor(minutes / 60);
  14141. data.hours = hours % 24;
  14142. days += absFloor(hours / 24);
  14143. // convert days to months
  14144. monthsFromDays = absFloor(daysToMonths(days));
  14145. months += monthsFromDays;
  14146. days -= absCeil(monthsToDays(monthsFromDays));
  14147. // 12 months -> 1 year
  14148. years = absFloor(months / 12);
  14149. months %= 12;
  14150. data.days = days;
  14151. data.months = months;
  14152. data.years = years;
  14153. return this;
  14154. }
  14155. function daysToMonths(days) {
  14156. // 400 years have 146097 days (taking into account leap year rules)
  14157. // 400 years have 12 months === 4800
  14158. return days * 4800 / 146097;
  14159. }
  14160. function monthsToDays(months) {
  14161. // the reverse of daysToMonths
  14162. return months * 146097 / 4800;
  14163. }
  14164. function as(units) {
  14165. if (!this.isValid()) {
  14166. return NaN;
  14167. }
  14168. var days,
  14169. months,
  14170. milliseconds = this._milliseconds;
  14171. units = normalizeUnits(units);
  14172. if (units === 'month' || units === 'quarter' || units === 'year') {
  14173. days = this._days + milliseconds / 864e5;
  14174. months = this._months + daysToMonths(days);
  14175. switch (units) {
  14176. case 'month':
  14177. return months;
  14178. case 'quarter':
  14179. return months / 3;
  14180. case 'year':
  14181. return months / 12;}
  14182. } else {
  14183. // handle milliseconds separately because of floating point math errors (issue #1867)
  14184. days = this._days + Math.round(monthsToDays(this._months));
  14185. switch (units) {
  14186. case 'week':
  14187. return days / 7 + milliseconds / 6048e5;
  14188. case 'day':
  14189. return days + milliseconds / 864e5;
  14190. case 'hour':
  14191. return days * 24 + milliseconds / 36e5;
  14192. case 'minute':
  14193. return days * 1440 + milliseconds / 6e4;
  14194. case 'second':
  14195. return days * 86400 + milliseconds / 1000;
  14196. // Math.floor prevents floating point math errors here
  14197. case 'millisecond':
  14198. return Math.floor(days * 864e5) + milliseconds;
  14199. default:
  14200. throw new Error('Unknown unit ' + units);}
  14201. }
  14202. }
  14203. // TODO: Use this.as('ms')?
  14204. function valueOf$1() {
  14205. if (!this.isValid()) {
  14206. return NaN;
  14207. }
  14208. return (
  14209. this._milliseconds +
  14210. this._days * 864e5 +
  14211. this._months % 12 * 2592e6 +
  14212. toInt(this._months / 12) * 31536e6);
  14213. }
  14214. function makeAs(alias) {
  14215. return function () {
  14216. return this.as(alias);
  14217. };
  14218. }
  14219. var asMilliseconds = makeAs('ms'),
  14220. asSeconds = makeAs('s'),
  14221. asMinutes = makeAs('m'),
  14222. asHours = makeAs('h'),
  14223. asDays = makeAs('d'),
  14224. asWeeks = makeAs('w'),
  14225. asMonths = makeAs('M'),
  14226. asQuarters = makeAs('Q'),
  14227. asYears = makeAs('y');
  14228. function clone$1() {
  14229. return createDuration(this);
  14230. }
  14231. function get$2(units) {
  14232. units = normalizeUnits(units);
  14233. return this.isValid() ? this[units + 's']() : NaN;
  14234. }
  14235. function makeGetter(name) {
  14236. return function () {
  14237. return this.isValid() ? this._data[name] : NaN;
  14238. };
  14239. }
  14240. var milliseconds = makeGetter('milliseconds'),
  14241. seconds = makeGetter('seconds'),
  14242. minutes = makeGetter('minutes'),
  14243. hours = makeGetter('hours'),
  14244. days = makeGetter('days'),
  14245. months = makeGetter('months'),
  14246. years = makeGetter('years');
  14247. function weeks() {
  14248. return absFloor(this.days() / 7);
  14249. }
  14250. var round = Math.round,
  14251. thresholds = {
  14252. ss: 44, // a few seconds to seconds
  14253. s: 45, // seconds to minute
  14254. m: 45, // minutes to hour
  14255. h: 22, // hours to day
  14256. d: 26, // days to month/week
  14257. w: null, // weeks to month
  14258. M: 11 // months to year
  14259. };
  14260. // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
  14261. function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
  14262. return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
  14263. }
  14264. function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {
  14265. var duration = createDuration(posNegDuration).abs(),
  14266. seconds = round(duration.as('s')),
  14267. minutes = round(duration.as('m')),
  14268. hours = round(duration.as('h')),
  14269. days = round(duration.as('d')),
  14270. months = round(duration.as('M')),
  14271. weeks = round(duration.as('w')),
  14272. years = round(duration.as('y')),
  14273. a =
  14274. seconds <= thresholds.ss && ['s', seconds] ||
  14275. seconds < thresholds.s && ['ss', seconds] ||
  14276. minutes <= 1 && ['m'] ||
  14277. minutes < thresholds.m && ['mm', minutes] ||
  14278. hours <= 1 && ['h'] ||
  14279. hours < thresholds.h && ['hh', hours] ||
  14280. days <= 1 && ['d'] ||
  14281. days < thresholds.d && ['dd', days];
  14282. if (thresholds.w != null) {
  14283. a =
  14284. a ||
  14285. weeks <= 1 && ['w'] ||
  14286. weeks < thresholds.w && ['ww', weeks];
  14287. }
  14288. a = a ||
  14289. months <= 1 && ['M'] ||
  14290. months < thresholds.M && ['MM', months] ||
  14291. years <= 1 && ['y'] || ['yy', years];
  14292. a[2] = withoutSuffix;
  14293. a[3] = +posNegDuration > 0;
  14294. a[4] = locale;
  14295. return substituteTimeAgo.apply(null, a);
  14296. }
  14297. // This function allows you to set the rounding function for relative time strings
  14298. function getSetRelativeTimeRounding(roundingFunction) {
  14299. if (roundingFunction === undefined) {
  14300. return round;
  14301. }
  14302. if (typeof roundingFunction === 'function') {
  14303. round = roundingFunction;
  14304. return true;
  14305. }
  14306. return false;
  14307. }
  14308. // This function allows you to set a threshold for relative time strings
  14309. function getSetRelativeTimeThreshold(threshold, limit) {
  14310. if (thresholds[threshold] === undefined) {
  14311. return false;
  14312. }
  14313. if (limit === undefined) {
  14314. return thresholds[threshold];
  14315. }
  14316. thresholds[threshold] = limit;
  14317. if (threshold === 's') {
  14318. thresholds.ss = limit - 1;
  14319. }
  14320. return true;
  14321. }
  14322. function humanize(argWithSuffix, argThresholds) {
  14323. if (!this.isValid()) {
  14324. return this.localeData().invalidDate();
  14325. }
  14326. var withSuffix = false,
  14327. th = thresholds,
  14328. locale,
  14329. output;
  14330. if (typeof argWithSuffix === 'object') {
  14331. argThresholds = argWithSuffix;
  14332. argWithSuffix = false;
  14333. }
  14334. if (typeof argWithSuffix === 'boolean') {
  14335. withSuffix = argWithSuffix;
  14336. }
  14337. if (typeof argThresholds === 'object') {
  14338. th = Object.assign({}, thresholds, argThresholds);
  14339. if (argThresholds.s != null && argThresholds.ss == null) {
  14340. th.ss = argThresholds.s - 1;
  14341. }
  14342. }
  14343. locale = this.localeData();
  14344. output = relativeTime$1(this, !withSuffix, th, locale);
  14345. if (withSuffix) {
  14346. output = locale.pastFuture(+this, output);
  14347. }
  14348. return locale.postformat(output);
  14349. }
  14350. var abs$1 = Math.abs;
  14351. function sign(x) {
  14352. return (x > 0) - (x < 0) || +x;
  14353. }
  14354. function toISOString$1() {
  14355. // for ISO strings we do not use the normal bubbling rules:
  14356. // * milliseconds bubble up until they become hours
  14357. // * days do not bubble at all
  14358. // * months bubble up until they become years
  14359. // This is because there is no context-free conversion between hours and days
  14360. // (think of clock changes)
  14361. // and also not between days and months (28-31 days per month)
  14362. if (!this.isValid()) {
  14363. return this.localeData().invalidDate();
  14364. }
  14365. var seconds = abs$1(this._milliseconds) / 1000,
  14366. days = abs$1(this._days),
  14367. months = abs$1(this._months),
  14368. minutes,
  14369. hours,
  14370. years,
  14371. s,
  14372. total = this.asSeconds(),
  14373. totalSign,
  14374. ymSign,
  14375. daysSign,
  14376. hmsSign;
  14377. if (!total) {
  14378. // this is the same as C#'s (Noda) and python (isodate)...
  14379. // but not other JS (goog.date)
  14380. return 'P0D';
  14381. }
  14382. // 3600 seconds -> 60 minutes -> 1 hour
  14383. minutes = absFloor(seconds / 60);
  14384. hours = absFloor(minutes / 60);
  14385. seconds %= 60;
  14386. minutes %= 60;
  14387. // 12 months -> 1 year
  14388. years = absFloor(months / 12);
  14389. months %= 12;
  14390. // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
  14391. s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : '';
  14392. totalSign = total < 0 ? '-' : '';
  14393. ymSign = sign(this._months) !== sign(total) ? '-' : '';
  14394. daysSign = sign(this._days) !== sign(total) ? '-' : '';
  14395. hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';
  14396. return (
  14397. totalSign +
  14398. 'P' + (
  14399. years ? ymSign + years + 'Y' : '') + (
  14400. months ? ymSign + months + 'M' : '') + (
  14401. days ? daysSign + days + 'D' : '') + (
  14402. hours || minutes || seconds ? 'T' : '') + (
  14403. hours ? hmsSign + hours + 'H' : '') + (
  14404. minutes ? hmsSign + minutes + 'M' : '') + (
  14405. seconds ? hmsSign + s + 'S' : ''));
  14406. }
  14407. var proto$2 = Duration.prototype;
  14408. proto$2.isValid = isValid$1;
  14409. proto$2.abs = abs;
  14410. proto$2.add = add$1;
  14411. proto$2.subtract = subtract$1;
  14412. proto$2.as = as;
  14413. proto$2.asMilliseconds = asMilliseconds;
  14414. proto$2.asSeconds = asSeconds;
  14415. proto$2.asMinutes = asMinutes;
  14416. proto$2.asHours = asHours;
  14417. proto$2.asDays = asDays;
  14418. proto$2.asWeeks = asWeeks;
  14419. proto$2.asMonths = asMonths;
  14420. proto$2.asQuarters = asQuarters;
  14421. proto$2.asYears = asYears;
  14422. proto$2.valueOf = valueOf$1;
  14423. proto$2._bubble = bubble;
  14424. proto$2.clone = clone$1;
  14425. proto$2.get = get$2;
  14426. proto$2.milliseconds = milliseconds;
  14427. proto$2.seconds = seconds;
  14428. proto$2.minutes = minutes;
  14429. proto$2.hours = hours;
  14430. proto$2.days = days;
  14431. proto$2.weeks = weeks;
  14432. proto$2.months = months;
  14433. proto$2.years = years;
  14434. proto$2.humanize = humanize;
  14435. proto$2.toISOString = toISOString$1;
  14436. proto$2.toString = toISOString$1;
  14437. proto$2.toJSON = toISOString$1;
  14438. proto$2.locale = locale;
  14439. proto$2.localeData = localeData;
  14440. proto$2.toIsoString = deprecate(
  14441. 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',
  14442. toISOString$1);
  14443. proto$2.lang = lang;
  14444. // FORMATTING
  14445. addFormatToken('X', 0, 0, 'unix');
  14446. addFormatToken('x', 0, 0, 'valueOf');
  14447. // PARSING
  14448. addRegexToken('x', matchSigned);
  14449. addRegexToken('X', matchTimestamp);
  14450. addParseToken('X', function (input, array, config) {
  14451. config._d = new Date(parseFloat(input) * 1000);
  14452. });
  14453. addParseToken('x', function (input, array, config) {
  14454. config._d = new Date(toInt(input));
  14455. });
  14456. //! moment.js
  14457. hooks.version = '2.29.4';
  14458. setHookCallback(createLocal);
  14459. hooks.fn = proto;
  14460. hooks.min = min;
  14461. hooks.max = max;
  14462. hooks.now = now;
  14463. hooks.utc = createUTC;
  14464. hooks.unix = createUnix;
  14465. hooks.months = listMonths;
  14466. hooks.isDate = isDate;
  14467. hooks.locale = getSetGlobalLocale;
  14468. hooks.invalid = createInvalid;
  14469. hooks.duration = createDuration;
  14470. hooks.isMoment = isMoment;
  14471. hooks.weekdays = listWeekdays;
  14472. hooks.parseZone = createInZone;
  14473. hooks.localeData = getLocale;
  14474. hooks.isDuration = isDuration;
  14475. hooks.monthsShort = listMonthsShort;
  14476. hooks.weekdaysMin = listWeekdaysMin;
  14477. hooks.defineLocale = defineLocale;
  14478. hooks.updateLocale = updateLocale;
  14479. hooks.locales = listLocales;
  14480. hooks.weekdaysShort = listWeekdaysShort;
  14481. hooks.normalizeUnits = normalizeUnits;
  14482. hooks.relativeTimeRounding = getSetRelativeTimeRounding;
  14483. hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;
  14484. hooks.calendarFormat = getCalendarFormat;
  14485. hooks.prototype = proto;
  14486. // currently HTML5 input type only supports 24-hour formats
  14487. hooks.HTML5_FMT = {
  14488. DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type="datetime-local" />
  14489. DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type="datetime-local" step="1" />
  14490. DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type="datetime-local" step="0.001" />
  14491. DATE: 'YYYY-MM-DD', // <input type="date" />
  14492. TIME: 'HH:mm', // <input type="time" />
  14493. TIME_SECONDS: 'HH:mm:ss', // <input type="time" step="1" />
  14494. TIME_MS: 'HH:mm:ss.SSS', // <input type="time" step="0.001" />
  14495. WEEK: 'GGGG-[W]WW', // <input type="week" />
  14496. MONTH: 'YYYY-MM' // <input type="month" />
  14497. };
  14498. return hooks;
  14499. });
  14500. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! (webpack)/buildin/module.js */ 20)(module)))
  14501. /***/ }),
  14502. /* 20 */
  14503. /*!***********************************!*\
  14504. !*** (webpack)/buildin/module.js ***!
  14505. \***********************************/
  14506. /*! no static exports found */
  14507. /***/ (function(module, exports) {
  14508. module.exports = function(module) {
  14509. if (!module.webpackPolyfill) {
  14510. module.deprecate = function() {};
  14511. module.paths = [];
  14512. // module.parent = undefined by default
  14513. if (!module.children) module.children = [];
  14514. Object.defineProperty(module, "loaded", {
  14515. enumerable: true,
  14516. get: function() {
  14517. return module.l;
  14518. }
  14519. });
  14520. Object.defineProperty(module, "id", {
  14521. enumerable: true,
  14522. get: function() {
  14523. return module.i;
  14524. }
  14525. });
  14526. module.webpackPolyfill = 1;
  14527. }
  14528. return module;
  14529. };
  14530. /***/ }),
  14531. /* 21 */
  14532. /*!*****************************************************************************************************!*\
  14533. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale sync ^\.\/.*$ ***!
  14534. \*****************************************************************************************************/
  14535. /*! no static exports found */
  14536. /***/ (function(module, exports, __webpack_require__) {
  14537. var map = {
  14538. "./af": 22,
  14539. "./af.js": 22,
  14540. "./ar": 23,
  14541. "./ar-dz": 24,
  14542. "./ar-dz.js": 24,
  14543. "./ar-kw": 25,
  14544. "./ar-kw.js": 25,
  14545. "./ar-ly": 26,
  14546. "./ar-ly.js": 26,
  14547. "./ar-ma": 27,
  14548. "./ar-ma.js": 27,
  14549. "./ar-sa": 28,
  14550. "./ar-sa.js": 28,
  14551. "./ar-tn": 29,
  14552. "./ar-tn.js": 29,
  14553. "./ar.js": 23,
  14554. "./az": 30,
  14555. "./az.js": 30,
  14556. "./be": 31,
  14557. "./be.js": 31,
  14558. "./bg": 32,
  14559. "./bg.js": 32,
  14560. "./bm": 33,
  14561. "./bm.js": 33,
  14562. "./bn": 34,
  14563. "./bn-bd": 35,
  14564. "./bn-bd.js": 35,
  14565. "./bn.js": 34,
  14566. "./bo": 36,
  14567. "./bo.js": 36,
  14568. "./br": 37,
  14569. "./br.js": 37,
  14570. "./bs": 38,
  14571. "./bs.js": 38,
  14572. "./ca": 39,
  14573. "./ca.js": 39,
  14574. "./cs": 40,
  14575. "./cs.js": 40,
  14576. "./cv": 41,
  14577. "./cv.js": 41,
  14578. "./cy": 42,
  14579. "./cy.js": 42,
  14580. "./da": 43,
  14581. "./da.js": 43,
  14582. "./de": 44,
  14583. "./de-at": 45,
  14584. "./de-at.js": 45,
  14585. "./de-ch": 46,
  14586. "./de-ch.js": 46,
  14587. "./de.js": 44,
  14588. "./dv": 47,
  14589. "./dv.js": 47,
  14590. "./el": 48,
  14591. "./el.js": 48,
  14592. "./en-au": 49,
  14593. "./en-au.js": 49,
  14594. "./en-ca": 50,
  14595. "./en-ca.js": 50,
  14596. "./en-gb": 51,
  14597. "./en-gb.js": 51,
  14598. "./en-ie": 52,
  14599. "./en-ie.js": 52,
  14600. "./en-il": 53,
  14601. "./en-il.js": 53,
  14602. "./en-in": 54,
  14603. "./en-in.js": 54,
  14604. "./en-nz": 55,
  14605. "./en-nz.js": 55,
  14606. "./en-sg": 56,
  14607. "./en-sg.js": 56,
  14608. "./eo": 57,
  14609. "./eo.js": 57,
  14610. "./es": 58,
  14611. "./es-do": 59,
  14612. "./es-do.js": 59,
  14613. "./es-mx": 60,
  14614. "./es-mx.js": 60,
  14615. "./es-us": 61,
  14616. "./es-us.js": 61,
  14617. "./es.js": 58,
  14618. "./et": 62,
  14619. "./et.js": 62,
  14620. "./eu": 63,
  14621. "./eu.js": 63,
  14622. "./fa": 64,
  14623. "./fa.js": 64,
  14624. "./fi": 65,
  14625. "./fi.js": 65,
  14626. "./fil": 66,
  14627. "./fil.js": 66,
  14628. "./fo": 67,
  14629. "./fo.js": 67,
  14630. "./fr": 68,
  14631. "./fr-ca": 69,
  14632. "./fr-ca.js": 69,
  14633. "./fr-ch": 70,
  14634. "./fr-ch.js": 70,
  14635. "./fr.js": 68,
  14636. "./fy": 71,
  14637. "./fy.js": 71,
  14638. "./ga": 72,
  14639. "./ga.js": 72,
  14640. "./gd": 73,
  14641. "./gd.js": 73,
  14642. "./gl": 74,
  14643. "./gl.js": 74,
  14644. "./gom-deva": 75,
  14645. "./gom-deva.js": 75,
  14646. "./gom-latn": 76,
  14647. "./gom-latn.js": 76,
  14648. "./gu": 77,
  14649. "./gu.js": 77,
  14650. "./he": 78,
  14651. "./he.js": 78,
  14652. "./hi": 79,
  14653. "./hi.js": 79,
  14654. "./hr": 80,
  14655. "./hr.js": 80,
  14656. "./hu": 81,
  14657. "./hu.js": 81,
  14658. "./hy-am": 82,
  14659. "./hy-am.js": 82,
  14660. "./id": 83,
  14661. "./id.js": 83,
  14662. "./is": 84,
  14663. "./is.js": 84,
  14664. "./it": 85,
  14665. "./it-ch": 86,
  14666. "./it-ch.js": 86,
  14667. "./it.js": 85,
  14668. "./ja": 87,
  14669. "./ja.js": 87,
  14670. "./jv": 88,
  14671. "./jv.js": 88,
  14672. "./ka": 89,
  14673. "./ka.js": 89,
  14674. "./kk": 90,
  14675. "./kk.js": 90,
  14676. "./km": 91,
  14677. "./km.js": 91,
  14678. "./kn": 92,
  14679. "./kn.js": 92,
  14680. "./ko": 93,
  14681. "./ko.js": 93,
  14682. "./ku": 94,
  14683. "./ku.js": 94,
  14684. "./ky": 95,
  14685. "./ky.js": 95,
  14686. "./lb": 96,
  14687. "./lb.js": 96,
  14688. "./lo": 97,
  14689. "./lo.js": 97,
  14690. "./lt": 98,
  14691. "./lt.js": 98,
  14692. "./lv": 99,
  14693. "./lv.js": 99,
  14694. "./me": 100,
  14695. "./me.js": 100,
  14696. "./mi": 101,
  14697. "./mi.js": 101,
  14698. "./mk": 102,
  14699. "./mk.js": 102,
  14700. "./ml": 103,
  14701. "./ml.js": 103,
  14702. "./mn": 104,
  14703. "./mn.js": 104,
  14704. "./mr": 105,
  14705. "./mr.js": 105,
  14706. "./ms": 106,
  14707. "./ms-my": 107,
  14708. "./ms-my.js": 107,
  14709. "./ms.js": 106,
  14710. "./mt": 108,
  14711. "./mt.js": 108,
  14712. "./my": 109,
  14713. "./my.js": 109,
  14714. "./nb": 110,
  14715. "./nb.js": 110,
  14716. "./ne": 111,
  14717. "./ne.js": 111,
  14718. "./nl": 112,
  14719. "./nl-be": 113,
  14720. "./nl-be.js": 113,
  14721. "./nl.js": 112,
  14722. "./nn": 114,
  14723. "./nn.js": 114,
  14724. "./oc-lnc": 115,
  14725. "./oc-lnc.js": 115,
  14726. "./pa-in": 116,
  14727. "./pa-in.js": 116,
  14728. "./pl": 117,
  14729. "./pl.js": 117,
  14730. "./pt": 118,
  14731. "./pt-br": 119,
  14732. "./pt-br.js": 119,
  14733. "./pt.js": 118,
  14734. "./ro": 120,
  14735. "./ro.js": 120,
  14736. "./ru": 121,
  14737. "./ru.js": 121,
  14738. "./sd": 122,
  14739. "./sd.js": 122,
  14740. "./se": 123,
  14741. "./se.js": 123,
  14742. "./si": 124,
  14743. "./si.js": 124,
  14744. "./sk": 125,
  14745. "./sk.js": 125,
  14746. "./sl": 126,
  14747. "./sl.js": 126,
  14748. "./sq": 127,
  14749. "./sq.js": 127,
  14750. "./sr": 128,
  14751. "./sr-cyrl": 129,
  14752. "./sr-cyrl.js": 129,
  14753. "./sr.js": 128,
  14754. "./ss": 130,
  14755. "./ss.js": 130,
  14756. "./sv": 131,
  14757. "./sv.js": 131,
  14758. "./sw": 132,
  14759. "./sw.js": 132,
  14760. "./ta": 133,
  14761. "./ta.js": 133,
  14762. "./te": 134,
  14763. "./te.js": 134,
  14764. "./tet": 135,
  14765. "./tet.js": 135,
  14766. "./tg": 136,
  14767. "./tg.js": 136,
  14768. "./th": 137,
  14769. "./th.js": 137,
  14770. "./tk": 138,
  14771. "./tk.js": 138,
  14772. "./tl-ph": 139,
  14773. "./tl-ph.js": 139,
  14774. "./tlh": 140,
  14775. "./tlh.js": 140,
  14776. "./tr": 141,
  14777. "./tr.js": 141,
  14778. "./tzl": 142,
  14779. "./tzl.js": 142,
  14780. "./tzm": 143,
  14781. "./tzm-latn": 144,
  14782. "./tzm-latn.js": 144,
  14783. "./tzm.js": 143,
  14784. "./ug-cn": 145,
  14785. "./ug-cn.js": 145,
  14786. "./uk": 146,
  14787. "./uk.js": 146,
  14788. "./ur": 147,
  14789. "./ur.js": 147,
  14790. "./uz": 148,
  14791. "./uz-latn": 149,
  14792. "./uz-latn.js": 149,
  14793. "./uz.js": 148,
  14794. "./vi": 150,
  14795. "./vi.js": 150,
  14796. "./x-pseudo": 151,
  14797. "./x-pseudo.js": 151,
  14798. "./yo": 152,
  14799. "./yo.js": 152,
  14800. "./zh-cn": 153,
  14801. "./zh-cn.js": 153,
  14802. "./zh-hk": 154,
  14803. "./zh-hk.js": 154,
  14804. "./zh-mo": 155,
  14805. "./zh-mo.js": 155,
  14806. "./zh-tw": 156,
  14807. "./zh-tw.js": 156
  14808. };
  14809. function webpackContext(req) {
  14810. var id = webpackContextResolve(req);
  14811. return __webpack_require__(id);
  14812. }
  14813. function webpackContextResolve(req) {
  14814. if(!__webpack_require__.o(map, req)) {
  14815. var e = new Error("Cannot find module '" + req + "'");
  14816. e.code = 'MODULE_NOT_FOUND';
  14817. throw e;
  14818. }
  14819. return map[req];
  14820. }
  14821. webpackContext.keys = function webpackContextKeys() {
  14822. return Object.keys(map);
  14823. };
  14824. webpackContext.resolve = webpackContextResolve;
  14825. module.exports = webpackContext;
  14826. webpackContext.id = 21;
  14827. /***/ }),
  14828. /* 22 */
  14829. /*!*********************************************************************************************!*\
  14830. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/af.js ***!
  14831. \*********************************************************************************************/
  14832. /*! no static exports found */
  14833. /***/ (function(module, exports, __webpack_require__) {
  14834. //! moment.js locale configuration
  14835. //! locale : Afrikaans [af]
  14836. //! author : Werner Mollentze : https://github.com/wernerm
  14837. ;(function (global, factory) {
  14838. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  14839. undefined;
  14840. })(this, function (moment) {'use strict';
  14841. //! moment.js locale configuration
  14842. var af = moment.defineLocale('af', {
  14843. months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(
  14844. '_'),
  14845. monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),
  14846. weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(
  14847. '_'),
  14848. weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),
  14849. weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),
  14850. meridiemParse: /vm|nm/i,
  14851. isPM: function isPM(input) {
  14852. return /^nm$/i.test(input);
  14853. },
  14854. meridiem: function meridiem(hours, minutes, isLower) {
  14855. if (hours < 12) {
  14856. return isLower ? 'vm' : 'VM';
  14857. } else {
  14858. return isLower ? 'nm' : 'NM';
  14859. }
  14860. },
  14861. longDateFormat: {
  14862. LT: 'HH:mm',
  14863. LTS: 'HH:mm:ss',
  14864. L: 'DD/MM/YYYY',
  14865. LL: 'D MMMM YYYY',
  14866. LLL: 'D MMMM YYYY HH:mm',
  14867. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  14868. calendar: {
  14869. sameDay: '[Vandag om] LT',
  14870. nextDay: '[Môre om] LT',
  14871. nextWeek: 'dddd [om] LT',
  14872. lastDay: '[Gister om] LT',
  14873. lastWeek: '[Laas] dddd [om] LT',
  14874. sameElse: 'L' },
  14875. relativeTime: {
  14876. future: 'oor %s',
  14877. past: '%s gelede',
  14878. s: "'n paar sekondes",
  14879. ss: '%d sekondes',
  14880. m: "'n minuut",
  14881. mm: '%d minute',
  14882. h: "'n uur",
  14883. hh: '%d ure',
  14884. d: "'n dag",
  14885. dd: '%d dae',
  14886. M: "'n maand",
  14887. MM: '%d maande',
  14888. y: "'n jaar",
  14889. yy: '%d jaar' },
  14890. dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
  14891. ordinal: function ordinal(number) {
  14892. return (
  14893. number + (
  14894. number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'));
  14895. // Thanks to Joris Röling : https://github.com/jjupiter
  14896. },
  14897. week: {
  14898. dow: 1, // Maandag is die eerste dag van die week.
  14899. doy: 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
  14900. } });
  14901. return af;
  14902. });
  14903. /***/ }),
  14904. /* 23 */
  14905. /*!*********************************************************************************************!*\
  14906. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ar.js ***!
  14907. \*********************************************************************************************/
  14908. /*! no static exports found */
  14909. /***/ (function(module, exports, __webpack_require__) {
  14910. //! moment.js locale configuration
  14911. //! locale : Arabic [ar]
  14912. //! author : Abdel Said: https://github.com/abdelsaid
  14913. //! author : Ahmed Elkhatib
  14914. //! author : forabi https://github.com/forabi
  14915. ;(function (global, factory) {
  14916. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  14917. undefined;
  14918. })(this, function (moment) {'use strict';
  14919. //! moment.js locale configuration
  14920. var symbolMap = {
  14921. 1: '١',
  14922. 2: '٢',
  14923. 3: '٣',
  14924. 4: '٤',
  14925. 5: '٥',
  14926. 6: '٦',
  14927. 7: '٧',
  14928. 8: '٨',
  14929. 9: '٩',
  14930. 0: '٠' },
  14931. numberMap = {
  14932. '١': '1',
  14933. '٢': '2',
  14934. '٣': '3',
  14935. '٤': '4',
  14936. '٥': '5',
  14937. '٦': '6',
  14938. '٧': '7',
  14939. '٨': '8',
  14940. '٩': '9',
  14941. '٠': '0' },
  14942. pluralForm = function pluralForm(n) {
  14943. return n === 0 ?
  14944. 0 :
  14945. n === 1 ?
  14946. 1 :
  14947. n === 2 ?
  14948. 2 :
  14949. n % 100 >= 3 && n % 100 <= 10 ?
  14950. 3 :
  14951. n % 100 >= 11 ?
  14952. 4 :
  14953. 5;
  14954. },
  14955. plurals = {
  14956. s: [
  14957. 'أقل من ثانية',
  14958. 'ثانية واحدة',
  14959. ['ثانيتان', 'ثانيتين'],
  14960. '%d ثوان',
  14961. '%d ثانية',
  14962. '%d ثانية'],
  14963. m: [
  14964. 'أقل من دقيقة',
  14965. 'دقيقة واحدة',
  14966. ['دقيقتان', 'دقيقتين'],
  14967. '%d دقائق',
  14968. '%d دقيقة',
  14969. '%d دقيقة'],
  14970. h: [
  14971. 'أقل من ساعة',
  14972. 'ساعة واحدة',
  14973. ['ساعتان', 'ساعتين'],
  14974. '%d ساعات',
  14975. '%d ساعة',
  14976. '%d ساعة'],
  14977. d: [
  14978. 'أقل من يوم',
  14979. 'يوم واحد',
  14980. ['يومان', 'يومين'],
  14981. '%d أيام',
  14982. '%d يومًا',
  14983. '%d يوم'],
  14984. M: [
  14985. 'أقل من شهر',
  14986. 'شهر واحد',
  14987. ['شهران', 'شهرين'],
  14988. '%d أشهر',
  14989. '%d شهرا',
  14990. '%d شهر'],
  14991. y: [
  14992. 'أقل من عام',
  14993. 'عام واحد',
  14994. ['عامان', 'عامين'],
  14995. '%d أعوام',
  14996. '%d عامًا',
  14997. '%d عام'] },
  14998. pluralize = function pluralize(u) {
  14999. return function (number, withoutSuffix, string, isFuture) {
  15000. var f = pluralForm(number),
  15001. str = plurals[u][pluralForm(number)];
  15002. if (f === 2) {
  15003. str = str[withoutSuffix ? 0 : 1];
  15004. }
  15005. return str.replace(/%d/i, number);
  15006. };
  15007. },
  15008. months = [
  15009. 'يناير',
  15010. 'فبراير',
  15011. 'مارس',
  15012. 'أبريل',
  15013. 'مايو',
  15014. 'يونيو',
  15015. 'يوليو',
  15016. 'أغسطس',
  15017. 'سبتمبر',
  15018. 'أكتوبر',
  15019. 'نوفمبر',
  15020. 'ديسمبر'];
  15021. var ar = moment.defineLocale('ar', {
  15022. months: months,
  15023. monthsShort: months,
  15024. weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
  15025. weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
  15026. weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
  15027. weekdaysParseExact: true,
  15028. longDateFormat: {
  15029. LT: 'HH:mm',
  15030. LTS: 'HH:mm:ss',
  15031. L: "D/\u200FM/\u200FYYYY",
  15032. LL: 'D MMMM YYYY',
  15033. LLL: 'D MMMM YYYY HH:mm',
  15034. LLLL: 'dddd D MMMM YYYY HH:mm' },
  15035. meridiemParse: /ص|م/,
  15036. isPM: function isPM(input) {
  15037. return 'م' === input;
  15038. },
  15039. meridiem: function meridiem(hour, minute, isLower) {
  15040. if (hour < 12) {
  15041. return 'ص';
  15042. } else {
  15043. return 'م';
  15044. }
  15045. },
  15046. calendar: {
  15047. sameDay: '[اليوم عند الساعة] LT',
  15048. nextDay: '[غدًا عند الساعة] LT',
  15049. nextWeek: 'dddd [عند الساعة] LT',
  15050. lastDay: '[أمس عند الساعة] LT',
  15051. lastWeek: 'dddd [عند الساعة] LT',
  15052. sameElse: 'L' },
  15053. relativeTime: {
  15054. future: 'بعد %s',
  15055. past: 'منذ %s',
  15056. s: pluralize('s'),
  15057. ss: pluralize('s'),
  15058. m: pluralize('m'),
  15059. mm: pluralize('m'),
  15060. h: pluralize('h'),
  15061. hh: pluralize('h'),
  15062. d: pluralize('d'),
  15063. dd: pluralize('d'),
  15064. M: pluralize('M'),
  15065. MM: pluralize('M'),
  15066. y: pluralize('y'),
  15067. yy: pluralize('y') },
  15068. preparse: function preparse(string) {
  15069. return string.
  15070. replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
  15071. return numberMap[match];
  15072. }).
  15073. replace(/،/g, ',');
  15074. },
  15075. postformat: function postformat(string) {
  15076. return string.
  15077. replace(/\d/g, function (match) {
  15078. return symbolMap[match];
  15079. }).
  15080. replace(/,/g, '،');
  15081. },
  15082. week: {
  15083. dow: 6, // Saturday is the first day of the week.
  15084. doy: 12 // The week that contains Jan 12th is the first week of the year.
  15085. } });
  15086. return ar;
  15087. });
  15088. /***/ }),
  15089. /* 24 */
  15090. /*!************************************************************************************************!*\
  15091. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ar-dz.js ***!
  15092. \************************************************************************************************/
  15093. /*! no static exports found */
  15094. /***/ (function(module, exports, __webpack_require__) {
  15095. //! moment.js locale configuration
  15096. //! locale : Arabic (Algeria) [ar-dz]
  15097. //! author : Amine Roukh: https://github.com/Amine27
  15098. //! author : Abdel Said: https://github.com/abdelsaid
  15099. //! author : Ahmed Elkhatib
  15100. //! author : forabi https://github.com/forabi
  15101. //! author : Noureddine LOUAHEDJ : https://github.com/noureddinem
  15102. ;(function (global, factory) {
  15103. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  15104. undefined;
  15105. })(this, function (moment) {'use strict';
  15106. //! moment.js locale configuration
  15107. var pluralForm = function pluralForm(n) {
  15108. return n === 0 ?
  15109. 0 :
  15110. n === 1 ?
  15111. 1 :
  15112. n === 2 ?
  15113. 2 :
  15114. n % 100 >= 3 && n % 100 <= 10 ?
  15115. 3 :
  15116. n % 100 >= 11 ?
  15117. 4 :
  15118. 5;
  15119. },
  15120. plurals = {
  15121. s: [
  15122. 'أقل من ثانية',
  15123. 'ثانية واحدة',
  15124. ['ثانيتان', 'ثانيتين'],
  15125. '%d ثوان',
  15126. '%d ثانية',
  15127. '%d ثانية'],
  15128. m: [
  15129. 'أقل من دقيقة',
  15130. 'دقيقة واحدة',
  15131. ['دقيقتان', 'دقيقتين'],
  15132. '%d دقائق',
  15133. '%d دقيقة',
  15134. '%d دقيقة'],
  15135. h: [
  15136. 'أقل من ساعة',
  15137. 'ساعة واحدة',
  15138. ['ساعتان', 'ساعتين'],
  15139. '%d ساعات',
  15140. '%d ساعة',
  15141. '%d ساعة'],
  15142. d: [
  15143. 'أقل من يوم',
  15144. 'يوم واحد',
  15145. ['يومان', 'يومين'],
  15146. '%d أيام',
  15147. '%d يومًا',
  15148. '%d يوم'],
  15149. M: [
  15150. 'أقل من شهر',
  15151. 'شهر واحد',
  15152. ['شهران', 'شهرين'],
  15153. '%d أشهر',
  15154. '%d شهرا',
  15155. '%d شهر'],
  15156. y: [
  15157. 'أقل من عام',
  15158. 'عام واحد',
  15159. ['عامان', 'عامين'],
  15160. '%d أعوام',
  15161. '%d عامًا',
  15162. '%d عام'] },
  15163. pluralize = function pluralize(u) {
  15164. return function (number, withoutSuffix, string, isFuture) {
  15165. var f = pluralForm(number),
  15166. str = plurals[u][pluralForm(number)];
  15167. if (f === 2) {
  15168. str = str[withoutSuffix ? 0 : 1];
  15169. }
  15170. return str.replace(/%d/i, number);
  15171. };
  15172. },
  15173. months = [
  15174. 'جانفي',
  15175. 'فيفري',
  15176. 'مارس',
  15177. 'أفريل',
  15178. 'ماي',
  15179. 'جوان',
  15180. 'جويلية',
  15181. 'أوت',
  15182. 'سبتمبر',
  15183. 'أكتوبر',
  15184. 'نوفمبر',
  15185. 'ديسمبر'];
  15186. var arDz = moment.defineLocale('ar-dz', {
  15187. months: months,
  15188. monthsShort: months,
  15189. weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
  15190. weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
  15191. weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
  15192. weekdaysParseExact: true,
  15193. longDateFormat: {
  15194. LT: 'HH:mm',
  15195. LTS: 'HH:mm:ss',
  15196. L: "D/\u200FM/\u200FYYYY",
  15197. LL: 'D MMMM YYYY',
  15198. LLL: 'D MMMM YYYY HH:mm',
  15199. LLLL: 'dddd D MMMM YYYY HH:mm' },
  15200. meridiemParse: /ص|م/,
  15201. isPM: function isPM(input) {
  15202. return 'م' === input;
  15203. },
  15204. meridiem: function meridiem(hour, minute, isLower) {
  15205. if (hour < 12) {
  15206. return 'ص';
  15207. } else {
  15208. return 'م';
  15209. }
  15210. },
  15211. calendar: {
  15212. sameDay: '[اليوم عند الساعة] LT',
  15213. nextDay: '[غدًا عند الساعة] LT',
  15214. nextWeek: 'dddd [عند الساعة] LT',
  15215. lastDay: '[أمس عند الساعة] LT',
  15216. lastWeek: 'dddd [عند الساعة] LT',
  15217. sameElse: 'L' },
  15218. relativeTime: {
  15219. future: 'بعد %s',
  15220. past: 'منذ %s',
  15221. s: pluralize('s'),
  15222. ss: pluralize('s'),
  15223. m: pluralize('m'),
  15224. mm: pluralize('m'),
  15225. h: pluralize('h'),
  15226. hh: pluralize('h'),
  15227. d: pluralize('d'),
  15228. dd: pluralize('d'),
  15229. M: pluralize('M'),
  15230. MM: pluralize('M'),
  15231. y: pluralize('y'),
  15232. yy: pluralize('y') },
  15233. postformat: function postformat(string) {
  15234. return string.replace(/,/g, '،');
  15235. },
  15236. week: {
  15237. dow: 0, // Sunday is the first day of the week.
  15238. doy: 4 // The week that contains Jan 4th is the first week of the year.
  15239. } });
  15240. return arDz;
  15241. });
  15242. /***/ }),
  15243. /* 25 */
  15244. /*!************************************************************************************************!*\
  15245. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ar-kw.js ***!
  15246. \************************************************************************************************/
  15247. /*! no static exports found */
  15248. /***/ (function(module, exports, __webpack_require__) {
  15249. //! moment.js locale configuration
  15250. //! locale : Arabic (Kuwait) [ar-kw]
  15251. //! author : Nusret Parlak: https://github.com/nusretparlak
  15252. ;(function (global, factory) {
  15253. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  15254. undefined;
  15255. })(this, function (moment) {'use strict';
  15256. //! moment.js locale configuration
  15257. var arKw = moment.defineLocale('ar-kw', {
  15258. months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(
  15259. '_'),
  15260. monthsShort:
  15261. 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(
  15262. '_'),
  15263. weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
  15264. weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
  15265. weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
  15266. weekdaysParseExact: true,
  15267. longDateFormat: {
  15268. LT: 'HH:mm',
  15269. LTS: 'HH:mm:ss',
  15270. L: 'DD/MM/YYYY',
  15271. LL: 'D MMMM YYYY',
  15272. LLL: 'D MMMM YYYY HH:mm',
  15273. LLLL: 'dddd D MMMM YYYY HH:mm' },
  15274. calendar: {
  15275. sameDay: '[اليوم على الساعة] LT',
  15276. nextDay: '[غدا على الساعة] LT',
  15277. nextWeek: 'dddd [على الساعة] LT',
  15278. lastDay: '[أمس على الساعة] LT',
  15279. lastWeek: 'dddd [على الساعة] LT',
  15280. sameElse: 'L' },
  15281. relativeTime: {
  15282. future: 'في %s',
  15283. past: 'منذ %s',
  15284. s: 'ثوان',
  15285. ss: '%d ثانية',
  15286. m: 'دقيقة',
  15287. mm: '%d دقائق',
  15288. h: 'ساعة',
  15289. hh: '%d ساعات',
  15290. d: 'يوم',
  15291. dd: '%d أيام',
  15292. M: 'شهر',
  15293. MM: '%d أشهر',
  15294. y: 'سنة',
  15295. yy: '%d سنوات' },
  15296. week: {
  15297. dow: 0, // Sunday is the first day of the week.
  15298. doy: 12 // The week that contains Jan 12th is the first week of the year.
  15299. } });
  15300. return arKw;
  15301. });
  15302. /***/ }),
  15303. /* 26 */
  15304. /*!************************************************************************************************!*\
  15305. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ar-ly.js ***!
  15306. \************************************************************************************************/
  15307. /*! no static exports found */
  15308. /***/ (function(module, exports, __webpack_require__) {
  15309. //! moment.js locale configuration
  15310. //! locale : Arabic (Libya) [ar-ly]
  15311. //! author : Ali Hmer: https://github.com/kikoanis
  15312. ;(function (global, factory) {
  15313. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  15314. undefined;
  15315. })(this, function (moment) {'use strict';
  15316. //! moment.js locale configuration
  15317. var symbolMap = {
  15318. 1: '1',
  15319. 2: '2',
  15320. 3: '3',
  15321. 4: '4',
  15322. 5: '5',
  15323. 6: '6',
  15324. 7: '7',
  15325. 8: '8',
  15326. 9: '9',
  15327. 0: '0' },
  15328. pluralForm = function pluralForm(n) {
  15329. return n === 0 ?
  15330. 0 :
  15331. n === 1 ?
  15332. 1 :
  15333. n === 2 ?
  15334. 2 :
  15335. n % 100 >= 3 && n % 100 <= 10 ?
  15336. 3 :
  15337. n % 100 >= 11 ?
  15338. 4 :
  15339. 5;
  15340. },
  15341. plurals = {
  15342. s: [
  15343. 'أقل من ثانية',
  15344. 'ثانية واحدة',
  15345. ['ثانيتان', 'ثانيتين'],
  15346. '%d ثوان',
  15347. '%d ثانية',
  15348. '%d ثانية'],
  15349. m: [
  15350. 'أقل من دقيقة',
  15351. 'دقيقة واحدة',
  15352. ['دقيقتان', 'دقيقتين'],
  15353. '%d دقائق',
  15354. '%d دقيقة',
  15355. '%d دقيقة'],
  15356. h: [
  15357. 'أقل من ساعة',
  15358. 'ساعة واحدة',
  15359. ['ساعتان', 'ساعتين'],
  15360. '%d ساعات',
  15361. '%d ساعة',
  15362. '%d ساعة'],
  15363. d: [
  15364. 'أقل من يوم',
  15365. 'يوم واحد',
  15366. ['يومان', 'يومين'],
  15367. '%d أيام',
  15368. '%d يومًا',
  15369. '%d يوم'],
  15370. M: [
  15371. 'أقل من شهر',
  15372. 'شهر واحد',
  15373. ['شهران', 'شهرين'],
  15374. '%d أشهر',
  15375. '%d شهرا',
  15376. '%d شهر'],
  15377. y: [
  15378. 'أقل من عام',
  15379. 'عام واحد',
  15380. ['عامان', 'عامين'],
  15381. '%d أعوام',
  15382. '%d عامًا',
  15383. '%d عام'] },
  15384. pluralize = function pluralize(u) {
  15385. return function (number, withoutSuffix, string, isFuture) {
  15386. var f = pluralForm(number),
  15387. str = plurals[u][pluralForm(number)];
  15388. if (f === 2) {
  15389. str = str[withoutSuffix ? 0 : 1];
  15390. }
  15391. return str.replace(/%d/i, number);
  15392. };
  15393. },
  15394. months = [
  15395. 'يناير',
  15396. 'فبراير',
  15397. 'مارس',
  15398. 'أبريل',
  15399. 'مايو',
  15400. 'يونيو',
  15401. 'يوليو',
  15402. 'أغسطس',
  15403. 'سبتمبر',
  15404. 'أكتوبر',
  15405. 'نوفمبر',
  15406. 'ديسمبر'];
  15407. var arLy = moment.defineLocale('ar-ly', {
  15408. months: months,
  15409. monthsShort: months,
  15410. weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
  15411. weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
  15412. weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
  15413. weekdaysParseExact: true,
  15414. longDateFormat: {
  15415. LT: 'HH:mm',
  15416. LTS: 'HH:mm:ss',
  15417. L: "D/\u200FM/\u200FYYYY",
  15418. LL: 'D MMMM YYYY',
  15419. LLL: 'D MMMM YYYY HH:mm',
  15420. LLLL: 'dddd D MMMM YYYY HH:mm' },
  15421. meridiemParse: /ص|م/,
  15422. isPM: function isPM(input) {
  15423. return 'م' === input;
  15424. },
  15425. meridiem: function meridiem(hour, minute, isLower) {
  15426. if (hour < 12) {
  15427. return 'ص';
  15428. } else {
  15429. return 'م';
  15430. }
  15431. },
  15432. calendar: {
  15433. sameDay: '[اليوم عند الساعة] LT',
  15434. nextDay: '[غدًا عند الساعة] LT',
  15435. nextWeek: 'dddd [عند الساعة] LT',
  15436. lastDay: '[أمس عند الساعة] LT',
  15437. lastWeek: 'dddd [عند الساعة] LT',
  15438. sameElse: 'L' },
  15439. relativeTime: {
  15440. future: 'بعد %s',
  15441. past: 'منذ %s',
  15442. s: pluralize('s'),
  15443. ss: pluralize('s'),
  15444. m: pluralize('m'),
  15445. mm: pluralize('m'),
  15446. h: pluralize('h'),
  15447. hh: pluralize('h'),
  15448. d: pluralize('d'),
  15449. dd: pluralize('d'),
  15450. M: pluralize('M'),
  15451. MM: pluralize('M'),
  15452. y: pluralize('y'),
  15453. yy: pluralize('y') },
  15454. preparse: function preparse(string) {
  15455. return string.replace(/،/g, ',');
  15456. },
  15457. postformat: function postformat(string) {
  15458. return string.
  15459. replace(/\d/g, function (match) {
  15460. return symbolMap[match];
  15461. }).
  15462. replace(/,/g, '،');
  15463. },
  15464. week: {
  15465. dow: 6, // Saturday is the first day of the week.
  15466. doy: 12 // The week that contains Jan 12th is the first week of the year.
  15467. } });
  15468. return arLy;
  15469. });
  15470. /***/ }),
  15471. /* 27 */
  15472. /*!************************************************************************************************!*\
  15473. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ar-ma.js ***!
  15474. \************************************************************************************************/
  15475. /*! no static exports found */
  15476. /***/ (function(module, exports, __webpack_require__) {
  15477. //! moment.js locale configuration
  15478. //! locale : Arabic (Morocco) [ar-ma]
  15479. //! author : ElFadili Yassine : https://github.com/ElFadiliY
  15480. //! author : Abdel Said : https://github.com/abdelsaid
  15481. ;(function (global, factory) {
  15482. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  15483. undefined;
  15484. })(this, function (moment) {'use strict';
  15485. //! moment.js locale configuration
  15486. var arMa = moment.defineLocale('ar-ma', {
  15487. months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(
  15488. '_'),
  15489. monthsShort:
  15490. 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(
  15491. '_'),
  15492. weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
  15493. weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
  15494. weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
  15495. weekdaysParseExact: true,
  15496. longDateFormat: {
  15497. LT: 'HH:mm',
  15498. LTS: 'HH:mm:ss',
  15499. L: 'DD/MM/YYYY',
  15500. LL: 'D MMMM YYYY',
  15501. LLL: 'D MMMM YYYY HH:mm',
  15502. LLLL: 'dddd D MMMM YYYY HH:mm' },
  15503. calendar: {
  15504. sameDay: '[اليوم على الساعة] LT',
  15505. nextDay: '[غدا على الساعة] LT',
  15506. nextWeek: 'dddd [على الساعة] LT',
  15507. lastDay: '[أمس على الساعة] LT',
  15508. lastWeek: 'dddd [على الساعة] LT',
  15509. sameElse: 'L' },
  15510. relativeTime: {
  15511. future: 'في %s',
  15512. past: 'منذ %s',
  15513. s: 'ثوان',
  15514. ss: '%d ثانية',
  15515. m: 'دقيقة',
  15516. mm: '%d دقائق',
  15517. h: 'ساعة',
  15518. hh: '%d ساعات',
  15519. d: 'يوم',
  15520. dd: '%d أيام',
  15521. M: 'شهر',
  15522. MM: '%d أشهر',
  15523. y: 'سنة',
  15524. yy: '%d سنوات' },
  15525. week: {
  15526. dow: 1, // Monday is the first day of the week.
  15527. doy: 4 // The week that contains Jan 4th is the first week of the year.
  15528. } });
  15529. return arMa;
  15530. });
  15531. /***/ }),
  15532. /* 28 */
  15533. /*!************************************************************************************************!*\
  15534. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ar-sa.js ***!
  15535. \************************************************************************************************/
  15536. /*! no static exports found */
  15537. /***/ (function(module, exports, __webpack_require__) {
  15538. //! moment.js locale configuration
  15539. //! locale : Arabic (Saudi Arabia) [ar-sa]
  15540. //! author : Suhail Alkowaileet : https://github.com/xsoh
  15541. ;(function (global, factory) {
  15542. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  15543. undefined;
  15544. })(this, function (moment) {'use strict';
  15545. //! moment.js locale configuration
  15546. var symbolMap = {
  15547. 1: '١',
  15548. 2: '٢',
  15549. 3: '٣',
  15550. 4: '٤',
  15551. 5: '٥',
  15552. 6: '٦',
  15553. 7: '٧',
  15554. 8: '٨',
  15555. 9: '٩',
  15556. 0: '٠' },
  15557. numberMap = {
  15558. '١': '1',
  15559. '٢': '2',
  15560. '٣': '3',
  15561. '٤': '4',
  15562. '٥': '5',
  15563. '٦': '6',
  15564. '٧': '7',
  15565. '٨': '8',
  15566. '٩': '9',
  15567. '٠': '0' };
  15568. var arSa = moment.defineLocale('ar-sa', {
  15569. months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
  15570. '_'),
  15571. monthsShort:
  15572. 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
  15573. '_'),
  15574. weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
  15575. weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
  15576. weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
  15577. weekdaysParseExact: true,
  15578. longDateFormat: {
  15579. LT: 'HH:mm',
  15580. LTS: 'HH:mm:ss',
  15581. L: 'DD/MM/YYYY',
  15582. LL: 'D MMMM YYYY',
  15583. LLL: 'D MMMM YYYY HH:mm',
  15584. LLLL: 'dddd D MMMM YYYY HH:mm' },
  15585. meridiemParse: /ص|م/,
  15586. isPM: function isPM(input) {
  15587. return 'م' === input;
  15588. },
  15589. meridiem: function meridiem(hour, minute, isLower) {
  15590. if (hour < 12) {
  15591. return 'ص';
  15592. } else {
  15593. return 'م';
  15594. }
  15595. },
  15596. calendar: {
  15597. sameDay: '[اليوم على الساعة] LT',
  15598. nextDay: '[غدا على الساعة] LT',
  15599. nextWeek: 'dddd [على الساعة] LT',
  15600. lastDay: '[أمس على الساعة] LT',
  15601. lastWeek: 'dddd [على الساعة] LT',
  15602. sameElse: 'L' },
  15603. relativeTime: {
  15604. future: 'في %s',
  15605. past: 'منذ %s',
  15606. s: 'ثوان',
  15607. ss: '%d ثانية',
  15608. m: 'دقيقة',
  15609. mm: '%d دقائق',
  15610. h: 'ساعة',
  15611. hh: '%d ساعات',
  15612. d: 'يوم',
  15613. dd: '%d أيام',
  15614. M: 'شهر',
  15615. MM: '%d أشهر',
  15616. y: 'سنة',
  15617. yy: '%d سنوات' },
  15618. preparse: function preparse(string) {
  15619. return string.
  15620. replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
  15621. return numberMap[match];
  15622. }).
  15623. replace(/،/g, ',');
  15624. },
  15625. postformat: function postformat(string) {
  15626. return string.
  15627. replace(/\d/g, function (match) {
  15628. return symbolMap[match];
  15629. }).
  15630. replace(/,/g, '،');
  15631. },
  15632. week: {
  15633. dow: 0, // Sunday is the first day of the week.
  15634. doy: 6 // The week that contains Jan 6th is the first week of the year.
  15635. } });
  15636. return arSa;
  15637. });
  15638. /***/ }),
  15639. /* 29 */
  15640. /*!************************************************************************************************!*\
  15641. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ar-tn.js ***!
  15642. \************************************************************************************************/
  15643. /*! no static exports found */
  15644. /***/ (function(module, exports, __webpack_require__) {
  15645. //! moment.js locale configuration
  15646. //! locale : Arabic (Tunisia) [ar-tn]
  15647. //! author : Nader Toukabri : https://github.com/naderio
  15648. ;(function (global, factory) {
  15649. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  15650. undefined;
  15651. })(this, function (moment) {'use strict';
  15652. //! moment.js locale configuration
  15653. var arTn = moment.defineLocale('ar-tn', {
  15654. months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
  15655. '_'),
  15656. monthsShort:
  15657. 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
  15658. '_'),
  15659. weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
  15660. weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
  15661. weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
  15662. weekdaysParseExact: true,
  15663. longDateFormat: {
  15664. LT: 'HH:mm',
  15665. LTS: 'HH:mm:ss',
  15666. L: 'DD/MM/YYYY',
  15667. LL: 'D MMMM YYYY',
  15668. LLL: 'D MMMM YYYY HH:mm',
  15669. LLLL: 'dddd D MMMM YYYY HH:mm' },
  15670. calendar: {
  15671. sameDay: '[اليوم على الساعة] LT',
  15672. nextDay: '[غدا على الساعة] LT',
  15673. nextWeek: 'dddd [على الساعة] LT',
  15674. lastDay: '[أمس على الساعة] LT',
  15675. lastWeek: 'dddd [على الساعة] LT',
  15676. sameElse: 'L' },
  15677. relativeTime: {
  15678. future: 'في %s',
  15679. past: 'منذ %s',
  15680. s: 'ثوان',
  15681. ss: '%d ثانية',
  15682. m: 'دقيقة',
  15683. mm: '%d دقائق',
  15684. h: 'ساعة',
  15685. hh: '%d ساعات',
  15686. d: 'يوم',
  15687. dd: '%d أيام',
  15688. M: 'شهر',
  15689. MM: '%d أشهر',
  15690. y: 'سنة',
  15691. yy: '%d سنوات' },
  15692. week: {
  15693. dow: 1, // Monday is the first day of the week.
  15694. doy: 4 // The week that contains Jan 4th is the first week of the year.
  15695. } });
  15696. return arTn;
  15697. });
  15698. /***/ }),
  15699. /* 30 */
  15700. /*!*********************************************************************************************!*\
  15701. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/az.js ***!
  15702. \*********************************************************************************************/
  15703. /*! no static exports found */
  15704. /***/ (function(module, exports, __webpack_require__) {
  15705. //! moment.js locale configuration
  15706. //! locale : Azerbaijani [az]
  15707. //! author : topchiyev : https://github.com/topchiyev
  15708. ;(function (global, factory) {
  15709. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  15710. undefined;
  15711. })(this, function (moment) {'use strict';
  15712. //! moment.js locale configuration
  15713. var suffixes = {
  15714. 1: '-inci',
  15715. 5: '-inci',
  15716. 8: '-inci',
  15717. 70: '-inci',
  15718. 80: '-inci',
  15719. 2: '-nci',
  15720. 7: '-nci',
  15721. 20: '-nci',
  15722. 50: '-nci',
  15723. 3: '-üncü',
  15724. 4: '-üncü',
  15725. 100: '-üncü',
  15726. 6: '-ncı',
  15727. 9: '-uncu',
  15728. 10: '-uncu',
  15729. 30: '-uncu',
  15730. 60: '-ıncı',
  15731. 90: '-ıncı' };
  15732. var az = moment.defineLocale('az', {
  15733. months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(
  15734. '_'),
  15735. monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),
  15736. weekdays:
  15737. 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(
  15738. '_'),
  15739. weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),
  15740. weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),
  15741. weekdaysParseExact: true,
  15742. longDateFormat: {
  15743. LT: 'HH:mm',
  15744. LTS: 'HH:mm:ss',
  15745. L: 'DD.MM.YYYY',
  15746. LL: 'D MMMM YYYY',
  15747. LLL: 'D MMMM YYYY HH:mm',
  15748. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  15749. calendar: {
  15750. sameDay: '[bugün saat] LT',
  15751. nextDay: '[sabah saat] LT',
  15752. nextWeek: '[gələn həftə] dddd [saat] LT',
  15753. lastDay: '[dünən] LT',
  15754. lastWeek: '[keçən həftə] dddd [saat] LT',
  15755. sameElse: 'L' },
  15756. relativeTime: {
  15757. future: '%s sonra',
  15758. past: '%s əvvəl',
  15759. s: 'bir neçə saniyə',
  15760. ss: '%d saniyə',
  15761. m: 'bir dəqiqə',
  15762. mm: '%d dəqiqə',
  15763. h: 'bir saat',
  15764. hh: '%d saat',
  15765. d: 'bir gün',
  15766. dd: '%d gün',
  15767. M: 'bir ay',
  15768. MM: '%d ay',
  15769. y: 'bir il',
  15770. yy: '%d il' },
  15771. meridiemParse: /gecə|səhər|gündüz|axşam/,
  15772. isPM: function isPM(input) {
  15773. return /^(gündüz|axşam)$/.test(input);
  15774. },
  15775. meridiem: function meridiem(hour, minute, isLower) {
  15776. if (hour < 4) {
  15777. return 'gecə';
  15778. } else if (hour < 12) {
  15779. return 'səhər';
  15780. } else if (hour < 17) {
  15781. return 'gündüz';
  15782. } else {
  15783. return 'axşam';
  15784. }
  15785. },
  15786. dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,
  15787. ordinal: function ordinal(number) {
  15788. if (number === 0) {
  15789. // special case for zero
  15790. return number + '-ıncı';
  15791. }
  15792. var a = number % 10,
  15793. b = number % 100 - a,
  15794. c = number >= 100 ? 100 : null;
  15795. return number + (suffixes[a] || suffixes[b] || suffixes[c]);
  15796. },
  15797. week: {
  15798. dow: 1, // Monday is the first day of the week.
  15799. doy: 7 // The week that contains Jan 7th is the first week of the year.
  15800. } });
  15801. return az;
  15802. });
  15803. /***/ }),
  15804. /* 31 */
  15805. /*!*********************************************************************************************!*\
  15806. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/be.js ***!
  15807. \*********************************************************************************************/
  15808. /*! no static exports found */
  15809. /***/ (function(module, exports, __webpack_require__) {
  15810. //! moment.js locale configuration
  15811. //! locale : Belarusian [be]
  15812. //! author : Dmitry Demidov : https://github.com/demidov91
  15813. //! author: Praleska: http://praleska.pro/
  15814. //! Author : Menelion Elensúle : https://github.com/Oire
  15815. ;(function (global, factory) {
  15816. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  15817. undefined;
  15818. })(this, function (moment) {'use strict';
  15819. //! moment.js locale configuration
  15820. function plural(word, num) {
  15821. var forms = word.split('_');
  15822. return num % 10 === 1 && num % 100 !== 11 ?
  15823. forms[0] :
  15824. num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ?
  15825. forms[1] :
  15826. forms[2];
  15827. }
  15828. function relativeTimeWithPlural(number, withoutSuffix, key) {
  15829. var format = {
  15830. ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
  15831. mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',
  15832. hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',
  15833. dd: 'дзень_дні_дзён',
  15834. MM: 'месяц_месяцы_месяцаў',
  15835. yy: 'год_гады_гадоў' };
  15836. if (key === 'm') {
  15837. return withoutSuffix ? 'хвіліна' : 'хвіліну';
  15838. } else if (key === 'h') {
  15839. return withoutSuffix ? 'гадзіна' : 'гадзіну';
  15840. } else {
  15841. return number + ' ' + plural(format[key], +number);
  15842. }
  15843. }
  15844. var be = moment.defineLocale('be', {
  15845. months: {
  15846. format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(
  15847. '_'),
  15848. standalone:
  15849. 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(
  15850. '_') },
  15851. monthsShort:
  15852. 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),
  15853. weekdays: {
  15854. format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(
  15855. '_'),
  15856. standalone:
  15857. 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(
  15858. '_'),
  15859. isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/ },
  15860. weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
  15861. weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
  15862. longDateFormat: {
  15863. LT: 'HH:mm',
  15864. LTS: 'HH:mm:ss',
  15865. L: 'DD.MM.YYYY',
  15866. LL: 'D MMMM YYYY г.',
  15867. LLL: 'D MMMM YYYY г., HH:mm',
  15868. LLLL: 'dddd, D MMMM YYYY г., HH:mm' },
  15869. calendar: {
  15870. sameDay: '[Сёння ў] LT',
  15871. nextDay: '[Заўтра ў] LT',
  15872. lastDay: '[Учора ў] LT',
  15873. nextWeek: function nextWeek() {
  15874. return '[У] dddd [ў] LT';
  15875. },
  15876. lastWeek: function lastWeek() {
  15877. switch (this.day()) {
  15878. case 0:
  15879. case 3:
  15880. case 5:
  15881. case 6:
  15882. return '[У мінулую] dddd [ў] LT';
  15883. case 1:
  15884. case 2:
  15885. case 4:
  15886. return '[У мінулы] dddd [ў] LT';}
  15887. },
  15888. sameElse: 'L' },
  15889. relativeTime: {
  15890. future: 'праз %s',
  15891. past: '%s таму',
  15892. s: 'некалькі секунд',
  15893. m: relativeTimeWithPlural,
  15894. mm: relativeTimeWithPlural,
  15895. h: relativeTimeWithPlural,
  15896. hh: relativeTimeWithPlural,
  15897. d: 'дзень',
  15898. dd: relativeTimeWithPlural,
  15899. M: 'месяц',
  15900. MM: relativeTimeWithPlural,
  15901. y: 'год',
  15902. yy: relativeTimeWithPlural },
  15903. meridiemParse: /ночы|раніцы|дня|вечара/,
  15904. isPM: function isPM(input) {
  15905. return /^(дня|вечара)$/.test(input);
  15906. },
  15907. meridiem: function meridiem(hour, minute, isLower) {
  15908. if (hour < 4) {
  15909. return 'ночы';
  15910. } else if (hour < 12) {
  15911. return 'раніцы';
  15912. } else if (hour < 17) {
  15913. return 'дня';
  15914. } else {
  15915. return 'вечара';
  15916. }
  15917. },
  15918. dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/,
  15919. ordinal: function ordinal(number, period) {
  15920. switch (period) {
  15921. case 'M':
  15922. case 'd':
  15923. case 'DDD':
  15924. case 'w':
  15925. case 'W':
  15926. return (number % 10 === 2 || number % 10 === 3) &&
  15927. number % 100 !== 12 &&
  15928. number % 100 !== 13 ?
  15929. number + '-і' :
  15930. number + '-ы';
  15931. case 'D':
  15932. return number + '-га';
  15933. default:
  15934. return number;}
  15935. },
  15936. week: {
  15937. dow: 1, // Monday is the first day of the week.
  15938. doy: 7 // The week that contains Jan 7th is the first week of the year.
  15939. } });
  15940. return be;
  15941. });
  15942. /***/ }),
  15943. /* 32 */
  15944. /*!*********************************************************************************************!*\
  15945. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/bg.js ***!
  15946. \*********************************************************************************************/
  15947. /*! no static exports found */
  15948. /***/ (function(module, exports, __webpack_require__) {
  15949. //! moment.js locale configuration
  15950. //! locale : Bulgarian [bg]
  15951. //! author : Krasen Borisov : https://github.com/kraz
  15952. ;(function (global, factory) {
  15953. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  15954. undefined;
  15955. })(this, function (moment) {'use strict';
  15956. //! moment.js locale configuration
  15957. var bg = moment.defineLocale('bg', {
  15958. months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(
  15959. '_'),
  15960. monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),
  15961. weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(
  15962. '_'),
  15963. weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),
  15964. weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
  15965. longDateFormat: {
  15966. LT: 'H:mm',
  15967. LTS: 'H:mm:ss',
  15968. L: 'D.MM.YYYY',
  15969. LL: 'D MMMM YYYY',
  15970. LLL: 'D MMMM YYYY H:mm',
  15971. LLLL: 'dddd, D MMMM YYYY H:mm' },
  15972. calendar: {
  15973. sameDay: '[Днес в] LT',
  15974. nextDay: '[Утре в] LT',
  15975. nextWeek: 'dddd [в] LT',
  15976. lastDay: '[Вчера в] LT',
  15977. lastWeek: function lastWeek() {
  15978. switch (this.day()) {
  15979. case 0:
  15980. case 3:
  15981. case 6:
  15982. return '[Миналата] dddd [в] LT';
  15983. case 1:
  15984. case 2:
  15985. case 4:
  15986. case 5:
  15987. return '[Миналия] dddd [в] LT';}
  15988. },
  15989. sameElse: 'L' },
  15990. relativeTime: {
  15991. future: 'след %s',
  15992. past: 'преди %s',
  15993. s: 'няколко секунди',
  15994. ss: '%d секунди',
  15995. m: 'минута',
  15996. mm: '%d минути',
  15997. h: 'час',
  15998. hh: '%d часа',
  15999. d: 'ден',
  16000. dd: '%d дена',
  16001. w: 'седмица',
  16002. ww: '%d седмици',
  16003. M: 'месец',
  16004. MM: '%d месеца',
  16005. y: 'година',
  16006. yy: '%d години' },
  16007. dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
  16008. ordinal: function ordinal(number) {
  16009. var lastDigit = number % 10,
  16010. last2Digits = number % 100;
  16011. if (number === 0) {
  16012. return number + '-ев';
  16013. } else if (last2Digits === 0) {
  16014. return number + '-ен';
  16015. } else if (last2Digits > 10 && last2Digits < 20) {
  16016. return number + '-ти';
  16017. } else if (lastDigit === 1) {
  16018. return number + '-ви';
  16019. } else if (lastDigit === 2) {
  16020. return number + '-ри';
  16021. } else if (lastDigit === 7 || lastDigit === 8) {
  16022. return number + '-ми';
  16023. } else {
  16024. return number + '-ти';
  16025. }
  16026. },
  16027. week: {
  16028. dow: 1, // Monday is the first day of the week.
  16029. doy: 7 // The week that contains Jan 7th is the first week of the year.
  16030. } });
  16031. return bg;
  16032. });
  16033. /***/ }),
  16034. /* 33 */
  16035. /*!*********************************************************************************************!*\
  16036. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/bm.js ***!
  16037. \*********************************************************************************************/
  16038. /*! no static exports found */
  16039. /***/ (function(module, exports, __webpack_require__) {
  16040. //! moment.js locale configuration
  16041. //! locale : Bambara [bm]
  16042. //! author : Estelle Comment : https://github.com/estellecomment
  16043. ;(function (global, factory) {
  16044. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  16045. undefined;
  16046. })(this, function (moment) {'use strict';
  16047. //! moment.js locale configuration
  16048. var bm = moment.defineLocale('bm', {
  16049. months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(
  16050. '_'),
  16051. monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),
  16052. weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),
  16053. weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),
  16054. weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),
  16055. longDateFormat: {
  16056. LT: 'HH:mm',
  16057. LTS: 'HH:mm:ss',
  16058. L: 'DD/MM/YYYY',
  16059. LL: 'MMMM [tile] D [san] YYYY',
  16060. LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',
  16061. LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm' },
  16062. calendar: {
  16063. sameDay: '[Bi lɛrɛ] LT',
  16064. nextDay: '[Sini lɛrɛ] LT',
  16065. nextWeek: 'dddd [don lɛrɛ] LT',
  16066. lastDay: '[Kunu lɛrɛ] LT',
  16067. lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',
  16068. sameElse: 'L' },
  16069. relativeTime: {
  16070. future: '%s kɔnɔ',
  16071. past: 'a bɛ %s bɔ',
  16072. s: 'sanga dama dama',
  16073. ss: 'sekondi %d',
  16074. m: 'miniti kelen',
  16075. mm: 'miniti %d',
  16076. h: 'lɛrɛ kelen',
  16077. hh: 'lɛrɛ %d',
  16078. d: 'tile kelen',
  16079. dd: 'tile %d',
  16080. M: 'kalo kelen',
  16081. MM: 'kalo %d',
  16082. y: 'san kelen',
  16083. yy: 'san %d' },
  16084. week: {
  16085. dow: 1, // Monday is the first day of the week.
  16086. doy: 4 // The week that contains Jan 4th is the first week of the year.
  16087. } });
  16088. return bm;
  16089. });
  16090. /***/ }),
  16091. /* 34 */
  16092. /*!*********************************************************************************************!*\
  16093. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/bn.js ***!
  16094. \*********************************************************************************************/
  16095. /*! no static exports found */
  16096. /***/ (function(module, exports, __webpack_require__) {
  16097. //! moment.js locale configuration
  16098. //! locale : Bengali [bn]
  16099. //! author : Kaushik Gandhi : https://github.com/kaushikgandhi
  16100. ;(function (global, factory) {
  16101. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  16102. undefined;
  16103. })(this, function (moment) {'use strict';
  16104. //! moment.js locale configuration
  16105. var symbolMap = {
  16106. 1: '১',
  16107. 2: '২',
  16108. 3: '৩',
  16109. 4: '৪',
  16110. 5: '৫',
  16111. 6: '৬',
  16112. 7: '৭',
  16113. 8: '৮',
  16114. 9: '৯',
  16115. 0: '০' },
  16116. numberMap = {
  16117. '১': '1',
  16118. '২': '2',
  16119. '৩': '3',
  16120. '৪': '4',
  16121. '৫': '5',
  16122. '৬': '6',
  16123. '৭': '7',
  16124. '৮': '8',
  16125. '৯': '9',
  16126. '০': '0' };
  16127. var bn = moment.defineLocale('bn', {
  16128. months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(
  16129. '_'),
  16130. monthsShort:
  16131. 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(
  16132. '_'),
  16133. weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(
  16134. '_'),
  16135. weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),
  16136. weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),
  16137. longDateFormat: {
  16138. LT: 'A h:mm সময়',
  16139. LTS: 'A h:mm:ss সময়',
  16140. L: 'DD/MM/YYYY',
  16141. LL: 'D MMMM YYYY',
  16142. LLL: 'D MMMM YYYY, A h:mm সময়',
  16143. LLLL: 'dddd, D MMMM YYYY, A h:mm সময়' },
  16144. calendar: {
  16145. sameDay: '[আজ] LT',
  16146. nextDay: '[আগামীকাল] LT',
  16147. nextWeek: 'dddd, LT',
  16148. lastDay: '[গতকাল] LT',
  16149. lastWeek: '[গত] dddd, LT',
  16150. sameElse: 'L' },
  16151. relativeTime: {
  16152. future: '%s পরে',
  16153. past: '%s আগে',
  16154. s: 'কয়েক সেকেন্ড',
  16155. ss: '%d সেকেন্ড',
  16156. m: 'এক মিনিট',
  16157. mm: '%d মিনিট',
  16158. h: 'এক ঘন্টা',
  16159. hh: '%d ঘন্টা',
  16160. d: 'এক দিন',
  16161. dd: '%d দিন',
  16162. M: 'এক মাস',
  16163. MM: '%d মাস',
  16164. y: 'এক বছর',
  16165. yy: '%d বছর' },
  16166. preparse: function preparse(string) {
  16167. return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
  16168. return numberMap[match];
  16169. });
  16170. },
  16171. postformat: function postformat(string) {
  16172. return string.replace(/\d/g, function (match) {
  16173. return symbolMap[match];
  16174. });
  16175. },
  16176. meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,
  16177. meridiemHour: function meridiemHour(hour, meridiem) {
  16178. if (hour === 12) {
  16179. hour = 0;
  16180. }
  16181. if (
  16182. meridiem === 'রাত' && hour >= 4 ||
  16183. meridiem === 'দুপুর' && hour < 5 ||
  16184. meridiem === 'বিকাল')
  16185. {
  16186. return hour + 12;
  16187. } else {
  16188. return hour;
  16189. }
  16190. },
  16191. meridiem: function meridiem(hour, minute, isLower) {
  16192. if (hour < 4) {
  16193. return 'রাত';
  16194. } else if (hour < 10) {
  16195. return 'সকাল';
  16196. } else if (hour < 17) {
  16197. return 'দুপুর';
  16198. } else if (hour < 20) {
  16199. return 'বিকাল';
  16200. } else {
  16201. return 'রাত';
  16202. }
  16203. },
  16204. week: {
  16205. dow: 0, // Sunday is the first day of the week.
  16206. doy: 6 // The week that contains Jan 6th is the first week of the year.
  16207. } });
  16208. return bn;
  16209. });
  16210. /***/ }),
  16211. /* 35 */
  16212. /*!************************************************************************************************!*\
  16213. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/bn-bd.js ***!
  16214. \************************************************************************************************/
  16215. /*! no static exports found */
  16216. /***/ (function(module, exports, __webpack_require__) {
  16217. //! moment.js locale configuration
  16218. //! locale : Bengali (Bangladesh) [bn-bd]
  16219. //! author : Asraf Hossain Patoary : https://github.com/ashwoolford
  16220. ;(function (global, factory) {
  16221. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  16222. undefined;
  16223. })(this, function (moment) {'use strict';
  16224. //! moment.js locale configuration
  16225. var symbolMap = {
  16226. 1: '১',
  16227. 2: '২',
  16228. 3: '৩',
  16229. 4: '৪',
  16230. 5: '৫',
  16231. 6: '৬',
  16232. 7: '৭',
  16233. 8: '৮',
  16234. 9: '৯',
  16235. 0: '০' },
  16236. numberMap = {
  16237. '১': '1',
  16238. '২': '2',
  16239. '৩': '3',
  16240. '৪': '4',
  16241. '৫': '5',
  16242. '৬': '6',
  16243. '৭': '7',
  16244. '৮': '8',
  16245. '৯': '9',
  16246. '০': '0' };
  16247. var bnBd = moment.defineLocale('bn-bd', {
  16248. months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(
  16249. '_'),
  16250. monthsShort:
  16251. 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(
  16252. '_'),
  16253. weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(
  16254. '_'),
  16255. weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),
  16256. weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),
  16257. longDateFormat: {
  16258. LT: 'A h:mm সময়',
  16259. LTS: 'A h:mm:ss সময়',
  16260. L: 'DD/MM/YYYY',
  16261. LL: 'D MMMM YYYY',
  16262. LLL: 'D MMMM YYYY, A h:mm সময়',
  16263. LLLL: 'dddd, D MMMM YYYY, A h:mm সময়' },
  16264. calendar: {
  16265. sameDay: '[আজ] LT',
  16266. nextDay: '[আগামীকাল] LT',
  16267. nextWeek: 'dddd, LT',
  16268. lastDay: '[গতকাল] LT',
  16269. lastWeek: '[গত] dddd, LT',
  16270. sameElse: 'L' },
  16271. relativeTime: {
  16272. future: '%s পরে',
  16273. past: '%s আগে',
  16274. s: 'কয়েক সেকেন্ড',
  16275. ss: '%d সেকেন্ড',
  16276. m: 'এক মিনিট',
  16277. mm: '%d মিনিট',
  16278. h: 'এক ঘন্টা',
  16279. hh: '%d ঘন্টা',
  16280. d: 'এক দিন',
  16281. dd: '%d দিন',
  16282. M: 'এক মাস',
  16283. MM: '%d মাস',
  16284. y: 'এক বছর',
  16285. yy: '%d বছর' },
  16286. preparse: function preparse(string) {
  16287. return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
  16288. return numberMap[match];
  16289. });
  16290. },
  16291. postformat: function postformat(string) {
  16292. return string.replace(/\d/g, function (match) {
  16293. return symbolMap[match];
  16294. });
  16295. },
  16296. meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,
  16297. meridiemHour: function meridiemHour(hour, meridiem) {
  16298. if (hour === 12) {
  16299. hour = 0;
  16300. }
  16301. if (meridiem === 'রাত') {
  16302. return hour < 4 ? hour : hour + 12;
  16303. } else if (meridiem === 'ভোর') {
  16304. return hour;
  16305. } else if (meridiem === 'সকাল') {
  16306. return hour;
  16307. } else if (meridiem === 'দুপুর') {
  16308. return hour >= 3 ? hour : hour + 12;
  16309. } else if (meridiem === 'বিকাল') {
  16310. return hour + 12;
  16311. } else if (meridiem === 'সন্ধ্যা') {
  16312. return hour + 12;
  16313. }
  16314. },
  16315. meridiem: function meridiem(hour, minute, isLower) {
  16316. if (hour < 4) {
  16317. return 'রাত';
  16318. } else if (hour < 6) {
  16319. return 'ভোর';
  16320. } else if (hour < 12) {
  16321. return 'সকাল';
  16322. } else if (hour < 15) {
  16323. return 'দুপুর';
  16324. } else if (hour < 18) {
  16325. return 'বিকাল';
  16326. } else if (hour < 20) {
  16327. return 'সন্ধ্যা';
  16328. } else {
  16329. return 'রাত';
  16330. }
  16331. },
  16332. week: {
  16333. dow: 0, // Sunday is the first day of the week.
  16334. doy: 6 // The week that contains Jan 6th is the first week of the year.
  16335. } });
  16336. return bnBd;
  16337. });
  16338. /***/ }),
  16339. /* 36 */
  16340. /*!*********************************************************************************************!*\
  16341. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/bo.js ***!
  16342. \*********************************************************************************************/
  16343. /*! no static exports found */
  16344. /***/ (function(module, exports, __webpack_require__) {
  16345. //! moment.js locale configuration
  16346. //! locale : Tibetan [bo]
  16347. //! author : Thupten N. Chakrishar : https://github.com/vajradog
  16348. ;(function (global, factory) {
  16349. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  16350. undefined;
  16351. })(this, function (moment) {'use strict';
  16352. //! moment.js locale configuration
  16353. var symbolMap = {
  16354. 1: '༡',
  16355. 2: '༢',
  16356. 3: '༣',
  16357. 4: '༤',
  16358. 5: '༥',
  16359. 6: '༦',
  16360. 7: '༧',
  16361. 8: '༨',
  16362. 9: '༩',
  16363. 0: '༠' },
  16364. numberMap = {
  16365. '༡': '1',
  16366. '༢': '2',
  16367. '༣': '3',
  16368. '༤': '4',
  16369. '༥': '5',
  16370. '༦': '6',
  16371. '༧': '7',
  16372. '༨': '8',
  16373. '༩': '9',
  16374. '༠': '0' };
  16375. var bo = moment.defineLocale('bo', {
  16376. months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(
  16377. '_'),
  16378. monthsShort:
  16379. 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(
  16380. '_'),
  16381. monthsShortRegex: /^(ཟླ་\d{1,2})/,
  16382. monthsParseExact: true,
  16383. weekdays:
  16384. 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(
  16385. '_'),
  16386. weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(
  16387. '_'),
  16388. weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),
  16389. longDateFormat: {
  16390. LT: 'A h:mm',
  16391. LTS: 'A h:mm:ss',
  16392. L: 'DD/MM/YYYY',
  16393. LL: 'D MMMM YYYY',
  16394. LLL: 'D MMMM YYYY, A h:mm',
  16395. LLLL: 'dddd, D MMMM YYYY, A h:mm' },
  16396. calendar: {
  16397. sameDay: '[དི་རིང] LT',
  16398. nextDay: '[སང་ཉིན] LT',
  16399. nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',
  16400. lastDay: '[ཁ་སང] LT',
  16401. lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',
  16402. sameElse: 'L' },
  16403. relativeTime: {
  16404. future: '%s ལ་',
  16405. past: '%s སྔན་ལ',
  16406. s: 'ལམ་སང',
  16407. ss: '%d སྐར་ཆ།',
  16408. m: 'སྐར་མ་གཅིག',
  16409. mm: '%d སྐར་མ',
  16410. h: 'ཆུ་ཚོད་གཅིག',
  16411. hh: '%d ཆུ་ཚོད',
  16412. d: 'ཉིན་གཅིག',
  16413. dd: '%d ཉིན་',
  16414. M: 'ཟླ་བ་གཅིག',
  16415. MM: '%d ཟླ་བ',
  16416. y: 'ལོ་གཅིག',
  16417. yy: '%d ལོ' },
  16418. preparse: function preparse(string) {
  16419. return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {
  16420. return numberMap[match];
  16421. });
  16422. },
  16423. postformat: function postformat(string) {
  16424. return string.replace(/\d/g, function (match) {
  16425. return symbolMap[match];
  16426. });
  16427. },
  16428. meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
  16429. meridiemHour: function meridiemHour(hour, meridiem) {
  16430. if (hour === 12) {
  16431. hour = 0;
  16432. }
  16433. if (
  16434. meridiem === 'མཚན་མོ' && hour >= 4 ||
  16435. meridiem === 'ཉིན་གུང' && hour < 5 ||
  16436. meridiem === 'དགོང་དག')
  16437. {
  16438. return hour + 12;
  16439. } else {
  16440. return hour;
  16441. }
  16442. },
  16443. meridiem: function meridiem(hour, minute, isLower) {
  16444. if (hour < 4) {
  16445. return 'མཚན་མོ';
  16446. } else if (hour < 10) {
  16447. return 'ཞོགས་ཀས';
  16448. } else if (hour < 17) {
  16449. return 'ཉིན་གུང';
  16450. } else if (hour < 20) {
  16451. return 'དགོང་དག';
  16452. } else {
  16453. return 'མཚན་མོ';
  16454. }
  16455. },
  16456. week: {
  16457. dow: 0, // Sunday is the first day of the week.
  16458. doy: 6 // The week that contains Jan 6th is the first week of the year.
  16459. } });
  16460. return bo;
  16461. });
  16462. /***/ }),
  16463. /* 37 */
  16464. /*!*********************************************************************************************!*\
  16465. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/br.js ***!
  16466. \*********************************************************************************************/
  16467. /*! no static exports found */
  16468. /***/ (function(module, exports, __webpack_require__) {
  16469. //! moment.js locale configuration
  16470. //! locale : Breton [br]
  16471. //! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou
  16472. ;(function (global, factory) {
  16473. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  16474. undefined;
  16475. })(this, function (moment) {'use strict';
  16476. //! moment.js locale configuration
  16477. function relativeTimeWithMutation(number, withoutSuffix, key) {
  16478. var format = {
  16479. mm: 'munutenn',
  16480. MM: 'miz',
  16481. dd: 'devezh' };
  16482. return number + ' ' + mutation(format[key], number);
  16483. }
  16484. function specialMutationForYears(number) {
  16485. switch (lastNumber(number)) {
  16486. case 1:
  16487. case 3:
  16488. case 4:
  16489. case 5:
  16490. case 9:
  16491. return number + ' bloaz';
  16492. default:
  16493. return number + ' vloaz';}
  16494. }
  16495. function lastNumber(number) {
  16496. if (number > 9) {
  16497. return lastNumber(number % 10);
  16498. }
  16499. return number;
  16500. }
  16501. function mutation(text, number) {
  16502. if (number === 2) {
  16503. return softMutation(text);
  16504. }
  16505. return text;
  16506. }
  16507. function softMutation(text) {
  16508. var mutationTable = {
  16509. m: 'v',
  16510. b: 'v',
  16511. d: 'z' };
  16512. if (mutationTable[text.charAt(0)] === undefined) {
  16513. return text;
  16514. }
  16515. return mutationTable[text.charAt(0)] + text.substring(1);
  16516. }
  16517. var monthsParse = [
  16518. /^gen/i,
  16519. /^c[ʼ\']hwe/i,
  16520. /^meu/i,
  16521. /^ebr/i,
  16522. /^mae/i,
  16523. /^(mez|eve)/i,
  16524. /^gou/i,
  16525. /^eos/i,
  16526. /^gwe/i,
  16527. /^her/i,
  16528. /^du/i,
  16529. /^ker/i],
  16530. monthsRegex =
  16531. /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,
  16532. monthsStrictRegex =
  16533. /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,
  16534. monthsShortStrictRegex =
  16535. /^(gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,
  16536. fullWeekdaysParse = [
  16537. /^sul/i,
  16538. /^lun/i,
  16539. /^meurzh/i,
  16540. /^merc[ʼ\']her/i,
  16541. /^yaou/i,
  16542. /^gwener/i,
  16543. /^sadorn/i],
  16544. shortWeekdaysParse = [
  16545. /^Sul/i,
  16546. /^Lun/i,
  16547. /^Meu/i,
  16548. /^Mer/i,
  16549. /^Yao/i,
  16550. /^Gwe/i,
  16551. /^Sad/i],
  16552. minWeekdaysParse = [
  16553. /^Su/i,
  16554. /^Lu/i,
  16555. /^Me([^r]|$)/i,
  16556. /^Mer/i,
  16557. /^Ya/i,
  16558. /^Gw/i,
  16559. /^Sa/i];
  16560. var br = moment.defineLocale('br', {
  16561. months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(
  16562. '_'),
  16563. monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),
  16564. weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),
  16565. weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),
  16566. weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),
  16567. weekdaysParse: minWeekdaysParse,
  16568. fullWeekdaysParse: fullWeekdaysParse,
  16569. shortWeekdaysParse: shortWeekdaysParse,
  16570. minWeekdaysParse: minWeekdaysParse,
  16571. monthsRegex: monthsRegex,
  16572. monthsShortRegex: monthsRegex,
  16573. monthsStrictRegex: monthsStrictRegex,
  16574. monthsShortStrictRegex: monthsShortStrictRegex,
  16575. monthsParse: monthsParse,
  16576. longMonthsParse: monthsParse,
  16577. shortMonthsParse: monthsParse,
  16578. longDateFormat: {
  16579. LT: 'HH:mm',
  16580. LTS: 'HH:mm:ss',
  16581. L: 'DD/MM/YYYY',
  16582. LL: 'D [a viz] MMMM YYYY',
  16583. LLL: 'D [a viz] MMMM YYYY HH:mm',
  16584. LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm' },
  16585. calendar: {
  16586. sameDay: '[Hiziv da] LT',
  16587. nextDay: '[Warcʼhoazh da] LT',
  16588. nextWeek: 'dddd [da] LT',
  16589. lastDay: '[Decʼh da] LT',
  16590. lastWeek: 'dddd [paset da] LT',
  16591. sameElse: 'L' },
  16592. relativeTime: {
  16593. future: 'a-benn %s',
  16594. past: '%s ʼzo',
  16595. s: 'un nebeud segondennoù',
  16596. ss: '%d eilenn',
  16597. m: 'ur vunutenn',
  16598. mm: relativeTimeWithMutation,
  16599. h: 'un eur',
  16600. hh: '%d eur',
  16601. d: 'un devezh',
  16602. dd: relativeTimeWithMutation,
  16603. M: 'ur miz',
  16604. MM: relativeTimeWithMutation,
  16605. y: 'ur bloaz',
  16606. yy: specialMutationForYears },
  16607. dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/,
  16608. ordinal: function ordinal(number) {
  16609. var output = number === 1 ? 'añ' : 'vet';
  16610. return number + output;
  16611. },
  16612. week: {
  16613. dow: 1, // Monday is the first day of the week.
  16614. doy: 4 // The week that contains Jan 4th is the first week of the year.
  16615. },
  16616. meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn
  16617. isPM: function isPM(token) {
  16618. return token === 'g.m.';
  16619. },
  16620. meridiem: function meridiem(hour, minute, isLower) {
  16621. return hour < 12 ? 'a.m.' : 'g.m.';
  16622. } });
  16623. return br;
  16624. });
  16625. /***/ }),
  16626. /* 38 */
  16627. /*!*********************************************************************************************!*\
  16628. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/bs.js ***!
  16629. \*********************************************************************************************/
  16630. /*! no static exports found */
  16631. /***/ (function(module, exports, __webpack_require__) {
  16632. //! moment.js locale configuration
  16633. //! locale : Bosnian [bs]
  16634. //! author : Nedim Cholich : https://github.com/frontyard
  16635. //! based on (hr) translation by Bojan Marković
  16636. ;(function (global, factory) {
  16637. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  16638. undefined;
  16639. })(this, function (moment) {'use strict';
  16640. //! moment.js locale configuration
  16641. function translate(number, withoutSuffix, key) {
  16642. var result = number + ' ';
  16643. switch (key) {
  16644. case 'ss':
  16645. if (number === 1) {
  16646. result += 'sekunda';
  16647. } else if (number === 2 || number === 3 || number === 4) {
  16648. result += 'sekunde';
  16649. } else {
  16650. result += 'sekundi';
  16651. }
  16652. return result;
  16653. case 'm':
  16654. return withoutSuffix ? 'jedna minuta' : 'jedne minute';
  16655. case 'mm':
  16656. if (number === 1) {
  16657. result += 'minuta';
  16658. } else if (number === 2 || number === 3 || number === 4) {
  16659. result += 'minute';
  16660. } else {
  16661. result += 'minuta';
  16662. }
  16663. return result;
  16664. case 'h':
  16665. return withoutSuffix ? 'jedan sat' : 'jednog sata';
  16666. case 'hh':
  16667. if (number === 1) {
  16668. result += 'sat';
  16669. } else if (number === 2 || number === 3 || number === 4) {
  16670. result += 'sata';
  16671. } else {
  16672. result += 'sati';
  16673. }
  16674. return result;
  16675. case 'dd':
  16676. if (number === 1) {
  16677. result += 'dan';
  16678. } else {
  16679. result += 'dana';
  16680. }
  16681. return result;
  16682. case 'MM':
  16683. if (number === 1) {
  16684. result += 'mjesec';
  16685. } else if (number === 2 || number === 3 || number === 4) {
  16686. result += 'mjeseca';
  16687. } else {
  16688. result += 'mjeseci';
  16689. }
  16690. return result;
  16691. case 'yy':
  16692. if (number === 1) {
  16693. result += 'godina';
  16694. } else if (number === 2 || number === 3 || number === 4) {
  16695. result += 'godine';
  16696. } else {
  16697. result += 'godina';
  16698. }
  16699. return result;}
  16700. }
  16701. var bs = moment.defineLocale('bs', {
  16702. months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(
  16703. '_'),
  16704. monthsShort:
  16705. 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(
  16706. '_'),
  16707. monthsParseExact: true,
  16708. weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(
  16709. '_'),
  16710. weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
  16711. weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
  16712. weekdaysParseExact: true,
  16713. longDateFormat: {
  16714. LT: 'H:mm',
  16715. LTS: 'H:mm:ss',
  16716. L: 'DD.MM.YYYY',
  16717. LL: 'D. MMMM YYYY',
  16718. LLL: 'D. MMMM YYYY H:mm',
  16719. LLLL: 'dddd, D. MMMM YYYY H:mm' },
  16720. calendar: {
  16721. sameDay: '[danas u] LT',
  16722. nextDay: '[sutra u] LT',
  16723. nextWeek: function nextWeek() {
  16724. switch (this.day()) {
  16725. case 0:
  16726. return '[u] [nedjelju] [u] LT';
  16727. case 3:
  16728. return '[u] [srijedu] [u] LT';
  16729. case 6:
  16730. return '[u] [subotu] [u] LT';
  16731. case 1:
  16732. case 2:
  16733. case 4:
  16734. case 5:
  16735. return '[u] dddd [u] LT';}
  16736. },
  16737. lastDay: '[jučer u] LT',
  16738. lastWeek: function lastWeek() {
  16739. switch (this.day()) {
  16740. case 0:
  16741. case 3:
  16742. return '[prošlu] dddd [u] LT';
  16743. case 6:
  16744. return '[prošle] [subote] [u] LT';
  16745. case 1:
  16746. case 2:
  16747. case 4:
  16748. case 5:
  16749. return '[prošli] dddd [u] LT';}
  16750. },
  16751. sameElse: 'L' },
  16752. relativeTime: {
  16753. future: 'za %s',
  16754. past: 'prije %s',
  16755. s: 'par sekundi',
  16756. ss: translate,
  16757. m: translate,
  16758. mm: translate,
  16759. h: translate,
  16760. hh: translate,
  16761. d: 'dan',
  16762. dd: translate,
  16763. M: 'mjesec',
  16764. MM: translate,
  16765. y: 'godinu',
  16766. yy: translate },
  16767. dayOfMonthOrdinalParse: /\d{1,2}\./,
  16768. ordinal: '%d.',
  16769. week: {
  16770. dow: 1, // Monday is the first day of the week.
  16771. doy: 7 // The week that contains Jan 7th is the first week of the year.
  16772. } });
  16773. return bs;
  16774. });
  16775. /***/ }),
  16776. /* 39 */
  16777. /*!*********************************************************************************************!*\
  16778. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ca.js ***!
  16779. \*********************************************************************************************/
  16780. /*! no static exports found */
  16781. /***/ (function(module, exports, __webpack_require__) {
  16782. //! moment.js locale configuration
  16783. //! locale : Catalan [ca]
  16784. //! author : Juan G. Hurtado : https://github.com/juanghurtado
  16785. ;(function (global, factory) {
  16786. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  16787. undefined;
  16788. })(this, function (moment) {'use strict';
  16789. //! moment.js locale configuration
  16790. var ca = moment.defineLocale('ca', {
  16791. months: {
  16792. standalone:
  16793. 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(
  16794. '_'),
  16795. format: "de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split(
  16796. '_'),
  16797. isFormat: /D[oD]?(\s)+MMMM/ },
  16798. monthsShort:
  16799. 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(
  16800. '_'),
  16801. monthsParseExact: true,
  16802. weekdays:
  16803. 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(
  16804. '_'),
  16805. weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),
  16806. weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),
  16807. weekdaysParseExact: true,
  16808. longDateFormat: {
  16809. LT: 'H:mm',
  16810. LTS: 'H:mm:ss',
  16811. L: 'DD/MM/YYYY',
  16812. LL: 'D MMMM [de] YYYY',
  16813. ll: 'D MMM YYYY',
  16814. LLL: 'D MMMM [de] YYYY [a les] H:mm',
  16815. lll: 'D MMM YYYY, H:mm',
  16816. LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',
  16817. llll: 'ddd D MMM YYYY, H:mm' },
  16818. calendar: {
  16819. sameDay: function sameDay() {
  16820. return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
  16821. },
  16822. nextDay: function nextDay() {
  16823. return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
  16824. },
  16825. nextWeek: function nextWeek() {
  16826. return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
  16827. },
  16828. lastDay: function lastDay() {
  16829. return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
  16830. },
  16831. lastWeek: function lastWeek() {
  16832. return (
  16833. '[el] dddd [passat a ' + (
  16834. this.hours() !== 1 ? 'les' : 'la') +
  16835. '] LT');
  16836. },
  16837. sameElse: 'L' },
  16838. relativeTime: {
  16839. future: "d'aquí %s",
  16840. past: 'fa %s',
  16841. s: 'uns segons',
  16842. ss: '%d segons',
  16843. m: 'un minut',
  16844. mm: '%d minuts',
  16845. h: 'una hora',
  16846. hh: '%d hores',
  16847. d: 'un dia',
  16848. dd: '%d dies',
  16849. M: 'un mes',
  16850. MM: '%d mesos',
  16851. y: 'un any',
  16852. yy: '%d anys' },
  16853. dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
  16854. ordinal: function ordinal(number, period) {
  16855. var output =
  16856. number === 1 ?
  16857. 'r' :
  16858. number === 2 ?
  16859. 'n' :
  16860. number === 3 ?
  16861. 'r' :
  16862. number === 4 ?
  16863. 't' :
  16864. 'è';
  16865. if (period === 'w' || period === 'W') {
  16866. output = 'a';
  16867. }
  16868. return number + output;
  16869. },
  16870. week: {
  16871. dow: 1, // Monday is the first day of the week.
  16872. doy: 4 // The week that contains Jan 4th is the first week of the year.
  16873. } });
  16874. return ca;
  16875. });
  16876. /***/ }),
  16877. /* 40 */
  16878. /*!*********************************************************************************************!*\
  16879. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/cs.js ***!
  16880. \*********************************************************************************************/
  16881. /*! no static exports found */
  16882. /***/ (function(module, exports, __webpack_require__) {
  16883. //! moment.js locale configuration
  16884. //! locale : Czech [cs]
  16885. //! author : petrbela : https://github.com/petrbela
  16886. ;(function (global, factory) {
  16887. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  16888. undefined;
  16889. })(this, function (moment) {'use strict';
  16890. //! moment.js locale configuration
  16891. var months = {
  16892. format: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(
  16893. '_'),
  16894. standalone:
  16895. 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(
  16896. '_') },
  16897. monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),
  16898. monthsParse = [
  16899. /^led/i,
  16900. /^úno/i,
  16901. /^bře/i,
  16902. /^dub/i,
  16903. /^kvě/i,
  16904. /^(čvn|červen$|června)/i,
  16905. /^(čvc|červenec|července)/i,
  16906. /^srp/i,
  16907. /^zář/i,
  16908. /^říj/i,
  16909. /^lis/i,
  16910. /^pro/i],
  16911. // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
  16912. // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
  16913. monthsRegex =
  16914. /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;
  16915. function plural(n) {
  16916. return n > 1 && n < 5 && ~~(n / 10) !== 1;
  16917. }
  16918. function translate(number, withoutSuffix, key, isFuture) {
  16919. var result = number + ' ';
  16920. switch (key) {
  16921. case 's': // a few seconds / in a few seconds / a few seconds ago
  16922. return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';
  16923. case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
  16924. if (withoutSuffix || isFuture) {
  16925. return result + (plural(number) ? 'sekundy' : 'sekund');
  16926. } else {
  16927. return result + 'sekundami';
  16928. }
  16929. case 'm': // a minute / in a minute / a minute ago
  16930. return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';
  16931. case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
  16932. if (withoutSuffix || isFuture) {
  16933. return result + (plural(number) ? 'minuty' : 'minut');
  16934. } else {
  16935. return result + 'minutami';
  16936. }
  16937. case 'h': // an hour / in an hour / an hour ago
  16938. return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';
  16939. case 'hh': // 9 hours / in 9 hours / 9 hours ago
  16940. if (withoutSuffix || isFuture) {
  16941. return result + (plural(number) ? 'hodiny' : 'hodin');
  16942. } else {
  16943. return result + 'hodinami';
  16944. }
  16945. case 'd': // a day / in a day / a day ago
  16946. return withoutSuffix || isFuture ? 'den' : 'dnem';
  16947. case 'dd': // 9 days / in 9 days / 9 days ago
  16948. if (withoutSuffix || isFuture) {
  16949. return result + (plural(number) ? 'dny' : 'dní');
  16950. } else {
  16951. return result + 'dny';
  16952. }
  16953. case 'M': // a month / in a month / a month ago
  16954. return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';
  16955. case 'MM': // 9 months / in 9 months / 9 months ago
  16956. if (withoutSuffix || isFuture) {
  16957. return result + (plural(number) ? 'měsíce' : 'měsíců');
  16958. } else {
  16959. return result + 'měsíci';
  16960. }
  16961. case 'y': // a year / in a year / a year ago
  16962. return withoutSuffix || isFuture ? 'rok' : 'rokem';
  16963. case 'yy': // 9 years / in 9 years / 9 years ago
  16964. if (withoutSuffix || isFuture) {
  16965. return result + (plural(number) ? 'roky' : 'let');
  16966. } else {
  16967. return result + 'lety';
  16968. }}
  16969. }
  16970. var cs = moment.defineLocale('cs', {
  16971. months: months,
  16972. monthsShort: monthsShort,
  16973. monthsRegex: monthsRegex,
  16974. monthsShortRegex: monthsRegex,
  16975. // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
  16976. // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
  16977. monthsStrictRegex:
  16978. /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,
  16979. monthsShortStrictRegex:
  16980. /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,
  16981. monthsParse: monthsParse,
  16982. longMonthsParse: monthsParse,
  16983. shortMonthsParse: monthsParse,
  16984. weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),
  16985. weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),
  16986. weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),
  16987. longDateFormat: {
  16988. LT: 'H:mm',
  16989. LTS: 'H:mm:ss',
  16990. L: 'DD.MM.YYYY',
  16991. LL: 'D. MMMM YYYY',
  16992. LLL: 'D. MMMM YYYY H:mm',
  16993. LLLL: 'dddd D. MMMM YYYY H:mm',
  16994. l: 'D. M. YYYY' },
  16995. calendar: {
  16996. sameDay: '[dnes v] LT',
  16997. nextDay: '[zítra v] LT',
  16998. nextWeek: function nextWeek() {
  16999. switch (this.day()) {
  17000. case 0:
  17001. return '[v neděli v] LT';
  17002. case 1:
  17003. case 2:
  17004. return '[v] dddd [v] LT';
  17005. case 3:
  17006. return '[ve středu v] LT';
  17007. case 4:
  17008. return '[ve čtvrtek v] LT';
  17009. case 5:
  17010. return '[v pátek v] LT';
  17011. case 6:
  17012. return '[v sobotu v] LT';}
  17013. },
  17014. lastDay: '[včera v] LT',
  17015. lastWeek: function lastWeek() {
  17016. switch (this.day()) {
  17017. case 0:
  17018. return '[minulou neděli v] LT';
  17019. case 1:
  17020. case 2:
  17021. return '[minulé] dddd [v] LT';
  17022. case 3:
  17023. return '[minulou středu v] LT';
  17024. case 4:
  17025. case 5:
  17026. return '[minulý] dddd [v] LT';
  17027. case 6:
  17028. return '[minulou sobotu v] LT';}
  17029. },
  17030. sameElse: 'L' },
  17031. relativeTime: {
  17032. future: 'za %s',
  17033. past: 'před %s',
  17034. s: translate,
  17035. ss: translate,
  17036. m: translate,
  17037. mm: translate,
  17038. h: translate,
  17039. hh: translate,
  17040. d: translate,
  17041. dd: translate,
  17042. M: translate,
  17043. MM: translate,
  17044. y: translate,
  17045. yy: translate },
  17046. dayOfMonthOrdinalParse: /\d{1,2}\./,
  17047. ordinal: '%d.',
  17048. week: {
  17049. dow: 1, // Monday is the first day of the week.
  17050. doy: 4 // The week that contains Jan 4th is the first week of the year.
  17051. } });
  17052. return cs;
  17053. });
  17054. /***/ }),
  17055. /* 41 */
  17056. /*!*********************************************************************************************!*\
  17057. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/cv.js ***!
  17058. \*********************************************************************************************/
  17059. /*! no static exports found */
  17060. /***/ (function(module, exports, __webpack_require__) {
  17061. //! moment.js locale configuration
  17062. //! locale : Chuvash [cv]
  17063. //! author : Anatoly Mironov : https://github.com/mirontoli
  17064. ;(function (global, factory) {
  17065. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  17066. undefined;
  17067. })(this, function (moment) {'use strict';
  17068. //! moment.js locale configuration
  17069. var cv = moment.defineLocale('cv', {
  17070. months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(
  17071. '_'),
  17072. monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),
  17073. weekdays:
  17074. 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(
  17075. '_'),
  17076. weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),
  17077. weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),
  17078. longDateFormat: {
  17079. LT: 'HH:mm',
  17080. LTS: 'HH:mm:ss',
  17081. L: 'DD-MM-YYYY',
  17082. LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',
  17083. LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
  17084. LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm' },
  17085. calendar: {
  17086. sameDay: '[Паян] LT [сехетре]',
  17087. nextDay: '[Ыран] LT [сехетре]',
  17088. lastDay: '[Ӗнер] LT [сехетре]',
  17089. nextWeek: '[Ҫитес] dddd LT [сехетре]',
  17090. lastWeek: '[Иртнӗ] dddd LT [сехетре]',
  17091. sameElse: 'L' },
  17092. relativeTime: {
  17093. future: function future(output) {
  17094. var affix = /сехет$/i.exec(output) ?
  17095. 'рен' :
  17096. /ҫул$/i.exec(output) ?
  17097. 'тан' :
  17098. 'ран';
  17099. return output + affix;
  17100. },
  17101. past: '%s каялла',
  17102. s: 'пӗр-ик ҫеккунт',
  17103. ss: '%d ҫеккунт',
  17104. m: 'пӗр минут',
  17105. mm: '%d минут',
  17106. h: 'пӗр сехет',
  17107. hh: '%d сехет',
  17108. d: 'пӗр кун',
  17109. dd: '%d кун',
  17110. M: 'пӗр уйӑх',
  17111. MM: '%d уйӑх',
  17112. y: 'пӗр ҫул',
  17113. yy: '%d ҫул' },
  17114. dayOfMonthOrdinalParse: /\d{1,2}-мӗш/,
  17115. ordinal: '%d-мӗш',
  17116. week: {
  17117. dow: 1, // Monday is the first day of the week.
  17118. doy: 7 // The week that contains Jan 7th is the first week of the year.
  17119. } });
  17120. return cv;
  17121. });
  17122. /***/ }),
  17123. /* 42 */
  17124. /*!*********************************************************************************************!*\
  17125. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/cy.js ***!
  17126. \*********************************************************************************************/
  17127. /*! no static exports found */
  17128. /***/ (function(module, exports, __webpack_require__) {
  17129. //! moment.js locale configuration
  17130. //! locale : Welsh [cy]
  17131. //! author : Robert Allen : https://github.com/robgallen
  17132. //! author : https://github.com/ryangreaves
  17133. ;(function (global, factory) {
  17134. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  17135. undefined;
  17136. })(this, function (moment) {'use strict';
  17137. //! moment.js locale configuration
  17138. var cy = moment.defineLocale('cy', {
  17139. months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(
  17140. '_'),
  17141. monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(
  17142. '_'),
  17143. weekdays:
  17144. 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(
  17145. '_'),
  17146. weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),
  17147. weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),
  17148. weekdaysParseExact: true,
  17149. // time formats are the same as en-gb
  17150. longDateFormat: {
  17151. LT: 'HH:mm',
  17152. LTS: 'HH:mm:ss',
  17153. L: 'DD/MM/YYYY',
  17154. LL: 'D MMMM YYYY',
  17155. LLL: 'D MMMM YYYY HH:mm',
  17156. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  17157. calendar: {
  17158. sameDay: '[Heddiw am] LT',
  17159. nextDay: '[Yfory am] LT',
  17160. nextWeek: 'dddd [am] LT',
  17161. lastDay: '[Ddoe am] LT',
  17162. lastWeek: 'dddd [diwethaf am] LT',
  17163. sameElse: 'L' },
  17164. relativeTime: {
  17165. future: 'mewn %s',
  17166. past: '%s yn ôl',
  17167. s: 'ychydig eiliadau',
  17168. ss: '%d eiliad',
  17169. m: 'munud',
  17170. mm: '%d munud',
  17171. h: 'awr',
  17172. hh: '%d awr',
  17173. d: 'diwrnod',
  17174. dd: '%d diwrnod',
  17175. M: 'mis',
  17176. MM: '%d mis',
  17177. y: 'blwyddyn',
  17178. yy: '%d flynedd' },
  17179. dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,
  17180. // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
  17181. ordinal: function ordinal(number) {
  17182. var b = number,
  17183. output = '',
  17184. lookup = [
  17185. '',
  17186. 'af',
  17187. 'il',
  17188. 'ydd',
  17189. 'ydd',
  17190. 'ed',
  17191. 'ed',
  17192. 'ed',
  17193. 'fed',
  17194. 'fed',
  17195. 'fed', // 1af to 10fed
  17196. 'eg',
  17197. 'fed',
  17198. 'eg',
  17199. 'eg',
  17200. 'fed',
  17201. 'eg',
  17202. 'eg',
  17203. 'fed',
  17204. 'eg',
  17205. 'fed' // 11eg to 20fed
  17206. ];
  17207. if (b > 20) {
  17208. if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {
  17209. output = 'fed'; // not 30ain, 70ain or 90ain
  17210. } else {
  17211. output = 'ain';
  17212. }
  17213. } else if (b > 0) {
  17214. output = lookup[b];
  17215. }
  17216. return number + output;
  17217. },
  17218. week: {
  17219. dow: 1, // Monday is the first day of the week.
  17220. doy: 4 // The week that contains Jan 4th is the first week of the year.
  17221. } });
  17222. return cy;
  17223. });
  17224. /***/ }),
  17225. /* 43 */
  17226. /*!*********************************************************************************************!*\
  17227. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/da.js ***!
  17228. \*********************************************************************************************/
  17229. /*! no static exports found */
  17230. /***/ (function(module, exports, __webpack_require__) {
  17231. //! moment.js locale configuration
  17232. //! locale : Danish [da]
  17233. //! author : Ulrik Nielsen : https://github.com/mrbase
  17234. ;(function (global, factory) {
  17235. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  17236. undefined;
  17237. })(this, function (moment) {'use strict';
  17238. //! moment.js locale configuration
  17239. var da = moment.defineLocale('da', {
  17240. months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(
  17241. '_'),
  17242. monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
  17243. weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
  17244. weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),
  17245. weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),
  17246. longDateFormat: {
  17247. LT: 'HH:mm',
  17248. LTS: 'HH:mm:ss',
  17249. L: 'DD.MM.YYYY',
  17250. LL: 'D. MMMM YYYY',
  17251. LLL: 'D. MMMM YYYY HH:mm',
  17252. LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm' },
  17253. calendar: {
  17254. sameDay: '[i dag kl.] LT',
  17255. nextDay: '[i morgen kl.] LT',
  17256. nextWeek: 'på dddd [kl.] LT',
  17257. lastDay: '[i går kl.] LT',
  17258. lastWeek: '[i] dddd[s kl.] LT',
  17259. sameElse: 'L' },
  17260. relativeTime: {
  17261. future: 'om %s',
  17262. past: '%s siden',
  17263. s: 'få sekunder',
  17264. ss: '%d sekunder',
  17265. m: 'et minut',
  17266. mm: '%d minutter',
  17267. h: 'en time',
  17268. hh: '%d timer',
  17269. d: 'en dag',
  17270. dd: '%d dage',
  17271. M: 'en måned',
  17272. MM: '%d måneder',
  17273. y: 'et år',
  17274. yy: '%d år' },
  17275. dayOfMonthOrdinalParse: /\d{1,2}\./,
  17276. ordinal: '%d.',
  17277. week: {
  17278. dow: 1, // Monday is the first day of the week.
  17279. doy: 4 // The week that contains Jan 4th is the first week of the year.
  17280. } });
  17281. return da;
  17282. });
  17283. /***/ }),
  17284. /* 44 */
  17285. /*!*********************************************************************************************!*\
  17286. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/de.js ***!
  17287. \*********************************************************************************************/
  17288. /*! no static exports found */
  17289. /***/ (function(module, exports, __webpack_require__) {
  17290. //! moment.js locale configuration
  17291. //! locale : German [de]
  17292. //! author : lluchs : https://github.com/lluchs
  17293. //! author: Menelion Elensúle: https://github.com/Oire
  17294. //! author : Mikolaj Dadela : https://github.com/mik01aj
  17295. ;(function (global, factory) {
  17296. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  17297. undefined;
  17298. })(this, function (moment) {'use strict';
  17299. //! moment.js locale configuration
  17300. function processRelativeTime(number, withoutSuffix, key, isFuture) {
  17301. var format = {
  17302. m: ['eine Minute', 'einer Minute'],
  17303. h: ['eine Stunde', 'einer Stunde'],
  17304. d: ['ein Tag', 'einem Tag'],
  17305. dd: [number + ' Tage', number + ' Tagen'],
  17306. w: ['eine Woche', 'einer Woche'],
  17307. M: ['ein Monat', 'einem Monat'],
  17308. MM: [number + ' Monate', number + ' Monaten'],
  17309. y: ['ein Jahr', 'einem Jahr'],
  17310. yy: [number + ' Jahre', number + ' Jahren'] };
  17311. return withoutSuffix ? format[key][0] : format[key][1];
  17312. }
  17313. var de = moment.defineLocale('de', {
  17314. months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(
  17315. '_'),
  17316. monthsShort:
  17317. 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
  17318. monthsParseExact: true,
  17319. weekdays:
  17320. 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(
  17321. '_'),
  17322. weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
  17323. weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
  17324. weekdaysParseExact: true,
  17325. longDateFormat: {
  17326. LT: 'HH:mm',
  17327. LTS: 'HH:mm:ss',
  17328. L: 'DD.MM.YYYY',
  17329. LL: 'D. MMMM YYYY',
  17330. LLL: 'D. MMMM YYYY HH:mm',
  17331. LLLL: 'dddd, D. MMMM YYYY HH:mm' },
  17332. calendar: {
  17333. sameDay: '[heute um] LT [Uhr]',
  17334. sameElse: 'L',
  17335. nextDay: '[morgen um] LT [Uhr]',
  17336. nextWeek: 'dddd [um] LT [Uhr]',
  17337. lastDay: '[gestern um] LT [Uhr]',
  17338. lastWeek: '[letzten] dddd [um] LT [Uhr]' },
  17339. relativeTime: {
  17340. future: 'in %s',
  17341. past: 'vor %s',
  17342. s: 'ein paar Sekunden',
  17343. ss: '%d Sekunden',
  17344. m: processRelativeTime,
  17345. mm: '%d Minuten',
  17346. h: processRelativeTime,
  17347. hh: '%d Stunden',
  17348. d: processRelativeTime,
  17349. dd: processRelativeTime,
  17350. w: processRelativeTime,
  17351. ww: '%d Wochen',
  17352. M: processRelativeTime,
  17353. MM: processRelativeTime,
  17354. y: processRelativeTime,
  17355. yy: processRelativeTime },
  17356. dayOfMonthOrdinalParse: /\d{1,2}\./,
  17357. ordinal: '%d.',
  17358. week: {
  17359. dow: 1, // Monday is the first day of the week.
  17360. doy: 4 // The week that contains Jan 4th is the first week of the year.
  17361. } });
  17362. return de;
  17363. });
  17364. /***/ }),
  17365. /* 45 */
  17366. /*!************************************************************************************************!*\
  17367. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/de-at.js ***!
  17368. \************************************************************************************************/
  17369. /*! no static exports found */
  17370. /***/ (function(module, exports, __webpack_require__) {
  17371. //! moment.js locale configuration
  17372. //! locale : German (Austria) [de-at]
  17373. //! author : lluchs : https://github.com/lluchs
  17374. //! author: Menelion Elensúle: https://github.com/Oire
  17375. //! author : Martin Groller : https://github.com/MadMG
  17376. //! author : Mikolaj Dadela : https://github.com/mik01aj
  17377. ;(function (global, factory) {
  17378. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  17379. undefined;
  17380. })(this, function (moment) {'use strict';
  17381. //! moment.js locale configuration
  17382. function processRelativeTime(number, withoutSuffix, key, isFuture) {
  17383. var format = {
  17384. m: ['eine Minute', 'einer Minute'],
  17385. h: ['eine Stunde', 'einer Stunde'],
  17386. d: ['ein Tag', 'einem Tag'],
  17387. dd: [number + ' Tage', number + ' Tagen'],
  17388. w: ['eine Woche', 'einer Woche'],
  17389. M: ['ein Monat', 'einem Monat'],
  17390. MM: [number + ' Monate', number + ' Monaten'],
  17391. y: ['ein Jahr', 'einem Jahr'],
  17392. yy: [number + ' Jahre', number + ' Jahren'] };
  17393. return withoutSuffix ? format[key][0] : format[key][1];
  17394. }
  17395. var deAt = moment.defineLocale('de-at', {
  17396. months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(
  17397. '_'),
  17398. monthsShort:
  17399. 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
  17400. monthsParseExact: true,
  17401. weekdays:
  17402. 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(
  17403. '_'),
  17404. weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
  17405. weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
  17406. weekdaysParseExact: true,
  17407. longDateFormat: {
  17408. LT: 'HH:mm',
  17409. LTS: 'HH:mm:ss',
  17410. L: 'DD.MM.YYYY',
  17411. LL: 'D. MMMM YYYY',
  17412. LLL: 'D. MMMM YYYY HH:mm',
  17413. LLLL: 'dddd, D. MMMM YYYY HH:mm' },
  17414. calendar: {
  17415. sameDay: '[heute um] LT [Uhr]',
  17416. sameElse: 'L',
  17417. nextDay: '[morgen um] LT [Uhr]',
  17418. nextWeek: 'dddd [um] LT [Uhr]',
  17419. lastDay: '[gestern um] LT [Uhr]',
  17420. lastWeek: '[letzten] dddd [um] LT [Uhr]' },
  17421. relativeTime: {
  17422. future: 'in %s',
  17423. past: 'vor %s',
  17424. s: 'ein paar Sekunden',
  17425. ss: '%d Sekunden',
  17426. m: processRelativeTime,
  17427. mm: '%d Minuten',
  17428. h: processRelativeTime,
  17429. hh: '%d Stunden',
  17430. d: processRelativeTime,
  17431. dd: processRelativeTime,
  17432. w: processRelativeTime,
  17433. ww: '%d Wochen',
  17434. M: processRelativeTime,
  17435. MM: processRelativeTime,
  17436. y: processRelativeTime,
  17437. yy: processRelativeTime },
  17438. dayOfMonthOrdinalParse: /\d{1,2}\./,
  17439. ordinal: '%d.',
  17440. week: {
  17441. dow: 1, // Monday is the first day of the week.
  17442. doy: 4 // The week that contains Jan 4th is the first week of the year.
  17443. } });
  17444. return deAt;
  17445. });
  17446. /***/ }),
  17447. /* 46 */
  17448. /*!************************************************************************************************!*\
  17449. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/de-ch.js ***!
  17450. \************************************************************************************************/
  17451. /*! no static exports found */
  17452. /***/ (function(module, exports, __webpack_require__) {
  17453. //! moment.js locale configuration
  17454. //! locale : German (Switzerland) [de-ch]
  17455. //! author : sschueller : https://github.com/sschueller
  17456. ;(function (global, factory) {
  17457. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  17458. undefined;
  17459. })(this, function (moment) {'use strict';
  17460. //! moment.js locale configuration
  17461. function processRelativeTime(number, withoutSuffix, key, isFuture) {
  17462. var format = {
  17463. m: ['eine Minute', 'einer Minute'],
  17464. h: ['eine Stunde', 'einer Stunde'],
  17465. d: ['ein Tag', 'einem Tag'],
  17466. dd: [number + ' Tage', number + ' Tagen'],
  17467. w: ['eine Woche', 'einer Woche'],
  17468. M: ['ein Monat', 'einem Monat'],
  17469. MM: [number + ' Monate', number + ' Monaten'],
  17470. y: ['ein Jahr', 'einem Jahr'],
  17471. yy: [number + ' Jahre', number + ' Jahren'] };
  17472. return withoutSuffix ? format[key][0] : format[key][1];
  17473. }
  17474. var deCh = moment.defineLocale('de-ch', {
  17475. months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(
  17476. '_'),
  17477. monthsShort:
  17478. 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
  17479. monthsParseExact: true,
  17480. weekdays:
  17481. 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(
  17482. '_'),
  17483. weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
  17484. weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
  17485. weekdaysParseExact: true,
  17486. longDateFormat: {
  17487. LT: 'HH:mm',
  17488. LTS: 'HH:mm:ss',
  17489. L: 'DD.MM.YYYY',
  17490. LL: 'D. MMMM YYYY',
  17491. LLL: 'D. MMMM YYYY HH:mm',
  17492. LLLL: 'dddd, D. MMMM YYYY HH:mm' },
  17493. calendar: {
  17494. sameDay: '[heute um] LT [Uhr]',
  17495. sameElse: 'L',
  17496. nextDay: '[morgen um] LT [Uhr]',
  17497. nextWeek: 'dddd [um] LT [Uhr]',
  17498. lastDay: '[gestern um] LT [Uhr]',
  17499. lastWeek: '[letzten] dddd [um] LT [Uhr]' },
  17500. relativeTime: {
  17501. future: 'in %s',
  17502. past: 'vor %s',
  17503. s: 'ein paar Sekunden',
  17504. ss: '%d Sekunden',
  17505. m: processRelativeTime,
  17506. mm: '%d Minuten',
  17507. h: processRelativeTime,
  17508. hh: '%d Stunden',
  17509. d: processRelativeTime,
  17510. dd: processRelativeTime,
  17511. w: processRelativeTime,
  17512. ww: '%d Wochen',
  17513. M: processRelativeTime,
  17514. MM: processRelativeTime,
  17515. y: processRelativeTime,
  17516. yy: processRelativeTime },
  17517. dayOfMonthOrdinalParse: /\d{1,2}\./,
  17518. ordinal: '%d.',
  17519. week: {
  17520. dow: 1, // Monday is the first day of the week.
  17521. doy: 4 // The week that contains Jan 4th is the first week of the year.
  17522. } });
  17523. return deCh;
  17524. });
  17525. /***/ }),
  17526. /* 47 */
  17527. /*!*********************************************************************************************!*\
  17528. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/dv.js ***!
  17529. \*********************************************************************************************/
  17530. /*! no static exports found */
  17531. /***/ (function(module, exports, __webpack_require__) {
  17532. //! moment.js locale configuration
  17533. //! locale : Maldivian [dv]
  17534. //! author : Jawish Hameed : https://github.com/jawish
  17535. ;(function (global, factory) {
  17536. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  17537. undefined;
  17538. })(this, function (moment) {'use strict';
  17539. //! moment.js locale configuration
  17540. var months = [
  17541. 'ޖެނުއަރީ',
  17542. 'ފެބްރުއަރީ',
  17543. 'މާރިޗު',
  17544. 'އޭޕްރީލު',
  17545. 'މޭ',
  17546. 'ޖޫން',
  17547. 'ޖުލައި',
  17548. 'އޯގަސްޓު',
  17549. 'ސެޕްޓެމްބަރު',
  17550. 'އޮކްޓޯބަރު',
  17551. 'ނޮވެމްބަރު',
  17552. 'ޑިސެމްބަރު'],
  17553. weekdays = [
  17554. 'އާދިއްތަ',
  17555. 'ހޯމަ',
  17556. 'އަންގާރަ',
  17557. 'ބުދަ',
  17558. 'ބުރާސްފަތި',
  17559. 'ހުކުރު',
  17560. 'ހޮނިހިރު'];
  17561. var dv = moment.defineLocale('dv', {
  17562. months: months,
  17563. monthsShort: months,
  17564. weekdays: weekdays,
  17565. weekdaysShort: weekdays,
  17566. weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),
  17567. longDateFormat: {
  17568. LT: 'HH:mm',
  17569. LTS: 'HH:mm:ss',
  17570. L: 'D/M/YYYY',
  17571. LL: 'D MMMM YYYY',
  17572. LLL: 'D MMMM YYYY HH:mm',
  17573. LLLL: 'dddd D MMMM YYYY HH:mm' },
  17574. meridiemParse: /މކ|މފ/,
  17575. isPM: function isPM(input) {
  17576. return 'މފ' === input;
  17577. },
  17578. meridiem: function meridiem(hour, minute, isLower) {
  17579. if (hour < 12) {
  17580. return 'މކ';
  17581. } else {
  17582. return 'މފ';
  17583. }
  17584. },
  17585. calendar: {
  17586. sameDay: '[މިއަދު] LT',
  17587. nextDay: '[މާދަމާ] LT',
  17588. nextWeek: 'dddd LT',
  17589. lastDay: '[އިއްޔެ] LT',
  17590. lastWeek: '[ފާއިތުވި] dddd LT',
  17591. sameElse: 'L' },
  17592. relativeTime: {
  17593. future: 'ތެރޭގައި %s',
  17594. past: 'ކުރިން %s',
  17595. s: 'ސިކުންތުކޮޅެއް',
  17596. ss: 'd% ސިކުންތު',
  17597. m: 'މިނިޓެއް',
  17598. mm: 'މިނިޓު %d',
  17599. h: 'ގަޑިއިރެއް',
  17600. hh: 'ގަޑިއިރު %d',
  17601. d: 'ދުވަހެއް',
  17602. dd: 'ދުވަސް %d',
  17603. M: 'މަހެއް',
  17604. MM: 'މަސް %d',
  17605. y: 'އަހަރެއް',
  17606. yy: 'އަހަރު %d' },
  17607. preparse: function preparse(string) {
  17608. return string.replace(/،/g, ',');
  17609. },
  17610. postformat: function postformat(string) {
  17611. return string.replace(/,/g, '،');
  17612. },
  17613. week: {
  17614. dow: 7, // Sunday is the first day of the week.
  17615. doy: 12 // The week that contains Jan 12th is the first week of the year.
  17616. } });
  17617. return dv;
  17618. });
  17619. /***/ }),
  17620. /* 48 */
  17621. /*!*********************************************************************************************!*\
  17622. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/el.js ***!
  17623. \*********************************************************************************************/
  17624. /*! no static exports found */
  17625. /***/ (function(module, exports, __webpack_require__) {
  17626. //! moment.js locale configuration
  17627. //! locale : Greek [el]
  17628. //! author : Aggelos Karalias : https://github.com/mehiel
  17629. ;(function (global, factory) {
  17630. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  17631. undefined;
  17632. })(this, function (moment) {'use strict';
  17633. //! moment.js locale configuration
  17634. function isFunction(input) {
  17635. return (
  17636. typeof Function !== 'undefined' && input instanceof Function ||
  17637. Object.prototype.toString.call(input) === '[object Function]');
  17638. }
  17639. var el = moment.defineLocale('el', {
  17640. monthsNominativeEl:
  17641. 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(
  17642. '_'),
  17643. monthsGenitiveEl:
  17644. 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(
  17645. '_'),
  17646. months: function months(momentToFormat, format) {
  17647. if (!momentToFormat) {
  17648. return this._monthsNominativeEl;
  17649. } else if (
  17650. typeof format === 'string' &&
  17651. /D/.test(format.substring(0, format.indexOf('MMMM'))))
  17652. {
  17653. // if there is a day number before 'MMMM'
  17654. return this._monthsGenitiveEl[momentToFormat.month()];
  17655. } else {
  17656. return this._monthsNominativeEl[momentToFormat.month()];
  17657. }
  17658. },
  17659. monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),
  17660. weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(
  17661. '_'),
  17662. weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),
  17663. weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),
  17664. meridiem: function meridiem(hours, minutes, isLower) {
  17665. if (hours > 11) {
  17666. return isLower ? 'μμ' : 'ΜΜ';
  17667. } else {
  17668. return isLower ? 'πμ' : 'ΠΜ';
  17669. }
  17670. },
  17671. isPM: function isPM(input) {
  17672. return (input + '').toLowerCase()[0] === 'μ';
  17673. },
  17674. meridiemParse: /[ΠΜ]\.?Μ?\.?/i,
  17675. longDateFormat: {
  17676. LT: 'h:mm A',
  17677. LTS: 'h:mm:ss A',
  17678. L: 'DD/MM/YYYY',
  17679. LL: 'D MMMM YYYY',
  17680. LLL: 'D MMMM YYYY h:mm A',
  17681. LLLL: 'dddd, D MMMM YYYY h:mm A' },
  17682. calendarEl: {
  17683. sameDay: '[Σήμερα {}] LT',
  17684. nextDay: '[Αύριο {}] LT',
  17685. nextWeek: 'dddd [{}] LT',
  17686. lastDay: '[Χθες {}] LT',
  17687. lastWeek: function lastWeek() {
  17688. switch (this.day()) {
  17689. case 6:
  17690. return '[το προηγούμενο] dddd [{}] LT';
  17691. default:
  17692. return '[την προηγούμενη] dddd [{}] LT';}
  17693. },
  17694. sameElse: 'L' },
  17695. calendar: function calendar(key, mom) {
  17696. var output = this._calendarEl[key],
  17697. hours = mom && mom.hours();
  17698. if (isFunction(output)) {
  17699. output = output.apply(mom);
  17700. }
  17701. return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');
  17702. },
  17703. relativeTime: {
  17704. future: 'σε %s',
  17705. past: '%s πριν',
  17706. s: 'λίγα δευτερόλεπτα',
  17707. ss: '%d δευτερόλεπτα',
  17708. m: 'ένα λεπτό',
  17709. mm: '%d λεπτά',
  17710. h: 'μία ώρα',
  17711. hh: '%d ώρες',
  17712. d: 'μία μέρα',
  17713. dd: '%d μέρες',
  17714. M: 'ένας μήνας',
  17715. MM: '%d μήνες',
  17716. y: 'ένας χρόνος',
  17717. yy: '%d χρόνια' },
  17718. dayOfMonthOrdinalParse: /\d{1,2}η/,
  17719. ordinal: '%dη',
  17720. week: {
  17721. dow: 1, // Monday is the first day of the week.
  17722. doy: 4 // The week that contains Jan 4st is the first week of the year.
  17723. } });
  17724. return el;
  17725. });
  17726. /***/ }),
  17727. /* 49 */
  17728. /*!************************************************************************************************!*\
  17729. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/en-au.js ***!
  17730. \************************************************************************************************/
  17731. /*! no static exports found */
  17732. /***/ (function(module, exports, __webpack_require__) {
  17733. //! moment.js locale configuration
  17734. //! locale : English (Australia) [en-au]
  17735. //! author : Jared Morse : https://github.com/jarcoal
  17736. ;(function (global, factory) {
  17737. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  17738. undefined;
  17739. })(this, function (moment) {'use strict';
  17740. //! moment.js locale configuration
  17741. var enAu = moment.defineLocale('en-au', {
  17742. months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
  17743. '_'),
  17744. monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
  17745. weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
  17746. '_'),
  17747. weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
  17748. weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
  17749. longDateFormat: {
  17750. LT: 'h:mm A',
  17751. LTS: 'h:mm:ss A',
  17752. L: 'DD/MM/YYYY',
  17753. LL: 'D MMMM YYYY',
  17754. LLL: 'D MMMM YYYY h:mm A',
  17755. LLLL: 'dddd, D MMMM YYYY h:mm A' },
  17756. calendar: {
  17757. sameDay: '[Today at] LT',
  17758. nextDay: '[Tomorrow at] LT',
  17759. nextWeek: 'dddd [at] LT',
  17760. lastDay: '[Yesterday at] LT',
  17761. lastWeek: '[Last] dddd [at] LT',
  17762. sameElse: 'L' },
  17763. relativeTime: {
  17764. future: 'in %s',
  17765. past: '%s ago',
  17766. s: 'a few seconds',
  17767. ss: '%d seconds',
  17768. m: 'a minute',
  17769. mm: '%d minutes',
  17770. h: 'an hour',
  17771. hh: '%d hours',
  17772. d: 'a day',
  17773. dd: '%d days',
  17774. M: 'a month',
  17775. MM: '%d months',
  17776. y: 'a year',
  17777. yy: '%d years' },
  17778. dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
  17779. ordinal: function ordinal(number) {
  17780. var b = number % 10,
  17781. output =
  17782. ~~(number % 100 / 10) === 1 ?
  17783. 'th' :
  17784. b === 1 ?
  17785. 'st' :
  17786. b === 2 ?
  17787. 'nd' :
  17788. b === 3 ?
  17789. 'rd' :
  17790. 'th';
  17791. return number + output;
  17792. },
  17793. week: {
  17794. dow: 0, // Sunday is the first day of the week.
  17795. doy: 4 // The week that contains Jan 4th is the first week of the year.
  17796. } });
  17797. return enAu;
  17798. });
  17799. /***/ }),
  17800. /* 50 */
  17801. /*!************************************************************************************************!*\
  17802. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/en-ca.js ***!
  17803. \************************************************************************************************/
  17804. /*! no static exports found */
  17805. /***/ (function(module, exports, __webpack_require__) {
  17806. //! moment.js locale configuration
  17807. //! locale : English (Canada) [en-ca]
  17808. //! author : Jonathan Abourbih : https://github.com/jonbca
  17809. ;(function (global, factory) {
  17810. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  17811. undefined;
  17812. })(this, function (moment) {'use strict';
  17813. //! moment.js locale configuration
  17814. var enCa = moment.defineLocale('en-ca', {
  17815. months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
  17816. '_'),
  17817. monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
  17818. weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
  17819. '_'),
  17820. weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
  17821. weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
  17822. longDateFormat: {
  17823. LT: 'h:mm A',
  17824. LTS: 'h:mm:ss A',
  17825. L: 'YYYY-MM-DD',
  17826. LL: 'MMMM D, YYYY',
  17827. LLL: 'MMMM D, YYYY h:mm A',
  17828. LLLL: 'dddd, MMMM D, YYYY h:mm A' },
  17829. calendar: {
  17830. sameDay: '[Today at] LT',
  17831. nextDay: '[Tomorrow at] LT',
  17832. nextWeek: 'dddd [at] LT',
  17833. lastDay: '[Yesterday at] LT',
  17834. lastWeek: '[Last] dddd [at] LT',
  17835. sameElse: 'L' },
  17836. relativeTime: {
  17837. future: 'in %s',
  17838. past: '%s ago',
  17839. s: 'a few seconds',
  17840. ss: '%d seconds',
  17841. m: 'a minute',
  17842. mm: '%d minutes',
  17843. h: 'an hour',
  17844. hh: '%d hours',
  17845. d: 'a day',
  17846. dd: '%d days',
  17847. M: 'a month',
  17848. MM: '%d months',
  17849. y: 'a year',
  17850. yy: '%d years' },
  17851. dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
  17852. ordinal: function ordinal(number) {
  17853. var b = number % 10,
  17854. output =
  17855. ~~(number % 100 / 10) === 1 ?
  17856. 'th' :
  17857. b === 1 ?
  17858. 'st' :
  17859. b === 2 ?
  17860. 'nd' :
  17861. b === 3 ?
  17862. 'rd' :
  17863. 'th';
  17864. return number + output;
  17865. } });
  17866. return enCa;
  17867. });
  17868. /***/ }),
  17869. /* 51 */
  17870. /*!************************************************************************************************!*\
  17871. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/en-gb.js ***!
  17872. \************************************************************************************************/
  17873. /*! no static exports found */
  17874. /***/ (function(module, exports, __webpack_require__) {
  17875. //! moment.js locale configuration
  17876. //! locale : English (United Kingdom) [en-gb]
  17877. //! author : Chris Gedrim : https://github.com/chrisgedrim
  17878. ;(function (global, factory) {
  17879. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  17880. undefined;
  17881. })(this, function (moment) {'use strict';
  17882. //! moment.js locale configuration
  17883. var enGb = moment.defineLocale('en-gb', {
  17884. months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
  17885. '_'),
  17886. monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
  17887. weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
  17888. '_'),
  17889. weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
  17890. weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
  17891. longDateFormat: {
  17892. LT: 'HH:mm',
  17893. LTS: 'HH:mm:ss',
  17894. L: 'DD/MM/YYYY',
  17895. LL: 'D MMMM YYYY',
  17896. LLL: 'D MMMM YYYY HH:mm',
  17897. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  17898. calendar: {
  17899. sameDay: '[Today at] LT',
  17900. nextDay: '[Tomorrow at] LT',
  17901. nextWeek: 'dddd [at] LT',
  17902. lastDay: '[Yesterday at] LT',
  17903. lastWeek: '[Last] dddd [at] LT',
  17904. sameElse: 'L' },
  17905. relativeTime: {
  17906. future: 'in %s',
  17907. past: '%s ago',
  17908. s: 'a few seconds',
  17909. ss: '%d seconds',
  17910. m: 'a minute',
  17911. mm: '%d minutes',
  17912. h: 'an hour',
  17913. hh: '%d hours',
  17914. d: 'a day',
  17915. dd: '%d days',
  17916. M: 'a month',
  17917. MM: '%d months',
  17918. y: 'a year',
  17919. yy: '%d years' },
  17920. dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
  17921. ordinal: function ordinal(number) {
  17922. var b = number % 10,
  17923. output =
  17924. ~~(number % 100 / 10) === 1 ?
  17925. 'th' :
  17926. b === 1 ?
  17927. 'st' :
  17928. b === 2 ?
  17929. 'nd' :
  17930. b === 3 ?
  17931. 'rd' :
  17932. 'th';
  17933. return number + output;
  17934. },
  17935. week: {
  17936. dow: 1, // Monday is the first day of the week.
  17937. doy: 4 // The week that contains Jan 4th is the first week of the year.
  17938. } });
  17939. return enGb;
  17940. });
  17941. /***/ }),
  17942. /* 52 */
  17943. /*!************************************************************************************************!*\
  17944. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/en-ie.js ***!
  17945. \************************************************************************************************/
  17946. /*! no static exports found */
  17947. /***/ (function(module, exports, __webpack_require__) {
  17948. //! moment.js locale configuration
  17949. //! locale : English (Ireland) [en-ie]
  17950. //! author : Chris Cartlidge : https://github.com/chriscartlidge
  17951. ;(function (global, factory) {
  17952. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  17953. undefined;
  17954. })(this, function (moment) {'use strict';
  17955. //! moment.js locale configuration
  17956. var enIe = moment.defineLocale('en-ie', {
  17957. months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
  17958. '_'),
  17959. monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
  17960. weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
  17961. '_'),
  17962. weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
  17963. weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
  17964. longDateFormat: {
  17965. LT: 'HH:mm',
  17966. LTS: 'HH:mm:ss',
  17967. L: 'DD/MM/YYYY',
  17968. LL: 'D MMMM YYYY',
  17969. LLL: 'D MMMM YYYY HH:mm',
  17970. LLLL: 'dddd D MMMM YYYY HH:mm' },
  17971. calendar: {
  17972. sameDay: '[Today at] LT',
  17973. nextDay: '[Tomorrow at] LT',
  17974. nextWeek: 'dddd [at] LT',
  17975. lastDay: '[Yesterday at] LT',
  17976. lastWeek: '[Last] dddd [at] LT',
  17977. sameElse: 'L' },
  17978. relativeTime: {
  17979. future: 'in %s',
  17980. past: '%s ago',
  17981. s: 'a few seconds',
  17982. ss: '%d seconds',
  17983. m: 'a minute',
  17984. mm: '%d minutes',
  17985. h: 'an hour',
  17986. hh: '%d hours',
  17987. d: 'a day',
  17988. dd: '%d days',
  17989. M: 'a month',
  17990. MM: '%d months',
  17991. y: 'a year',
  17992. yy: '%d years' },
  17993. dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
  17994. ordinal: function ordinal(number) {
  17995. var b = number % 10,
  17996. output =
  17997. ~~(number % 100 / 10) === 1 ?
  17998. 'th' :
  17999. b === 1 ?
  18000. 'st' :
  18001. b === 2 ?
  18002. 'nd' :
  18003. b === 3 ?
  18004. 'rd' :
  18005. 'th';
  18006. return number + output;
  18007. },
  18008. week: {
  18009. dow: 1, // Monday is the first day of the week.
  18010. doy: 4 // The week that contains Jan 4th is the first week of the year.
  18011. } });
  18012. return enIe;
  18013. });
  18014. /***/ }),
  18015. /* 53 */
  18016. /*!************************************************************************************************!*\
  18017. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/en-il.js ***!
  18018. \************************************************************************************************/
  18019. /*! no static exports found */
  18020. /***/ (function(module, exports, __webpack_require__) {
  18021. //! moment.js locale configuration
  18022. //! locale : English (Israel) [en-il]
  18023. //! author : Chris Gedrim : https://github.com/chrisgedrim
  18024. ;(function (global, factory) {
  18025. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  18026. undefined;
  18027. })(this, function (moment) {'use strict';
  18028. //! moment.js locale configuration
  18029. var enIl = moment.defineLocale('en-il', {
  18030. months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
  18031. '_'),
  18032. monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
  18033. weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
  18034. '_'),
  18035. weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
  18036. weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
  18037. longDateFormat: {
  18038. LT: 'HH:mm',
  18039. LTS: 'HH:mm:ss',
  18040. L: 'DD/MM/YYYY',
  18041. LL: 'D MMMM YYYY',
  18042. LLL: 'D MMMM YYYY HH:mm',
  18043. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  18044. calendar: {
  18045. sameDay: '[Today at] LT',
  18046. nextDay: '[Tomorrow at] LT',
  18047. nextWeek: 'dddd [at] LT',
  18048. lastDay: '[Yesterday at] LT',
  18049. lastWeek: '[Last] dddd [at] LT',
  18050. sameElse: 'L' },
  18051. relativeTime: {
  18052. future: 'in %s',
  18053. past: '%s ago',
  18054. s: 'a few seconds',
  18055. ss: '%d seconds',
  18056. m: 'a minute',
  18057. mm: '%d minutes',
  18058. h: 'an hour',
  18059. hh: '%d hours',
  18060. d: 'a day',
  18061. dd: '%d days',
  18062. M: 'a month',
  18063. MM: '%d months',
  18064. y: 'a year',
  18065. yy: '%d years' },
  18066. dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
  18067. ordinal: function ordinal(number) {
  18068. var b = number % 10,
  18069. output =
  18070. ~~(number % 100 / 10) === 1 ?
  18071. 'th' :
  18072. b === 1 ?
  18073. 'st' :
  18074. b === 2 ?
  18075. 'nd' :
  18076. b === 3 ?
  18077. 'rd' :
  18078. 'th';
  18079. return number + output;
  18080. } });
  18081. return enIl;
  18082. });
  18083. /***/ }),
  18084. /* 54 */
  18085. /*!************************************************************************************************!*\
  18086. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/en-in.js ***!
  18087. \************************************************************************************************/
  18088. /*! no static exports found */
  18089. /***/ (function(module, exports, __webpack_require__) {
  18090. //! moment.js locale configuration
  18091. //! locale : English (India) [en-in]
  18092. //! author : Jatin Agrawal : https://github.com/jatinag22
  18093. ;(function (global, factory) {
  18094. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  18095. undefined;
  18096. })(this, function (moment) {'use strict';
  18097. //! moment.js locale configuration
  18098. var enIn = moment.defineLocale('en-in', {
  18099. months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
  18100. '_'),
  18101. monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
  18102. weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
  18103. '_'),
  18104. weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
  18105. weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
  18106. longDateFormat: {
  18107. LT: 'h:mm A',
  18108. LTS: 'h:mm:ss A',
  18109. L: 'DD/MM/YYYY',
  18110. LL: 'D MMMM YYYY',
  18111. LLL: 'D MMMM YYYY h:mm A',
  18112. LLLL: 'dddd, D MMMM YYYY h:mm A' },
  18113. calendar: {
  18114. sameDay: '[Today at] LT',
  18115. nextDay: '[Tomorrow at] LT',
  18116. nextWeek: 'dddd [at] LT',
  18117. lastDay: '[Yesterday at] LT',
  18118. lastWeek: '[Last] dddd [at] LT',
  18119. sameElse: 'L' },
  18120. relativeTime: {
  18121. future: 'in %s',
  18122. past: '%s ago',
  18123. s: 'a few seconds',
  18124. ss: '%d seconds',
  18125. m: 'a minute',
  18126. mm: '%d minutes',
  18127. h: 'an hour',
  18128. hh: '%d hours',
  18129. d: 'a day',
  18130. dd: '%d days',
  18131. M: 'a month',
  18132. MM: '%d months',
  18133. y: 'a year',
  18134. yy: '%d years' },
  18135. dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
  18136. ordinal: function ordinal(number) {
  18137. var b = number % 10,
  18138. output =
  18139. ~~(number % 100 / 10) === 1 ?
  18140. 'th' :
  18141. b === 1 ?
  18142. 'st' :
  18143. b === 2 ?
  18144. 'nd' :
  18145. b === 3 ?
  18146. 'rd' :
  18147. 'th';
  18148. return number + output;
  18149. },
  18150. week: {
  18151. dow: 0, // Sunday is the first day of the week.
  18152. doy: 6 // The week that contains Jan 1st is the first week of the year.
  18153. } });
  18154. return enIn;
  18155. });
  18156. /***/ }),
  18157. /* 55 */
  18158. /*!************************************************************************************************!*\
  18159. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/en-nz.js ***!
  18160. \************************************************************************************************/
  18161. /*! no static exports found */
  18162. /***/ (function(module, exports, __webpack_require__) {
  18163. //! moment.js locale configuration
  18164. //! locale : English (New Zealand) [en-nz]
  18165. //! author : Luke McGregor : https://github.com/lukemcgregor
  18166. ;(function (global, factory) {
  18167. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  18168. undefined;
  18169. })(this, function (moment) {'use strict';
  18170. //! moment.js locale configuration
  18171. var enNz = moment.defineLocale('en-nz', {
  18172. months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
  18173. '_'),
  18174. monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
  18175. weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
  18176. '_'),
  18177. weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
  18178. weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
  18179. longDateFormat: {
  18180. LT: 'h:mm A',
  18181. LTS: 'h:mm:ss A',
  18182. L: 'DD/MM/YYYY',
  18183. LL: 'D MMMM YYYY',
  18184. LLL: 'D MMMM YYYY h:mm A',
  18185. LLLL: 'dddd, D MMMM YYYY h:mm A' },
  18186. calendar: {
  18187. sameDay: '[Today at] LT',
  18188. nextDay: '[Tomorrow at] LT',
  18189. nextWeek: 'dddd [at] LT',
  18190. lastDay: '[Yesterday at] LT',
  18191. lastWeek: '[Last] dddd [at] LT',
  18192. sameElse: 'L' },
  18193. relativeTime: {
  18194. future: 'in %s',
  18195. past: '%s ago',
  18196. s: 'a few seconds',
  18197. ss: '%d seconds',
  18198. m: 'a minute',
  18199. mm: '%d minutes',
  18200. h: 'an hour',
  18201. hh: '%d hours',
  18202. d: 'a day',
  18203. dd: '%d days',
  18204. M: 'a month',
  18205. MM: '%d months',
  18206. y: 'a year',
  18207. yy: '%d years' },
  18208. dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
  18209. ordinal: function ordinal(number) {
  18210. var b = number % 10,
  18211. output =
  18212. ~~(number % 100 / 10) === 1 ?
  18213. 'th' :
  18214. b === 1 ?
  18215. 'st' :
  18216. b === 2 ?
  18217. 'nd' :
  18218. b === 3 ?
  18219. 'rd' :
  18220. 'th';
  18221. return number + output;
  18222. },
  18223. week: {
  18224. dow: 1, // Monday is the first day of the week.
  18225. doy: 4 // The week that contains Jan 4th is the first week of the year.
  18226. } });
  18227. return enNz;
  18228. });
  18229. /***/ }),
  18230. /* 56 */
  18231. /*!************************************************************************************************!*\
  18232. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/en-sg.js ***!
  18233. \************************************************************************************************/
  18234. /*! no static exports found */
  18235. /***/ (function(module, exports, __webpack_require__) {
  18236. //! moment.js locale configuration
  18237. //! locale : English (Singapore) [en-sg]
  18238. //! author : Matthew Castrillon-Madrigal : https://github.com/techdimension
  18239. ;(function (global, factory) {
  18240. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  18241. undefined;
  18242. })(this, function (moment) {'use strict';
  18243. //! moment.js locale configuration
  18244. var enSg = moment.defineLocale('en-sg', {
  18245. months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
  18246. '_'),
  18247. monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
  18248. weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
  18249. '_'),
  18250. weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
  18251. weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
  18252. longDateFormat: {
  18253. LT: 'HH:mm',
  18254. LTS: 'HH:mm:ss',
  18255. L: 'DD/MM/YYYY',
  18256. LL: 'D MMMM YYYY',
  18257. LLL: 'D MMMM YYYY HH:mm',
  18258. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  18259. calendar: {
  18260. sameDay: '[Today at] LT',
  18261. nextDay: '[Tomorrow at] LT',
  18262. nextWeek: 'dddd [at] LT',
  18263. lastDay: '[Yesterday at] LT',
  18264. lastWeek: '[Last] dddd [at] LT',
  18265. sameElse: 'L' },
  18266. relativeTime: {
  18267. future: 'in %s',
  18268. past: '%s ago',
  18269. s: 'a few seconds',
  18270. ss: '%d seconds',
  18271. m: 'a minute',
  18272. mm: '%d minutes',
  18273. h: 'an hour',
  18274. hh: '%d hours',
  18275. d: 'a day',
  18276. dd: '%d days',
  18277. M: 'a month',
  18278. MM: '%d months',
  18279. y: 'a year',
  18280. yy: '%d years' },
  18281. dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
  18282. ordinal: function ordinal(number) {
  18283. var b = number % 10,
  18284. output =
  18285. ~~(number % 100 / 10) === 1 ?
  18286. 'th' :
  18287. b === 1 ?
  18288. 'st' :
  18289. b === 2 ?
  18290. 'nd' :
  18291. b === 3 ?
  18292. 'rd' :
  18293. 'th';
  18294. return number + output;
  18295. },
  18296. week: {
  18297. dow: 1, // Monday is the first day of the week.
  18298. doy: 4 // The week that contains Jan 4th is the first week of the year.
  18299. } });
  18300. return enSg;
  18301. });
  18302. /***/ }),
  18303. /* 57 */
  18304. /*!*********************************************************************************************!*\
  18305. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/eo.js ***!
  18306. \*********************************************************************************************/
  18307. /*! no static exports found */
  18308. /***/ (function(module, exports, __webpack_require__) {
  18309. //! moment.js locale configuration
  18310. //! locale : Esperanto [eo]
  18311. //! author : Colin Dean : https://github.com/colindean
  18312. //! author : Mia Nordentoft Imperatori : https://github.com/miestasmia
  18313. //! comment : miestasmia corrected the translation by colindean
  18314. //! comment : Vivakvo corrected the translation by colindean and miestasmia
  18315. ;(function (global, factory) {
  18316. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  18317. undefined;
  18318. })(this, function (moment) {'use strict';
  18319. //! moment.js locale configuration
  18320. var eo = moment.defineLocale('eo', {
  18321. months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(
  18322. '_'),
  18323. monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),
  18324. weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),
  18325. weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),
  18326. weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),
  18327. longDateFormat: {
  18328. LT: 'HH:mm',
  18329. LTS: 'HH:mm:ss',
  18330. L: 'YYYY-MM-DD',
  18331. LL: '[la] D[-an de] MMMM, YYYY',
  18332. LLL: '[la] D[-an de] MMMM, YYYY HH:mm',
  18333. LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',
  18334. llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm' },
  18335. meridiemParse: /[ap]\.t\.m/i,
  18336. isPM: function isPM(input) {
  18337. return input.charAt(0).toLowerCase() === 'p';
  18338. },
  18339. meridiem: function meridiem(hours, minutes, isLower) {
  18340. if (hours > 11) {
  18341. return isLower ? 'p.t.m.' : 'P.T.M.';
  18342. } else {
  18343. return isLower ? 'a.t.m.' : 'A.T.M.';
  18344. }
  18345. },
  18346. calendar: {
  18347. sameDay: '[Hodiaŭ je] LT',
  18348. nextDay: '[Morgaŭ je] LT',
  18349. nextWeek: 'dddd[n je] LT',
  18350. lastDay: '[Hieraŭ je] LT',
  18351. lastWeek: '[pasintan] dddd[n je] LT',
  18352. sameElse: 'L' },
  18353. relativeTime: {
  18354. future: 'post %s',
  18355. past: 'antaŭ %s',
  18356. s: 'kelkaj sekundoj',
  18357. ss: '%d sekundoj',
  18358. m: 'unu minuto',
  18359. mm: '%d minutoj',
  18360. h: 'unu horo',
  18361. hh: '%d horoj',
  18362. d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo
  18363. dd: '%d tagoj',
  18364. M: 'unu monato',
  18365. MM: '%d monatoj',
  18366. y: 'unu jaro',
  18367. yy: '%d jaroj' },
  18368. dayOfMonthOrdinalParse: /\d{1,2}a/,
  18369. ordinal: '%da',
  18370. week: {
  18371. dow: 1, // Monday is the first day of the week.
  18372. doy: 7 // The week that contains Jan 7th is the first week of the year.
  18373. } });
  18374. return eo;
  18375. });
  18376. /***/ }),
  18377. /* 58 */
  18378. /*!*********************************************************************************************!*\
  18379. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/es.js ***!
  18380. \*********************************************************************************************/
  18381. /*! no static exports found */
  18382. /***/ (function(module, exports, __webpack_require__) {
  18383. //! moment.js locale configuration
  18384. //! locale : Spanish [es]
  18385. //! author : Julio Napurí : https://github.com/julionc
  18386. ;(function (global, factory) {
  18387. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  18388. undefined;
  18389. })(this, function (moment) {'use strict';
  18390. //! moment.js locale configuration
  18391. var monthsShortDot =
  18392. 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(
  18393. '_'),
  18394. _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
  18395. monthsParse = [
  18396. /^ene/i,
  18397. /^feb/i,
  18398. /^mar/i,
  18399. /^abr/i,
  18400. /^may/i,
  18401. /^jun/i,
  18402. /^jul/i,
  18403. /^ago/i,
  18404. /^sep/i,
  18405. /^oct/i,
  18406. /^nov/i,
  18407. /^dic/i],
  18408. monthsRegex =
  18409. /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
  18410. var es = moment.defineLocale('es', {
  18411. months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(
  18412. '_'),
  18413. monthsShort: function monthsShort(m, format) {
  18414. if (!m) {
  18415. return monthsShortDot;
  18416. } else if (/-MMM-/.test(format)) {
  18417. return _monthsShort[m.month()];
  18418. } else {
  18419. return monthsShortDot[m.month()];
  18420. }
  18421. },
  18422. monthsRegex: monthsRegex,
  18423. monthsShortRegex: monthsRegex,
  18424. monthsStrictRegex:
  18425. /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
  18426. monthsShortStrictRegex:
  18427. /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
  18428. monthsParse: monthsParse,
  18429. longMonthsParse: monthsParse,
  18430. shortMonthsParse: monthsParse,
  18431. weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
  18432. weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
  18433. weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
  18434. weekdaysParseExact: true,
  18435. longDateFormat: {
  18436. LT: 'H:mm',
  18437. LTS: 'H:mm:ss',
  18438. L: 'DD/MM/YYYY',
  18439. LL: 'D [de] MMMM [de] YYYY',
  18440. LLL: 'D [de] MMMM [de] YYYY H:mm',
  18441. LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm' },
  18442. calendar: {
  18443. sameDay: function sameDay() {
  18444. return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  18445. },
  18446. nextDay: function nextDay() {
  18447. return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  18448. },
  18449. nextWeek: function nextWeek() {
  18450. return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  18451. },
  18452. lastDay: function lastDay() {
  18453. return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  18454. },
  18455. lastWeek: function lastWeek() {
  18456. return (
  18457. '[el] dddd [pasado a la' + (
  18458. this.hours() !== 1 ? 's' : '') +
  18459. '] LT');
  18460. },
  18461. sameElse: 'L' },
  18462. relativeTime: {
  18463. future: 'en %s',
  18464. past: 'hace %s',
  18465. s: 'unos segundos',
  18466. ss: '%d segundos',
  18467. m: 'un minuto',
  18468. mm: '%d minutos',
  18469. h: 'una hora',
  18470. hh: '%d horas',
  18471. d: 'un día',
  18472. dd: '%d días',
  18473. w: 'una semana',
  18474. ww: '%d semanas',
  18475. M: 'un mes',
  18476. MM: '%d meses',
  18477. y: 'un año',
  18478. yy: '%d años' },
  18479. dayOfMonthOrdinalParse: /\d{1,2}º/,
  18480. ordinal: '%dº',
  18481. week: {
  18482. dow: 1, // Monday is the first day of the week.
  18483. doy: 4 // The week that contains Jan 4th is the first week of the year.
  18484. },
  18485. invalidDate: 'Fecha inválida' });
  18486. return es;
  18487. });
  18488. /***/ }),
  18489. /* 59 */
  18490. /*!************************************************************************************************!*\
  18491. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/es-do.js ***!
  18492. \************************************************************************************************/
  18493. /*! no static exports found */
  18494. /***/ (function(module, exports, __webpack_require__) {
  18495. //! moment.js locale configuration
  18496. //! locale : Spanish (Dominican Republic) [es-do]
  18497. ;(function (global, factory) {
  18498. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  18499. undefined;
  18500. })(this, function (moment) {'use strict';
  18501. //! moment.js locale configuration
  18502. var monthsShortDot =
  18503. 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(
  18504. '_'),
  18505. _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
  18506. monthsParse = [
  18507. /^ene/i,
  18508. /^feb/i,
  18509. /^mar/i,
  18510. /^abr/i,
  18511. /^may/i,
  18512. /^jun/i,
  18513. /^jul/i,
  18514. /^ago/i,
  18515. /^sep/i,
  18516. /^oct/i,
  18517. /^nov/i,
  18518. /^dic/i],
  18519. monthsRegex =
  18520. /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
  18521. var esDo = moment.defineLocale('es-do', {
  18522. months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(
  18523. '_'),
  18524. monthsShort: function monthsShort(m, format) {
  18525. if (!m) {
  18526. return monthsShortDot;
  18527. } else if (/-MMM-/.test(format)) {
  18528. return _monthsShort[m.month()];
  18529. } else {
  18530. return monthsShortDot[m.month()];
  18531. }
  18532. },
  18533. monthsRegex: monthsRegex,
  18534. monthsShortRegex: monthsRegex,
  18535. monthsStrictRegex:
  18536. /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
  18537. monthsShortStrictRegex:
  18538. /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
  18539. monthsParse: monthsParse,
  18540. longMonthsParse: monthsParse,
  18541. shortMonthsParse: monthsParse,
  18542. weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
  18543. weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
  18544. weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
  18545. weekdaysParseExact: true,
  18546. longDateFormat: {
  18547. LT: 'h:mm A',
  18548. LTS: 'h:mm:ss A',
  18549. L: 'DD/MM/YYYY',
  18550. LL: 'D [de] MMMM [de] YYYY',
  18551. LLL: 'D [de] MMMM [de] YYYY h:mm A',
  18552. LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A' },
  18553. calendar: {
  18554. sameDay: function sameDay() {
  18555. return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  18556. },
  18557. nextDay: function nextDay() {
  18558. return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  18559. },
  18560. nextWeek: function nextWeek() {
  18561. return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  18562. },
  18563. lastDay: function lastDay() {
  18564. return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  18565. },
  18566. lastWeek: function lastWeek() {
  18567. return (
  18568. '[el] dddd [pasado a la' + (
  18569. this.hours() !== 1 ? 's' : '') +
  18570. '] LT');
  18571. },
  18572. sameElse: 'L' },
  18573. relativeTime: {
  18574. future: 'en %s',
  18575. past: 'hace %s',
  18576. s: 'unos segundos',
  18577. ss: '%d segundos',
  18578. m: 'un minuto',
  18579. mm: '%d minutos',
  18580. h: 'una hora',
  18581. hh: '%d horas',
  18582. d: 'un día',
  18583. dd: '%d días',
  18584. w: 'una semana',
  18585. ww: '%d semanas',
  18586. M: 'un mes',
  18587. MM: '%d meses',
  18588. y: 'un año',
  18589. yy: '%d años' },
  18590. dayOfMonthOrdinalParse: /\d{1,2}º/,
  18591. ordinal: '%dº',
  18592. week: {
  18593. dow: 1, // Monday is the first day of the week.
  18594. doy: 4 // The week that contains Jan 4th is the first week of the year.
  18595. } });
  18596. return esDo;
  18597. });
  18598. /***/ }),
  18599. /* 60 */
  18600. /*!************************************************************************************************!*\
  18601. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/es-mx.js ***!
  18602. \************************************************************************************************/
  18603. /*! no static exports found */
  18604. /***/ (function(module, exports, __webpack_require__) {
  18605. //! moment.js locale configuration
  18606. //! locale : Spanish (Mexico) [es-mx]
  18607. //! author : JC Franco : https://github.com/jcfranco
  18608. ;(function (global, factory) {
  18609. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  18610. undefined;
  18611. })(this, function (moment) {'use strict';
  18612. //! moment.js locale configuration
  18613. var monthsShortDot =
  18614. 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(
  18615. '_'),
  18616. _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
  18617. monthsParse = [
  18618. /^ene/i,
  18619. /^feb/i,
  18620. /^mar/i,
  18621. /^abr/i,
  18622. /^may/i,
  18623. /^jun/i,
  18624. /^jul/i,
  18625. /^ago/i,
  18626. /^sep/i,
  18627. /^oct/i,
  18628. /^nov/i,
  18629. /^dic/i],
  18630. monthsRegex =
  18631. /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
  18632. var esMx = moment.defineLocale('es-mx', {
  18633. months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(
  18634. '_'),
  18635. monthsShort: function monthsShort(m, format) {
  18636. if (!m) {
  18637. return monthsShortDot;
  18638. } else if (/-MMM-/.test(format)) {
  18639. return _monthsShort[m.month()];
  18640. } else {
  18641. return monthsShortDot[m.month()];
  18642. }
  18643. },
  18644. monthsRegex: monthsRegex,
  18645. monthsShortRegex: monthsRegex,
  18646. monthsStrictRegex:
  18647. /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
  18648. monthsShortStrictRegex:
  18649. /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
  18650. monthsParse: monthsParse,
  18651. longMonthsParse: monthsParse,
  18652. shortMonthsParse: monthsParse,
  18653. weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
  18654. weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
  18655. weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
  18656. weekdaysParseExact: true,
  18657. longDateFormat: {
  18658. LT: 'H:mm',
  18659. LTS: 'H:mm:ss',
  18660. L: 'DD/MM/YYYY',
  18661. LL: 'D [de] MMMM [de] YYYY',
  18662. LLL: 'D [de] MMMM [de] YYYY H:mm',
  18663. LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm' },
  18664. calendar: {
  18665. sameDay: function sameDay() {
  18666. return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  18667. },
  18668. nextDay: function nextDay() {
  18669. return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  18670. },
  18671. nextWeek: function nextWeek() {
  18672. return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  18673. },
  18674. lastDay: function lastDay() {
  18675. return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  18676. },
  18677. lastWeek: function lastWeek() {
  18678. return (
  18679. '[el] dddd [pasado a la' + (
  18680. this.hours() !== 1 ? 's' : '') +
  18681. '] LT');
  18682. },
  18683. sameElse: 'L' },
  18684. relativeTime: {
  18685. future: 'en %s',
  18686. past: 'hace %s',
  18687. s: 'unos segundos',
  18688. ss: '%d segundos',
  18689. m: 'un minuto',
  18690. mm: '%d minutos',
  18691. h: 'una hora',
  18692. hh: '%d horas',
  18693. d: 'un día',
  18694. dd: '%d días',
  18695. w: 'una semana',
  18696. ww: '%d semanas',
  18697. M: 'un mes',
  18698. MM: '%d meses',
  18699. y: 'un año',
  18700. yy: '%d años' },
  18701. dayOfMonthOrdinalParse: /\d{1,2}º/,
  18702. ordinal: '%dº',
  18703. week: {
  18704. dow: 0, // Sunday is the first day of the week.
  18705. doy: 4 // The week that contains Jan 4th is the first week of the year.
  18706. },
  18707. invalidDate: 'Fecha inválida' });
  18708. return esMx;
  18709. });
  18710. /***/ }),
  18711. /* 61 */
  18712. /*!************************************************************************************************!*\
  18713. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/es-us.js ***!
  18714. \************************************************************************************************/
  18715. /*! no static exports found */
  18716. /***/ (function(module, exports, __webpack_require__) {
  18717. //! moment.js locale configuration
  18718. //! locale : Spanish (United States) [es-us]
  18719. //! author : bustta : https://github.com/bustta
  18720. //! author : chrisrodz : https://github.com/chrisrodz
  18721. ;(function (global, factory) {
  18722. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  18723. undefined;
  18724. })(this, function (moment) {'use strict';
  18725. //! moment.js locale configuration
  18726. var monthsShortDot =
  18727. 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(
  18728. '_'),
  18729. _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
  18730. monthsParse = [
  18731. /^ene/i,
  18732. /^feb/i,
  18733. /^mar/i,
  18734. /^abr/i,
  18735. /^may/i,
  18736. /^jun/i,
  18737. /^jul/i,
  18738. /^ago/i,
  18739. /^sep/i,
  18740. /^oct/i,
  18741. /^nov/i,
  18742. /^dic/i],
  18743. monthsRegex =
  18744. /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
  18745. var esUs = moment.defineLocale('es-us', {
  18746. months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(
  18747. '_'),
  18748. monthsShort: function monthsShort(m, format) {
  18749. if (!m) {
  18750. return monthsShortDot;
  18751. } else if (/-MMM-/.test(format)) {
  18752. return _monthsShort[m.month()];
  18753. } else {
  18754. return monthsShortDot[m.month()];
  18755. }
  18756. },
  18757. monthsRegex: monthsRegex,
  18758. monthsShortRegex: monthsRegex,
  18759. monthsStrictRegex:
  18760. /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
  18761. monthsShortStrictRegex:
  18762. /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
  18763. monthsParse: monthsParse,
  18764. longMonthsParse: monthsParse,
  18765. shortMonthsParse: monthsParse,
  18766. weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
  18767. weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
  18768. weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
  18769. weekdaysParseExact: true,
  18770. longDateFormat: {
  18771. LT: 'h:mm A',
  18772. LTS: 'h:mm:ss A',
  18773. L: 'MM/DD/YYYY',
  18774. LL: 'D [de] MMMM [de] YYYY',
  18775. LLL: 'D [de] MMMM [de] YYYY h:mm A',
  18776. LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A' },
  18777. calendar: {
  18778. sameDay: function sameDay() {
  18779. return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  18780. },
  18781. nextDay: function nextDay() {
  18782. return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  18783. },
  18784. nextWeek: function nextWeek() {
  18785. return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  18786. },
  18787. lastDay: function lastDay() {
  18788. return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  18789. },
  18790. lastWeek: function lastWeek() {
  18791. return (
  18792. '[el] dddd [pasado a la' + (
  18793. this.hours() !== 1 ? 's' : '') +
  18794. '] LT');
  18795. },
  18796. sameElse: 'L' },
  18797. relativeTime: {
  18798. future: 'en %s',
  18799. past: 'hace %s',
  18800. s: 'unos segundos',
  18801. ss: '%d segundos',
  18802. m: 'un minuto',
  18803. mm: '%d minutos',
  18804. h: 'una hora',
  18805. hh: '%d horas',
  18806. d: 'un día',
  18807. dd: '%d días',
  18808. w: 'una semana',
  18809. ww: '%d semanas',
  18810. M: 'un mes',
  18811. MM: '%d meses',
  18812. y: 'un año',
  18813. yy: '%d años' },
  18814. dayOfMonthOrdinalParse: /\d{1,2}º/,
  18815. ordinal: '%dº',
  18816. week: {
  18817. dow: 0, // Sunday is the first day of the week.
  18818. doy: 6 // The week that contains Jan 6th is the first week of the year.
  18819. } });
  18820. return esUs;
  18821. });
  18822. /***/ }),
  18823. /* 62 */
  18824. /*!*********************************************************************************************!*\
  18825. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/et.js ***!
  18826. \*********************************************************************************************/
  18827. /*! no static exports found */
  18828. /***/ (function(module, exports, __webpack_require__) {
  18829. //! moment.js locale configuration
  18830. //! locale : Estonian [et]
  18831. //! author : Henry Kehlmann : https://github.com/madhenry
  18832. //! improvements : Illimar Tambek : https://github.com/ragulka
  18833. ;(function (global, factory) {
  18834. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  18835. undefined;
  18836. })(this, function (moment) {'use strict';
  18837. //! moment.js locale configuration
  18838. function processRelativeTime(number, withoutSuffix, key, isFuture) {
  18839. var format = {
  18840. s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
  18841. ss: [number + 'sekundi', number + 'sekundit'],
  18842. m: ['ühe minuti', 'üks minut'],
  18843. mm: [number + ' minuti', number + ' minutit'],
  18844. h: ['ühe tunni', 'tund aega', 'üks tund'],
  18845. hh: [number + ' tunni', number + ' tundi'],
  18846. d: ['ühe päeva', 'üks päev'],
  18847. M: ['kuu aja', 'kuu aega', 'üks kuu'],
  18848. MM: [number + ' kuu', number + ' kuud'],
  18849. y: ['ühe aasta', 'aasta', 'üks aasta'],
  18850. yy: [number + ' aasta', number + ' aastat'] };
  18851. if (withoutSuffix) {
  18852. return format[key][2] ? format[key][2] : format[key][1];
  18853. }
  18854. return isFuture ? format[key][0] : format[key][1];
  18855. }
  18856. var et = moment.defineLocale('et', {
  18857. months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(
  18858. '_'),
  18859. monthsShort:
  18860. 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),
  18861. weekdays:
  18862. 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(
  18863. '_'),
  18864. weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),
  18865. weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),
  18866. longDateFormat: {
  18867. LT: 'H:mm',
  18868. LTS: 'H:mm:ss',
  18869. L: 'DD.MM.YYYY',
  18870. LL: 'D. MMMM YYYY',
  18871. LLL: 'D. MMMM YYYY H:mm',
  18872. LLLL: 'dddd, D. MMMM YYYY H:mm' },
  18873. calendar: {
  18874. sameDay: '[Täna,] LT',
  18875. nextDay: '[Homme,] LT',
  18876. nextWeek: '[Järgmine] dddd LT',
  18877. lastDay: '[Eile,] LT',
  18878. lastWeek: '[Eelmine] dddd LT',
  18879. sameElse: 'L' },
  18880. relativeTime: {
  18881. future: '%s pärast',
  18882. past: '%s tagasi',
  18883. s: processRelativeTime,
  18884. ss: processRelativeTime,
  18885. m: processRelativeTime,
  18886. mm: processRelativeTime,
  18887. h: processRelativeTime,
  18888. hh: processRelativeTime,
  18889. d: processRelativeTime,
  18890. dd: '%d päeva',
  18891. M: processRelativeTime,
  18892. MM: processRelativeTime,
  18893. y: processRelativeTime,
  18894. yy: processRelativeTime },
  18895. dayOfMonthOrdinalParse: /\d{1,2}\./,
  18896. ordinal: '%d.',
  18897. week: {
  18898. dow: 1, // Monday is the first day of the week.
  18899. doy: 4 // The week that contains Jan 4th is the first week of the year.
  18900. } });
  18901. return et;
  18902. });
  18903. /***/ }),
  18904. /* 63 */
  18905. /*!*********************************************************************************************!*\
  18906. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/eu.js ***!
  18907. \*********************************************************************************************/
  18908. /*! no static exports found */
  18909. /***/ (function(module, exports, __webpack_require__) {
  18910. //! moment.js locale configuration
  18911. //! locale : Basque [eu]
  18912. //! author : Eneko Illarramendi : https://github.com/eillarra
  18913. ;(function (global, factory) {
  18914. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  18915. undefined;
  18916. })(this, function (moment) {'use strict';
  18917. //! moment.js locale configuration
  18918. var eu = moment.defineLocale('eu', {
  18919. months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(
  18920. '_'),
  18921. monthsShort:
  18922. 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(
  18923. '_'),
  18924. monthsParseExact: true,
  18925. weekdays:
  18926. 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(
  18927. '_'),
  18928. weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),
  18929. weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),
  18930. weekdaysParseExact: true,
  18931. longDateFormat: {
  18932. LT: 'HH:mm',
  18933. LTS: 'HH:mm:ss',
  18934. L: 'YYYY-MM-DD',
  18935. LL: 'YYYY[ko] MMMM[ren] D[a]',
  18936. LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',
  18937. LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',
  18938. l: 'YYYY-M-D',
  18939. ll: 'YYYY[ko] MMM D[a]',
  18940. lll: 'YYYY[ko] MMM D[a] HH:mm',
  18941. llll: 'ddd, YYYY[ko] MMM D[a] HH:mm' },
  18942. calendar: {
  18943. sameDay: '[gaur] LT[etan]',
  18944. nextDay: '[bihar] LT[etan]',
  18945. nextWeek: 'dddd LT[etan]',
  18946. lastDay: '[atzo] LT[etan]',
  18947. lastWeek: '[aurreko] dddd LT[etan]',
  18948. sameElse: 'L' },
  18949. relativeTime: {
  18950. future: '%s barru',
  18951. past: 'duela %s',
  18952. s: 'segundo batzuk',
  18953. ss: '%d segundo',
  18954. m: 'minutu bat',
  18955. mm: '%d minutu',
  18956. h: 'ordu bat',
  18957. hh: '%d ordu',
  18958. d: 'egun bat',
  18959. dd: '%d egun',
  18960. M: 'hilabete bat',
  18961. MM: '%d hilabete',
  18962. y: 'urte bat',
  18963. yy: '%d urte' },
  18964. dayOfMonthOrdinalParse: /\d{1,2}\./,
  18965. ordinal: '%d.',
  18966. week: {
  18967. dow: 1, // Monday is the first day of the week.
  18968. doy: 7 // The week that contains Jan 7th is the first week of the year.
  18969. } });
  18970. return eu;
  18971. });
  18972. /***/ }),
  18973. /* 64 */
  18974. /*!*********************************************************************************************!*\
  18975. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/fa.js ***!
  18976. \*********************************************************************************************/
  18977. /*! no static exports found */
  18978. /***/ (function(module, exports, __webpack_require__) {
  18979. //! moment.js locale configuration
  18980. //! locale : Persian [fa]
  18981. //! author : Ebrahim Byagowi : https://github.com/ebraminio
  18982. ;(function (global, factory) {
  18983. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  18984. undefined;
  18985. })(this, function (moment) {'use strict';
  18986. //! moment.js locale configuration
  18987. var symbolMap = {
  18988. 1: '۱',
  18989. 2: '۲',
  18990. 3: '۳',
  18991. 4: '۴',
  18992. 5: '۵',
  18993. 6: '۶',
  18994. 7: '۷',
  18995. 8: '۸',
  18996. 9: '۹',
  18997. 0: '۰' },
  18998. numberMap = {
  18999. '۱': '1',
  19000. '۲': '2',
  19001. '۳': '3',
  19002. '۴': '4',
  19003. '۵': '5',
  19004. '۶': '6',
  19005. '۷': '7',
  19006. '۸': '8',
  19007. '۹': '9',
  19008. '۰': '0' };
  19009. var fa = moment.defineLocale('fa', {
  19010. months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(
  19011. '_'),
  19012. monthsShort:
  19013. 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(
  19014. '_'),
  19015. weekdays:
  19016. "\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647_\u062F\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200C\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647_\u062C\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split(
  19017. '_'),
  19018. weekdaysShort:
  19019. "\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647_\u062F\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200C\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647_\u062C\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split(
  19020. '_'),
  19021. weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),
  19022. weekdaysParseExact: true,
  19023. longDateFormat: {
  19024. LT: 'HH:mm',
  19025. LTS: 'HH:mm:ss',
  19026. L: 'DD/MM/YYYY',
  19027. LL: 'D MMMM YYYY',
  19028. LLL: 'D MMMM YYYY HH:mm',
  19029. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  19030. meridiemParse: /قبل از ظهر|بعد از ظهر/,
  19031. isPM: function isPM(input) {
  19032. return /بعد از ظهر/.test(input);
  19033. },
  19034. meridiem: function meridiem(hour, minute, isLower) {
  19035. if (hour < 12) {
  19036. return 'قبل از ظهر';
  19037. } else {
  19038. return 'بعد از ظهر';
  19039. }
  19040. },
  19041. calendar: {
  19042. sameDay: '[امروز ساعت] LT',
  19043. nextDay: '[فردا ساعت] LT',
  19044. nextWeek: 'dddd [ساعت] LT',
  19045. lastDay: '[دیروز ساعت] LT',
  19046. lastWeek: 'dddd [پیش] [ساعت] LT',
  19047. sameElse: 'L' },
  19048. relativeTime: {
  19049. future: 'در %s',
  19050. past: '%s پیش',
  19051. s: 'چند ثانیه',
  19052. ss: '%d ثانیه',
  19053. m: 'یک دقیقه',
  19054. mm: '%d دقیقه',
  19055. h: 'یک ساعت',
  19056. hh: '%d ساعت',
  19057. d: 'یک روز',
  19058. dd: '%d روز',
  19059. M: 'یک ماه',
  19060. MM: '%d ماه',
  19061. y: 'یک سال',
  19062. yy: '%d سال' },
  19063. preparse: function preparse(string) {
  19064. return string.
  19065. replace(/[۰-۹]/g, function (match) {
  19066. return numberMap[match];
  19067. }).
  19068. replace(/،/g, ',');
  19069. },
  19070. postformat: function postformat(string) {
  19071. return string.
  19072. replace(/\d/g, function (match) {
  19073. return symbolMap[match];
  19074. }).
  19075. replace(/,/g, '،');
  19076. },
  19077. dayOfMonthOrdinalParse: /\d{1,2}م/,
  19078. ordinal: '%dم',
  19079. week: {
  19080. dow: 6, // Saturday is the first day of the week.
  19081. doy: 12 // The week that contains Jan 12th is the first week of the year.
  19082. } });
  19083. return fa;
  19084. });
  19085. /***/ }),
  19086. /* 65 */
  19087. /*!*********************************************************************************************!*\
  19088. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/fi.js ***!
  19089. \*********************************************************************************************/
  19090. /*! no static exports found */
  19091. /***/ (function(module, exports, __webpack_require__) {
  19092. //! moment.js locale configuration
  19093. //! locale : Finnish [fi]
  19094. //! author : Tarmo Aidantausta : https://github.com/bleadof
  19095. ;(function (global, factory) {
  19096. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  19097. undefined;
  19098. })(this, function (moment) {'use strict';
  19099. //! moment.js locale configuration
  19100. var numbersPast =
  19101. 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(
  19102. ' '),
  19103. numbersFuture = [
  19104. 'nolla',
  19105. 'yhden',
  19106. 'kahden',
  19107. 'kolmen',
  19108. 'neljän',
  19109. 'viiden',
  19110. 'kuuden',
  19111. numbersPast[7],
  19112. numbersPast[8],
  19113. numbersPast[9]];
  19114. function translate(number, withoutSuffix, key, isFuture) {
  19115. var result = '';
  19116. switch (key) {
  19117. case 's':
  19118. return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';
  19119. case 'ss':
  19120. result = isFuture ? 'sekunnin' : 'sekuntia';
  19121. break;
  19122. case 'm':
  19123. return isFuture ? 'minuutin' : 'minuutti';
  19124. case 'mm':
  19125. result = isFuture ? 'minuutin' : 'minuuttia';
  19126. break;
  19127. case 'h':
  19128. return isFuture ? 'tunnin' : 'tunti';
  19129. case 'hh':
  19130. result = isFuture ? 'tunnin' : 'tuntia';
  19131. break;
  19132. case 'd':
  19133. return isFuture ? 'päivän' : 'päivä';
  19134. case 'dd':
  19135. result = isFuture ? 'päivän' : 'päivää';
  19136. break;
  19137. case 'M':
  19138. return isFuture ? 'kuukauden' : 'kuukausi';
  19139. case 'MM':
  19140. result = isFuture ? 'kuukauden' : 'kuukautta';
  19141. break;
  19142. case 'y':
  19143. return isFuture ? 'vuoden' : 'vuosi';
  19144. case 'yy':
  19145. result = isFuture ? 'vuoden' : 'vuotta';
  19146. break;}
  19147. result = verbalNumber(number, isFuture) + ' ' + result;
  19148. return result;
  19149. }
  19150. function verbalNumber(number, isFuture) {
  19151. return number < 10 ?
  19152. isFuture ?
  19153. numbersFuture[number] :
  19154. numbersPast[number] :
  19155. number;
  19156. }
  19157. var fi = moment.defineLocale('fi', {
  19158. months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(
  19159. '_'),
  19160. monthsShort:
  19161. 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(
  19162. '_'),
  19163. weekdays:
  19164. 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(
  19165. '_'),
  19166. weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),
  19167. weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),
  19168. longDateFormat: {
  19169. LT: 'HH.mm',
  19170. LTS: 'HH.mm.ss',
  19171. L: 'DD.MM.YYYY',
  19172. LL: 'Do MMMM[ta] YYYY',
  19173. LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',
  19174. LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',
  19175. l: 'D.M.YYYY',
  19176. ll: 'Do MMM YYYY',
  19177. lll: 'Do MMM YYYY, [klo] HH.mm',
  19178. llll: 'ddd, Do MMM YYYY, [klo] HH.mm' },
  19179. calendar: {
  19180. sameDay: '[tänään] [klo] LT',
  19181. nextDay: '[huomenna] [klo] LT',
  19182. nextWeek: 'dddd [klo] LT',
  19183. lastDay: '[eilen] [klo] LT',
  19184. lastWeek: '[viime] dddd[na] [klo] LT',
  19185. sameElse: 'L' },
  19186. relativeTime: {
  19187. future: '%s päästä',
  19188. past: '%s sitten',
  19189. s: translate,
  19190. ss: translate,
  19191. m: translate,
  19192. mm: translate,
  19193. h: translate,
  19194. hh: translate,
  19195. d: translate,
  19196. dd: translate,
  19197. M: translate,
  19198. MM: translate,
  19199. y: translate,
  19200. yy: translate },
  19201. dayOfMonthOrdinalParse: /\d{1,2}\./,
  19202. ordinal: '%d.',
  19203. week: {
  19204. dow: 1, // Monday is the first day of the week.
  19205. doy: 4 // The week that contains Jan 4th is the first week of the year.
  19206. } });
  19207. return fi;
  19208. });
  19209. /***/ }),
  19210. /* 66 */
  19211. /*!**********************************************************************************************!*\
  19212. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/fil.js ***!
  19213. \**********************************************************************************************/
  19214. /*! no static exports found */
  19215. /***/ (function(module, exports, __webpack_require__) {
  19216. //! moment.js locale configuration
  19217. //! locale : Filipino [fil]
  19218. //! author : Dan Hagman : https://github.com/hagmandan
  19219. //! author : Matthew Co : https://github.com/matthewdeeco
  19220. ;(function (global, factory) {
  19221. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  19222. undefined;
  19223. })(this, function (moment) {'use strict';
  19224. //! moment.js locale configuration
  19225. var fil = moment.defineLocale('fil', {
  19226. months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(
  19227. '_'),
  19228. monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
  19229. weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(
  19230. '_'),
  19231. weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
  19232. weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
  19233. longDateFormat: {
  19234. LT: 'HH:mm',
  19235. LTS: 'HH:mm:ss',
  19236. L: 'MM/D/YYYY',
  19237. LL: 'MMMM D, YYYY',
  19238. LLL: 'MMMM D, YYYY HH:mm',
  19239. LLLL: 'dddd, MMMM DD, YYYY HH:mm' },
  19240. calendar: {
  19241. sameDay: 'LT [ngayong araw]',
  19242. nextDay: '[Bukas ng] LT',
  19243. nextWeek: 'LT [sa susunod na] dddd',
  19244. lastDay: 'LT [kahapon]',
  19245. lastWeek: 'LT [noong nakaraang] dddd',
  19246. sameElse: 'L' },
  19247. relativeTime: {
  19248. future: 'sa loob ng %s',
  19249. past: '%s ang nakalipas',
  19250. s: 'ilang segundo',
  19251. ss: '%d segundo',
  19252. m: 'isang minuto',
  19253. mm: '%d minuto',
  19254. h: 'isang oras',
  19255. hh: '%d oras',
  19256. d: 'isang araw',
  19257. dd: '%d araw',
  19258. M: 'isang buwan',
  19259. MM: '%d buwan',
  19260. y: 'isang taon',
  19261. yy: '%d taon' },
  19262. dayOfMonthOrdinalParse: /\d{1,2}/,
  19263. ordinal: function ordinal(number) {
  19264. return number;
  19265. },
  19266. week: {
  19267. dow: 1, // Monday is the first day of the week.
  19268. doy: 4 // The week that contains Jan 4th is the first week of the year.
  19269. } });
  19270. return fil;
  19271. });
  19272. /***/ }),
  19273. /* 67 */
  19274. /*!*********************************************************************************************!*\
  19275. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/fo.js ***!
  19276. \*********************************************************************************************/
  19277. /*! no static exports found */
  19278. /***/ (function(module, exports, __webpack_require__) {
  19279. //! moment.js locale configuration
  19280. //! locale : Faroese [fo]
  19281. //! author : Ragnar Johannesen : https://github.com/ragnar123
  19282. //! author : Kristian Sakarisson : https://github.com/sakarisson
  19283. ;(function (global, factory) {
  19284. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  19285. undefined;
  19286. })(this, function (moment) {'use strict';
  19287. //! moment.js locale configuration
  19288. var fo = moment.defineLocale('fo', {
  19289. months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(
  19290. '_'),
  19291. monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
  19292. weekdays:
  19293. 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(
  19294. '_'),
  19295. weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),
  19296. weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),
  19297. longDateFormat: {
  19298. LT: 'HH:mm',
  19299. LTS: 'HH:mm:ss',
  19300. L: 'DD/MM/YYYY',
  19301. LL: 'D MMMM YYYY',
  19302. LLL: 'D MMMM YYYY HH:mm',
  19303. LLLL: 'dddd D. MMMM, YYYY HH:mm' },
  19304. calendar: {
  19305. sameDay: '[Í dag kl.] LT',
  19306. nextDay: '[Í morgin kl.] LT',
  19307. nextWeek: 'dddd [kl.] LT',
  19308. lastDay: '[Í gjár kl.] LT',
  19309. lastWeek: '[síðstu] dddd [kl] LT',
  19310. sameElse: 'L' },
  19311. relativeTime: {
  19312. future: 'um %s',
  19313. past: '%s síðani',
  19314. s: 'fá sekund',
  19315. ss: '%d sekundir',
  19316. m: 'ein minuttur',
  19317. mm: '%d minuttir',
  19318. h: 'ein tími',
  19319. hh: '%d tímar',
  19320. d: 'ein dagur',
  19321. dd: '%d dagar',
  19322. M: 'ein mánaður',
  19323. MM: '%d mánaðir',
  19324. y: 'eitt ár',
  19325. yy: '%d ár' },
  19326. dayOfMonthOrdinalParse: /\d{1,2}\./,
  19327. ordinal: '%d.',
  19328. week: {
  19329. dow: 1, // Monday is the first day of the week.
  19330. doy: 4 // The week that contains Jan 4th is the first week of the year.
  19331. } });
  19332. return fo;
  19333. });
  19334. /***/ }),
  19335. /* 68 */
  19336. /*!*********************************************************************************************!*\
  19337. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/fr.js ***!
  19338. \*********************************************************************************************/
  19339. /*! no static exports found */
  19340. /***/ (function(module, exports, __webpack_require__) {
  19341. //! moment.js locale configuration
  19342. //! locale : French [fr]
  19343. //! author : John Fischer : https://github.com/jfroffice
  19344. ;(function (global, factory) {
  19345. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  19346. undefined;
  19347. })(this, function (moment) {'use strict';
  19348. //! moment.js locale configuration
  19349. var monthsStrictRegex =
  19350. /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,
  19351. monthsShortStrictRegex =
  19352. /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i,
  19353. monthsRegex =
  19354. /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,
  19355. monthsParse = [
  19356. /^janv/i,
  19357. /^févr/i,
  19358. /^mars/i,
  19359. /^avr/i,
  19360. /^mai/i,
  19361. /^juin/i,
  19362. /^juil/i,
  19363. /^août/i,
  19364. /^sept/i,
  19365. /^oct/i,
  19366. /^nov/i,
  19367. /^déc/i];
  19368. var fr = moment.defineLocale('fr', {
  19369. months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(
  19370. '_'),
  19371. monthsShort:
  19372. 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(
  19373. '_'),
  19374. monthsRegex: monthsRegex,
  19375. monthsShortRegex: monthsRegex,
  19376. monthsStrictRegex: monthsStrictRegex,
  19377. monthsShortStrictRegex: monthsShortStrictRegex,
  19378. monthsParse: monthsParse,
  19379. longMonthsParse: monthsParse,
  19380. shortMonthsParse: monthsParse,
  19381. weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
  19382. weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
  19383. weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
  19384. weekdaysParseExact: true,
  19385. longDateFormat: {
  19386. LT: 'HH:mm',
  19387. LTS: 'HH:mm:ss',
  19388. L: 'DD/MM/YYYY',
  19389. LL: 'D MMMM YYYY',
  19390. LLL: 'D MMMM YYYY HH:mm',
  19391. LLLL: 'dddd D MMMM YYYY HH:mm' },
  19392. calendar: {
  19393. sameDay: '[Aujourd’hui à] LT',
  19394. nextDay: '[Demain à] LT',
  19395. nextWeek: 'dddd [à] LT',
  19396. lastDay: '[Hier à] LT',
  19397. lastWeek: 'dddd [dernier à] LT',
  19398. sameElse: 'L' },
  19399. relativeTime: {
  19400. future: 'dans %s',
  19401. past: 'il y a %s',
  19402. s: 'quelques secondes',
  19403. ss: '%d secondes',
  19404. m: 'une minute',
  19405. mm: '%d minutes',
  19406. h: 'une heure',
  19407. hh: '%d heures',
  19408. d: 'un jour',
  19409. dd: '%d jours',
  19410. w: 'une semaine',
  19411. ww: '%d semaines',
  19412. M: 'un mois',
  19413. MM: '%d mois',
  19414. y: 'un an',
  19415. yy: '%d ans' },
  19416. dayOfMonthOrdinalParse: /\d{1,2}(er|)/,
  19417. ordinal: function ordinal(number, period) {
  19418. switch (period) {
  19419. // TODO: Return 'e' when day of month > 1. Move this case inside
  19420. // block for masculine words below.
  19421. // See https://github.com/moment/moment/issues/3375
  19422. case 'D':
  19423. return number + (number === 1 ? 'er' : '');
  19424. // Words with masculine grammatical gender: mois, trimestre, jour
  19425. default:
  19426. case 'M':
  19427. case 'Q':
  19428. case 'DDD':
  19429. case 'd':
  19430. return number + (number === 1 ? 'er' : 'e');
  19431. // Words with feminine grammatical gender: semaine
  19432. case 'w':
  19433. case 'W':
  19434. return number + (number === 1 ? 're' : 'e');}
  19435. },
  19436. week: {
  19437. dow: 1, // Monday is the first day of the week.
  19438. doy: 4 // The week that contains Jan 4th is the first week of the year.
  19439. } });
  19440. return fr;
  19441. });
  19442. /***/ }),
  19443. /* 69 */
  19444. /*!************************************************************************************************!*\
  19445. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/fr-ca.js ***!
  19446. \************************************************************************************************/
  19447. /*! no static exports found */
  19448. /***/ (function(module, exports, __webpack_require__) {
  19449. //! moment.js locale configuration
  19450. //! locale : French (Canada) [fr-ca]
  19451. //! author : Jonathan Abourbih : https://github.com/jonbca
  19452. ;(function (global, factory) {
  19453. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  19454. undefined;
  19455. })(this, function (moment) {'use strict';
  19456. //! moment.js locale configuration
  19457. var frCa = moment.defineLocale('fr-ca', {
  19458. months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(
  19459. '_'),
  19460. monthsShort:
  19461. 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(
  19462. '_'),
  19463. monthsParseExact: true,
  19464. weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
  19465. weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
  19466. weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
  19467. weekdaysParseExact: true,
  19468. longDateFormat: {
  19469. LT: 'HH:mm',
  19470. LTS: 'HH:mm:ss',
  19471. L: 'YYYY-MM-DD',
  19472. LL: 'D MMMM YYYY',
  19473. LLL: 'D MMMM YYYY HH:mm',
  19474. LLLL: 'dddd D MMMM YYYY HH:mm' },
  19475. calendar: {
  19476. sameDay: '[Aujourd’hui à] LT',
  19477. nextDay: '[Demain à] LT',
  19478. nextWeek: 'dddd [à] LT',
  19479. lastDay: '[Hier à] LT',
  19480. lastWeek: 'dddd [dernier à] LT',
  19481. sameElse: 'L' },
  19482. relativeTime: {
  19483. future: 'dans %s',
  19484. past: 'il y a %s',
  19485. s: 'quelques secondes',
  19486. ss: '%d secondes',
  19487. m: 'une minute',
  19488. mm: '%d minutes',
  19489. h: 'une heure',
  19490. hh: '%d heures',
  19491. d: 'un jour',
  19492. dd: '%d jours',
  19493. M: 'un mois',
  19494. MM: '%d mois',
  19495. y: 'un an',
  19496. yy: '%d ans' },
  19497. dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
  19498. ordinal: function ordinal(number, period) {
  19499. switch (period) {
  19500. // Words with masculine grammatical gender: mois, trimestre, jour
  19501. default:
  19502. case 'M':
  19503. case 'Q':
  19504. case 'D':
  19505. case 'DDD':
  19506. case 'd':
  19507. return number + (number === 1 ? 'er' : 'e');
  19508. // Words with feminine grammatical gender: semaine
  19509. case 'w':
  19510. case 'W':
  19511. return number + (number === 1 ? 're' : 'e');}
  19512. } });
  19513. return frCa;
  19514. });
  19515. /***/ }),
  19516. /* 70 */
  19517. /*!************************************************************************************************!*\
  19518. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/fr-ch.js ***!
  19519. \************************************************************************************************/
  19520. /*! no static exports found */
  19521. /***/ (function(module, exports, __webpack_require__) {
  19522. //! moment.js locale configuration
  19523. //! locale : French (Switzerland) [fr-ch]
  19524. //! author : Gaspard Bucher : https://github.com/gaspard
  19525. ;(function (global, factory) {
  19526. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  19527. undefined;
  19528. })(this, function (moment) {'use strict';
  19529. //! moment.js locale configuration
  19530. var frCh = moment.defineLocale('fr-ch', {
  19531. months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(
  19532. '_'),
  19533. monthsShort:
  19534. 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(
  19535. '_'),
  19536. monthsParseExact: true,
  19537. weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
  19538. weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
  19539. weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
  19540. weekdaysParseExact: true,
  19541. longDateFormat: {
  19542. LT: 'HH:mm',
  19543. LTS: 'HH:mm:ss',
  19544. L: 'DD.MM.YYYY',
  19545. LL: 'D MMMM YYYY',
  19546. LLL: 'D MMMM YYYY HH:mm',
  19547. LLLL: 'dddd D MMMM YYYY HH:mm' },
  19548. calendar: {
  19549. sameDay: '[Aujourd’hui à] LT',
  19550. nextDay: '[Demain à] LT',
  19551. nextWeek: 'dddd [à] LT',
  19552. lastDay: '[Hier à] LT',
  19553. lastWeek: 'dddd [dernier à] LT',
  19554. sameElse: 'L' },
  19555. relativeTime: {
  19556. future: 'dans %s',
  19557. past: 'il y a %s',
  19558. s: 'quelques secondes',
  19559. ss: '%d secondes',
  19560. m: 'une minute',
  19561. mm: '%d minutes',
  19562. h: 'une heure',
  19563. hh: '%d heures',
  19564. d: 'un jour',
  19565. dd: '%d jours',
  19566. M: 'un mois',
  19567. MM: '%d mois',
  19568. y: 'un an',
  19569. yy: '%d ans' },
  19570. dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
  19571. ordinal: function ordinal(number, period) {
  19572. switch (period) {
  19573. // Words with masculine grammatical gender: mois, trimestre, jour
  19574. default:
  19575. case 'M':
  19576. case 'Q':
  19577. case 'D':
  19578. case 'DDD':
  19579. case 'd':
  19580. return number + (number === 1 ? 'er' : 'e');
  19581. // Words with feminine grammatical gender: semaine
  19582. case 'w':
  19583. case 'W':
  19584. return number + (number === 1 ? 're' : 'e');}
  19585. },
  19586. week: {
  19587. dow: 1, // Monday is the first day of the week.
  19588. doy: 4 // The week that contains Jan 4th is the first week of the year.
  19589. } });
  19590. return frCh;
  19591. });
  19592. /***/ }),
  19593. /* 71 */
  19594. /*!*********************************************************************************************!*\
  19595. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/fy.js ***!
  19596. \*********************************************************************************************/
  19597. /*! no static exports found */
  19598. /***/ (function(module, exports, __webpack_require__) {
  19599. //! moment.js locale configuration
  19600. //! locale : Frisian [fy]
  19601. //! author : Robin van der Vliet : https://github.com/robin0van0der0v
  19602. ;(function (global, factory) {
  19603. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  19604. undefined;
  19605. })(this, function (moment) {'use strict';
  19606. //! moment.js locale configuration
  19607. var monthsShortWithDots =
  19608. 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),
  19609. monthsShortWithoutDots =
  19610. 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');
  19611. var fy = moment.defineLocale('fy', {
  19612. months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(
  19613. '_'),
  19614. monthsShort: function monthsShort(m, format) {
  19615. if (!m) {
  19616. return monthsShortWithDots;
  19617. } else if (/-MMM-/.test(format)) {
  19618. return monthsShortWithoutDots[m.month()];
  19619. } else {
  19620. return monthsShortWithDots[m.month()];
  19621. }
  19622. },
  19623. monthsParseExact: true,
  19624. weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(
  19625. '_'),
  19626. weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),
  19627. weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),
  19628. weekdaysParseExact: true,
  19629. longDateFormat: {
  19630. LT: 'HH:mm',
  19631. LTS: 'HH:mm:ss',
  19632. L: 'DD-MM-YYYY',
  19633. LL: 'D MMMM YYYY',
  19634. LLL: 'D MMMM YYYY HH:mm',
  19635. LLLL: 'dddd D MMMM YYYY HH:mm' },
  19636. calendar: {
  19637. sameDay: '[hjoed om] LT',
  19638. nextDay: '[moarn om] LT',
  19639. nextWeek: 'dddd [om] LT',
  19640. lastDay: '[juster om] LT',
  19641. lastWeek: '[ôfrûne] dddd [om] LT',
  19642. sameElse: 'L' },
  19643. relativeTime: {
  19644. future: 'oer %s',
  19645. past: '%s lyn',
  19646. s: 'in pear sekonden',
  19647. ss: '%d sekonden',
  19648. m: 'ien minút',
  19649. mm: '%d minuten',
  19650. h: 'ien oere',
  19651. hh: '%d oeren',
  19652. d: 'ien dei',
  19653. dd: '%d dagen',
  19654. M: 'ien moanne',
  19655. MM: '%d moannen',
  19656. y: 'ien jier',
  19657. yy: '%d jierren' },
  19658. dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
  19659. ordinal: function ordinal(number) {
  19660. return (
  19661. number + (
  19662. number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'));
  19663. },
  19664. week: {
  19665. dow: 1, // Monday is the first day of the week.
  19666. doy: 4 // The week that contains Jan 4th is the first week of the year.
  19667. } });
  19668. return fy;
  19669. });
  19670. /***/ }),
  19671. /* 72 */
  19672. /*!*********************************************************************************************!*\
  19673. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ga.js ***!
  19674. \*********************************************************************************************/
  19675. /*! no static exports found */
  19676. /***/ (function(module, exports, __webpack_require__) {
  19677. //! moment.js locale configuration
  19678. //! locale : Irish or Irish Gaelic [ga]
  19679. //! author : André Silva : https://github.com/askpt
  19680. ;(function (global, factory) {
  19681. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  19682. undefined;
  19683. })(this, function (moment) {'use strict';
  19684. //! moment.js locale configuration
  19685. var months = [
  19686. 'Eanáir',
  19687. 'Feabhra',
  19688. 'Márta',
  19689. 'Aibreán',
  19690. 'Bealtaine',
  19691. 'Meitheamh',
  19692. 'Iúil',
  19693. 'Lúnasa',
  19694. 'Meán Fómhair',
  19695. 'Deireadh Fómhair',
  19696. 'Samhain',
  19697. 'Nollaig'],
  19698. monthsShort = [
  19699. 'Ean',
  19700. 'Feabh',
  19701. 'Márt',
  19702. 'Aib',
  19703. 'Beal',
  19704. 'Meith',
  19705. 'Iúil',
  19706. 'Lún',
  19707. 'M.F.',
  19708. 'D.F.',
  19709. 'Samh',
  19710. 'Noll'],
  19711. weekdays = [
  19712. 'Dé Domhnaigh',
  19713. 'Dé Luain',
  19714. 'Dé Máirt',
  19715. 'Dé Céadaoin',
  19716. 'Déardaoin',
  19717. 'Dé hAoine',
  19718. 'Dé Sathairn'],
  19719. weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],
  19720. weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];
  19721. var ga = moment.defineLocale('ga', {
  19722. months: months,
  19723. monthsShort: monthsShort,
  19724. monthsParseExact: true,
  19725. weekdays: weekdays,
  19726. weekdaysShort: weekdaysShort,
  19727. weekdaysMin: weekdaysMin,
  19728. longDateFormat: {
  19729. LT: 'HH:mm',
  19730. LTS: 'HH:mm:ss',
  19731. L: 'DD/MM/YYYY',
  19732. LL: 'D MMMM YYYY',
  19733. LLL: 'D MMMM YYYY HH:mm',
  19734. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  19735. calendar: {
  19736. sameDay: '[Inniu ag] LT',
  19737. nextDay: '[Amárach ag] LT',
  19738. nextWeek: 'dddd [ag] LT',
  19739. lastDay: '[Inné ag] LT',
  19740. lastWeek: 'dddd [seo caite] [ag] LT',
  19741. sameElse: 'L' },
  19742. relativeTime: {
  19743. future: 'i %s',
  19744. past: '%s ó shin',
  19745. s: 'cúpla soicind',
  19746. ss: '%d soicind',
  19747. m: 'nóiméad',
  19748. mm: '%d nóiméad',
  19749. h: 'uair an chloig',
  19750. hh: '%d uair an chloig',
  19751. d: 'lá',
  19752. dd: '%d lá',
  19753. M: 'mí',
  19754. MM: '%d míonna',
  19755. y: 'bliain',
  19756. yy: '%d bliain' },
  19757. dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
  19758. ordinal: function ordinal(number) {
  19759. var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
  19760. return number + output;
  19761. },
  19762. week: {
  19763. dow: 1, // Monday is the first day of the week.
  19764. doy: 4 // The week that contains Jan 4th is the first week of the year.
  19765. } });
  19766. return ga;
  19767. });
  19768. /***/ }),
  19769. /* 73 */
  19770. /*!*********************************************************************************************!*\
  19771. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/gd.js ***!
  19772. \*********************************************************************************************/
  19773. /*! no static exports found */
  19774. /***/ (function(module, exports, __webpack_require__) {
  19775. //! moment.js locale configuration
  19776. //! locale : Scottish Gaelic [gd]
  19777. //! author : Jon Ashdown : https://github.com/jonashdown
  19778. ;(function (global, factory) {
  19779. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  19780. undefined;
  19781. })(this, function (moment) {'use strict';
  19782. //! moment.js locale configuration
  19783. var months = [
  19784. 'Am Faoilleach',
  19785. 'An Gearran',
  19786. 'Am Màrt',
  19787. 'An Giblean',
  19788. 'An Cèitean',
  19789. 'An t-Ògmhios',
  19790. 'An t-Iuchar',
  19791. 'An Lùnastal',
  19792. 'An t-Sultain',
  19793. 'An Dàmhair',
  19794. 'An t-Samhain',
  19795. 'An Dùbhlachd'],
  19796. monthsShort = [
  19797. 'Faoi',
  19798. 'Gear',
  19799. 'Màrt',
  19800. 'Gibl',
  19801. 'Cèit',
  19802. 'Ògmh',
  19803. 'Iuch',
  19804. 'Lùn',
  19805. 'Sult',
  19806. 'Dàmh',
  19807. 'Samh',
  19808. 'Dùbh'],
  19809. weekdays = [
  19810. 'Didòmhnaich',
  19811. 'Diluain',
  19812. 'Dimàirt',
  19813. 'Diciadain',
  19814. 'Diardaoin',
  19815. 'Dihaoine',
  19816. 'Disathairne'],
  19817. weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],
  19818. weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];
  19819. var gd = moment.defineLocale('gd', {
  19820. months: months,
  19821. monthsShort: monthsShort,
  19822. monthsParseExact: true,
  19823. weekdays: weekdays,
  19824. weekdaysShort: weekdaysShort,
  19825. weekdaysMin: weekdaysMin,
  19826. longDateFormat: {
  19827. LT: 'HH:mm',
  19828. LTS: 'HH:mm:ss',
  19829. L: 'DD/MM/YYYY',
  19830. LL: 'D MMMM YYYY',
  19831. LLL: 'D MMMM YYYY HH:mm',
  19832. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  19833. calendar: {
  19834. sameDay: '[An-diugh aig] LT',
  19835. nextDay: '[A-màireach aig] LT',
  19836. nextWeek: 'dddd [aig] LT',
  19837. lastDay: '[An-dè aig] LT',
  19838. lastWeek: 'dddd [seo chaidh] [aig] LT',
  19839. sameElse: 'L' },
  19840. relativeTime: {
  19841. future: 'ann an %s',
  19842. past: 'bho chionn %s',
  19843. s: 'beagan diogan',
  19844. ss: '%d diogan',
  19845. m: 'mionaid',
  19846. mm: '%d mionaidean',
  19847. h: 'uair',
  19848. hh: '%d uairean',
  19849. d: 'latha',
  19850. dd: '%d latha',
  19851. M: 'mìos',
  19852. MM: '%d mìosan',
  19853. y: 'bliadhna',
  19854. yy: '%d bliadhna' },
  19855. dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
  19856. ordinal: function ordinal(number) {
  19857. var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
  19858. return number + output;
  19859. },
  19860. week: {
  19861. dow: 1, // Monday is the first day of the week.
  19862. doy: 4 // The week that contains Jan 4th is the first week of the year.
  19863. } });
  19864. return gd;
  19865. });
  19866. /***/ }),
  19867. /* 74 */
  19868. /*!*********************************************************************************************!*\
  19869. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/gl.js ***!
  19870. \*********************************************************************************************/
  19871. /*! no static exports found */
  19872. /***/ (function(module, exports, __webpack_require__) {
  19873. //! moment.js locale configuration
  19874. //! locale : Galician [gl]
  19875. //! author : Juan G. Hurtado : https://github.com/juanghurtado
  19876. ;(function (global, factory) {
  19877. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  19878. undefined;
  19879. })(this, function (moment) {'use strict';
  19880. //! moment.js locale configuration
  19881. var gl = moment.defineLocale('gl', {
  19882. months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(
  19883. '_'),
  19884. monthsShort:
  19885. 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(
  19886. '_'),
  19887. monthsParseExact: true,
  19888. weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),
  19889. weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),
  19890. weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),
  19891. weekdaysParseExact: true,
  19892. longDateFormat: {
  19893. LT: 'H:mm',
  19894. LTS: 'H:mm:ss',
  19895. L: 'DD/MM/YYYY',
  19896. LL: 'D [de] MMMM [de] YYYY',
  19897. LLL: 'D [de] MMMM [de] YYYY H:mm',
  19898. LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm' },
  19899. calendar: {
  19900. sameDay: function sameDay() {
  19901. return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';
  19902. },
  19903. nextDay: function nextDay() {
  19904. return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';
  19905. },
  19906. nextWeek: function nextWeek() {
  19907. return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';
  19908. },
  19909. lastDay: function lastDay() {
  19910. return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';
  19911. },
  19912. lastWeek: function lastWeek() {
  19913. return (
  19914. '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT');
  19915. },
  19916. sameElse: 'L' },
  19917. relativeTime: {
  19918. future: function future(str) {
  19919. if (str.indexOf('un') === 0) {
  19920. return 'n' + str;
  19921. }
  19922. return 'en ' + str;
  19923. },
  19924. past: 'hai %s',
  19925. s: 'uns segundos',
  19926. ss: '%d segundos',
  19927. m: 'un minuto',
  19928. mm: '%d minutos',
  19929. h: 'unha hora',
  19930. hh: '%d horas',
  19931. d: 'un día',
  19932. dd: '%d días',
  19933. M: 'un mes',
  19934. MM: '%d meses',
  19935. y: 'un ano',
  19936. yy: '%d anos' },
  19937. dayOfMonthOrdinalParse: /\d{1,2}º/,
  19938. ordinal: '%dº',
  19939. week: {
  19940. dow: 1, // Monday is the first day of the week.
  19941. doy: 4 // The week that contains Jan 4th is the first week of the year.
  19942. } });
  19943. return gl;
  19944. });
  19945. /***/ }),
  19946. /* 75 */
  19947. /*!***************************************************************************************************!*\
  19948. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/gom-deva.js ***!
  19949. \***************************************************************************************************/
  19950. /*! no static exports found */
  19951. /***/ (function(module, exports, __webpack_require__) {
  19952. //! moment.js locale configuration
  19953. //! locale : Konkani Devanagari script [gom-deva]
  19954. //! author : The Discoverer : https://github.com/WikiDiscoverer
  19955. ;(function (global, factory) {
  19956. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  19957. undefined;
  19958. })(this, function (moment) {'use strict';
  19959. //! moment.js locale configuration
  19960. function processRelativeTime(number, withoutSuffix, key, isFuture) {
  19961. var format = {
  19962. s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],
  19963. ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],
  19964. m: ['एका मिणटान', 'एक मिनूट'],
  19965. mm: [number + ' मिणटांनी', number + ' मिणटां'],
  19966. h: ['एका वरान', 'एक वर'],
  19967. hh: [number + ' वरांनी', number + ' वरां'],
  19968. d: ['एका दिसान', 'एक दीस'],
  19969. dd: [number + ' दिसांनी', number + ' दीस'],
  19970. M: ['एका म्हयन्यान', 'एक म्हयनो'],
  19971. MM: [number + ' म्हयन्यानी', number + ' म्हयने'],
  19972. y: ['एका वर्सान', 'एक वर्स'],
  19973. yy: [number + ' वर्सांनी', number + ' वर्सां'] };
  19974. return isFuture ? format[key][0] : format[key][1];
  19975. }
  19976. var gomDeva = moment.defineLocale('gom-deva', {
  19977. months: {
  19978. standalone:
  19979. 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(
  19980. '_'),
  19981. format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(
  19982. '_'),
  19983. isFormat: /MMMM(\s)+D[oD]?/ },
  19984. monthsShort:
  19985. 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(
  19986. '_'),
  19987. monthsParseExact: true,
  19988. weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),
  19989. weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),
  19990. weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),
  19991. weekdaysParseExact: true,
  19992. longDateFormat: {
  19993. LT: 'A h:mm [वाजतां]',
  19994. LTS: 'A h:mm:ss [वाजतां]',
  19995. L: 'DD-MM-YYYY',
  19996. LL: 'D MMMM YYYY',
  19997. LLL: 'D MMMM YYYY A h:mm [वाजतां]',
  19998. LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',
  19999. llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]' },
  20000. calendar: {
  20001. sameDay: '[आयज] LT',
  20002. nextDay: '[फाल्यां] LT',
  20003. nextWeek: '[फुडलो] dddd[,] LT',
  20004. lastDay: '[काल] LT',
  20005. lastWeek: '[फाटलो] dddd[,] LT',
  20006. sameElse: 'L' },
  20007. relativeTime: {
  20008. future: '%s',
  20009. past: '%s आदीं',
  20010. s: processRelativeTime,
  20011. ss: processRelativeTime,
  20012. m: processRelativeTime,
  20013. mm: processRelativeTime,
  20014. h: processRelativeTime,
  20015. hh: processRelativeTime,
  20016. d: processRelativeTime,
  20017. dd: processRelativeTime,
  20018. M: processRelativeTime,
  20019. MM: processRelativeTime,
  20020. y: processRelativeTime,
  20021. yy: processRelativeTime },
  20022. dayOfMonthOrdinalParse: /\d{1,2}(वेर)/,
  20023. ordinal: function ordinal(number, period) {
  20024. switch (period) {
  20025. // the ordinal 'वेर' only applies to day of the month
  20026. case 'D':
  20027. return number + 'वेर';
  20028. default:
  20029. case 'M':
  20030. case 'Q':
  20031. case 'DDD':
  20032. case 'd':
  20033. case 'w':
  20034. case 'W':
  20035. return number;}
  20036. },
  20037. week: {
  20038. dow: 0, // Sunday is the first day of the week
  20039. doy: 3 // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)
  20040. },
  20041. meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,
  20042. meridiemHour: function meridiemHour(hour, meridiem) {
  20043. if (hour === 12) {
  20044. hour = 0;
  20045. }
  20046. if (meridiem === 'राती') {
  20047. return hour < 4 ? hour : hour + 12;
  20048. } else if (meridiem === 'सकाळीं') {
  20049. return hour;
  20050. } else if (meridiem === 'दनपारां') {
  20051. return hour > 12 ? hour : hour + 12;
  20052. } else if (meridiem === 'सांजे') {
  20053. return hour + 12;
  20054. }
  20055. },
  20056. meridiem: function meridiem(hour, minute, isLower) {
  20057. if (hour < 4) {
  20058. return 'राती';
  20059. } else if (hour < 12) {
  20060. return 'सकाळीं';
  20061. } else if (hour < 16) {
  20062. return 'दनपारां';
  20063. } else if (hour < 20) {
  20064. return 'सांजे';
  20065. } else {
  20066. return 'राती';
  20067. }
  20068. } });
  20069. return gomDeva;
  20070. });
  20071. /***/ }),
  20072. /* 76 */
  20073. /*!***************************************************************************************************!*\
  20074. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/gom-latn.js ***!
  20075. \***************************************************************************************************/
  20076. /*! no static exports found */
  20077. /***/ (function(module, exports, __webpack_require__) {
  20078. //! moment.js locale configuration
  20079. //! locale : Konkani Latin script [gom-latn]
  20080. //! author : The Discoverer : https://github.com/WikiDiscoverer
  20081. ;(function (global, factory) {
  20082. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  20083. undefined;
  20084. })(this, function (moment) {'use strict';
  20085. //! moment.js locale configuration
  20086. function processRelativeTime(number, withoutSuffix, key, isFuture) {
  20087. var format = {
  20088. s: ['thoddea sekondamni', 'thodde sekond'],
  20089. ss: [number + ' sekondamni', number + ' sekond'],
  20090. m: ['eka mintan', 'ek minut'],
  20091. mm: [number + ' mintamni', number + ' mintam'],
  20092. h: ['eka voran', 'ek vor'],
  20093. hh: [number + ' voramni', number + ' voram'],
  20094. d: ['eka disan', 'ek dis'],
  20095. dd: [number + ' disamni', number + ' dis'],
  20096. M: ['eka mhoinean', 'ek mhoino'],
  20097. MM: [number + ' mhoineamni', number + ' mhoine'],
  20098. y: ['eka vorsan', 'ek voros'],
  20099. yy: [number + ' vorsamni', number + ' vorsam'] };
  20100. return isFuture ? format[key][0] : format[key][1];
  20101. }
  20102. var gomLatn = moment.defineLocale('gom-latn', {
  20103. months: {
  20104. standalone:
  20105. 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(
  20106. '_'),
  20107. format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(
  20108. '_'),
  20109. isFormat: /MMMM(\s)+D[oD]?/ },
  20110. monthsShort:
  20111. 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),
  20112. monthsParseExact: true,
  20113. weekdays: "Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split('_'),
  20114. weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),
  20115. weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),
  20116. weekdaysParseExact: true,
  20117. longDateFormat: {
  20118. LT: 'A h:mm [vazta]',
  20119. LTS: 'A h:mm:ss [vazta]',
  20120. L: 'DD-MM-YYYY',
  20121. LL: 'D MMMM YYYY',
  20122. LLL: 'D MMMM YYYY A h:mm [vazta]',
  20123. LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',
  20124. llll: 'ddd, D MMM YYYY, A h:mm [vazta]' },
  20125. calendar: {
  20126. sameDay: '[Aiz] LT',
  20127. nextDay: '[Faleam] LT',
  20128. nextWeek: '[Fuddlo] dddd[,] LT',
  20129. lastDay: '[Kal] LT',
  20130. lastWeek: '[Fattlo] dddd[,] LT',
  20131. sameElse: 'L' },
  20132. relativeTime: {
  20133. future: '%s',
  20134. past: '%s adim',
  20135. s: processRelativeTime,
  20136. ss: processRelativeTime,
  20137. m: processRelativeTime,
  20138. mm: processRelativeTime,
  20139. h: processRelativeTime,
  20140. hh: processRelativeTime,
  20141. d: processRelativeTime,
  20142. dd: processRelativeTime,
  20143. M: processRelativeTime,
  20144. MM: processRelativeTime,
  20145. y: processRelativeTime,
  20146. yy: processRelativeTime },
  20147. dayOfMonthOrdinalParse: /\d{1,2}(er)/,
  20148. ordinal: function ordinal(number, period) {
  20149. switch (period) {
  20150. // the ordinal 'er' only applies to day of the month
  20151. case 'D':
  20152. return number + 'er';
  20153. default:
  20154. case 'M':
  20155. case 'Q':
  20156. case 'DDD':
  20157. case 'd':
  20158. case 'w':
  20159. case 'W':
  20160. return number;}
  20161. },
  20162. week: {
  20163. dow: 0, // Sunday is the first day of the week
  20164. doy: 3 // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)
  20165. },
  20166. meridiemParse: /rati|sokallim|donparam|sanje/,
  20167. meridiemHour: function meridiemHour(hour, meridiem) {
  20168. if (hour === 12) {
  20169. hour = 0;
  20170. }
  20171. if (meridiem === 'rati') {
  20172. return hour < 4 ? hour : hour + 12;
  20173. } else if (meridiem === 'sokallim') {
  20174. return hour;
  20175. } else if (meridiem === 'donparam') {
  20176. return hour > 12 ? hour : hour + 12;
  20177. } else if (meridiem === 'sanje') {
  20178. return hour + 12;
  20179. }
  20180. },
  20181. meridiem: function meridiem(hour, minute, isLower) {
  20182. if (hour < 4) {
  20183. return 'rati';
  20184. } else if (hour < 12) {
  20185. return 'sokallim';
  20186. } else if (hour < 16) {
  20187. return 'donparam';
  20188. } else if (hour < 20) {
  20189. return 'sanje';
  20190. } else {
  20191. return 'rati';
  20192. }
  20193. } });
  20194. return gomLatn;
  20195. });
  20196. /***/ }),
  20197. /* 77 */
  20198. /*!*********************************************************************************************!*\
  20199. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/gu.js ***!
  20200. \*********************************************************************************************/
  20201. /*! no static exports found */
  20202. /***/ (function(module, exports, __webpack_require__) {
  20203. //! moment.js locale configuration
  20204. //! locale : Gujarati [gu]
  20205. //! author : Kaushik Thanki : https://github.com/Kaushik1987
  20206. ;(function (global, factory) {
  20207. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  20208. undefined;
  20209. })(this, function (moment) {'use strict';
  20210. //! moment.js locale configuration
  20211. var symbolMap = {
  20212. 1: '૧',
  20213. 2: '૨',
  20214. 3: '૩',
  20215. 4: '૪',
  20216. 5: '૫',
  20217. 6: '૬',
  20218. 7: '૭',
  20219. 8: '૮',
  20220. 9: '૯',
  20221. 0: '૦' },
  20222. numberMap = {
  20223. '૧': '1',
  20224. '૨': '2',
  20225. '૩': '3',
  20226. '૪': '4',
  20227. '૫': '5',
  20228. '૬': '6',
  20229. '૭': '7',
  20230. '૮': '8',
  20231. '૯': '9',
  20232. '૦': '0' };
  20233. var gu = moment.defineLocale('gu', {
  20234. months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(
  20235. '_'),
  20236. monthsShort:
  20237. 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(
  20238. '_'),
  20239. monthsParseExact: true,
  20240. weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(
  20241. '_'),
  20242. weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),
  20243. weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),
  20244. longDateFormat: {
  20245. LT: 'A h:mm વાગ્યે',
  20246. LTS: 'A h:mm:ss વાગ્યે',
  20247. L: 'DD/MM/YYYY',
  20248. LL: 'D MMMM YYYY',
  20249. LLL: 'D MMMM YYYY, A h:mm વાગ્યે',
  20250. LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે' },
  20251. calendar: {
  20252. sameDay: '[આજ] LT',
  20253. nextDay: '[કાલે] LT',
  20254. nextWeek: 'dddd, LT',
  20255. lastDay: '[ગઇકાલે] LT',
  20256. lastWeek: '[પાછલા] dddd, LT',
  20257. sameElse: 'L' },
  20258. relativeTime: {
  20259. future: '%s મા',
  20260. past: '%s પહેલા',
  20261. s: 'અમુક પળો',
  20262. ss: '%d સેકંડ',
  20263. m: 'એક મિનિટ',
  20264. mm: '%d મિનિટ',
  20265. h: 'એક કલાક',
  20266. hh: '%d કલાક',
  20267. d: 'એક દિવસ',
  20268. dd: '%d દિવસ',
  20269. M: 'એક મહિનો',
  20270. MM: '%d મહિનો',
  20271. y: 'એક વર્ષ',
  20272. yy: '%d વર્ષ' },
  20273. preparse: function preparse(string) {
  20274. return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {
  20275. return numberMap[match];
  20276. });
  20277. },
  20278. postformat: function postformat(string) {
  20279. return string.replace(/\d/g, function (match) {
  20280. return symbolMap[match];
  20281. });
  20282. },
  20283. // Gujarati notation for meridiems are quite fuzzy in practice. While there exists
  20284. // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.
  20285. meridiemParse: /રાત|બપોર|સવાર|સાંજ/,
  20286. meridiemHour: function meridiemHour(hour, meridiem) {
  20287. if (hour === 12) {
  20288. hour = 0;
  20289. }
  20290. if (meridiem === 'રાત') {
  20291. return hour < 4 ? hour : hour + 12;
  20292. } else if (meridiem === 'સવાર') {
  20293. return hour;
  20294. } else if (meridiem === 'બપોર') {
  20295. return hour >= 10 ? hour : hour + 12;
  20296. } else if (meridiem === 'સાંજ') {
  20297. return hour + 12;
  20298. }
  20299. },
  20300. meridiem: function meridiem(hour, minute, isLower) {
  20301. if (hour < 4) {
  20302. return 'રાત';
  20303. } else if (hour < 10) {
  20304. return 'સવાર';
  20305. } else if (hour < 17) {
  20306. return 'બપોર';
  20307. } else if (hour < 20) {
  20308. return 'સાંજ';
  20309. } else {
  20310. return 'રાત';
  20311. }
  20312. },
  20313. week: {
  20314. dow: 0, // Sunday is the first day of the week.
  20315. doy: 6 // The week that contains Jan 6th is the first week of the year.
  20316. } });
  20317. return gu;
  20318. });
  20319. /***/ }),
  20320. /* 78 */
  20321. /*!*********************************************************************************************!*\
  20322. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/he.js ***!
  20323. \*********************************************************************************************/
  20324. /*! no static exports found */
  20325. /***/ (function(module, exports, __webpack_require__) {
  20326. //! moment.js locale configuration
  20327. //! locale : Hebrew [he]
  20328. //! author : Tomer Cohen : https://github.com/tomer
  20329. //! author : Moshe Simantov : https://github.com/DevelopmentIL
  20330. //! author : Tal Ater : https://github.com/TalAter
  20331. ;(function (global, factory) {
  20332. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  20333. undefined;
  20334. })(this, function (moment) {'use strict';
  20335. //! moment.js locale configuration
  20336. var he = moment.defineLocale('he', {
  20337. months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(
  20338. '_'),
  20339. monthsShort:
  20340. 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),
  20341. weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),
  20342. weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),
  20343. weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),
  20344. longDateFormat: {
  20345. LT: 'HH:mm',
  20346. LTS: 'HH:mm:ss',
  20347. L: 'DD/MM/YYYY',
  20348. LL: 'D [ב]MMMM YYYY',
  20349. LLL: 'D [ב]MMMM YYYY HH:mm',
  20350. LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',
  20351. l: 'D/M/YYYY',
  20352. ll: 'D MMM YYYY',
  20353. lll: 'D MMM YYYY HH:mm',
  20354. llll: 'ddd, D MMM YYYY HH:mm' },
  20355. calendar: {
  20356. sameDay: '[היום ב־]LT',
  20357. nextDay: '[מחר ב־]LT',
  20358. nextWeek: 'dddd [בשעה] LT',
  20359. lastDay: '[אתמול ב־]LT',
  20360. lastWeek: '[ביום] dddd [האחרון בשעה] LT',
  20361. sameElse: 'L' },
  20362. relativeTime: {
  20363. future: 'בעוד %s',
  20364. past: 'לפני %s',
  20365. s: 'מספר שניות',
  20366. ss: '%d שניות',
  20367. m: 'דקה',
  20368. mm: '%d דקות',
  20369. h: 'שעה',
  20370. hh: function hh(number) {
  20371. if (number === 2) {
  20372. return 'שעתיים';
  20373. }
  20374. return number + ' שעות';
  20375. },
  20376. d: 'יום',
  20377. dd: function dd(number) {
  20378. if (number === 2) {
  20379. return 'יומיים';
  20380. }
  20381. return number + ' ימים';
  20382. },
  20383. M: 'חודש',
  20384. MM: function MM(number) {
  20385. if (number === 2) {
  20386. return 'חודשיים';
  20387. }
  20388. return number + ' חודשים';
  20389. },
  20390. y: 'שנה',
  20391. yy: function yy(number) {
  20392. if (number === 2) {
  20393. return 'שנתיים';
  20394. } else if (number % 10 === 0 && number !== 10) {
  20395. return number + ' שנה';
  20396. }
  20397. return number + ' שנים';
  20398. } },
  20399. meridiemParse:
  20400. /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,
  20401. isPM: function isPM(input) {
  20402. return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input);
  20403. },
  20404. meridiem: function meridiem(hour, minute, isLower) {
  20405. if (hour < 5) {
  20406. return 'לפנות בוקר';
  20407. } else if (hour < 10) {
  20408. return 'בבוקר';
  20409. } else if (hour < 12) {
  20410. return isLower ? 'לפנה"צ' : 'לפני הצהריים';
  20411. } else if (hour < 18) {
  20412. return isLower ? 'אחה"צ' : 'אחרי הצהריים';
  20413. } else {
  20414. return 'בערב';
  20415. }
  20416. } });
  20417. return he;
  20418. });
  20419. /***/ }),
  20420. /* 79 */
  20421. /*!*********************************************************************************************!*\
  20422. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/hi.js ***!
  20423. \*********************************************************************************************/
  20424. /*! no static exports found */
  20425. /***/ (function(module, exports, __webpack_require__) {
  20426. //! moment.js locale configuration
  20427. //! locale : Hindi [hi]
  20428. //! author : Mayank Singhal : https://github.com/mayanksinghal
  20429. ;(function (global, factory) {
  20430. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  20431. undefined;
  20432. })(this, function (moment) {'use strict';
  20433. //! moment.js locale configuration
  20434. var symbolMap = {
  20435. 1: '१',
  20436. 2: '२',
  20437. 3: '३',
  20438. 4: '४',
  20439. 5: '५',
  20440. 6: '६',
  20441. 7: '७',
  20442. 8: '८',
  20443. 9: '९',
  20444. 0: '०' },
  20445. numberMap = {
  20446. '१': '1',
  20447. '२': '2',
  20448. '३': '3',
  20449. '४': '4',
  20450. '५': '5',
  20451. '६': '6',
  20452. '७': '7',
  20453. '८': '8',
  20454. '९': '9',
  20455. '०': '0' },
  20456. monthsParse = [
  20457. /^जन/i,
  20458. /^फ़र|फर/i,
  20459. /^मार्च/i,
  20460. /^अप्रै/i,
  20461. /^मई/i,
  20462. /^जून/i,
  20463. /^जुल/i,
  20464. /^अग/i,
  20465. /^सितं|सित/i,
  20466. /^अक्टू/i,
  20467. /^नव|नवं/i,
  20468. /^दिसं|दिस/i],
  20469. shortMonthsParse = [
  20470. /^जन/i,
  20471. /^फ़र/i,
  20472. /^मार्च/i,
  20473. /^अप्रै/i,
  20474. /^मई/i,
  20475. /^जून/i,
  20476. /^जुल/i,
  20477. /^अग/i,
  20478. /^सित/i,
  20479. /^अक्टू/i,
  20480. /^नव/i,
  20481. /^दिस/i];
  20482. var hi = moment.defineLocale('hi', {
  20483. months: {
  20484. format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(
  20485. '_'),
  20486. standalone:
  20487. 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(
  20488. '_') },
  20489. monthsShort:
  20490. 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),
  20491. weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
  20492. weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),
  20493. weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),
  20494. longDateFormat: {
  20495. LT: 'A h:mm बजे',
  20496. LTS: 'A h:mm:ss बजे',
  20497. L: 'DD/MM/YYYY',
  20498. LL: 'D MMMM YYYY',
  20499. LLL: 'D MMMM YYYY, A h:mm बजे',
  20500. LLLL: 'dddd, D MMMM YYYY, A h:mm बजे' },
  20501. monthsParse: monthsParse,
  20502. longMonthsParse: monthsParse,
  20503. shortMonthsParse: shortMonthsParse,
  20504. monthsRegex:
  20505. /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i,
  20506. monthsShortRegex:
  20507. /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i,
  20508. monthsStrictRegex:
  20509. /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,
  20510. monthsShortStrictRegex:
  20511. /^(जन\.?|फ़र\.?|मार्च?|अप्रै\.?|मई?|जून?|जुल\.?|अग\.?|सित\.?|अक्टू\.?|नव\.?|दिस\.?)/i,
  20512. calendar: {
  20513. sameDay: '[आज] LT',
  20514. nextDay: '[कल] LT',
  20515. nextWeek: 'dddd, LT',
  20516. lastDay: '[कल] LT',
  20517. lastWeek: '[पिछले] dddd, LT',
  20518. sameElse: 'L' },
  20519. relativeTime: {
  20520. future: '%s में',
  20521. past: '%s पहले',
  20522. s: 'कुछ ही क्षण',
  20523. ss: '%d सेकंड',
  20524. m: 'एक मिनट',
  20525. mm: '%d मिनट',
  20526. h: 'एक घंटा',
  20527. hh: '%d घंटे',
  20528. d: 'एक दिन',
  20529. dd: '%d दिन',
  20530. M: 'एक महीने',
  20531. MM: '%d महीने',
  20532. y: 'एक वर्ष',
  20533. yy: '%d वर्ष' },
  20534. preparse: function preparse(string) {
  20535. return string.replace(/[१२३४५६७८९०]/g, function (match) {
  20536. return numberMap[match];
  20537. });
  20538. },
  20539. postformat: function postformat(string) {
  20540. return string.replace(/\d/g, function (match) {
  20541. return symbolMap[match];
  20542. });
  20543. },
  20544. // Hindi notation for meridiems are quite fuzzy in practice. While there exists
  20545. // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
  20546. meridiemParse: /रात|सुबह|दोपहर|शाम/,
  20547. meridiemHour: function meridiemHour(hour, meridiem) {
  20548. if (hour === 12) {
  20549. hour = 0;
  20550. }
  20551. if (meridiem === 'रात') {
  20552. return hour < 4 ? hour : hour + 12;
  20553. } else if (meridiem === 'सुबह') {
  20554. return hour;
  20555. } else if (meridiem === 'दोपहर') {
  20556. return hour >= 10 ? hour : hour + 12;
  20557. } else if (meridiem === 'शाम') {
  20558. return hour + 12;
  20559. }
  20560. },
  20561. meridiem: function meridiem(hour, minute, isLower) {
  20562. if (hour < 4) {
  20563. return 'रात';
  20564. } else if (hour < 10) {
  20565. return 'सुबह';
  20566. } else if (hour < 17) {
  20567. return 'दोपहर';
  20568. } else if (hour < 20) {
  20569. return 'शाम';
  20570. } else {
  20571. return 'रात';
  20572. }
  20573. },
  20574. week: {
  20575. dow: 0, // Sunday is the first day of the week.
  20576. doy: 6 // The week that contains Jan 6th is the first week of the year.
  20577. } });
  20578. return hi;
  20579. });
  20580. /***/ }),
  20581. /* 80 */
  20582. /*!*********************************************************************************************!*\
  20583. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/hr.js ***!
  20584. \*********************************************************************************************/
  20585. /*! no static exports found */
  20586. /***/ (function(module, exports, __webpack_require__) {
  20587. //! moment.js locale configuration
  20588. //! locale : Croatian [hr]
  20589. //! author : Bojan Marković : https://github.com/bmarkovic
  20590. ;(function (global, factory) {
  20591. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  20592. undefined;
  20593. })(this, function (moment) {'use strict';
  20594. //! moment.js locale configuration
  20595. function translate(number, withoutSuffix, key) {
  20596. var result = number + ' ';
  20597. switch (key) {
  20598. case 'ss':
  20599. if (number === 1) {
  20600. result += 'sekunda';
  20601. } else if (number === 2 || number === 3 || number === 4) {
  20602. result += 'sekunde';
  20603. } else {
  20604. result += 'sekundi';
  20605. }
  20606. return result;
  20607. case 'm':
  20608. return withoutSuffix ? 'jedna minuta' : 'jedne minute';
  20609. case 'mm':
  20610. if (number === 1) {
  20611. result += 'minuta';
  20612. } else if (number === 2 || number === 3 || number === 4) {
  20613. result += 'minute';
  20614. } else {
  20615. result += 'minuta';
  20616. }
  20617. return result;
  20618. case 'h':
  20619. return withoutSuffix ? 'jedan sat' : 'jednog sata';
  20620. case 'hh':
  20621. if (number === 1) {
  20622. result += 'sat';
  20623. } else if (number === 2 || number === 3 || number === 4) {
  20624. result += 'sata';
  20625. } else {
  20626. result += 'sati';
  20627. }
  20628. return result;
  20629. case 'dd':
  20630. if (number === 1) {
  20631. result += 'dan';
  20632. } else {
  20633. result += 'dana';
  20634. }
  20635. return result;
  20636. case 'MM':
  20637. if (number === 1) {
  20638. result += 'mjesec';
  20639. } else if (number === 2 || number === 3 || number === 4) {
  20640. result += 'mjeseca';
  20641. } else {
  20642. result += 'mjeseci';
  20643. }
  20644. return result;
  20645. case 'yy':
  20646. if (number === 1) {
  20647. result += 'godina';
  20648. } else if (number === 2 || number === 3 || number === 4) {
  20649. result += 'godine';
  20650. } else {
  20651. result += 'godina';
  20652. }
  20653. return result;}
  20654. }
  20655. var hr = moment.defineLocale('hr', {
  20656. months: {
  20657. format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(
  20658. '_'),
  20659. standalone:
  20660. 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(
  20661. '_') },
  20662. monthsShort:
  20663. 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(
  20664. '_'),
  20665. monthsParseExact: true,
  20666. weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(
  20667. '_'),
  20668. weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
  20669. weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
  20670. weekdaysParseExact: true,
  20671. longDateFormat: {
  20672. LT: 'H:mm',
  20673. LTS: 'H:mm:ss',
  20674. L: 'DD.MM.YYYY',
  20675. LL: 'Do MMMM YYYY',
  20676. LLL: 'Do MMMM YYYY H:mm',
  20677. LLLL: 'dddd, Do MMMM YYYY H:mm' },
  20678. calendar: {
  20679. sameDay: '[danas u] LT',
  20680. nextDay: '[sutra u] LT',
  20681. nextWeek: function nextWeek() {
  20682. switch (this.day()) {
  20683. case 0:
  20684. return '[u] [nedjelju] [u] LT';
  20685. case 3:
  20686. return '[u] [srijedu] [u] LT';
  20687. case 6:
  20688. return '[u] [subotu] [u] LT';
  20689. case 1:
  20690. case 2:
  20691. case 4:
  20692. case 5:
  20693. return '[u] dddd [u] LT';}
  20694. },
  20695. lastDay: '[jučer u] LT',
  20696. lastWeek: function lastWeek() {
  20697. switch (this.day()) {
  20698. case 0:
  20699. return '[prošlu] [nedjelju] [u] LT';
  20700. case 3:
  20701. return '[prošlu] [srijedu] [u] LT';
  20702. case 6:
  20703. return '[prošle] [subote] [u] LT';
  20704. case 1:
  20705. case 2:
  20706. case 4:
  20707. case 5:
  20708. return '[prošli] dddd [u] LT';}
  20709. },
  20710. sameElse: 'L' },
  20711. relativeTime: {
  20712. future: 'za %s',
  20713. past: 'prije %s',
  20714. s: 'par sekundi',
  20715. ss: translate,
  20716. m: translate,
  20717. mm: translate,
  20718. h: translate,
  20719. hh: translate,
  20720. d: 'dan',
  20721. dd: translate,
  20722. M: 'mjesec',
  20723. MM: translate,
  20724. y: 'godinu',
  20725. yy: translate },
  20726. dayOfMonthOrdinalParse: /\d{1,2}\./,
  20727. ordinal: '%d.',
  20728. week: {
  20729. dow: 1, // Monday is the first day of the week.
  20730. doy: 7 // The week that contains Jan 7th is the first week of the year.
  20731. } });
  20732. return hr;
  20733. });
  20734. /***/ }),
  20735. /* 81 */
  20736. /*!*********************************************************************************************!*\
  20737. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/hu.js ***!
  20738. \*********************************************************************************************/
  20739. /*! no static exports found */
  20740. /***/ (function(module, exports, __webpack_require__) {
  20741. //! moment.js locale configuration
  20742. //! locale : Hungarian [hu]
  20743. //! author : Adam Brunner : https://github.com/adambrunner
  20744. //! author : Peter Viszt : https://github.com/passatgt
  20745. ;(function (global, factory) {
  20746. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  20747. undefined;
  20748. })(this, function (moment) {'use strict';
  20749. //! moment.js locale configuration
  20750. var weekEndings =
  20751. 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');
  20752. function translate(number, withoutSuffix, key, isFuture) {
  20753. var num = number;
  20754. switch (key) {
  20755. case 's':
  20756. return isFuture || withoutSuffix ?
  20757. 'néhány másodperc' :
  20758. 'néhány másodperce';
  20759. case 'ss':
  20760. return num + (isFuture || withoutSuffix) ?
  20761. ' másodperc' :
  20762. ' másodperce';
  20763. case 'm':
  20764. return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');
  20765. case 'mm':
  20766. return num + (isFuture || withoutSuffix ? ' perc' : ' perce');
  20767. case 'h':
  20768. return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');
  20769. case 'hh':
  20770. return num + (isFuture || withoutSuffix ? ' óra' : ' órája');
  20771. case 'd':
  20772. return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');
  20773. case 'dd':
  20774. return num + (isFuture || withoutSuffix ? ' nap' : ' napja');
  20775. case 'M':
  20776. return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
  20777. case 'MM':
  20778. return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
  20779. case 'y':
  20780. return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');
  20781. case 'yy':
  20782. return num + (isFuture || withoutSuffix ? ' év' : ' éve');}
  20783. return '';
  20784. }
  20785. function week(isFuture) {
  20786. return (
  20787. (isFuture ? '' : '[múlt] ') +
  20788. '[' +
  20789. weekEndings[this.day()] +
  20790. '] LT[-kor]');
  20791. }
  20792. var hu = moment.defineLocale('hu', {
  20793. months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(
  20794. '_'),
  20795. monthsShort:
  20796. 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(
  20797. '_'),
  20798. monthsParseExact: true,
  20799. weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),
  20800. weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),
  20801. weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),
  20802. longDateFormat: {
  20803. LT: 'H:mm',
  20804. LTS: 'H:mm:ss',
  20805. L: 'YYYY.MM.DD.',
  20806. LL: 'YYYY. MMMM D.',
  20807. LLL: 'YYYY. MMMM D. H:mm',
  20808. LLLL: 'YYYY. MMMM D., dddd H:mm' },
  20809. meridiemParse: /de|du/i,
  20810. isPM: function isPM(input) {
  20811. return input.charAt(1).toLowerCase() === 'u';
  20812. },
  20813. meridiem: function meridiem(hours, minutes, isLower) {
  20814. if (hours < 12) {
  20815. return isLower === true ? 'de' : 'DE';
  20816. } else {
  20817. return isLower === true ? 'du' : 'DU';
  20818. }
  20819. },
  20820. calendar: {
  20821. sameDay: '[ma] LT[-kor]',
  20822. nextDay: '[holnap] LT[-kor]',
  20823. nextWeek: function nextWeek() {
  20824. return week.call(this, true);
  20825. },
  20826. lastDay: '[tegnap] LT[-kor]',
  20827. lastWeek: function lastWeek() {
  20828. return week.call(this, false);
  20829. },
  20830. sameElse: 'L' },
  20831. relativeTime: {
  20832. future: '%s múlva',
  20833. past: '%s',
  20834. s: translate,
  20835. ss: translate,
  20836. m: translate,
  20837. mm: translate,
  20838. h: translate,
  20839. hh: translate,
  20840. d: translate,
  20841. dd: translate,
  20842. M: translate,
  20843. MM: translate,
  20844. y: translate,
  20845. yy: translate },
  20846. dayOfMonthOrdinalParse: /\d{1,2}\./,
  20847. ordinal: '%d.',
  20848. week: {
  20849. dow: 1, // Monday is the first day of the week.
  20850. doy: 4 // The week that contains Jan 4th is the first week of the year.
  20851. } });
  20852. return hu;
  20853. });
  20854. /***/ }),
  20855. /* 82 */
  20856. /*!************************************************************************************************!*\
  20857. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/hy-am.js ***!
  20858. \************************************************************************************************/
  20859. /*! no static exports found */
  20860. /***/ (function(module, exports, __webpack_require__) {
  20861. //! moment.js locale configuration
  20862. //! locale : Armenian [hy-am]
  20863. //! author : Armendarabyan : https://github.com/armendarabyan
  20864. ;(function (global, factory) {
  20865. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  20866. undefined;
  20867. })(this, function (moment) {'use strict';
  20868. //! moment.js locale configuration
  20869. var hyAm = moment.defineLocale('hy-am', {
  20870. months: {
  20871. format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(
  20872. '_'),
  20873. standalone:
  20874. 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(
  20875. '_') },
  20876. monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),
  20877. weekdays:
  20878. 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(
  20879. '_'),
  20880. weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
  20881. weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
  20882. longDateFormat: {
  20883. LT: 'HH:mm',
  20884. LTS: 'HH:mm:ss',
  20885. L: 'DD.MM.YYYY',
  20886. LL: 'D MMMM YYYY թ.',
  20887. LLL: 'D MMMM YYYY թ., HH:mm',
  20888. LLLL: 'dddd, D MMMM YYYY թ., HH:mm' },
  20889. calendar: {
  20890. sameDay: '[այսօր] LT',
  20891. nextDay: '[վաղը] LT',
  20892. lastDay: '[երեկ] LT',
  20893. nextWeek: function nextWeek() {
  20894. return 'dddd [օրը ժամը] LT';
  20895. },
  20896. lastWeek: function lastWeek() {
  20897. return '[անցած] dddd [օրը ժամը] LT';
  20898. },
  20899. sameElse: 'L' },
  20900. relativeTime: {
  20901. future: '%s հետո',
  20902. past: '%s առաջ',
  20903. s: 'մի քանի վայրկյան',
  20904. ss: '%d վայրկյան',
  20905. m: 'րոպե',
  20906. mm: '%d րոպե',
  20907. h: 'ժամ',
  20908. hh: '%d ժամ',
  20909. d: 'օր',
  20910. dd: '%d օր',
  20911. M: 'ամիս',
  20912. MM: '%d ամիս',
  20913. y: 'տարի',
  20914. yy: '%d տարի' },
  20915. meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,
  20916. isPM: function isPM(input) {
  20917. return /^(ցերեկվա|երեկոյան)$/.test(input);
  20918. },
  20919. meridiem: function meridiem(hour) {
  20920. if (hour < 4) {
  20921. return 'գիշերվա';
  20922. } else if (hour < 12) {
  20923. return 'առավոտվա';
  20924. } else if (hour < 17) {
  20925. return 'ցերեկվա';
  20926. } else {
  20927. return 'երեկոյան';
  20928. }
  20929. },
  20930. dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/,
  20931. ordinal: function ordinal(number, period) {
  20932. switch (period) {
  20933. case 'DDD':
  20934. case 'w':
  20935. case 'W':
  20936. case 'DDDo':
  20937. if (number === 1) {
  20938. return number + '-ին';
  20939. }
  20940. return number + '-րդ';
  20941. default:
  20942. return number;}
  20943. },
  20944. week: {
  20945. dow: 1, // Monday is the first day of the week.
  20946. doy: 7 // The week that contains Jan 7th is the first week of the year.
  20947. } });
  20948. return hyAm;
  20949. });
  20950. /***/ }),
  20951. /* 83 */
  20952. /*!*********************************************************************************************!*\
  20953. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/id.js ***!
  20954. \*********************************************************************************************/
  20955. /*! no static exports found */
  20956. /***/ (function(module, exports, __webpack_require__) {
  20957. //! moment.js locale configuration
  20958. //! locale : Indonesian [id]
  20959. //! author : Mohammad Satrio Utomo : https://github.com/tyok
  20960. //! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan
  20961. ;(function (global, factory) {
  20962. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  20963. undefined;
  20964. })(this, function (moment) {'use strict';
  20965. //! moment.js locale configuration
  20966. var id = moment.defineLocale('id', {
  20967. months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(
  20968. '_'),
  20969. monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),
  20970. weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
  20971. weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
  20972. weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
  20973. longDateFormat: {
  20974. LT: 'HH.mm',
  20975. LTS: 'HH.mm.ss',
  20976. L: 'DD/MM/YYYY',
  20977. LL: 'D MMMM YYYY',
  20978. LLL: 'D MMMM YYYY [pukul] HH.mm',
  20979. LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm' },
  20980. meridiemParse: /pagi|siang|sore|malam/,
  20981. meridiemHour: function meridiemHour(hour, meridiem) {
  20982. if (hour === 12) {
  20983. hour = 0;
  20984. }
  20985. if (meridiem === 'pagi') {
  20986. return hour;
  20987. } else if (meridiem === 'siang') {
  20988. return hour >= 11 ? hour : hour + 12;
  20989. } else if (meridiem === 'sore' || meridiem === 'malam') {
  20990. return hour + 12;
  20991. }
  20992. },
  20993. meridiem: function meridiem(hours, minutes, isLower) {
  20994. if (hours < 11) {
  20995. return 'pagi';
  20996. } else if (hours < 15) {
  20997. return 'siang';
  20998. } else if (hours < 19) {
  20999. return 'sore';
  21000. } else {
  21001. return 'malam';
  21002. }
  21003. },
  21004. calendar: {
  21005. sameDay: '[Hari ini pukul] LT',
  21006. nextDay: '[Besok pukul] LT',
  21007. nextWeek: 'dddd [pukul] LT',
  21008. lastDay: '[Kemarin pukul] LT',
  21009. lastWeek: 'dddd [lalu pukul] LT',
  21010. sameElse: 'L' },
  21011. relativeTime: {
  21012. future: 'dalam %s',
  21013. past: '%s yang lalu',
  21014. s: 'beberapa detik',
  21015. ss: '%d detik',
  21016. m: 'semenit',
  21017. mm: '%d menit',
  21018. h: 'sejam',
  21019. hh: '%d jam',
  21020. d: 'sehari',
  21021. dd: '%d hari',
  21022. M: 'sebulan',
  21023. MM: '%d bulan',
  21024. y: 'setahun',
  21025. yy: '%d tahun' },
  21026. week: {
  21027. dow: 0, // Sunday is the first day of the week.
  21028. doy: 6 // The week that contains Jan 6th is the first week of the year.
  21029. } });
  21030. return id;
  21031. });
  21032. /***/ }),
  21033. /* 84 */
  21034. /*!*********************************************************************************************!*\
  21035. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/is.js ***!
  21036. \*********************************************************************************************/
  21037. /*! no static exports found */
  21038. /***/ (function(module, exports, __webpack_require__) {
  21039. //! moment.js locale configuration
  21040. //! locale : Icelandic [is]
  21041. //! author : Hinrik Örn Sigurðsson : https://github.com/hinrik
  21042. ;(function (global, factory) {
  21043. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  21044. undefined;
  21045. })(this, function (moment) {'use strict';
  21046. //! moment.js locale configuration
  21047. function plural(n) {
  21048. if (n % 100 === 11) {
  21049. return true;
  21050. } else if (n % 10 === 1) {
  21051. return false;
  21052. }
  21053. return true;
  21054. }
  21055. function translate(number, withoutSuffix, key, isFuture) {
  21056. var result = number + ' ';
  21057. switch (key) {
  21058. case 's':
  21059. return withoutSuffix || isFuture ?
  21060. 'nokkrar sekúndur' :
  21061. 'nokkrum sekúndum';
  21062. case 'ss':
  21063. if (plural(number)) {
  21064. return (
  21065. result + (
  21066. withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum'));
  21067. }
  21068. return result + 'sekúnda';
  21069. case 'm':
  21070. return withoutSuffix ? 'mínúta' : 'mínútu';
  21071. case 'mm':
  21072. if (plural(number)) {
  21073. return (
  21074. result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum'));
  21075. } else if (withoutSuffix) {
  21076. return result + 'mínúta';
  21077. }
  21078. return result + 'mínútu';
  21079. case 'hh':
  21080. if (plural(number)) {
  21081. return (
  21082. result + (
  21083. withoutSuffix || isFuture ?
  21084. 'klukkustundir' :
  21085. 'klukkustundum'));
  21086. }
  21087. return result + 'klukkustund';
  21088. case 'd':
  21089. if (withoutSuffix) {
  21090. return 'dagur';
  21091. }
  21092. return isFuture ? 'dag' : 'degi';
  21093. case 'dd':
  21094. if (plural(number)) {
  21095. if (withoutSuffix) {
  21096. return result + 'dagar';
  21097. }
  21098. return result + (isFuture ? 'daga' : 'dögum');
  21099. } else if (withoutSuffix) {
  21100. return result + 'dagur';
  21101. }
  21102. return result + (isFuture ? 'dag' : 'degi');
  21103. case 'M':
  21104. if (withoutSuffix) {
  21105. return 'mánuður';
  21106. }
  21107. return isFuture ? 'mánuð' : 'mánuði';
  21108. case 'MM':
  21109. if (plural(number)) {
  21110. if (withoutSuffix) {
  21111. return result + 'mánuðir';
  21112. }
  21113. return result + (isFuture ? 'mánuði' : 'mánuðum');
  21114. } else if (withoutSuffix) {
  21115. return result + 'mánuður';
  21116. }
  21117. return result + (isFuture ? 'mánuð' : 'mánuði');
  21118. case 'y':
  21119. return withoutSuffix || isFuture ? 'ár' : 'ári';
  21120. case 'yy':
  21121. if (plural(number)) {
  21122. return result + (withoutSuffix || isFuture ? 'ár' : 'árum');
  21123. }
  21124. return result + (withoutSuffix || isFuture ? 'ár' : 'ári');}
  21125. }
  21126. var is = moment.defineLocale('is', {
  21127. months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(
  21128. '_'),
  21129. monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),
  21130. weekdays:
  21131. 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(
  21132. '_'),
  21133. weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),
  21134. weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),
  21135. longDateFormat: {
  21136. LT: 'H:mm',
  21137. LTS: 'H:mm:ss',
  21138. L: 'DD.MM.YYYY',
  21139. LL: 'D. MMMM YYYY',
  21140. LLL: 'D. MMMM YYYY [kl.] H:mm',
  21141. LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm' },
  21142. calendar: {
  21143. sameDay: '[í dag kl.] LT',
  21144. nextDay: '[á morgun kl.] LT',
  21145. nextWeek: 'dddd [kl.] LT',
  21146. lastDay: '[í gær kl.] LT',
  21147. lastWeek: '[síðasta] dddd [kl.] LT',
  21148. sameElse: 'L' },
  21149. relativeTime: {
  21150. future: 'eftir %s',
  21151. past: 'fyrir %s síðan',
  21152. s: translate,
  21153. ss: translate,
  21154. m: translate,
  21155. mm: translate,
  21156. h: 'klukkustund',
  21157. hh: translate,
  21158. d: translate,
  21159. dd: translate,
  21160. M: translate,
  21161. MM: translate,
  21162. y: translate,
  21163. yy: translate },
  21164. dayOfMonthOrdinalParse: /\d{1,2}\./,
  21165. ordinal: '%d.',
  21166. week: {
  21167. dow: 1, // Monday is the first day of the week.
  21168. doy: 4 // The week that contains Jan 4th is the first week of the year.
  21169. } });
  21170. return is;
  21171. });
  21172. /***/ }),
  21173. /* 85 */
  21174. /*!*********************************************************************************************!*\
  21175. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/it.js ***!
  21176. \*********************************************************************************************/
  21177. /*! no static exports found */
  21178. /***/ (function(module, exports, __webpack_require__) {
  21179. //! moment.js locale configuration
  21180. //! locale : Italian [it]
  21181. //! author : Lorenzo : https://github.com/aliem
  21182. //! author: Mattia Larentis: https://github.com/nostalgiaz
  21183. //! author: Marco : https://github.com/Manfre98
  21184. ;(function (global, factory) {
  21185. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  21186. undefined;
  21187. })(this, function (moment) {'use strict';
  21188. //! moment.js locale configuration
  21189. var it = moment.defineLocale('it', {
  21190. months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(
  21191. '_'),
  21192. monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
  21193. weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(
  21194. '_'),
  21195. weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
  21196. weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),
  21197. longDateFormat: {
  21198. LT: 'HH:mm',
  21199. LTS: 'HH:mm:ss',
  21200. L: 'DD/MM/YYYY',
  21201. LL: 'D MMMM YYYY',
  21202. LLL: 'D MMMM YYYY HH:mm',
  21203. LLLL: 'dddd D MMMM YYYY HH:mm' },
  21204. calendar: {
  21205. sameDay: function sameDay() {
  21206. return (
  21207. '[Oggi a' + (
  21208. this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") +
  21209. ']LT');
  21210. },
  21211. nextDay: function nextDay() {
  21212. return (
  21213. '[Domani a' + (
  21214. this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") +
  21215. ']LT');
  21216. },
  21217. nextWeek: function nextWeek() {
  21218. return (
  21219. 'dddd [a' + (
  21220. this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") +
  21221. ']LT');
  21222. },
  21223. lastDay: function lastDay() {
  21224. return (
  21225. '[Ieri a' + (
  21226. this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") +
  21227. ']LT');
  21228. },
  21229. lastWeek: function lastWeek() {
  21230. switch (this.day()) {
  21231. case 0:
  21232. return (
  21233. '[La scorsa] dddd [a' + (
  21234. this.hours() > 1 ?
  21235. 'lle ' :
  21236. this.hours() === 0 ?
  21237. ' ' :
  21238. "ll'") +
  21239. ']LT');
  21240. default:
  21241. return (
  21242. '[Lo scorso] dddd [a' + (
  21243. this.hours() > 1 ?
  21244. 'lle ' :
  21245. this.hours() === 0 ?
  21246. ' ' :
  21247. "ll'") +
  21248. ']LT');}
  21249. },
  21250. sameElse: 'L' },
  21251. relativeTime: {
  21252. future: 'tra %s',
  21253. past: '%s fa',
  21254. s: 'alcuni secondi',
  21255. ss: '%d secondi',
  21256. m: 'un minuto',
  21257. mm: '%d minuti',
  21258. h: "un'ora",
  21259. hh: '%d ore',
  21260. d: 'un giorno',
  21261. dd: '%d giorni',
  21262. w: 'una settimana',
  21263. ww: '%d settimane',
  21264. M: 'un mese',
  21265. MM: '%d mesi',
  21266. y: 'un anno',
  21267. yy: '%d anni' },
  21268. dayOfMonthOrdinalParse: /\d{1,2}º/,
  21269. ordinal: '%dº',
  21270. week: {
  21271. dow: 1, // Monday is the first day of the week.
  21272. doy: 4 // The week that contains Jan 4th is the first week of the year.
  21273. } });
  21274. return it;
  21275. });
  21276. /***/ }),
  21277. /* 86 */
  21278. /*!************************************************************************************************!*\
  21279. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/it-ch.js ***!
  21280. \************************************************************************************************/
  21281. /*! no static exports found */
  21282. /***/ (function(module, exports, __webpack_require__) {
  21283. //! moment.js locale configuration
  21284. //! locale : Italian (Switzerland) [it-ch]
  21285. //! author : xfh : https://github.com/xfh
  21286. ;(function (global, factory) {
  21287. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  21288. undefined;
  21289. })(this, function (moment) {'use strict';
  21290. //! moment.js locale configuration
  21291. var itCh = moment.defineLocale('it-ch', {
  21292. months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(
  21293. '_'),
  21294. monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
  21295. weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(
  21296. '_'),
  21297. weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
  21298. weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),
  21299. longDateFormat: {
  21300. LT: 'HH:mm',
  21301. LTS: 'HH:mm:ss',
  21302. L: 'DD.MM.YYYY',
  21303. LL: 'D MMMM YYYY',
  21304. LLL: 'D MMMM YYYY HH:mm',
  21305. LLLL: 'dddd D MMMM YYYY HH:mm' },
  21306. calendar: {
  21307. sameDay: '[Oggi alle] LT',
  21308. nextDay: '[Domani alle] LT',
  21309. nextWeek: 'dddd [alle] LT',
  21310. lastDay: '[Ieri alle] LT',
  21311. lastWeek: function lastWeek() {
  21312. switch (this.day()) {
  21313. case 0:
  21314. return '[la scorsa] dddd [alle] LT';
  21315. default:
  21316. return '[lo scorso] dddd [alle] LT';}
  21317. },
  21318. sameElse: 'L' },
  21319. relativeTime: {
  21320. future: function future(s) {
  21321. return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;
  21322. },
  21323. past: '%s fa',
  21324. s: 'alcuni secondi',
  21325. ss: '%d secondi',
  21326. m: 'un minuto',
  21327. mm: '%d minuti',
  21328. h: "un'ora",
  21329. hh: '%d ore',
  21330. d: 'un giorno',
  21331. dd: '%d giorni',
  21332. M: 'un mese',
  21333. MM: '%d mesi',
  21334. y: 'un anno',
  21335. yy: '%d anni' },
  21336. dayOfMonthOrdinalParse: /\d{1,2}º/,
  21337. ordinal: '%dº',
  21338. week: {
  21339. dow: 1, // Monday is the first day of the week.
  21340. doy: 4 // The week that contains Jan 4th is the first week of the year.
  21341. } });
  21342. return itCh;
  21343. });
  21344. /***/ }),
  21345. /* 87 */
  21346. /*!*********************************************************************************************!*\
  21347. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ja.js ***!
  21348. \*********************************************************************************************/
  21349. /*! no static exports found */
  21350. /***/ (function(module, exports, __webpack_require__) {
  21351. //! moment.js locale configuration
  21352. //! locale : Japanese [ja]
  21353. //! author : LI Long : https://github.com/baryon
  21354. ;(function (global, factory) {
  21355. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  21356. undefined;
  21357. })(this, function (moment) {'use strict';
  21358. //! moment.js locale configuration
  21359. var ja = moment.defineLocale('ja', {
  21360. eras: [
  21361. {
  21362. since: '2019-05-01',
  21363. offset: 1,
  21364. name: '令和',
  21365. narrow: '㋿',
  21366. abbr: 'R' },
  21367. {
  21368. since: '1989-01-08',
  21369. until: '2019-04-30',
  21370. offset: 1,
  21371. name: '平成',
  21372. narrow: '㍻',
  21373. abbr: 'H' },
  21374. {
  21375. since: '1926-12-25',
  21376. until: '1989-01-07',
  21377. offset: 1,
  21378. name: '昭和',
  21379. narrow: '㍼',
  21380. abbr: 'S' },
  21381. {
  21382. since: '1912-07-30',
  21383. until: '1926-12-24',
  21384. offset: 1,
  21385. name: '大正',
  21386. narrow: '㍽',
  21387. abbr: 'T' },
  21388. {
  21389. since: '1873-01-01',
  21390. until: '1912-07-29',
  21391. offset: 6,
  21392. name: '明治',
  21393. narrow: '㍾',
  21394. abbr: 'M' },
  21395. {
  21396. since: '0001-01-01',
  21397. until: '1873-12-31',
  21398. offset: 1,
  21399. name: '西暦',
  21400. narrow: 'AD',
  21401. abbr: 'AD' },
  21402. {
  21403. since: '0000-12-31',
  21404. until: -Infinity,
  21405. offset: 1,
  21406. name: '紀元前',
  21407. narrow: 'BC',
  21408. abbr: 'BC' }],
  21409. eraYearOrdinalRegex: /(元|\d+)年/,
  21410. eraYearOrdinalParse: function eraYearOrdinalParse(input, match) {
  21411. return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);
  21412. },
  21413. months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
  21414. monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
  21415. '_'),
  21416. weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),
  21417. weekdaysShort: '日_月_火_水_木_金_土'.split('_'),
  21418. weekdaysMin: '日_月_火_水_木_金_土'.split('_'),
  21419. longDateFormat: {
  21420. LT: 'HH:mm',
  21421. LTS: 'HH:mm:ss',
  21422. L: 'YYYY/MM/DD',
  21423. LL: 'YYYY年M月D日',
  21424. LLL: 'YYYY年M月D日 HH:mm',
  21425. LLLL: 'YYYY年M月D日 dddd HH:mm',
  21426. l: 'YYYY/MM/DD',
  21427. ll: 'YYYY年M月D日',
  21428. lll: 'YYYY年M月D日 HH:mm',
  21429. llll: 'YYYY年M月D日(ddd) HH:mm' },
  21430. meridiemParse: /午前|午後/i,
  21431. isPM: function isPM(input) {
  21432. return input === '午後';
  21433. },
  21434. meridiem: function meridiem(hour, minute, isLower) {
  21435. if (hour < 12) {
  21436. return '午前';
  21437. } else {
  21438. return '午後';
  21439. }
  21440. },
  21441. calendar: {
  21442. sameDay: '[今日] LT',
  21443. nextDay: '[明日] LT',
  21444. nextWeek: function nextWeek(now) {
  21445. if (now.week() !== this.week()) {
  21446. return '[来週]dddd LT';
  21447. } else {
  21448. return 'dddd LT';
  21449. }
  21450. },
  21451. lastDay: '[昨日] LT',
  21452. lastWeek: function lastWeek(now) {
  21453. if (this.week() !== now.week()) {
  21454. return '[先週]dddd LT';
  21455. } else {
  21456. return 'dddd LT';
  21457. }
  21458. },
  21459. sameElse: 'L' },
  21460. dayOfMonthOrdinalParse: /\d{1,2}日/,
  21461. ordinal: function ordinal(number, period) {
  21462. switch (period) {
  21463. case 'y':
  21464. return number === 1 ? '元年' : number + '年';
  21465. case 'd':
  21466. case 'D':
  21467. case 'DDD':
  21468. return number + '日';
  21469. default:
  21470. return number;}
  21471. },
  21472. relativeTime: {
  21473. future: '%s後',
  21474. past: '%s前',
  21475. s: '数秒',
  21476. ss: '%d秒',
  21477. m: '1分',
  21478. mm: '%d分',
  21479. h: '1時間',
  21480. hh: '%d時間',
  21481. d: '1日',
  21482. dd: '%d日',
  21483. M: '1ヶ月',
  21484. MM: '%dヶ月',
  21485. y: '1年',
  21486. yy: '%d年' } });
  21487. return ja;
  21488. });
  21489. /***/ }),
  21490. /* 88 */
  21491. /*!*********************************************************************************************!*\
  21492. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/jv.js ***!
  21493. \*********************************************************************************************/
  21494. /*! no static exports found */
  21495. /***/ (function(module, exports, __webpack_require__) {
  21496. //! moment.js locale configuration
  21497. //! locale : Javanese [jv]
  21498. //! author : Rony Lantip : https://github.com/lantip
  21499. //! reference: http://jv.wikipedia.org/wiki/Basa_Jawa
  21500. ;(function (global, factory) {
  21501. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  21502. undefined;
  21503. })(this, function (moment) {'use strict';
  21504. //! moment.js locale configuration
  21505. var jv = moment.defineLocale('jv', {
  21506. months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(
  21507. '_'),
  21508. monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),
  21509. weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),
  21510. weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),
  21511. weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),
  21512. longDateFormat: {
  21513. LT: 'HH.mm',
  21514. LTS: 'HH.mm.ss',
  21515. L: 'DD/MM/YYYY',
  21516. LL: 'D MMMM YYYY',
  21517. LLL: 'D MMMM YYYY [pukul] HH.mm',
  21518. LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm' },
  21519. meridiemParse: /enjing|siyang|sonten|ndalu/,
  21520. meridiemHour: function meridiemHour(hour, meridiem) {
  21521. if (hour === 12) {
  21522. hour = 0;
  21523. }
  21524. if (meridiem === 'enjing') {
  21525. return hour;
  21526. } else if (meridiem === 'siyang') {
  21527. return hour >= 11 ? hour : hour + 12;
  21528. } else if (meridiem === 'sonten' || meridiem === 'ndalu') {
  21529. return hour + 12;
  21530. }
  21531. },
  21532. meridiem: function meridiem(hours, minutes, isLower) {
  21533. if (hours < 11) {
  21534. return 'enjing';
  21535. } else if (hours < 15) {
  21536. return 'siyang';
  21537. } else if (hours < 19) {
  21538. return 'sonten';
  21539. } else {
  21540. return 'ndalu';
  21541. }
  21542. },
  21543. calendar: {
  21544. sameDay: '[Dinten puniko pukul] LT',
  21545. nextDay: '[Mbenjang pukul] LT',
  21546. nextWeek: 'dddd [pukul] LT',
  21547. lastDay: '[Kala wingi pukul] LT',
  21548. lastWeek: 'dddd [kepengker pukul] LT',
  21549. sameElse: 'L' },
  21550. relativeTime: {
  21551. future: 'wonten ing %s',
  21552. past: '%s ingkang kepengker',
  21553. s: 'sawetawis detik',
  21554. ss: '%d detik',
  21555. m: 'setunggal menit',
  21556. mm: '%d menit',
  21557. h: 'setunggal jam',
  21558. hh: '%d jam',
  21559. d: 'sedinten',
  21560. dd: '%d dinten',
  21561. M: 'sewulan',
  21562. MM: '%d wulan',
  21563. y: 'setaun',
  21564. yy: '%d taun' },
  21565. week: {
  21566. dow: 1, // Monday is the first day of the week.
  21567. doy: 7 // The week that contains Jan 7th is the first week of the year.
  21568. } });
  21569. return jv;
  21570. });
  21571. /***/ }),
  21572. /* 89 */
  21573. /*!*********************************************************************************************!*\
  21574. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ka.js ***!
  21575. \*********************************************************************************************/
  21576. /*! no static exports found */
  21577. /***/ (function(module, exports, __webpack_require__) {
  21578. //! moment.js locale configuration
  21579. //! locale : Georgian [ka]
  21580. //! author : Irakli Janiashvili : https://github.com/IrakliJani
  21581. ;(function (global, factory) {
  21582. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  21583. undefined;
  21584. })(this, function (moment) {'use strict';
  21585. //! moment.js locale configuration
  21586. var ka = moment.defineLocale('ka', {
  21587. months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(
  21588. '_'),
  21589. monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),
  21590. weekdays: {
  21591. standalone:
  21592. 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(
  21593. '_'),
  21594. format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(
  21595. '_'),
  21596. isFormat: /(წინა|შემდეგ)/ },
  21597. weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),
  21598. weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),
  21599. longDateFormat: {
  21600. LT: 'HH:mm',
  21601. LTS: 'HH:mm:ss',
  21602. L: 'DD/MM/YYYY',
  21603. LL: 'D MMMM YYYY',
  21604. LLL: 'D MMMM YYYY HH:mm',
  21605. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  21606. calendar: {
  21607. sameDay: '[დღეს] LT[-ზე]',
  21608. nextDay: '[ხვალ] LT[-ზე]',
  21609. lastDay: '[გუშინ] LT[-ზე]',
  21610. nextWeek: '[შემდეგ] dddd LT[-ზე]',
  21611. lastWeek: '[წინა] dddd LT-ზე',
  21612. sameElse: 'L' },
  21613. relativeTime: {
  21614. future: function future(s) {
  21615. return s.replace(
  21616. /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,
  21617. function ($0, $1, $2) {
  21618. return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';
  21619. });
  21620. },
  21621. past: function past(s) {
  21622. if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {
  21623. return s.replace(/(ი|ე)$/, 'ის წინ');
  21624. }
  21625. if (/წელი/.test(s)) {
  21626. return s.replace(/წელი$/, 'წლის წინ');
  21627. }
  21628. return s;
  21629. },
  21630. s: 'რამდენიმე წამი',
  21631. ss: '%d წამი',
  21632. m: 'წუთი',
  21633. mm: '%d წუთი',
  21634. h: 'საათი',
  21635. hh: '%d საათი',
  21636. d: 'დღე',
  21637. dd: '%d დღე',
  21638. M: 'თვე',
  21639. MM: '%d თვე',
  21640. y: 'წელი',
  21641. yy: '%d წელი' },
  21642. dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,
  21643. ordinal: function ordinal(number) {
  21644. if (number === 0) {
  21645. return number;
  21646. }
  21647. if (number === 1) {
  21648. return number + '-ლი';
  21649. }
  21650. if (
  21651. number < 20 ||
  21652. number <= 100 && number % 20 === 0 ||
  21653. number % 100 === 0)
  21654. {
  21655. return 'მე-' + number;
  21656. }
  21657. return number + '-ე';
  21658. },
  21659. week: {
  21660. dow: 1,
  21661. doy: 7 } });
  21662. return ka;
  21663. });
  21664. /***/ }),
  21665. /* 90 */
  21666. /*!*********************************************************************************************!*\
  21667. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/kk.js ***!
  21668. \*********************************************************************************************/
  21669. /*! no static exports found */
  21670. /***/ (function(module, exports, __webpack_require__) {
  21671. //! moment.js locale configuration
  21672. //! locale : Kazakh [kk]
  21673. //! authors : Nurlan Rakhimzhanov : https://github.com/nurlan
  21674. ;(function (global, factory) {
  21675. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  21676. undefined;
  21677. })(this, function (moment) {'use strict';
  21678. //! moment.js locale configuration
  21679. var suffixes = {
  21680. 0: '-ші',
  21681. 1: '-ші',
  21682. 2: '-ші',
  21683. 3: '-ші',
  21684. 4: '-ші',
  21685. 5: '-ші',
  21686. 6: '-шы',
  21687. 7: '-ші',
  21688. 8: '-ші',
  21689. 9: '-шы',
  21690. 10: '-шы',
  21691. 20: '-шы',
  21692. 30: '-шы',
  21693. 40: '-шы',
  21694. 50: '-ші',
  21695. 60: '-шы',
  21696. 70: '-ші',
  21697. 80: '-ші',
  21698. 90: '-шы',
  21699. 100: '-ші' };
  21700. var kk = moment.defineLocale('kk', {
  21701. months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(
  21702. '_'),
  21703. monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),
  21704. weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(
  21705. '_'),
  21706. weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),
  21707. weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),
  21708. longDateFormat: {
  21709. LT: 'HH:mm',
  21710. LTS: 'HH:mm:ss',
  21711. L: 'DD.MM.YYYY',
  21712. LL: 'D MMMM YYYY',
  21713. LLL: 'D MMMM YYYY HH:mm',
  21714. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  21715. calendar: {
  21716. sameDay: '[Бүгін сағат] LT',
  21717. nextDay: '[Ертең сағат] LT',
  21718. nextWeek: 'dddd [сағат] LT',
  21719. lastDay: '[Кеше сағат] LT',
  21720. lastWeek: '[Өткен аптаның] dddd [сағат] LT',
  21721. sameElse: 'L' },
  21722. relativeTime: {
  21723. future: '%s ішінде',
  21724. past: '%s бұрын',
  21725. s: 'бірнеше секунд',
  21726. ss: '%d секунд',
  21727. m: 'бір минут',
  21728. mm: '%d минут',
  21729. h: 'бір сағат',
  21730. hh: '%d сағат',
  21731. d: 'бір күн',
  21732. dd: '%d күн',
  21733. M: 'бір ай',
  21734. MM: '%d ай',
  21735. y: 'бір жыл',
  21736. yy: '%d жыл' },
  21737. dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/,
  21738. ordinal: function ordinal(number) {
  21739. var a = number % 10,
  21740. b = number >= 100 ? 100 : null;
  21741. return number + (suffixes[number] || suffixes[a] || suffixes[b]);
  21742. },
  21743. week: {
  21744. dow: 1, // Monday is the first day of the week.
  21745. doy: 7 // The week that contains Jan 7th is the first week of the year.
  21746. } });
  21747. return kk;
  21748. });
  21749. /***/ }),
  21750. /* 91 */
  21751. /*!*********************************************************************************************!*\
  21752. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/km.js ***!
  21753. \*********************************************************************************************/
  21754. /*! no static exports found */
  21755. /***/ (function(module, exports, __webpack_require__) {
  21756. //! moment.js locale configuration
  21757. //! locale : Cambodian [km]
  21758. //! author : Kruy Vanna : https://github.com/kruyvanna
  21759. ;(function (global, factory) {
  21760. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  21761. undefined;
  21762. })(this, function (moment) {'use strict';
  21763. //! moment.js locale configuration
  21764. var symbolMap = {
  21765. 1: '១',
  21766. 2: '២',
  21767. 3: '៣',
  21768. 4: '៤',
  21769. 5: '៥',
  21770. 6: '៦',
  21771. 7: '៧',
  21772. 8: '៨',
  21773. 9: '៩',
  21774. 0: '០' },
  21775. numberMap = {
  21776. '១': '1',
  21777. '២': '2',
  21778. '៣': '3',
  21779. '៤': '4',
  21780. '៥': '5',
  21781. '៦': '6',
  21782. '៧': '7',
  21783. '៨': '8',
  21784. '៩': '9',
  21785. '០': '0' };
  21786. var km = moment.defineLocale('km', {
  21787. months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
  21788. '_'),
  21789. monthsShort:
  21790. 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
  21791. '_'),
  21792. weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
  21793. weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
  21794. weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
  21795. weekdaysParseExact: true,
  21796. longDateFormat: {
  21797. LT: 'HH:mm',
  21798. LTS: 'HH:mm:ss',
  21799. L: 'DD/MM/YYYY',
  21800. LL: 'D MMMM YYYY',
  21801. LLL: 'D MMMM YYYY HH:mm',
  21802. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  21803. meridiemParse: /ព្រឹក|ល្ងាច/,
  21804. isPM: function isPM(input) {
  21805. return input === 'ល្ងាច';
  21806. },
  21807. meridiem: function meridiem(hour, minute, isLower) {
  21808. if (hour < 12) {
  21809. return 'ព្រឹក';
  21810. } else {
  21811. return 'ល្ងាច';
  21812. }
  21813. },
  21814. calendar: {
  21815. sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',
  21816. nextDay: '[ស្អែក ម៉ោង] LT',
  21817. nextWeek: 'dddd [ម៉ោង] LT',
  21818. lastDay: '[ម្សិលមិញ ម៉ោង] LT',
  21819. lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',
  21820. sameElse: 'L' },
  21821. relativeTime: {
  21822. future: '%sទៀត',
  21823. past: '%sមុន',
  21824. s: 'ប៉ុន្មានវិនាទី',
  21825. ss: '%d វិនាទី',
  21826. m: 'មួយនាទី',
  21827. mm: '%d នាទី',
  21828. h: 'មួយម៉ោង',
  21829. hh: '%d ម៉ោង',
  21830. d: 'មួយថ្ងៃ',
  21831. dd: '%d ថ្ងៃ',
  21832. M: 'មួយខែ',
  21833. MM: '%d ខែ',
  21834. y: 'មួយឆ្នាំ',
  21835. yy: '%d ឆ្នាំ' },
  21836. dayOfMonthOrdinalParse: /ទី\d{1,2}/,
  21837. ordinal: 'ទី%d',
  21838. preparse: function preparse(string) {
  21839. return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {
  21840. return numberMap[match];
  21841. });
  21842. },
  21843. postformat: function postformat(string) {
  21844. return string.replace(/\d/g, function (match) {
  21845. return symbolMap[match];
  21846. });
  21847. },
  21848. week: {
  21849. dow: 1, // Monday is the first day of the week.
  21850. doy: 4 // The week that contains Jan 4th is the first week of the year.
  21851. } });
  21852. return km;
  21853. });
  21854. /***/ }),
  21855. /* 92 */
  21856. /*!*********************************************************************************************!*\
  21857. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/kn.js ***!
  21858. \*********************************************************************************************/
  21859. /*! no static exports found */
  21860. /***/ (function(module, exports, __webpack_require__) {
  21861. //! moment.js locale configuration
  21862. //! locale : Kannada [kn]
  21863. //! author : Rajeev Naik : https://github.com/rajeevnaikte
  21864. ;(function (global, factory) {
  21865. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  21866. undefined;
  21867. })(this, function (moment) {'use strict';
  21868. //! moment.js locale configuration
  21869. var symbolMap = {
  21870. 1: '೧',
  21871. 2: '೨',
  21872. 3: '೩',
  21873. 4: '೪',
  21874. 5: '೫',
  21875. 6: '೬',
  21876. 7: '೭',
  21877. 8: '೮',
  21878. 9: '೯',
  21879. 0: '೦' },
  21880. numberMap = {
  21881. '೧': '1',
  21882. '೨': '2',
  21883. '೩': '3',
  21884. '೪': '4',
  21885. '೫': '5',
  21886. '೬': '6',
  21887. '೭': '7',
  21888. '೮': '8',
  21889. '೯': '9',
  21890. '೦': '0' };
  21891. var kn = moment.defineLocale('kn', {
  21892. months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(
  21893. '_'),
  21894. monthsShort:
  21895. 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(
  21896. '_'),
  21897. monthsParseExact: true,
  21898. weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(
  21899. '_'),
  21900. weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),
  21901. weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),
  21902. longDateFormat: {
  21903. LT: 'A h:mm',
  21904. LTS: 'A h:mm:ss',
  21905. L: 'DD/MM/YYYY',
  21906. LL: 'D MMMM YYYY',
  21907. LLL: 'D MMMM YYYY, A h:mm',
  21908. LLLL: 'dddd, D MMMM YYYY, A h:mm' },
  21909. calendar: {
  21910. sameDay: '[ಇಂದು] LT',
  21911. nextDay: '[ನಾಳೆ] LT',
  21912. nextWeek: 'dddd, LT',
  21913. lastDay: '[ನಿನ್ನೆ] LT',
  21914. lastWeek: '[ಕೊನೆಯ] dddd, LT',
  21915. sameElse: 'L' },
  21916. relativeTime: {
  21917. future: '%s ನಂತರ',
  21918. past: '%s ಹಿಂದೆ',
  21919. s: 'ಕೆಲವು ಕ್ಷಣಗಳು',
  21920. ss: '%d ಸೆಕೆಂಡುಗಳು',
  21921. m: 'ಒಂದು ನಿಮಿಷ',
  21922. mm: '%d ನಿಮಿಷ',
  21923. h: 'ಒಂದು ಗಂಟೆ',
  21924. hh: '%d ಗಂಟೆ',
  21925. d: 'ಒಂದು ದಿನ',
  21926. dd: '%d ದಿನ',
  21927. M: 'ಒಂದು ತಿಂಗಳು',
  21928. MM: '%d ತಿಂಗಳು',
  21929. y: 'ಒಂದು ವರ್ಷ',
  21930. yy: '%d ವರ್ಷ' },
  21931. preparse: function preparse(string) {
  21932. return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {
  21933. return numberMap[match];
  21934. });
  21935. },
  21936. postformat: function postformat(string) {
  21937. return string.replace(/\d/g, function (match) {
  21938. return symbolMap[match];
  21939. });
  21940. },
  21941. meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,
  21942. meridiemHour: function meridiemHour(hour, meridiem) {
  21943. if (hour === 12) {
  21944. hour = 0;
  21945. }
  21946. if (meridiem === 'ರಾತ್ರಿ') {
  21947. return hour < 4 ? hour : hour + 12;
  21948. } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {
  21949. return hour;
  21950. } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {
  21951. return hour >= 10 ? hour : hour + 12;
  21952. } else if (meridiem === 'ಸಂಜೆ') {
  21953. return hour + 12;
  21954. }
  21955. },
  21956. meridiem: function meridiem(hour, minute, isLower) {
  21957. if (hour < 4) {
  21958. return 'ರಾತ್ರಿ';
  21959. } else if (hour < 10) {
  21960. return 'ಬೆಳಿಗ್ಗೆ';
  21961. } else if (hour < 17) {
  21962. return 'ಮಧ್ಯಾಹ್ನ';
  21963. } else if (hour < 20) {
  21964. return 'ಸಂಜೆ';
  21965. } else {
  21966. return 'ರಾತ್ರಿ';
  21967. }
  21968. },
  21969. dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/,
  21970. ordinal: function ordinal(number) {
  21971. return number + 'ನೇ';
  21972. },
  21973. week: {
  21974. dow: 0, // Sunday is the first day of the week.
  21975. doy: 6 // The week that contains Jan 6th is the first week of the year.
  21976. } });
  21977. return kn;
  21978. });
  21979. /***/ }),
  21980. /* 93 */
  21981. /*!*********************************************************************************************!*\
  21982. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ko.js ***!
  21983. \*********************************************************************************************/
  21984. /*! no static exports found */
  21985. /***/ (function(module, exports, __webpack_require__) {
  21986. //! moment.js locale configuration
  21987. //! locale : Korean [ko]
  21988. //! author : Kyungwook, Park : https://github.com/kyungw00k
  21989. //! author : Jeeeyul Lee <jeeeyul@gmail.com>
  21990. ;(function (global, factory) {
  21991. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  21992. undefined;
  21993. })(this, function (moment) {'use strict';
  21994. //! moment.js locale configuration
  21995. var ko = moment.defineLocale('ko', {
  21996. months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
  21997. monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(
  21998. '_'),
  21999. weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),
  22000. weekdaysShort: '일_월_화_수_목_금_토'.split('_'),
  22001. weekdaysMin: '일_월_화_수_목_금_토'.split('_'),
  22002. longDateFormat: {
  22003. LT: 'A h:mm',
  22004. LTS: 'A h:mm:ss',
  22005. L: 'YYYY.MM.DD.',
  22006. LL: 'YYYY년 MMMM D일',
  22007. LLL: 'YYYY년 MMMM D일 A h:mm',
  22008. LLLL: 'YYYY년 MMMM D일 dddd A h:mm',
  22009. l: 'YYYY.MM.DD.',
  22010. ll: 'YYYY년 MMMM D일',
  22011. lll: 'YYYY년 MMMM D일 A h:mm',
  22012. llll: 'YYYY년 MMMM D일 dddd A h:mm' },
  22013. calendar: {
  22014. sameDay: '오늘 LT',
  22015. nextDay: '내일 LT',
  22016. nextWeek: 'dddd LT',
  22017. lastDay: '어제 LT',
  22018. lastWeek: '지난주 dddd LT',
  22019. sameElse: 'L' },
  22020. relativeTime: {
  22021. future: '%s 후',
  22022. past: '%s 전',
  22023. s: '몇 초',
  22024. ss: '%d초',
  22025. m: '1분',
  22026. mm: '%d분',
  22027. h: '한 시간',
  22028. hh: '%d시간',
  22029. d: '하루',
  22030. dd: '%d일',
  22031. M: '한 달',
  22032. MM: '%d달',
  22033. y: '일 년',
  22034. yy: '%d년' },
  22035. dayOfMonthOrdinalParse: /\d{1,2}(일|월|주)/,
  22036. ordinal: function ordinal(number, period) {
  22037. switch (period) {
  22038. case 'd':
  22039. case 'D':
  22040. case 'DDD':
  22041. return number + '일';
  22042. case 'M':
  22043. return number + '월';
  22044. case 'w':
  22045. case 'W':
  22046. return number + '주';
  22047. default:
  22048. return number;}
  22049. },
  22050. meridiemParse: /오전|오후/,
  22051. isPM: function isPM(token) {
  22052. return token === '오후';
  22053. },
  22054. meridiem: function meridiem(hour, minute, isUpper) {
  22055. return hour < 12 ? '오전' : '오후';
  22056. } });
  22057. return ko;
  22058. });
  22059. /***/ }),
  22060. /* 94 */
  22061. /*!*********************************************************************************************!*\
  22062. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ku.js ***!
  22063. \*********************************************************************************************/
  22064. /*! no static exports found */
  22065. /***/ (function(module, exports, __webpack_require__) {
  22066. //! moment.js locale configuration
  22067. //! locale : Kurdish [ku]
  22068. //! author : Shahram Mebashar : https://github.com/ShahramMebashar
  22069. ;(function (global, factory) {
  22070. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  22071. undefined;
  22072. })(this, function (moment) {'use strict';
  22073. //! moment.js locale configuration
  22074. var symbolMap = {
  22075. 1: '١',
  22076. 2: '٢',
  22077. 3: '٣',
  22078. 4: '٤',
  22079. 5: '٥',
  22080. 6: '٦',
  22081. 7: '٧',
  22082. 8: '٨',
  22083. 9: '٩',
  22084. 0: '٠' },
  22085. numberMap = {
  22086. '١': '1',
  22087. '٢': '2',
  22088. '٣': '3',
  22089. '٤': '4',
  22090. '٥': '5',
  22091. '٦': '6',
  22092. '٧': '7',
  22093. '٨': '8',
  22094. '٩': '9',
  22095. '٠': '0' },
  22096. months = [
  22097. 'کانونی دووەم',
  22098. 'شوبات',
  22099. 'ئازار',
  22100. 'نیسان',
  22101. 'ئایار',
  22102. 'حوزەیران',
  22103. 'تەمموز',
  22104. 'ئاب',
  22105. 'ئەیلوول',
  22106. 'تشرینی یەكەم',
  22107. 'تشرینی دووەم',
  22108. 'كانونی یەکەم'];
  22109. var ku = moment.defineLocale('ku', {
  22110. months: months,
  22111. monthsShort: months,
  22112. weekdays:
  22113. 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(
  22114. '_'),
  22115. weekdaysShort:
  22116. 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),
  22117. weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),
  22118. weekdaysParseExact: true,
  22119. longDateFormat: {
  22120. LT: 'HH:mm',
  22121. LTS: 'HH:mm:ss',
  22122. L: 'DD/MM/YYYY',
  22123. LL: 'D MMMM YYYY',
  22124. LLL: 'D MMMM YYYY HH:mm',
  22125. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  22126. meridiemParse: /ئێواره‌|به‌یانی/,
  22127. isPM: function isPM(input) {
  22128. return /ئێواره‌/.test(input);
  22129. },
  22130. meridiem: function meridiem(hour, minute, isLower) {
  22131. if (hour < 12) {
  22132. return 'به‌یانی';
  22133. } else {
  22134. return 'ئێواره‌';
  22135. }
  22136. },
  22137. calendar: {
  22138. sameDay: '[ئه‌مرۆ كاتژمێر] LT',
  22139. nextDay: '[به‌یانی كاتژمێر] LT',
  22140. nextWeek: 'dddd [كاتژمێر] LT',
  22141. lastDay: '[دوێنێ كاتژمێر] LT',
  22142. lastWeek: 'dddd [كاتژمێر] LT',
  22143. sameElse: 'L' },
  22144. relativeTime: {
  22145. future: 'له‌ %s',
  22146. past: '%s',
  22147. s: 'چه‌ند چركه‌یه‌ك',
  22148. ss: 'چركه‌ %d',
  22149. m: 'یه‌ك خوله‌ك',
  22150. mm: '%d خوله‌ك',
  22151. h: 'یه‌ك كاتژمێر',
  22152. hh: '%d كاتژمێر',
  22153. d: 'یه‌ك ڕۆژ',
  22154. dd: '%d ڕۆژ',
  22155. M: 'یه‌ك مانگ',
  22156. MM: '%d مانگ',
  22157. y: 'یه‌ك ساڵ',
  22158. yy: '%d ساڵ' },
  22159. preparse: function preparse(string) {
  22160. return string.
  22161. replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
  22162. return numberMap[match];
  22163. }).
  22164. replace(/،/g, ',');
  22165. },
  22166. postformat: function postformat(string) {
  22167. return string.
  22168. replace(/\d/g, function (match) {
  22169. return symbolMap[match];
  22170. }).
  22171. replace(/,/g, '،');
  22172. },
  22173. week: {
  22174. dow: 6, // Saturday is the first day of the week.
  22175. doy: 12 // The week that contains Jan 12th is the first week of the year.
  22176. } });
  22177. return ku;
  22178. });
  22179. /***/ }),
  22180. /* 95 */
  22181. /*!*********************************************************************************************!*\
  22182. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ky.js ***!
  22183. \*********************************************************************************************/
  22184. /*! no static exports found */
  22185. /***/ (function(module, exports, __webpack_require__) {
  22186. //! moment.js locale configuration
  22187. //! locale : Kyrgyz [ky]
  22188. //! author : Chyngyz Arystan uulu : https://github.com/chyngyz
  22189. ;(function (global, factory) {
  22190. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  22191. undefined;
  22192. })(this, function (moment) {'use strict';
  22193. //! moment.js locale configuration
  22194. var suffixes = {
  22195. 0: '-чү',
  22196. 1: '-чи',
  22197. 2: '-чи',
  22198. 3: '-чү',
  22199. 4: '-чү',
  22200. 5: '-чи',
  22201. 6: '-чы',
  22202. 7: '-чи',
  22203. 8: '-чи',
  22204. 9: '-чу',
  22205. 10: '-чу',
  22206. 20: '-чы',
  22207. 30: '-чу',
  22208. 40: '-чы',
  22209. 50: '-чү',
  22210. 60: '-чы',
  22211. 70: '-чи',
  22212. 80: '-чи',
  22213. 90: '-чу',
  22214. 100: '-чү' };
  22215. var ky = moment.defineLocale('ky', {
  22216. months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(
  22217. '_'),
  22218. monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(
  22219. '_'),
  22220. weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(
  22221. '_'),
  22222. weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),
  22223. weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),
  22224. longDateFormat: {
  22225. LT: 'HH:mm',
  22226. LTS: 'HH:mm:ss',
  22227. L: 'DD.MM.YYYY',
  22228. LL: 'D MMMM YYYY',
  22229. LLL: 'D MMMM YYYY HH:mm',
  22230. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  22231. calendar: {
  22232. sameDay: '[Бүгүн саат] LT',
  22233. nextDay: '[Эртең саат] LT',
  22234. nextWeek: 'dddd [саат] LT',
  22235. lastDay: '[Кечээ саат] LT',
  22236. lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',
  22237. sameElse: 'L' },
  22238. relativeTime: {
  22239. future: '%s ичинде',
  22240. past: '%s мурун',
  22241. s: 'бирнече секунд',
  22242. ss: '%d секунд',
  22243. m: 'бир мүнөт',
  22244. mm: '%d мүнөт',
  22245. h: 'бир саат',
  22246. hh: '%d саат',
  22247. d: 'бир күн',
  22248. dd: '%d күн',
  22249. M: 'бир ай',
  22250. MM: '%d ай',
  22251. y: 'бир жыл',
  22252. yy: '%d жыл' },
  22253. dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/,
  22254. ordinal: function ordinal(number) {
  22255. var a = number % 10,
  22256. b = number >= 100 ? 100 : null;
  22257. return number + (suffixes[number] || suffixes[a] || suffixes[b]);
  22258. },
  22259. week: {
  22260. dow: 1, // Monday is the first day of the week.
  22261. doy: 7 // The week that contains Jan 7th is the first week of the year.
  22262. } });
  22263. return ky;
  22264. });
  22265. /***/ }),
  22266. /* 96 */
  22267. /*!*********************************************************************************************!*\
  22268. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/lb.js ***!
  22269. \*********************************************************************************************/
  22270. /*! no static exports found */
  22271. /***/ (function(module, exports, __webpack_require__) {
  22272. //! moment.js locale configuration
  22273. //! locale : Luxembourgish [lb]
  22274. //! author : mweimerskirch : https://github.com/mweimerskirch
  22275. //! author : David Raison : https://github.com/kwisatz
  22276. ;(function (global, factory) {
  22277. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  22278. undefined;
  22279. })(this, function (moment) {'use strict';
  22280. //! moment.js locale configuration
  22281. function processRelativeTime(number, withoutSuffix, key, isFuture) {
  22282. var format = {
  22283. m: ['eng Minutt', 'enger Minutt'],
  22284. h: ['eng Stonn', 'enger Stonn'],
  22285. d: ['een Dag', 'engem Dag'],
  22286. M: ['ee Mount', 'engem Mount'],
  22287. y: ['ee Joer', 'engem Joer'] };
  22288. return withoutSuffix ? format[key][0] : format[key][1];
  22289. }
  22290. function processFutureTime(string) {
  22291. var number = string.substr(0, string.indexOf(' '));
  22292. if (eifelerRegelAppliesToNumber(number)) {
  22293. return 'a ' + string;
  22294. }
  22295. return 'an ' + string;
  22296. }
  22297. function processPastTime(string) {
  22298. var number = string.substr(0, string.indexOf(' '));
  22299. if (eifelerRegelAppliesToNumber(number)) {
  22300. return 'viru ' + string;
  22301. }
  22302. return 'virun ' + string;
  22303. }
  22304. /**
  22305. * Returns true if the word before the given number loses the '-n' ending.
  22306. * e.g. 'an 10 Deeg' but 'a 5 Deeg'
  22307. *
  22308. * @param number {integer}
  22309. * @returns {boolean}
  22310. */
  22311. function eifelerRegelAppliesToNumber(number) {
  22312. number = parseInt(number, 10);
  22313. if (isNaN(number)) {
  22314. return false;
  22315. }
  22316. if (number < 0) {
  22317. // Negative Number --> always true
  22318. return true;
  22319. } else if (number < 10) {
  22320. // Only 1 digit
  22321. if (4 <= number && number <= 7) {
  22322. return true;
  22323. }
  22324. return false;
  22325. } else if (number < 100) {
  22326. // 2 digits
  22327. var lastDigit = number % 10,
  22328. firstDigit = number / 10;
  22329. if (lastDigit === 0) {
  22330. return eifelerRegelAppliesToNumber(firstDigit);
  22331. }
  22332. return eifelerRegelAppliesToNumber(lastDigit);
  22333. } else if (number < 10000) {
  22334. // 3 or 4 digits --> recursively check first digit
  22335. while (number >= 10) {
  22336. number = number / 10;
  22337. }
  22338. return eifelerRegelAppliesToNumber(number);
  22339. } else {
  22340. // Anything larger than 4 digits: recursively check first n-3 digits
  22341. number = number / 1000;
  22342. return eifelerRegelAppliesToNumber(number);
  22343. }
  22344. }
  22345. var lb = moment.defineLocale('lb', {
  22346. months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(
  22347. '_'),
  22348. monthsShort:
  22349. 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(
  22350. '_'),
  22351. monthsParseExact: true,
  22352. weekdays:
  22353. 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(
  22354. '_'),
  22355. weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),
  22356. weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),
  22357. weekdaysParseExact: true,
  22358. longDateFormat: {
  22359. LT: 'H:mm [Auer]',
  22360. LTS: 'H:mm:ss [Auer]',
  22361. L: 'DD.MM.YYYY',
  22362. LL: 'D. MMMM YYYY',
  22363. LLL: 'D. MMMM YYYY H:mm [Auer]',
  22364. LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]' },
  22365. calendar: {
  22366. sameDay: '[Haut um] LT',
  22367. sameElse: 'L',
  22368. nextDay: '[Muer um] LT',
  22369. nextWeek: 'dddd [um] LT',
  22370. lastDay: '[Gëschter um] LT',
  22371. lastWeek: function lastWeek() {
  22372. // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
  22373. switch (this.day()) {
  22374. case 2:
  22375. case 4:
  22376. return '[Leschten] dddd [um] LT';
  22377. default:
  22378. return '[Leschte] dddd [um] LT';}
  22379. } },
  22380. relativeTime: {
  22381. future: processFutureTime,
  22382. past: processPastTime,
  22383. s: 'e puer Sekonnen',
  22384. ss: '%d Sekonnen',
  22385. m: processRelativeTime,
  22386. mm: '%d Minutten',
  22387. h: processRelativeTime,
  22388. hh: '%d Stonnen',
  22389. d: processRelativeTime,
  22390. dd: '%d Deeg',
  22391. M: processRelativeTime,
  22392. MM: '%d Méint',
  22393. y: processRelativeTime,
  22394. yy: '%d Joer' },
  22395. dayOfMonthOrdinalParse: /\d{1,2}\./,
  22396. ordinal: '%d.',
  22397. week: {
  22398. dow: 1, // Monday is the first day of the week.
  22399. doy: 4 // The week that contains Jan 4th is the first week of the year.
  22400. } });
  22401. return lb;
  22402. });
  22403. /***/ }),
  22404. /* 97 */
  22405. /*!*********************************************************************************************!*\
  22406. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/lo.js ***!
  22407. \*********************************************************************************************/
  22408. /*! no static exports found */
  22409. /***/ (function(module, exports, __webpack_require__) {
  22410. //! moment.js locale configuration
  22411. //! locale : Lao [lo]
  22412. //! author : Ryan Hart : https://github.com/ryanhart2
  22413. ;(function (global, factory) {
  22414. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  22415. undefined;
  22416. })(this, function (moment) {'use strict';
  22417. //! moment.js locale configuration
  22418. var lo = moment.defineLocale('lo', {
  22419. months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(
  22420. '_'),
  22421. monthsShort:
  22422. 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(
  22423. '_'),
  22424. weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
  22425. weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
  22426. weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),
  22427. weekdaysParseExact: true,
  22428. longDateFormat: {
  22429. LT: 'HH:mm',
  22430. LTS: 'HH:mm:ss',
  22431. L: 'DD/MM/YYYY',
  22432. LL: 'D MMMM YYYY',
  22433. LLL: 'D MMMM YYYY HH:mm',
  22434. LLLL: 'ວັນdddd D MMMM YYYY HH:mm' },
  22435. meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,
  22436. isPM: function isPM(input) {
  22437. return input === 'ຕອນແລງ';
  22438. },
  22439. meridiem: function meridiem(hour, minute, isLower) {
  22440. if (hour < 12) {
  22441. return 'ຕອນເຊົ້າ';
  22442. } else {
  22443. return 'ຕອນແລງ';
  22444. }
  22445. },
  22446. calendar: {
  22447. sameDay: '[ມື້ນີ້ເວລາ] LT',
  22448. nextDay: '[ມື້ອື່ນເວລາ] LT',
  22449. nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',
  22450. lastDay: '[ມື້ວານນີ້ເວລາ] LT',
  22451. lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',
  22452. sameElse: 'L' },
  22453. relativeTime: {
  22454. future: 'ອີກ %s',
  22455. past: '%sຜ່ານມາ',
  22456. s: 'ບໍ່ເທົ່າໃດວິນາທີ',
  22457. ss: '%d ວິນາທີ',
  22458. m: '1 ນາທີ',
  22459. mm: '%d ນາທີ',
  22460. h: '1 ຊົ່ວໂມງ',
  22461. hh: '%d ຊົ່ວໂມງ',
  22462. d: '1 ມື້',
  22463. dd: '%d ມື້',
  22464. M: '1 ເດືອນ',
  22465. MM: '%d ເດືອນ',
  22466. y: '1 ປີ',
  22467. yy: '%d ປີ' },
  22468. dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/,
  22469. ordinal: function ordinal(number) {
  22470. return 'ທີ່' + number;
  22471. } });
  22472. return lo;
  22473. });
  22474. /***/ }),
  22475. /* 98 */
  22476. /*!*********************************************************************************************!*\
  22477. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/lt.js ***!
  22478. \*********************************************************************************************/
  22479. /*! no static exports found */
  22480. /***/ (function(module, exports, __webpack_require__) {
  22481. //! moment.js locale configuration
  22482. //! locale : Lithuanian [lt]
  22483. //! author : Mindaugas Mozūras : https://github.com/mmozuras
  22484. ;(function (global, factory) {
  22485. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  22486. undefined;
  22487. })(this, function (moment) {'use strict';
  22488. //! moment.js locale configuration
  22489. var units = {
  22490. ss: 'sekundė_sekundžių_sekundes',
  22491. m: 'minutė_minutės_minutę',
  22492. mm: 'minutės_minučių_minutes',
  22493. h: 'valanda_valandos_valandą',
  22494. hh: 'valandos_valandų_valandas',
  22495. d: 'diena_dienos_dieną',
  22496. dd: 'dienos_dienų_dienas',
  22497. M: 'mėnuo_mėnesio_mėnesį',
  22498. MM: 'mėnesiai_mėnesių_mėnesius',
  22499. y: 'metai_metų_metus',
  22500. yy: 'metai_metų_metus' };
  22501. function translateSeconds(number, withoutSuffix, key, isFuture) {
  22502. if (withoutSuffix) {
  22503. return 'kelios sekundės';
  22504. } else {
  22505. return isFuture ? 'kelių sekundžių' : 'kelias sekundes';
  22506. }
  22507. }
  22508. function translateSingular(number, withoutSuffix, key, isFuture) {
  22509. return withoutSuffix ?
  22510. forms(key)[0] :
  22511. isFuture ?
  22512. forms(key)[1] :
  22513. forms(key)[2];
  22514. }
  22515. function special(number) {
  22516. return number % 10 === 0 || number > 10 && number < 20;
  22517. }
  22518. function forms(key) {
  22519. return units[key].split('_');
  22520. }
  22521. function translate(number, withoutSuffix, key, isFuture) {
  22522. var result = number + ' ';
  22523. if (number === 1) {
  22524. return (
  22525. result + translateSingular(number, withoutSuffix, key[0], isFuture));
  22526. } else if (withoutSuffix) {
  22527. return result + (special(number) ? forms(key)[1] : forms(key)[0]);
  22528. } else {
  22529. if (isFuture) {
  22530. return result + forms(key)[1];
  22531. } else {
  22532. return result + (special(number) ? forms(key)[1] : forms(key)[2]);
  22533. }
  22534. }
  22535. }
  22536. var lt = moment.defineLocale('lt', {
  22537. months: {
  22538. format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(
  22539. '_'),
  22540. standalone:
  22541. 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(
  22542. '_'),
  22543. isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/ },
  22544. monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),
  22545. weekdays: {
  22546. format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(
  22547. '_'),
  22548. standalone:
  22549. 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(
  22550. '_'),
  22551. isFormat: /dddd HH:mm/ },
  22552. weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),
  22553. weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),
  22554. weekdaysParseExact: true,
  22555. longDateFormat: {
  22556. LT: 'HH:mm',
  22557. LTS: 'HH:mm:ss',
  22558. L: 'YYYY-MM-DD',
  22559. LL: 'YYYY [m.] MMMM D [d.]',
  22560. LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
  22561. LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',
  22562. l: 'YYYY-MM-DD',
  22563. ll: 'YYYY [m.] MMMM D [d.]',
  22564. lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
  22565. llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]' },
  22566. calendar: {
  22567. sameDay: '[Šiandien] LT',
  22568. nextDay: '[Rytoj] LT',
  22569. nextWeek: 'dddd LT',
  22570. lastDay: '[Vakar] LT',
  22571. lastWeek: '[Praėjusį] dddd LT',
  22572. sameElse: 'L' },
  22573. relativeTime: {
  22574. future: 'po %s',
  22575. past: 'prieš %s',
  22576. s: translateSeconds,
  22577. ss: translate,
  22578. m: translateSingular,
  22579. mm: translate,
  22580. h: translateSingular,
  22581. hh: translate,
  22582. d: translateSingular,
  22583. dd: translate,
  22584. M: translateSingular,
  22585. MM: translate,
  22586. y: translateSingular,
  22587. yy: translate },
  22588. dayOfMonthOrdinalParse: /\d{1,2}-oji/,
  22589. ordinal: function ordinal(number) {
  22590. return number + '-oji';
  22591. },
  22592. week: {
  22593. dow: 1, // Monday is the first day of the week.
  22594. doy: 4 // The week that contains Jan 4th is the first week of the year.
  22595. } });
  22596. return lt;
  22597. });
  22598. /***/ }),
  22599. /* 99 */
  22600. /*!*********************************************************************************************!*\
  22601. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/lv.js ***!
  22602. \*********************************************************************************************/
  22603. /*! no static exports found */
  22604. /***/ (function(module, exports, __webpack_require__) {
  22605. //! moment.js locale configuration
  22606. //! locale : Latvian [lv]
  22607. //! author : Kristaps Karlsons : https://github.com/skakri
  22608. //! author : Jānis Elmeris : https://github.com/JanisE
  22609. ;(function (global, factory) {
  22610. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  22611. undefined;
  22612. })(this, function (moment) {'use strict';
  22613. //! moment.js locale configuration
  22614. var units = {
  22615. ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),
  22616. m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),
  22617. mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),
  22618. h: 'stundas_stundām_stunda_stundas'.split('_'),
  22619. hh: 'stundas_stundām_stunda_stundas'.split('_'),
  22620. d: 'dienas_dienām_diena_dienas'.split('_'),
  22621. dd: 'dienas_dienām_diena_dienas'.split('_'),
  22622. M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
  22623. MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
  22624. y: 'gada_gadiem_gads_gadi'.split('_'),
  22625. yy: 'gada_gadiem_gads_gadi'.split('_') };
  22626. /**
  22627. * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.
  22628. */
  22629. function format(forms, number, withoutSuffix) {
  22630. if (withoutSuffix) {
  22631. // E.g. "21 minūte", "3 minūtes".
  22632. return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];
  22633. } else {
  22634. // E.g. "21 minūtes" as in "pēc 21 minūtes".
  22635. // E.g. "3 minūtēm" as in "pēc 3 minūtēm".
  22636. return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];
  22637. }
  22638. }
  22639. function relativeTimeWithPlural(number, withoutSuffix, key) {
  22640. return number + ' ' + format(units[key], number, withoutSuffix);
  22641. }
  22642. function relativeTimeWithSingular(number, withoutSuffix, key) {
  22643. return format(units[key], number, withoutSuffix);
  22644. }
  22645. function relativeSeconds(number, withoutSuffix) {
  22646. return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';
  22647. }
  22648. var lv = moment.defineLocale('lv', {
  22649. months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(
  22650. '_'),
  22651. monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),
  22652. weekdays:
  22653. 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(
  22654. '_'),
  22655. weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),
  22656. weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),
  22657. weekdaysParseExact: true,
  22658. longDateFormat: {
  22659. LT: 'HH:mm',
  22660. LTS: 'HH:mm:ss',
  22661. L: 'DD.MM.YYYY.',
  22662. LL: 'YYYY. [gada] D. MMMM',
  22663. LLL: 'YYYY. [gada] D. MMMM, HH:mm',
  22664. LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm' },
  22665. calendar: {
  22666. sameDay: '[Šodien pulksten] LT',
  22667. nextDay: '[Rīt pulksten] LT',
  22668. nextWeek: 'dddd [pulksten] LT',
  22669. lastDay: '[Vakar pulksten] LT',
  22670. lastWeek: '[Pagājušā] dddd [pulksten] LT',
  22671. sameElse: 'L' },
  22672. relativeTime: {
  22673. future: 'pēc %s',
  22674. past: 'pirms %s',
  22675. s: relativeSeconds,
  22676. ss: relativeTimeWithPlural,
  22677. m: relativeTimeWithSingular,
  22678. mm: relativeTimeWithPlural,
  22679. h: relativeTimeWithSingular,
  22680. hh: relativeTimeWithPlural,
  22681. d: relativeTimeWithSingular,
  22682. dd: relativeTimeWithPlural,
  22683. M: relativeTimeWithSingular,
  22684. MM: relativeTimeWithPlural,
  22685. y: relativeTimeWithSingular,
  22686. yy: relativeTimeWithPlural },
  22687. dayOfMonthOrdinalParse: /\d{1,2}\./,
  22688. ordinal: '%d.',
  22689. week: {
  22690. dow: 1, // Monday is the first day of the week.
  22691. doy: 4 // The week that contains Jan 4th is the first week of the year.
  22692. } });
  22693. return lv;
  22694. });
  22695. /***/ }),
  22696. /* 100 */
  22697. /*!*********************************************************************************************!*\
  22698. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/me.js ***!
  22699. \*********************************************************************************************/
  22700. /*! no static exports found */
  22701. /***/ (function(module, exports, __webpack_require__) {
  22702. //! moment.js locale configuration
  22703. //! locale : Montenegrin [me]
  22704. //! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac
  22705. ;(function (global, factory) {
  22706. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  22707. undefined;
  22708. })(this, function (moment) {'use strict';
  22709. //! moment.js locale configuration
  22710. var translator = {
  22711. words: {
  22712. //Different grammatical cases
  22713. ss: ['sekund', 'sekunda', 'sekundi'],
  22714. m: ['jedan minut', 'jednog minuta'],
  22715. mm: ['minut', 'minuta', 'minuta'],
  22716. h: ['jedan sat', 'jednog sata'],
  22717. hh: ['sat', 'sata', 'sati'],
  22718. dd: ['dan', 'dana', 'dana'],
  22719. MM: ['mjesec', 'mjeseca', 'mjeseci'],
  22720. yy: ['godina', 'godine', 'godina'] },
  22721. correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) {
  22722. return number === 1 ?
  22723. wordKey[0] :
  22724. number >= 2 && number <= 4 ?
  22725. wordKey[1] :
  22726. wordKey[2];
  22727. },
  22728. translate: function translate(number, withoutSuffix, key) {
  22729. var wordKey = translator.words[key];
  22730. if (key.length === 1) {
  22731. return withoutSuffix ? wordKey[0] : wordKey[1];
  22732. } else {
  22733. return (
  22734. number +
  22735. ' ' +
  22736. translator.correctGrammaticalCase(number, wordKey));
  22737. }
  22738. } };
  22739. var me = moment.defineLocale('me', {
  22740. months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(
  22741. '_'),
  22742. monthsShort:
  22743. 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
  22744. monthsParseExact: true,
  22745. weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(
  22746. '_'),
  22747. weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
  22748. weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
  22749. weekdaysParseExact: true,
  22750. longDateFormat: {
  22751. LT: 'H:mm',
  22752. LTS: 'H:mm:ss',
  22753. L: 'DD.MM.YYYY',
  22754. LL: 'D. MMMM YYYY',
  22755. LLL: 'D. MMMM YYYY H:mm',
  22756. LLLL: 'dddd, D. MMMM YYYY H:mm' },
  22757. calendar: {
  22758. sameDay: '[danas u] LT',
  22759. nextDay: '[sjutra u] LT',
  22760. nextWeek: function nextWeek() {
  22761. switch (this.day()) {
  22762. case 0:
  22763. return '[u] [nedjelju] [u] LT';
  22764. case 3:
  22765. return '[u] [srijedu] [u] LT';
  22766. case 6:
  22767. return '[u] [subotu] [u] LT';
  22768. case 1:
  22769. case 2:
  22770. case 4:
  22771. case 5:
  22772. return '[u] dddd [u] LT';}
  22773. },
  22774. lastDay: '[juče u] LT',
  22775. lastWeek: function lastWeek() {
  22776. var lastWeekDays = [
  22777. '[prošle] [nedjelje] [u] LT',
  22778. '[prošlog] [ponedjeljka] [u] LT',
  22779. '[prošlog] [utorka] [u] LT',
  22780. '[prošle] [srijede] [u] LT',
  22781. '[prošlog] [četvrtka] [u] LT',
  22782. '[prošlog] [petka] [u] LT',
  22783. '[prošle] [subote] [u] LT'];
  22784. return lastWeekDays[this.day()];
  22785. },
  22786. sameElse: 'L' },
  22787. relativeTime: {
  22788. future: 'za %s',
  22789. past: 'prije %s',
  22790. s: 'nekoliko sekundi',
  22791. ss: translator.translate,
  22792. m: translator.translate,
  22793. mm: translator.translate,
  22794. h: translator.translate,
  22795. hh: translator.translate,
  22796. d: 'dan',
  22797. dd: translator.translate,
  22798. M: 'mjesec',
  22799. MM: translator.translate,
  22800. y: 'godinu',
  22801. yy: translator.translate },
  22802. dayOfMonthOrdinalParse: /\d{1,2}\./,
  22803. ordinal: '%d.',
  22804. week: {
  22805. dow: 1, // Monday is the first day of the week.
  22806. doy: 7 // The week that contains Jan 7th is the first week of the year.
  22807. } });
  22808. return me;
  22809. });
  22810. /***/ }),
  22811. /* 101 */
  22812. /*!*********************************************************************************************!*\
  22813. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/mi.js ***!
  22814. \*********************************************************************************************/
  22815. /*! no static exports found */
  22816. /***/ (function(module, exports, __webpack_require__) {
  22817. //! moment.js locale configuration
  22818. //! locale : Maori [mi]
  22819. //! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal
  22820. ;(function (global, factory) {
  22821. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  22822. undefined;
  22823. })(this, function (moment) {'use strict';
  22824. //! moment.js locale configuration
  22825. var mi = moment.defineLocale('mi', {
  22826. months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(
  22827. '_'),
  22828. monthsShort:
  22829. 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(
  22830. '_'),
  22831. monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
  22832. monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
  22833. monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
  22834. monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,
  22835. weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),
  22836. weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
  22837. weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
  22838. longDateFormat: {
  22839. LT: 'HH:mm',
  22840. LTS: 'HH:mm:ss',
  22841. L: 'DD/MM/YYYY',
  22842. LL: 'D MMMM YYYY',
  22843. LLL: 'D MMMM YYYY [i] HH:mm',
  22844. LLLL: 'dddd, D MMMM YYYY [i] HH:mm' },
  22845. calendar: {
  22846. sameDay: '[i teie mahana, i] LT',
  22847. nextDay: '[apopo i] LT',
  22848. nextWeek: 'dddd [i] LT',
  22849. lastDay: '[inanahi i] LT',
  22850. lastWeek: 'dddd [whakamutunga i] LT',
  22851. sameElse: 'L' },
  22852. relativeTime: {
  22853. future: 'i roto i %s',
  22854. past: '%s i mua',
  22855. s: 'te hēkona ruarua',
  22856. ss: '%d hēkona',
  22857. m: 'he meneti',
  22858. mm: '%d meneti',
  22859. h: 'te haora',
  22860. hh: '%d haora',
  22861. d: 'he ra',
  22862. dd: '%d ra',
  22863. M: 'he marama',
  22864. MM: '%d marama',
  22865. y: 'he tau',
  22866. yy: '%d tau' },
  22867. dayOfMonthOrdinalParse: /\d{1,2}º/,
  22868. ordinal: '%dº',
  22869. week: {
  22870. dow: 1, // Monday is the first day of the week.
  22871. doy: 4 // The week that contains Jan 4th is the first week of the year.
  22872. } });
  22873. return mi;
  22874. });
  22875. /***/ }),
  22876. /* 102 */
  22877. /*!*********************************************************************************************!*\
  22878. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/mk.js ***!
  22879. \*********************************************************************************************/
  22880. /*! no static exports found */
  22881. /***/ (function(module, exports, __webpack_require__) {
  22882. //! moment.js locale configuration
  22883. //! locale : Macedonian [mk]
  22884. //! author : Borislav Mickov : https://github.com/B0k0
  22885. //! author : Sashko Todorov : https://github.com/bkyceh
  22886. ;(function (global, factory) {
  22887. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  22888. undefined;
  22889. })(this, function (moment) {'use strict';
  22890. //! moment.js locale configuration
  22891. var mk = moment.defineLocale('mk', {
  22892. months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(
  22893. '_'),
  22894. monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),
  22895. weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(
  22896. '_'),
  22897. weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),
  22898. weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),
  22899. longDateFormat: {
  22900. LT: 'H:mm',
  22901. LTS: 'H:mm:ss',
  22902. L: 'D.MM.YYYY',
  22903. LL: 'D MMMM YYYY',
  22904. LLL: 'D MMMM YYYY H:mm',
  22905. LLLL: 'dddd, D MMMM YYYY H:mm' },
  22906. calendar: {
  22907. sameDay: '[Денес во] LT',
  22908. nextDay: '[Утре во] LT',
  22909. nextWeek: '[Во] dddd [во] LT',
  22910. lastDay: '[Вчера во] LT',
  22911. lastWeek: function lastWeek() {
  22912. switch (this.day()) {
  22913. case 0:
  22914. case 3:
  22915. case 6:
  22916. return '[Изминатата] dddd [во] LT';
  22917. case 1:
  22918. case 2:
  22919. case 4:
  22920. case 5:
  22921. return '[Изминатиот] dddd [во] LT';}
  22922. },
  22923. sameElse: 'L' },
  22924. relativeTime: {
  22925. future: 'за %s',
  22926. past: 'пред %s',
  22927. s: 'неколку секунди',
  22928. ss: '%d секунди',
  22929. m: 'една минута',
  22930. mm: '%d минути',
  22931. h: 'еден час',
  22932. hh: '%d часа',
  22933. d: 'еден ден',
  22934. dd: '%d дена',
  22935. M: 'еден месец',
  22936. MM: '%d месеци',
  22937. y: 'една година',
  22938. yy: '%d години' },
  22939. dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
  22940. ordinal: function ordinal(number) {
  22941. var lastDigit = number % 10,
  22942. last2Digits = number % 100;
  22943. if (number === 0) {
  22944. return number + '-ев';
  22945. } else if (last2Digits === 0) {
  22946. return number + '-ен';
  22947. } else if (last2Digits > 10 && last2Digits < 20) {
  22948. return number + '-ти';
  22949. } else if (lastDigit === 1) {
  22950. return number + '-ви';
  22951. } else if (lastDigit === 2) {
  22952. return number + '-ри';
  22953. } else if (lastDigit === 7 || lastDigit === 8) {
  22954. return number + '-ми';
  22955. } else {
  22956. return number + '-ти';
  22957. }
  22958. },
  22959. week: {
  22960. dow: 1, // Monday is the first day of the week.
  22961. doy: 7 // The week that contains Jan 7th is the first week of the year.
  22962. } });
  22963. return mk;
  22964. });
  22965. /***/ }),
  22966. /* 103 */
  22967. /*!*********************************************************************************************!*\
  22968. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ml.js ***!
  22969. \*********************************************************************************************/
  22970. /*! no static exports found */
  22971. /***/ (function(module, exports, __webpack_require__) {
  22972. //! moment.js locale configuration
  22973. //! locale : Malayalam [ml]
  22974. //! author : Floyd Pink : https://github.com/floydpink
  22975. ;(function (global, factory) {
  22976. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  22977. undefined;
  22978. })(this, function (moment) {'use strict';
  22979. //! moment.js locale configuration
  22980. var ml = moment.defineLocale('ml', {
  22981. months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(
  22982. '_'),
  22983. monthsShort:
  22984. 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(
  22985. '_'),
  22986. monthsParseExact: true,
  22987. weekdays:
  22988. 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(
  22989. '_'),
  22990. weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),
  22991. weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),
  22992. longDateFormat: {
  22993. LT: 'A h:mm -നു',
  22994. LTS: 'A h:mm:ss -നു',
  22995. L: 'DD/MM/YYYY',
  22996. LL: 'D MMMM YYYY',
  22997. LLL: 'D MMMM YYYY, A h:mm -നു',
  22998. LLLL: 'dddd, D MMMM YYYY, A h:mm -നു' },
  22999. calendar: {
  23000. sameDay: '[ഇന്ന്] LT',
  23001. nextDay: '[നാളെ] LT',
  23002. nextWeek: 'dddd, LT',
  23003. lastDay: '[ഇന്നലെ] LT',
  23004. lastWeek: '[കഴിഞ്ഞ] dddd, LT',
  23005. sameElse: 'L' },
  23006. relativeTime: {
  23007. future: '%s കഴിഞ്ഞ്',
  23008. past: '%s മുൻപ്',
  23009. s: 'അൽപ നിമിഷങ്ങൾ',
  23010. ss: '%d സെക്കൻഡ്',
  23011. m: 'ഒരു മിനിറ്റ്',
  23012. mm: '%d മിനിറ്റ്',
  23013. h: 'ഒരു മണിക്കൂർ',
  23014. hh: '%d മണിക്കൂർ',
  23015. d: 'ഒരു ദിവസം',
  23016. dd: '%d ദിവസം',
  23017. M: 'ഒരു മാസം',
  23018. MM: '%d മാസം',
  23019. y: 'ഒരു വർഷം',
  23020. yy: '%d വർഷം' },
  23021. meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,
  23022. meridiemHour: function meridiemHour(hour, meridiem) {
  23023. if (hour === 12) {
  23024. hour = 0;
  23025. }
  23026. if (
  23027. meridiem === 'രാത്രി' && hour >= 4 ||
  23028. meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||
  23029. meridiem === 'വൈകുന്നേരം')
  23030. {
  23031. return hour + 12;
  23032. } else {
  23033. return hour;
  23034. }
  23035. },
  23036. meridiem: function meridiem(hour, minute, isLower) {
  23037. if (hour < 4) {
  23038. return 'രാത്രി';
  23039. } else if (hour < 12) {
  23040. return 'രാവിലെ';
  23041. } else if (hour < 17) {
  23042. return 'ഉച്ച കഴിഞ്ഞ്';
  23043. } else if (hour < 20) {
  23044. return 'വൈകുന്നേരം';
  23045. } else {
  23046. return 'രാത്രി';
  23047. }
  23048. } });
  23049. return ml;
  23050. });
  23051. /***/ }),
  23052. /* 104 */
  23053. /*!*********************************************************************************************!*\
  23054. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/mn.js ***!
  23055. \*********************************************************************************************/
  23056. /*! no static exports found */
  23057. /***/ (function(module, exports, __webpack_require__) {
  23058. //! moment.js locale configuration
  23059. //! locale : Mongolian [mn]
  23060. //! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7
  23061. ;(function (global, factory) {
  23062. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  23063. undefined;
  23064. })(this, function (moment) {'use strict';
  23065. //! moment.js locale configuration
  23066. function translate(number, withoutSuffix, key, isFuture) {
  23067. switch (key) {
  23068. case 's':
  23069. return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';
  23070. case 'ss':
  23071. return number + (withoutSuffix ? ' секунд' : ' секундын');
  23072. case 'm':
  23073. case 'mm':
  23074. return number + (withoutSuffix ? ' минут' : ' минутын');
  23075. case 'h':
  23076. case 'hh':
  23077. return number + (withoutSuffix ? ' цаг' : ' цагийн');
  23078. case 'd':
  23079. case 'dd':
  23080. return number + (withoutSuffix ? ' өдөр' : ' өдрийн');
  23081. case 'M':
  23082. case 'MM':
  23083. return number + (withoutSuffix ? ' сар' : ' сарын');
  23084. case 'y':
  23085. case 'yy':
  23086. return number + (withoutSuffix ? ' жил' : ' жилийн');
  23087. default:
  23088. return number;}
  23089. }
  23090. var mn = moment.defineLocale('mn', {
  23091. months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(
  23092. '_'),
  23093. monthsShort:
  23094. '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(
  23095. '_'),
  23096. monthsParseExact: true,
  23097. weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),
  23098. weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),
  23099. weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),
  23100. weekdaysParseExact: true,
  23101. longDateFormat: {
  23102. LT: 'HH:mm',
  23103. LTS: 'HH:mm:ss',
  23104. L: 'YYYY-MM-DD',
  23105. LL: 'YYYY оны MMMMын D',
  23106. LLL: 'YYYY оны MMMMын D HH:mm',
  23107. LLLL: 'dddd, YYYY оны MMMMын D HH:mm' },
  23108. meridiemParse: /ҮӨ|ҮХ/i,
  23109. isPM: function isPM(input) {
  23110. return input === 'ҮХ';
  23111. },
  23112. meridiem: function meridiem(hour, minute, isLower) {
  23113. if (hour < 12) {
  23114. return 'ҮӨ';
  23115. } else {
  23116. return 'ҮХ';
  23117. }
  23118. },
  23119. calendar: {
  23120. sameDay: '[Өнөөдөр] LT',
  23121. nextDay: '[Маргааш] LT',
  23122. nextWeek: '[Ирэх] dddd LT',
  23123. lastDay: '[Өчигдөр] LT',
  23124. lastWeek: '[Өнгөрсөн] dddd LT',
  23125. sameElse: 'L' },
  23126. relativeTime: {
  23127. future: '%s дараа',
  23128. past: '%s өмнө',
  23129. s: translate,
  23130. ss: translate,
  23131. m: translate,
  23132. mm: translate,
  23133. h: translate,
  23134. hh: translate,
  23135. d: translate,
  23136. dd: translate,
  23137. M: translate,
  23138. MM: translate,
  23139. y: translate,
  23140. yy: translate },
  23141. dayOfMonthOrdinalParse: /\d{1,2} өдөр/,
  23142. ordinal: function ordinal(number, period) {
  23143. switch (period) {
  23144. case 'd':
  23145. case 'D':
  23146. case 'DDD':
  23147. return number + ' өдөр';
  23148. default:
  23149. return number;}
  23150. } });
  23151. return mn;
  23152. });
  23153. /***/ }),
  23154. /* 105 */
  23155. /*!*********************************************************************************************!*\
  23156. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/mr.js ***!
  23157. \*********************************************************************************************/
  23158. /*! no static exports found */
  23159. /***/ (function(module, exports, __webpack_require__) {
  23160. //! moment.js locale configuration
  23161. //! locale : Marathi [mr]
  23162. //! author : Harshad Kale : https://github.com/kalehv
  23163. //! author : Vivek Athalye : https://github.com/vnathalye
  23164. ;(function (global, factory) {
  23165. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  23166. undefined;
  23167. })(this, function (moment) {'use strict';
  23168. //! moment.js locale configuration
  23169. var symbolMap = {
  23170. 1: '१',
  23171. 2: '२',
  23172. 3: '३',
  23173. 4: '४',
  23174. 5: '५',
  23175. 6: '६',
  23176. 7: '७',
  23177. 8: '८',
  23178. 9: '९',
  23179. 0: '०' },
  23180. numberMap = {
  23181. '१': '1',
  23182. '२': '2',
  23183. '३': '3',
  23184. '४': '4',
  23185. '५': '5',
  23186. '६': '6',
  23187. '७': '7',
  23188. '८': '8',
  23189. '९': '9',
  23190. '०': '0' };
  23191. function relativeTimeMr(number, withoutSuffix, string, isFuture) {
  23192. var output = '';
  23193. if (withoutSuffix) {
  23194. switch (string) {
  23195. case 's':
  23196. output = 'काही सेकंद';
  23197. break;
  23198. case 'ss':
  23199. output = '%d सेकंद';
  23200. break;
  23201. case 'm':
  23202. output = 'एक मिनिट';
  23203. break;
  23204. case 'mm':
  23205. output = '%d मिनिटे';
  23206. break;
  23207. case 'h':
  23208. output = 'एक तास';
  23209. break;
  23210. case 'hh':
  23211. output = '%d तास';
  23212. break;
  23213. case 'd':
  23214. output = 'एक दिवस';
  23215. break;
  23216. case 'dd':
  23217. output = '%d दिवस';
  23218. break;
  23219. case 'M':
  23220. output = 'एक महिना';
  23221. break;
  23222. case 'MM':
  23223. output = '%d महिने';
  23224. break;
  23225. case 'y':
  23226. output = 'एक वर्ष';
  23227. break;
  23228. case 'yy':
  23229. output = '%d वर्षे';
  23230. break;}
  23231. } else {
  23232. switch (string) {
  23233. case 's':
  23234. output = 'काही सेकंदां';
  23235. break;
  23236. case 'ss':
  23237. output = '%d सेकंदां';
  23238. break;
  23239. case 'm':
  23240. output = 'एका मिनिटा';
  23241. break;
  23242. case 'mm':
  23243. output = '%d मिनिटां';
  23244. break;
  23245. case 'h':
  23246. output = 'एका तासा';
  23247. break;
  23248. case 'hh':
  23249. output = '%d तासां';
  23250. break;
  23251. case 'd':
  23252. output = 'एका दिवसा';
  23253. break;
  23254. case 'dd':
  23255. output = '%d दिवसां';
  23256. break;
  23257. case 'M':
  23258. output = 'एका महिन्या';
  23259. break;
  23260. case 'MM':
  23261. output = '%d महिन्यां';
  23262. break;
  23263. case 'y':
  23264. output = 'एका वर्षा';
  23265. break;
  23266. case 'yy':
  23267. output = '%d वर्षां';
  23268. break;}
  23269. }
  23270. return output.replace(/%d/i, number);
  23271. }
  23272. var mr = moment.defineLocale('mr', {
  23273. months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(
  23274. '_'),
  23275. monthsShort:
  23276. 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(
  23277. '_'),
  23278. monthsParseExact: true,
  23279. weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
  23280. weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),
  23281. weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),
  23282. longDateFormat: {
  23283. LT: 'A h:mm वाजता',
  23284. LTS: 'A h:mm:ss वाजता',
  23285. L: 'DD/MM/YYYY',
  23286. LL: 'D MMMM YYYY',
  23287. LLL: 'D MMMM YYYY, A h:mm वाजता',
  23288. LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता' },
  23289. calendar: {
  23290. sameDay: '[आज] LT',
  23291. nextDay: '[उद्या] LT',
  23292. nextWeek: 'dddd, LT',
  23293. lastDay: '[काल] LT',
  23294. lastWeek: '[मागील] dddd, LT',
  23295. sameElse: 'L' },
  23296. relativeTime: {
  23297. future: '%sमध्ये',
  23298. past: '%sपूर्वी',
  23299. s: relativeTimeMr,
  23300. ss: relativeTimeMr,
  23301. m: relativeTimeMr,
  23302. mm: relativeTimeMr,
  23303. h: relativeTimeMr,
  23304. hh: relativeTimeMr,
  23305. d: relativeTimeMr,
  23306. dd: relativeTimeMr,
  23307. M: relativeTimeMr,
  23308. MM: relativeTimeMr,
  23309. y: relativeTimeMr,
  23310. yy: relativeTimeMr },
  23311. preparse: function preparse(string) {
  23312. return string.replace(/[१२३४५६७८९०]/g, function (match) {
  23313. return numberMap[match];
  23314. });
  23315. },
  23316. postformat: function postformat(string) {
  23317. return string.replace(/\d/g, function (match) {
  23318. return symbolMap[match];
  23319. });
  23320. },
  23321. meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,
  23322. meridiemHour: function meridiemHour(hour, meridiem) {
  23323. if (hour === 12) {
  23324. hour = 0;
  23325. }
  23326. if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {
  23327. return hour;
  23328. } else if (
  23329. meridiem === 'दुपारी' ||
  23330. meridiem === 'सायंकाळी' ||
  23331. meridiem === 'रात्री')
  23332. {
  23333. return hour >= 12 ? hour : hour + 12;
  23334. }
  23335. },
  23336. meridiem: function meridiem(hour, minute, isLower) {
  23337. if (hour >= 0 && hour < 6) {
  23338. return 'पहाटे';
  23339. } else if (hour < 12) {
  23340. return 'सकाळी';
  23341. } else if (hour < 17) {
  23342. return 'दुपारी';
  23343. } else if (hour < 20) {
  23344. return 'सायंकाळी';
  23345. } else {
  23346. return 'रात्री';
  23347. }
  23348. },
  23349. week: {
  23350. dow: 0, // Sunday is the first day of the week.
  23351. doy: 6 // The week that contains Jan 6th is the first week of the year.
  23352. } });
  23353. return mr;
  23354. });
  23355. /***/ }),
  23356. /* 106 */
  23357. /*!*********************************************************************************************!*\
  23358. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ms.js ***!
  23359. \*********************************************************************************************/
  23360. /*! no static exports found */
  23361. /***/ (function(module, exports, __webpack_require__) {
  23362. //! moment.js locale configuration
  23363. //! locale : Malay [ms]
  23364. //! author : Weldan Jamili : https://github.com/weldan
  23365. ;(function (global, factory) {
  23366. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  23367. undefined;
  23368. })(this, function (moment) {'use strict';
  23369. //! moment.js locale configuration
  23370. var ms = moment.defineLocale('ms', {
  23371. months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(
  23372. '_'),
  23373. monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
  23374. weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
  23375. weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
  23376. weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
  23377. longDateFormat: {
  23378. LT: 'HH.mm',
  23379. LTS: 'HH.mm.ss',
  23380. L: 'DD/MM/YYYY',
  23381. LL: 'D MMMM YYYY',
  23382. LLL: 'D MMMM YYYY [pukul] HH.mm',
  23383. LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm' },
  23384. meridiemParse: /pagi|tengahari|petang|malam/,
  23385. meridiemHour: function meridiemHour(hour, meridiem) {
  23386. if (hour === 12) {
  23387. hour = 0;
  23388. }
  23389. if (meridiem === 'pagi') {
  23390. return hour;
  23391. } else if (meridiem === 'tengahari') {
  23392. return hour >= 11 ? hour : hour + 12;
  23393. } else if (meridiem === 'petang' || meridiem === 'malam') {
  23394. return hour + 12;
  23395. }
  23396. },
  23397. meridiem: function meridiem(hours, minutes, isLower) {
  23398. if (hours < 11) {
  23399. return 'pagi';
  23400. } else if (hours < 15) {
  23401. return 'tengahari';
  23402. } else if (hours < 19) {
  23403. return 'petang';
  23404. } else {
  23405. return 'malam';
  23406. }
  23407. },
  23408. calendar: {
  23409. sameDay: '[Hari ini pukul] LT',
  23410. nextDay: '[Esok pukul] LT',
  23411. nextWeek: 'dddd [pukul] LT',
  23412. lastDay: '[Kelmarin pukul] LT',
  23413. lastWeek: 'dddd [lepas pukul] LT',
  23414. sameElse: 'L' },
  23415. relativeTime: {
  23416. future: 'dalam %s',
  23417. past: '%s yang lepas',
  23418. s: 'beberapa saat',
  23419. ss: '%d saat',
  23420. m: 'seminit',
  23421. mm: '%d minit',
  23422. h: 'sejam',
  23423. hh: '%d jam',
  23424. d: 'sehari',
  23425. dd: '%d hari',
  23426. M: 'sebulan',
  23427. MM: '%d bulan',
  23428. y: 'setahun',
  23429. yy: '%d tahun' },
  23430. week: {
  23431. dow: 1, // Monday is the first day of the week.
  23432. doy: 7 // The week that contains Jan 7th is the first week of the year.
  23433. } });
  23434. return ms;
  23435. });
  23436. /***/ }),
  23437. /* 107 */
  23438. /*!************************************************************************************************!*\
  23439. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ms-my.js ***!
  23440. \************************************************************************************************/
  23441. /*! no static exports found */
  23442. /***/ (function(module, exports, __webpack_require__) {
  23443. //! moment.js locale configuration
  23444. //! locale : Malay [ms-my]
  23445. //! note : DEPRECATED, the correct one is [ms]
  23446. //! author : Weldan Jamili : https://github.com/weldan
  23447. ;(function (global, factory) {
  23448. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  23449. undefined;
  23450. })(this, function (moment) {'use strict';
  23451. //! moment.js locale configuration
  23452. var msMy = moment.defineLocale('ms-my', {
  23453. months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(
  23454. '_'),
  23455. monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
  23456. weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
  23457. weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
  23458. weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
  23459. longDateFormat: {
  23460. LT: 'HH.mm',
  23461. LTS: 'HH.mm.ss',
  23462. L: 'DD/MM/YYYY',
  23463. LL: 'D MMMM YYYY',
  23464. LLL: 'D MMMM YYYY [pukul] HH.mm',
  23465. LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm' },
  23466. meridiemParse: /pagi|tengahari|petang|malam/,
  23467. meridiemHour: function meridiemHour(hour, meridiem) {
  23468. if (hour === 12) {
  23469. hour = 0;
  23470. }
  23471. if (meridiem === 'pagi') {
  23472. return hour;
  23473. } else if (meridiem === 'tengahari') {
  23474. return hour >= 11 ? hour : hour + 12;
  23475. } else if (meridiem === 'petang' || meridiem === 'malam') {
  23476. return hour + 12;
  23477. }
  23478. },
  23479. meridiem: function meridiem(hours, minutes, isLower) {
  23480. if (hours < 11) {
  23481. return 'pagi';
  23482. } else if (hours < 15) {
  23483. return 'tengahari';
  23484. } else if (hours < 19) {
  23485. return 'petang';
  23486. } else {
  23487. return 'malam';
  23488. }
  23489. },
  23490. calendar: {
  23491. sameDay: '[Hari ini pukul] LT',
  23492. nextDay: '[Esok pukul] LT',
  23493. nextWeek: 'dddd [pukul] LT',
  23494. lastDay: '[Kelmarin pukul] LT',
  23495. lastWeek: 'dddd [lepas pukul] LT',
  23496. sameElse: 'L' },
  23497. relativeTime: {
  23498. future: 'dalam %s',
  23499. past: '%s yang lepas',
  23500. s: 'beberapa saat',
  23501. ss: '%d saat',
  23502. m: 'seminit',
  23503. mm: '%d minit',
  23504. h: 'sejam',
  23505. hh: '%d jam',
  23506. d: 'sehari',
  23507. dd: '%d hari',
  23508. M: 'sebulan',
  23509. MM: '%d bulan',
  23510. y: 'setahun',
  23511. yy: '%d tahun' },
  23512. week: {
  23513. dow: 1, // Monday is the first day of the week.
  23514. doy: 7 // The week that contains Jan 7th is the first week of the year.
  23515. } });
  23516. return msMy;
  23517. });
  23518. /***/ }),
  23519. /* 108 */
  23520. /*!*********************************************************************************************!*\
  23521. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/mt.js ***!
  23522. \*********************************************************************************************/
  23523. /*! no static exports found */
  23524. /***/ (function(module, exports, __webpack_require__) {
  23525. //! moment.js locale configuration
  23526. //! locale : Maltese (Malta) [mt]
  23527. //! author : Alessandro Maruccia : https://github.com/alesma
  23528. ;(function (global, factory) {
  23529. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  23530. undefined;
  23531. })(this, function (moment) {'use strict';
  23532. //! moment.js locale configuration
  23533. var mt = moment.defineLocale('mt', {
  23534. months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(
  23535. '_'),
  23536. monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),
  23537. weekdays:
  23538. 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(
  23539. '_'),
  23540. weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),
  23541. weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),
  23542. longDateFormat: {
  23543. LT: 'HH:mm',
  23544. LTS: 'HH:mm:ss',
  23545. L: 'DD/MM/YYYY',
  23546. LL: 'D MMMM YYYY',
  23547. LLL: 'D MMMM YYYY HH:mm',
  23548. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  23549. calendar: {
  23550. sameDay: '[Illum fil-]LT',
  23551. nextDay: '[Għada fil-]LT',
  23552. nextWeek: 'dddd [fil-]LT',
  23553. lastDay: '[Il-bieraħ fil-]LT',
  23554. lastWeek: 'dddd [li għadda] [fil-]LT',
  23555. sameElse: 'L' },
  23556. relativeTime: {
  23557. future: 'f’ %s',
  23558. past: '%s ilu',
  23559. s: 'ftit sekondi',
  23560. ss: '%d sekondi',
  23561. m: 'minuta',
  23562. mm: '%d minuti',
  23563. h: 'siegħa',
  23564. hh: '%d siegħat',
  23565. d: 'ġurnata',
  23566. dd: '%d ġranet',
  23567. M: 'xahar',
  23568. MM: '%d xhur',
  23569. y: 'sena',
  23570. yy: '%d sni' },
  23571. dayOfMonthOrdinalParse: /\d{1,2}º/,
  23572. ordinal: '%dº',
  23573. week: {
  23574. dow: 1, // Monday is the first day of the week.
  23575. doy: 4 // The week that contains Jan 4th is the first week of the year.
  23576. } });
  23577. return mt;
  23578. });
  23579. /***/ }),
  23580. /* 109 */
  23581. /*!*********************************************************************************************!*\
  23582. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/my.js ***!
  23583. \*********************************************************************************************/
  23584. /*! no static exports found */
  23585. /***/ (function(module, exports, __webpack_require__) {
  23586. //! moment.js locale configuration
  23587. //! locale : Burmese [my]
  23588. //! author : Squar team, mysquar.com
  23589. //! author : David Rossellat : https://github.com/gholadr
  23590. //! author : Tin Aung Lin : https://github.com/thanyawzinmin
  23591. ;(function (global, factory) {
  23592. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  23593. undefined;
  23594. })(this, function (moment) {'use strict';
  23595. //! moment.js locale configuration
  23596. var symbolMap = {
  23597. 1: '၁',
  23598. 2: '၂',
  23599. 3: '၃',
  23600. 4: '၄',
  23601. 5: '၅',
  23602. 6: '၆',
  23603. 7: '၇',
  23604. 8: '၈',
  23605. 9: '၉',
  23606. 0: '၀' },
  23607. numberMap = {
  23608. '၁': '1',
  23609. '၂': '2',
  23610. '၃': '3',
  23611. '၄': '4',
  23612. '၅': '5',
  23613. '၆': '6',
  23614. '၇': '7',
  23615. '၈': '8',
  23616. '၉': '9',
  23617. '၀': '0' };
  23618. var my = moment.defineLocale('my', {
  23619. months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(
  23620. '_'),
  23621. monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),
  23622. weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(
  23623. '_'),
  23624. weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
  23625. weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
  23626. longDateFormat: {
  23627. LT: 'HH:mm',
  23628. LTS: 'HH:mm:ss',
  23629. L: 'DD/MM/YYYY',
  23630. LL: 'D MMMM YYYY',
  23631. LLL: 'D MMMM YYYY HH:mm',
  23632. LLLL: 'dddd D MMMM YYYY HH:mm' },
  23633. calendar: {
  23634. sameDay: '[ယနေ.] LT [မှာ]',
  23635. nextDay: '[မနက်ဖြန်] LT [မှာ]',
  23636. nextWeek: 'dddd LT [မှာ]',
  23637. lastDay: '[မနေ.က] LT [မှာ]',
  23638. lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',
  23639. sameElse: 'L' },
  23640. relativeTime: {
  23641. future: 'လာမည့် %s မှာ',
  23642. past: 'လွန်ခဲ့သော %s က',
  23643. s: 'စက္ကန်.အနည်းငယ်',
  23644. ss: '%d စက္ကန့်',
  23645. m: 'တစ်မိနစ်',
  23646. mm: '%d မိနစ်',
  23647. h: 'တစ်နာရီ',
  23648. hh: '%d နာရီ',
  23649. d: 'တစ်ရက်',
  23650. dd: '%d ရက်',
  23651. M: 'တစ်လ',
  23652. MM: '%d လ',
  23653. y: 'တစ်နှစ်',
  23654. yy: '%d နှစ်' },
  23655. preparse: function preparse(string) {
  23656. return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {
  23657. return numberMap[match];
  23658. });
  23659. },
  23660. postformat: function postformat(string) {
  23661. return string.replace(/\d/g, function (match) {
  23662. return symbolMap[match];
  23663. });
  23664. },
  23665. week: {
  23666. dow: 1, // Monday is the first day of the week.
  23667. doy: 4 // The week that contains Jan 4th is the first week of the year.
  23668. } });
  23669. return my;
  23670. });
  23671. /***/ }),
  23672. /* 110 */
  23673. /*!*********************************************************************************************!*\
  23674. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/nb.js ***!
  23675. \*********************************************************************************************/
  23676. /*! no static exports found */
  23677. /***/ (function(module, exports, __webpack_require__) {
  23678. //! moment.js locale configuration
  23679. //! locale : Norwegian Bokmål [nb]
  23680. //! authors : Espen Hovlandsdal : https://github.com/rexxars
  23681. //! Sigurd Gartmann : https://github.com/sigurdga
  23682. //! Stephen Ramthun : https://github.com/stephenramthun
  23683. ;(function (global, factory) {
  23684. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  23685. undefined;
  23686. })(this, function (moment) {'use strict';
  23687. //! moment.js locale configuration
  23688. var nb = moment.defineLocale('nb', {
  23689. months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(
  23690. '_'),
  23691. monthsShort:
  23692. 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),
  23693. monthsParseExact: true,
  23694. weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
  23695. weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),
  23696. weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),
  23697. weekdaysParseExact: true,
  23698. longDateFormat: {
  23699. LT: 'HH:mm',
  23700. LTS: 'HH:mm:ss',
  23701. L: 'DD.MM.YYYY',
  23702. LL: 'D. MMMM YYYY',
  23703. LLL: 'D. MMMM YYYY [kl.] HH:mm',
  23704. LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm' },
  23705. calendar: {
  23706. sameDay: '[i dag kl.] LT',
  23707. nextDay: '[i morgen kl.] LT',
  23708. nextWeek: 'dddd [kl.] LT',
  23709. lastDay: '[i går kl.] LT',
  23710. lastWeek: '[forrige] dddd [kl.] LT',
  23711. sameElse: 'L' },
  23712. relativeTime: {
  23713. future: 'om %s',
  23714. past: '%s siden',
  23715. s: 'noen sekunder',
  23716. ss: '%d sekunder',
  23717. m: 'ett minutt',
  23718. mm: '%d minutter',
  23719. h: 'en time',
  23720. hh: '%d timer',
  23721. d: 'en dag',
  23722. dd: '%d dager',
  23723. w: 'en uke',
  23724. ww: '%d uker',
  23725. M: 'en måned',
  23726. MM: '%d måneder',
  23727. y: 'ett år',
  23728. yy: '%d år' },
  23729. dayOfMonthOrdinalParse: /\d{1,2}\./,
  23730. ordinal: '%d.',
  23731. week: {
  23732. dow: 1, // Monday is the first day of the week.
  23733. doy: 4 // The week that contains Jan 4th is the first week of the year.
  23734. } });
  23735. return nb;
  23736. });
  23737. /***/ }),
  23738. /* 111 */
  23739. /*!*********************************************************************************************!*\
  23740. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ne.js ***!
  23741. \*********************************************************************************************/
  23742. /*! no static exports found */
  23743. /***/ (function(module, exports, __webpack_require__) {
  23744. //! moment.js locale configuration
  23745. //! locale : Nepalese [ne]
  23746. //! author : suvash : https://github.com/suvash
  23747. ;(function (global, factory) {
  23748. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  23749. undefined;
  23750. })(this, function (moment) {'use strict';
  23751. //! moment.js locale configuration
  23752. var symbolMap = {
  23753. 1: '१',
  23754. 2: '२',
  23755. 3: '३',
  23756. 4: '४',
  23757. 5: '५',
  23758. 6: '६',
  23759. 7: '७',
  23760. 8: '८',
  23761. 9: '९',
  23762. 0: '०' },
  23763. numberMap = {
  23764. '१': '1',
  23765. '२': '2',
  23766. '३': '3',
  23767. '४': '4',
  23768. '५': '5',
  23769. '६': '6',
  23770. '७': '7',
  23771. '८': '8',
  23772. '९': '9',
  23773. '०': '0' };
  23774. var ne = moment.defineLocale('ne', {
  23775. months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(
  23776. '_'),
  23777. monthsShort:
  23778. 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(
  23779. '_'),
  23780. monthsParseExact: true,
  23781. weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(
  23782. '_'),
  23783. weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),
  23784. weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),
  23785. weekdaysParseExact: true,
  23786. longDateFormat: {
  23787. LT: 'Aको h:mm बजे',
  23788. LTS: 'Aको h:mm:ss बजे',
  23789. L: 'DD/MM/YYYY',
  23790. LL: 'D MMMM YYYY',
  23791. LLL: 'D MMMM YYYY, Aको h:mm बजे',
  23792. LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे' },
  23793. preparse: function preparse(string) {
  23794. return string.replace(/[१२३४५६७८९०]/g, function (match) {
  23795. return numberMap[match];
  23796. });
  23797. },
  23798. postformat: function postformat(string) {
  23799. return string.replace(/\d/g, function (match) {
  23800. return symbolMap[match];
  23801. });
  23802. },
  23803. meridiemParse: /राति|बिहान|दिउँसो|साँझ/,
  23804. meridiemHour: function meridiemHour(hour, meridiem) {
  23805. if (hour === 12) {
  23806. hour = 0;
  23807. }
  23808. if (meridiem === 'राति') {
  23809. return hour < 4 ? hour : hour + 12;
  23810. } else if (meridiem === 'बिहान') {
  23811. return hour;
  23812. } else if (meridiem === 'दिउँसो') {
  23813. return hour >= 10 ? hour : hour + 12;
  23814. } else if (meridiem === 'साँझ') {
  23815. return hour + 12;
  23816. }
  23817. },
  23818. meridiem: function meridiem(hour, minute, isLower) {
  23819. if (hour < 3) {
  23820. return 'राति';
  23821. } else if (hour < 12) {
  23822. return 'बिहान';
  23823. } else if (hour < 16) {
  23824. return 'दिउँसो';
  23825. } else if (hour < 20) {
  23826. return 'साँझ';
  23827. } else {
  23828. return 'राति';
  23829. }
  23830. },
  23831. calendar: {
  23832. sameDay: '[आज] LT',
  23833. nextDay: '[भोलि] LT',
  23834. nextWeek: '[आउँदो] dddd[,] LT',
  23835. lastDay: '[हिजो] LT',
  23836. lastWeek: '[गएको] dddd[,] LT',
  23837. sameElse: 'L' },
  23838. relativeTime: {
  23839. future: '%sमा',
  23840. past: '%s अगाडि',
  23841. s: 'केही क्षण',
  23842. ss: '%d सेकेण्ड',
  23843. m: 'एक मिनेट',
  23844. mm: '%d मिनेट',
  23845. h: 'एक घण्टा',
  23846. hh: '%d घण्टा',
  23847. d: 'एक दिन',
  23848. dd: '%d दिन',
  23849. M: 'एक महिना',
  23850. MM: '%d महिना',
  23851. y: 'एक बर्ष',
  23852. yy: '%d बर्ष' },
  23853. week: {
  23854. dow: 0, // Sunday is the first day of the week.
  23855. doy: 6 // The week that contains Jan 6th is the first week of the year.
  23856. } });
  23857. return ne;
  23858. });
  23859. /***/ }),
  23860. /* 112 */
  23861. /*!*********************************************************************************************!*\
  23862. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/nl.js ***!
  23863. \*********************************************************************************************/
  23864. /*! no static exports found */
  23865. /***/ (function(module, exports, __webpack_require__) {
  23866. //! moment.js locale configuration
  23867. //! locale : Dutch [nl]
  23868. //! author : Joris Röling : https://github.com/jorisroling
  23869. //! author : Jacob Middag : https://github.com/middagj
  23870. ;(function (global, factory) {
  23871. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  23872. undefined;
  23873. })(this, function (moment) {'use strict';
  23874. //! moment.js locale configuration
  23875. var monthsShortWithDots =
  23876. 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
  23877. monthsShortWithoutDots =
  23878. 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),
  23879. monthsParse = [
  23880. /^jan/i,
  23881. /^feb/i,
  23882. /^maart|mrt.?$/i,
  23883. /^apr/i,
  23884. /^mei$/i,
  23885. /^jun[i.]?$/i,
  23886. /^jul[i.]?$/i,
  23887. /^aug/i,
  23888. /^sep/i,
  23889. /^okt/i,
  23890. /^nov/i,
  23891. /^dec/i],
  23892. monthsRegex =
  23893. /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;
  23894. var nl = moment.defineLocale('nl', {
  23895. months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(
  23896. '_'),
  23897. monthsShort: function monthsShort(m, format) {
  23898. if (!m) {
  23899. return monthsShortWithDots;
  23900. } else if (/-MMM-/.test(format)) {
  23901. return monthsShortWithoutDots[m.month()];
  23902. } else {
  23903. return monthsShortWithDots[m.month()];
  23904. }
  23905. },
  23906. monthsRegex: monthsRegex,
  23907. monthsShortRegex: monthsRegex,
  23908. monthsStrictRegex:
  23909. /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
  23910. monthsShortStrictRegex:
  23911. /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
  23912. monthsParse: monthsParse,
  23913. longMonthsParse: monthsParse,
  23914. shortMonthsParse: monthsParse,
  23915. weekdays:
  23916. 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
  23917. weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),
  23918. weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),
  23919. weekdaysParseExact: true,
  23920. longDateFormat: {
  23921. LT: 'HH:mm',
  23922. LTS: 'HH:mm:ss',
  23923. L: 'DD-MM-YYYY',
  23924. LL: 'D MMMM YYYY',
  23925. LLL: 'D MMMM YYYY HH:mm',
  23926. LLLL: 'dddd D MMMM YYYY HH:mm' },
  23927. calendar: {
  23928. sameDay: '[vandaag om] LT',
  23929. nextDay: '[morgen om] LT',
  23930. nextWeek: 'dddd [om] LT',
  23931. lastDay: '[gisteren om] LT',
  23932. lastWeek: '[afgelopen] dddd [om] LT',
  23933. sameElse: 'L' },
  23934. relativeTime: {
  23935. future: 'over %s',
  23936. past: '%s geleden',
  23937. s: 'een paar seconden',
  23938. ss: '%d seconden',
  23939. m: 'één minuut',
  23940. mm: '%d minuten',
  23941. h: 'één uur',
  23942. hh: '%d uur',
  23943. d: 'één dag',
  23944. dd: '%d dagen',
  23945. w: 'één week',
  23946. ww: '%d weken',
  23947. M: 'één maand',
  23948. MM: '%d maanden',
  23949. y: 'één jaar',
  23950. yy: '%d jaar' },
  23951. dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
  23952. ordinal: function ordinal(number) {
  23953. return (
  23954. number + (
  23955. number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'));
  23956. },
  23957. week: {
  23958. dow: 1, // Monday is the first day of the week.
  23959. doy: 4 // The week that contains Jan 4th is the first week of the year.
  23960. } });
  23961. return nl;
  23962. });
  23963. /***/ }),
  23964. /* 113 */
  23965. /*!************************************************************************************************!*\
  23966. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/nl-be.js ***!
  23967. \************************************************************************************************/
  23968. /*! no static exports found */
  23969. /***/ (function(module, exports, __webpack_require__) {
  23970. //! moment.js locale configuration
  23971. //! locale : Dutch (Belgium) [nl-be]
  23972. //! author : Joris Röling : https://github.com/jorisroling
  23973. //! author : Jacob Middag : https://github.com/middagj
  23974. ;(function (global, factory) {
  23975. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  23976. undefined;
  23977. })(this, function (moment) {'use strict';
  23978. //! moment.js locale configuration
  23979. var monthsShortWithDots =
  23980. 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
  23981. monthsShortWithoutDots =
  23982. 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),
  23983. monthsParse = [
  23984. /^jan/i,
  23985. /^feb/i,
  23986. /^maart|mrt.?$/i,
  23987. /^apr/i,
  23988. /^mei$/i,
  23989. /^jun[i.]?$/i,
  23990. /^jul[i.]?$/i,
  23991. /^aug/i,
  23992. /^sep/i,
  23993. /^okt/i,
  23994. /^nov/i,
  23995. /^dec/i],
  23996. monthsRegex =
  23997. /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;
  23998. var nlBe = moment.defineLocale('nl-be', {
  23999. months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(
  24000. '_'),
  24001. monthsShort: function monthsShort(m, format) {
  24002. if (!m) {
  24003. return monthsShortWithDots;
  24004. } else if (/-MMM-/.test(format)) {
  24005. return monthsShortWithoutDots[m.month()];
  24006. } else {
  24007. return monthsShortWithDots[m.month()];
  24008. }
  24009. },
  24010. monthsRegex: monthsRegex,
  24011. monthsShortRegex: monthsRegex,
  24012. monthsStrictRegex:
  24013. /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
  24014. monthsShortStrictRegex:
  24015. /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
  24016. monthsParse: monthsParse,
  24017. longMonthsParse: monthsParse,
  24018. shortMonthsParse: monthsParse,
  24019. weekdays:
  24020. 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
  24021. weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),
  24022. weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),
  24023. weekdaysParseExact: true,
  24024. longDateFormat: {
  24025. LT: 'HH:mm',
  24026. LTS: 'HH:mm:ss',
  24027. L: 'DD/MM/YYYY',
  24028. LL: 'D MMMM YYYY',
  24029. LLL: 'D MMMM YYYY HH:mm',
  24030. LLLL: 'dddd D MMMM YYYY HH:mm' },
  24031. calendar: {
  24032. sameDay: '[vandaag om] LT',
  24033. nextDay: '[morgen om] LT',
  24034. nextWeek: 'dddd [om] LT',
  24035. lastDay: '[gisteren om] LT',
  24036. lastWeek: '[afgelopen] dddd [om] LT',
  24037. sameElse: 'L' },
  24038. relativeTime: {
  24039. future: 'over %s',
  24040. past: '%s geleden',
  24041. s: 'een paar seconden',
  24042. ss: '%d seconden',
  24043. m: 'één minuut',
  24044. mm: '%d minuten',
  24045. h: 'één uur',
  24046. hh: '%d uur',
  24047. d: 'één dag',
  24048. dd: '%d dagen',
  24049. M: 'één maand',
  24050. MM: '%d maanden',
  24051. y: 'één jaar',
  24052. yy: '%d jaar' },
  24053. dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
  24054. ordinal: function ordinal(number) {
  24055. return (
  24056. number + (
  24057. number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'));
  24058. },
  24059. week: {
  24060. dow: 1, // Monday is the first day of the week.
  24061. doy: 4 // The week that contains Jan 4th is the first week of the year.
  24062. } });
  24063. return nlBe;
  24064. });
  24065. /***/ }),
  24066. /* 114 */
  24067. /*!*********************************************************************************************!*\
  24068. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/nn.js ***!
  24069. \*********************************************************************************************/
  24070. /*! no static exports found */
  24071. /***/ (function(module, exports, __webpack_require__) {
  24072. //! moment.js locale configuration
  24073. //! locale : Nynorsk [nn]
  24074. //! authors : https://github.com/mechuwind
  24075. //! Stephen Ramthun : https://github.com/stephenramthun
  24076. ;(function (global, factory) {
  24077. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  24078. undefined;
  24079. })(this, function (moment) {'use strict';
  24080. //! moment.js locale configuration
  24081. var nn = moment.defineLocale('nn', {
  24082. months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(
  24083. '_'),
  24084. monthsShort:
  24085. 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),
  24086. monthsParseExact: true,
  24087. weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),
  24088. weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),
  24089. weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),
  24090. weekdaysParseExact: true,
  24091. longDateFormat: {
  24092. LT: 'HH:mm',
  24093. LTS: 'HH:mm:ss',
  24094. L: 'DD.MM.YYYY',
  24095. LL: 'D. MMMM YYYY',
  24096. LLL: 'D. MMMM YYYY [kl.] H:mm',
  24097. LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm' },
  24098. calendar: {
  24099. sameDay: '[I dag klokka] LT',
  24100. nextDay: '[I morgon klokka] LT',
  24101. nextWeek: 'dddd [klokka] LT',
  24102. lastDay: '[I går klokka] LT',
  24103. lastWeek: '[Føregåande] dddd [klokka] LT',
  24104. sameElse: 'L' },
  24105. relativeTime: {
  24106. future: 'om %s',
  24107. past: '%s sidan',
  24108. s: 'nokre sekund',
  24109. ss: '%d sekund',
  24110. m: 'eit minutt',
  24111. mm: '%d minutt',
  24112. h: 'ein time',
  24113. hh: '%d timar',
  24114. d: 'ein dag',
  24115. dd: '%d dagar',
  24116. w: 'ei veke',
  24117. ww: '%d veker',
  24118. M: 'ein månad',
  24119. MM: '%d månader',
  24120. y: 'eit år',
  24121. yy: '%d år' },
  24122. dayOfMonthOrdinalParse: /\d{1,2}\./,
  24123. ordinal: '%d.',
  24124. week: {
  24125. dow: 1, // Monday is the first day of the week.
  24126. doy: 4 // The week that contains Jan 4th is the first week of the year.
  24127. } });
  24128. return nn;
  24129. });
  24130. /***/ }),
  24131. /* 115 */
  24132. /*!*************************************************************************************************!*\
  24133. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/oc-lnc.js ***!
  24134. \*************************************************************************************************/
  24135. /*! no static exports found */
  24136. /***/ (function(module, exports, __webpack_require__) {
  24137. //! moment.js locale configuration
  24138. //! locale : Occitan, lengadocian dialecte [oc-lnc]
  24139. //! author : Quentin PAGÈS : https://github.com/Quenty31
  24140. ;(function (global, factory) {
  24141. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  24142. undefined;
  24143. })(this, function (moment) {'use strict';
  24144. //! moment.js locale configuration
  24145. var ocLnc = moment.defineLocale('oc-lnc', {
  24146. months: {
  24147. standalone:
  24148. 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(
  24149. '_'),
  24150. format: "de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre".split(
  24151. '_'),
  24152. isFormat: /D[oD]?(\s)+MMMM/ },
  24153. monthsShort:
  24154. 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(
  24155. '_'),
  24156. monthsParseExact: true,
  24157. weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(
  24158. '_'),
  24159. weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),
  24160. weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),
  24161. weekdaysParseExact: true,
  24162. longDateFormat: {
  24163. LT: 'H:mm',
  24164. LTS: 'H:mm:ss',
  24165. L: 'DD/MM/YYYY',
  24166. LL: 'D MMMM [de] YYYY',
  24167. ll: 'D MMM YYYY',
  24168. LLL: 'D MMMM [de] YYYY [a] H:mm',
  24169. lll: 'D MMM YYYY, H:mm',
  24170. LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',
  24171. llll: 'ddd D MMM YYYY, H:mm' },
  24172. calendar: {
  24173. sameDay: '[uèi a] LT',
  24174. nextDay: '[deman a] LT',
  24175. nextWeek: 'dddd [a] LT',
  24176. lastDay: '[ièr a] LT',
  24177. lastWeek: 'dddd [passat a] LT',
  24178. sameElse: 'L' },
  24179. relativeTime: {
  24180. future: "d'aquí %s",
  24181. past: 'fa %s',
  24182. s: 'unas segondas',
  24183. ss: '%d segondas',
  24184. m: 'una minuta',
  24185. mm: '%d minutas',
  24186. h: 'una ora',
  24187. hh: '%d oras',
  24188. d: 'un jorn',
  24189. dd: '%d jorns',
  24190. M: 'un mes',
  24191. MM: '%d meses',
  24192. y: 'un an',
  24193. yy: '%d ans' },
  24194. dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
  24195. ordinal: function ordinal(number, period) {
  24196. var output =
  24197. number === 1 ?
  24198. 'r' :
  24199. number === 2 ?
  24200. 'n' :
  24201. number === 3 ?
  24202. 'r' :
  24203. number === 4 ?
  24204. 't' :
  24205. 'è';
  24206. if (period === 'w' || period === 'W') {
  24207. output = 'a';
  24208. }
  24209. return number + output;
  24210. },
  24211. week: {
  24212. dow: 1, // Monday is the first day of the week.
  24213. doy: 4 } });
  24214. return ocLnc;
  24215. });
  24216. /***/ }),
  24217. /* 116 */
  24218. /*!************************************************************************************************!*\
  24219. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/pa-in.js ***!
  24220. \************************************************************************************************/
  24221. /*! no static exports found */
  24222. /***/ (function(module, exports, __webpack_require__) {
  24223. //! moment.js locale configuration
  24224. //! locale : Punjabi (India) [pa-in]
  24225. //! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit
  24226. ;(function (global, factory) {
  24227. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  24228. undefined;
  24229. })(this, function (moment) {'use strict';
  24230. //! moment.js locale configuration
  24231. var symbolMap = {
  24232. 1: '੧',
  24233. 2: '੨',
  24234. 3: '੩',
  24235. 4: '੪',
  24236. 5: '੫',
  24237. 6: '੬',
  24238. 7: '੭',
  24239. 8: '੮',
  24240. 9: '੯',
  24241. 0: '੦' },
  24242. numberMap = {
  24243. '੧': '1',
  24244. '੨': '2',
  24245. '੩': '3',
  24246. '੪': '4',
  24247. '੫': '5',
  24248. '੬': '6',
  24249. '੭': '7',
  24250. '੮': '8',
  24251. '੯': '9',
  24252. '੦': '0' };
  24253. var paIn = moment.defineLocale('pa-in', {
  24254. // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.
  24255. months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(
  24256. '_'),
  24257. monthsShort:
  24258. 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(
  24259. '_'),
  24260. weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(
  24261. '_'),
  24262. weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
  24263. weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
  24264. longDateFormat: {
  24265. LT: 'A h:mm ਵਜੇ',
  24266. LTS: 'A h:mm:ss ਵਜੇ',
  24267. L: 'DD/MM/YYYY',
  24268. LL: 'D MMMM YYYY',
  24269. LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',
  24270. LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ' },
  24271. calendar: {
  24272. sameDay: '[ਅਜ] LT',
  24273. nextDay: '[ਕਲ] LT',
  24274. nextWeek: '[ਅਗਲਾ] dddd, LT',
  24275. lastDay: '[ਕਲ] LT',
  24276. lastWeek: '[ਪਿਛਲੇ] dddd, LT',
  24277. sameElse: 'L' },
  24278. relativeTime: {
  24279. future: '%s ਵਿੱਚ',
  24280. past: '%s ਪਿਛਲੇ',
  24281. s: 'ਕੁਝ ਸਕਿੰਟ',
  24282. ss: '%d ਸਕਿੰਟ',
  24283. m: 'ਇਕ ਮਿੰਟ',
  24284. mm: '%d ਮਿੰਟ',
  24285. h: 'ਇੱਕ ਘੰਟਾ',
  24286. hh: '%d ਘੰਟੇ',
  24287. d: 'ਇੱਕ ਦਿਨ',
  24288. dd: '%d ਦਿਨ',
  24289. M: 'ਇੱਕ ਮਹੀਨਾ',
  24290. MM: '%d ਮਹੀਨੇ',
  24291. y: 'ਇੱਕ ਸਾਲ',
  24292. yy: '%d ਸਾਲ' },
  24293. preparse: function preparse(string) {
  24294. return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {
  24295. return numberMap[match];
  24296. });
  24297. },
  24298. postformat: function postformat(string) {
  24299. return string.replace(/\d/g, function (match) {
  24300. return symbolMap[match];
  24301. });
  24302. },
  24303. // Punjabi notation for meridiems are quite fuzzy in practice. While there exists
  24304. // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.
  24305. meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,
  24306. meridiemHour: function meridiemHour(hour, meridiem) {
  24307. if (hour === 12) {
  24308. hour = 0;
  24309. }
  24310. if (meridiem === 'ਰਾਤ') {
  24311. return hour < 4 ? hour : hour + 12;
  24312. } else if (meridiem === 'ਸਵੇਰ') {
  24313. return hour;
  24314. } else if (meridiem === 'ਦੁਪਹਿਰ') {
  24315. return hour >= 10 ? hour : hour + 12;
  24316. } else if (meridiem === 'ਸ਼ਾਮ') {
  24317. return hour + 12;
  24318. }
  24319. },
  24320. meridiem: function meridiem(hour, minute, isLower) {
  24321. if (hour < 4) {
  24322. return 'ਰਾਤ';
  24323. } else if (hour < 10) {
  24324. return 'ਸਵੇਰ';
  24325. } else if (hour < 17) {
  24326. return 'ਦੁਪਹਿਰ';
  24327. } else if (hour < 20) {
  24328. return 'ਸ਼ਾਮ';
  24329. } else {
  24330. return 'ਰਾਤ';
  24331. }
  24332. },
  24333. week: {
  24334. dow: 0, // Sunday is the first day of the week.
  24335. doy: 6 // The week that contains Jan 6th is the first week of the year.
  24336. } });
  24337. return paIn;
  24338. });
  24339. /***/ }),
  24340. /* 117 */
  24341. /*!*********************************************************************************************!*\
  24342. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/pl.js ***!
  24343. \*********************************************************************************************/
  24344. /*! no static exports found */
  24345. /***/ (function(module, exports, __webpack_require__) {
  24346. //! moment.js locale configuration
  24347. //! locale : Polish [pl]
  24348. //! author : Rafal Hirsz : https://github.com/evoL
  24349. ;(function (global, factory) {
  24350. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  24351. undefined;
  24352. })(this, function (moment) {'use strict';
  24353. //! moment.js locale configuration
  24354. var monthsNominative =
  24355. 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(
  24356. '_'),
  24357. monthsSubjective =
  24358. 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(
  24359. '_'),
  24360. monthsParse = [
  24361. /^sty/i,
  24362. /^lut/i,
  24363. /^mar/i,
  24364. /^kwi/i,
  24365. /^maj/i,
  24366. /^cze/i,
  24367. /^lip/i,
  24368. /^sie/i,
  24369. /^wrz/i,
  24370. /^paź/i,
  24371. /^lis/i,
  24372. /^gru/i];
  24373. function plural(n) {
  24374. return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;
  24375. }
  24376. function translate(number, withoutSuffix, key) {
  24377. var result = number + ' ';
  24378. switch (key) {
  24379. case 'ss':
  24380. return result + (plural(number) ? 'sekundy' : 'sekund');
  24381. case 'm':
  24382. return withoutSuffix ? 'minuta' : 'minutę';
  24383. case 'mm':
  24384. return result + (plural(number) ? 'minuty' : 'minut');
  24385. case 'h':
  24386. return withoutSuffix ? 'godzina' : 'godzinę';
  24387. case 'hh':
  24388. return result + (plural(number) ? 'godziny' : 'godzin');
  24389. case 'ww':
  24390. return result + (plural(number) ? 'tygodnie' : 'tygodni');
  24391. case 'MM':
  24392. return result + (plural(number) ? 'miesiące' : 'miesięcy');
  24393. case 'yy':
  24394. return result + (plural(number) ? 'lata' : 'lat');}
  24395. }
  24396. var pl = moment.defineLocale('pl', {
  24397. months: function months(momentToFormat, format) {
  24398. if (!momentToFormat) {
  24399. return monthsNominative;
  24400. } else if (/D MMMM/.test(format)) {
  24401. return monthsSubjective[momentToFormat.month()];
  24402. } else {
  24403. return monthsNominative[momentToFormat.month()];
  24404. }
  24405. },
  24406. monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),
  24407. monthsParse: monthsParse,
  24408. longMonthsParse: monthsParse,
  24409. shortMonthsParse: monthsParse,
  24410. weekdays:
  24411. 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),
  24412. weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),
  24413. weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),
  24414. longDateFormat: {
  24415. LT: 'HH:mm',
  24416. LTS: 'HH:mm:ss',
  24417. L: 'DD.MM.YYYY',
  24418. LL: 'D MMMM YYYY',
  24419. LLL: 'D MMMM YYYY HH:mm',
  24420. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  24421. calendar: {
  24422. sameDay: '[Dziś o] LT',
  24423. nextDay: '[Jutro o] LT',
  24424. nextWeek: function nextWeek() {
  24425. switch (this.day()) {
  24426. case 0:
  24427. return '[W niedzielę o] LT';
  24428. case 2:
  24429. return '[We wtorek o] LT';
  24430. case 3:
  24431. return '[W środę o] LT';
  24432. case 6:
  24433. return '[W sobotę o] LT';
  24434. default:
  24435. return '[W] dddd [o] LT';}
  24436. },
  24437. lastDay: '[Wczoraj o] LT',
  24438. lastWeek: function lastWeek() {
  24439. switch (this.day()) {
  24440. case 0:
  24441. return '[W zeszłą niedzielę o] LT';
  24442. case 3:
  24443. return '[W zeszłą środę o] LT';
  24444. case 6:
  24445. return '[W zeszłą sobotę o] LT';
  24446. default:
  24447. return '[W zeszły] dddd [o] LT';}
  24448. },
  24449. sameElse: 'L' },
  24450. relativeTime: {
  24451. future: 'za %s',
  24452. past: '%s temu',
  24453. s: 'kilka sekund',
  24454. ss: translate,
  24455. m: translate,
  24456. mm: translate,
  24457. h: translate,
  24458. hh: translate,
  24459. d: '1 dzień',
  24460. dd: '%d dni',
  24461. w: 'tydzień',
  24462. ww: translate,
  24463. M: 'miesiąc',
  24464. MM: translate,
  24465. y: 'rok',
  24466. yy: translate },
  24467. dayOfMonthOrdinalParse: /\d{1,2}\./,
  24468. ordinal: '%d.',
  24469. week: {
  24470. dow: 1, // Monday is the first day of the week.
  24471. doy: 4 // The week that contains Jan 4th is the first week of the year.
  24472. } });
  24473. return pl;
  24474. });
  24475. /***/ }),
  24476. /* 118 */
  24477. /*!*********************************************************************************************!*\
  24478. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/pt.js ***!
  24479. \*********************************************************************************************/
  24480. /*! no static exports found */
  24481. /***/ (function(module, exports, __webpack_require__) {
  24482. //! moment.js locale configuration
  24483. //! locale : Portuguese [pt]
  24484. //! author : Jefferson : https://github.com/jalex79
  24485. ;(function (global, factory) {
  24486. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  24487. undefined;
  24488. })(this, function (moment) {'use strict';
  24489. //! moment.js locale configuration
  24490. var pt = moment.defineLocale('pt', {
  24491. months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(
  24492. '_'),
  24493. monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),
  24494. weekdays:
  24495. 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(
  24496. '_'),
  24497. weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
  24498. weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
  24499. weekdaysParseExact: true,
  24500. longDateFormat: {
  24501. LT: 'HH:mm',
  24502. LTS: 'HH:mm:ss',
  24503. L: 'DD/MM/YYYY',
  24504. LL: 'D [de] MMMM [de] YYYY',
  24505. LLL: 'D [de] MMMM [de] YYYY HH:mm',
  24506. LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm' },
  24507. calendar: {
  24508. sameDay: '[Hoje às] LT',
  24509. nextDay: '[Amanhã às] LT',
  24510. nextWeek: 'dddd [às] LT',
  24511. lastDay: '[Ontem às] LT',
  24512. lastWeek: function lastWeek() {
  24513. return this.day() === 0 || this.day() === 6 ?
  24514. '[Último] dddd [às] LT' // Saturday + Sunday
  24515. : '[Última] dddd [às] LT'; // Monday - Friday
  24516. },
  24517. sameElse: 'L' },
  24518. relativeTime: {
  24519. future: 'em %s',
  24520. past: 'há %s',
  24521. s: 'segundos',
  24522. ss: '%d segundos',
  24523. m: 'um minuto',
  24524. mm: '%d minutos',
  24525. h: 'uma hora',
  24526. hh: '%d horas',
  24527. d: 'um dia',
  24528. dd: '%d dias',
  24529. w: 'uma semana',
  24530. ww: '%d semanas',
  24531. M: 'um mês',
  24532. MM: '%d meses',
  24533. y: 'um ano',
  24534. yy: '%d anos' },
  24535. dayOfMonthOrdinalParse: /\d{1,2}º/,
  24536. ordinal: '%dº',
  24537. week: {
  24538. dow: 1, // Monday is the first day of the week.
  24539. doy: 4 // The week that contains Jan 4th is the first week of the year.
  24540. } });
  24541. return pt;
  24542. });
  24543. /***/ }),
  24544. /* 119 */
  24545. /*!************************************************************************************************!*\
  24546. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/pt-br.js ***!
  24547. \************************************************************************************************/
  24548. /*! no static exports found */
  24549. /***/ (function(module, exports, __webpack_require__) {
  24550. //! moment.js locale configuration
  24551. //! locale : Portuguese (Brazil) [pt-br]
  24552. //! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira
  24553. ;(function (global, factory) {
  24554. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  24555. undefined;
  24556. })(this, function (moment) {'use strict';
  24557. //! moment.js locale configuration
  24558. var ptBr = moment.defineLocale('pt-br', {
  24559. months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(
  24560. '_'),
  24561. monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),
  24562. weekdays:
  24563. 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(
  24564. '_'),
  24565. weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),
  24566. weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),
  24567. weekdaysParseExact: true,
  24568. longDateFormat: {
  24569. LT: 'HH:mm',
  24570. LTS: 'HH:mm:ss',
  24571. L: 'DD/MM/YYYY',
  24572. LL: 'D [de] MMMM [de] YYYY',
  24573. LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',
  24574. LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm' },
  24575. calendar: {
  24576. sameDay: '[Hoje às] LT',
  24577. nextDay: '[Amanhã às] LT',
  24578. nextWeek: 'dddd [às] LT',
  24579. lastDay: '[Ontem às] LT',
  24580. lastWeek: function lastWeek() {
  24581. return this.day() === 0 || this.day() === 6 ?
  24582. '[Último] dddd [às] LT' // Saturday + Sunday
  24583. : '[Última] dddd [às] LT'; // Monday - Friday
  24584. },
  24585. sameElse: 'L' },
  24586. relativeTime: {
  24587. future: 'em %s',
  24588. past: 'há %s',
  24589. s: 'poucos segundos',
  24590. ss: '%d segundos',
  24591. m: 'um minuto',
  24592. mm: '%d minutos',
  24593. h: 'uma hora',
  24594. hh: '%d horas',
  24595. d: 'um dia',
  24596. dd: '%d dias',
  24597. M: 'um mês',
  24598. MM: '%d meses',
  24599. y: 'um ano',
  24600. yy: '%d anos' },
  24601. dayOfMonthOrdinalParse: /\d{1,2}º/,
  24602. ordinal: '%dº',
  24603. invalidDate: 'Data inválida' });
  24604. return ptBr;
  24605. });
  24606. /***/ }),
  24607. /* 120 */
  24608. /*!*********************************************************************************************!*\
  24609. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ro.js ***!
  24610. \*********************************************************************************************/
  24611. /*! no static exports found */
  24612. /***/ (function(module, exports, __webpack_require__) {
  24613. //! moment.js locale configuration
  24614. //! locale : Romanian [ro]
  24615. //! author : Vlad Gurdiga : https://github.com/gurdiga
  24616. //! author : Valentin Agachi : https://github.com/avaly
  24617. //! author : Emanuel Cepoi : https://github.com/cepem
  24618. ;(function (global, factory) {
  24619. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  24620. undefined;
  24621. })(this, function (moment) {'use strict';
  24622. //! moment.js locale configuration
  24623. function relativeTimeWithPlural(number, withoutSuffix, key) {
  24624. var format = {
  24625. ss: 'secunde',
  24626. mm: 'minute',
  24627. hh: 'ore',
  24628. dd: 'zile',
  24629. ww: 'săptămâni',
  24630. MM: 'luni',
  24631. yy: 'ani' },
  24632. separator = ' ';
  24633. if (number % 100 >= 20 || number >= 100 && number % 100 === 0) {
  24634. separator = ' de ';
  24635. }
  24636. return number + separator + format[key];
  24637. }
  24638. var ro = moment.defineLocale('ro', {
  24639. months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(
  24640. '_'),
  24641. monthsShort:
  24642. 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(
  24643. '_'),
  24644. monthsParseExact: true,
  24645. weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),
  24646. weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),
  24647. weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),
  24648. longDateFormat: {
  24649. LT: 'H:mm',
  24650. LTS: 'H:mm:ss',
  24651. L: 'DD.MM.YYYY',
  24652. LL: 'D MMMM YYYY',
  24653. LLL: 'D MMMM YYYY H:mm',
  24654. LLLL: 'dddd, D MMMM YYYY H:mm' },
  24655. calendar: {
  24656. sameDay: '[azi la] LT',
  24657. nextDay: '[mâine la] LT',
  24658. nextWeek: 'dddd [la] LT',
  24659. lastDay: '[ieri la] LT',
  24660. lastWeek: '[fosta] dddd [la] LT',
  24661. sameElse: 'L' },
  24662. relativeTime: {
  24663. future: 'peste %s',
  24664. past: '%s în urmă',
  24665. s: 'câteva secunde',
  24666. ss: relativeTimeWithPlural,
  24667. m: 'un minut',
  24668. mm: relativeTimeWithPlural,
  24669. h: 'o oră',
  24670. hh: relativeTimeWithPlural,
  24671. d: 'o zi',
  24672. dd: relativeTimeWithPlural,
  24673. w: 'o săptămână',
  24674. ww: relativeTimeWithPlural,
  24675. M: 'o lună',
  24676. MM: relativeTimeWithPlural,
  24677. y: 'un an',
  24678. yy: relativeTimeWithPlural },
  24679. week: {
  24680. dow: 1, // Monday is the first day of the week.
  24681. doy: 7 // The week that contains Jan 7th is the first week of the year.
  24682. } });
  24683. return ro;
  24684. });
  24685. /***/ }),
  24686. /* 121 */
  24687. /*!*********************************************************************************************!*\
  24688. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ru.js ***!
  24689. \*********************************************************************************************/
  24690. /*! no static exports found */
  24691. /***/ (function(module, exports, __webpack_require__) {
  24692. //! moment.js locale configuration
  24693. //! locale : Russian [ru]
  24694. //! author : Viktorminator : https://github.com/Viktorminator
  24695. //! author : Menelion Elensúle : https://github.com/Oire
  24696. //! author : Коренберг Марк : https://github.com/socketpair
  24697. ;(function (global, factory) {
  24698. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  24699. undefined;
  24700. })(this, function (moment) {'use strict';
  24701. //! moment.js locale configuration
  24702. function plural(word, num) {
  24703. var forms = word.split('_');
  24704. return num % 10 === 1 && num % 100 !== 11 ?
  24705. forms[0] :
  24706. num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ?
  24707. forms[1] :
  24708. forms[2];
  24709. }
  24710. function relativeTimeWithPlural(number, withoutSuffix, key) {
  24711. var format = {
  24712. ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
  24713. mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',
  24714. hh: 'час_часа_часов',
  24715. dd: 'день_дня_дней',
  24716. ww: 'неделя_недели_недель',
  24717. MM: 'месяц_месяца_месяцев',
  24718. yy: 'год_года_лет' };
  24719. if (key === 'm') {
  24720. return withoutSuffix ? 'минута' : 'минуту';
  24721. } else {
  24722. return number + ' ' + plural(format[key], +number);
  24723. }
  24724. }
  24725. var monthsParse = [
  24726. /^янв/i,
  24727. /^фев/i,
  24728. /^мар/i,
  24729. /^апр/i,
  24730. /^ма[йя]/i,
  24731. /^июн/i,
  24732. /^июл/i,
  24733. /^авг/i,
  24734. /^сен/i,
  24735. /^окт/i,
  24736. /^ноя/i,
  24737. /^дек/i];
  24738. // http://new.gramota.ru/spravka/rules/139-prop : § 103
  24739. // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637
  24740. // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753
  24741. var ru = moment.defineLocale('ru', {
  24742. months: {
  24743. format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(
  24744. '_'),
  24745. standalone:
  24746. 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(
  24747. '_') },
  24748. monthsShort: {
  24749. // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку?
  24750. format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(
  24751. '_'),
  24752. standalone:
  24753. 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(
  24754. '_') },
  24755. weekdays: {
  24756. standalone:
  24757. 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(
  24758. '_'),
  24759. format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(
  24760. '_'),
  24761. isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/ },
  24762. weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
  24763. weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
  24764. monthsParse: monthsParse,
  24765. longMonthsParse: monthsParse,
  24766. shortMonthsParse: monthsParse,
  24767. // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки
  24768. monthsRegex:
  24769. /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
  24770. // копия предыдущего
  24771. monthsShortRegex:
  24772. /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
  24773. // полные названия с падежами
  24774. monthsStrictRegex:
  24775. /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,
  24776. // Выражение, которое соответствует только сокращённым формам
  24777. monthsShortStrictRegex:
  24778. /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,
  24779. longDateFormat: {
  24780. LT: 'H:mm',
  24781. LTS: 'H:mm:ss',
  24782. L: 'DD.MM.YYYY',
  24783. LL: 'D MMMM YYYY г.',
  24784. LLL: 'D MMMM YYYY г., H:mm',
  24785. LLLL: 'dddd, D MMMM YYYY г., H:mm' },
  24786. calendar: {
  24787. sameDay: '[Сегодня, в] LT',
  24788. nextDay: '[Завтра, в] LT',
  24789. lastDay: '[Вчера, в] LT',
  24790. nextWeek: function nextWeek(now) {
  24791. if (now.week() !== this.week()) {
  24792. switch (this.day()) {
  24793. case 0:
  24794. return '[В следующее] dddd, [в] LT';
  24795. case 1:
  24796. case 2:
  24797. case 4:
  24798. return '[В следующий] dddd, [в] LT';
  24799. case 3:
  24800. case 5:
  24801. case 6:
  24802. return '[В следующую] dddd, [в] LT';}
  24803. } else {
  24804. if (this.day() === 2) {
  24805. return '[Во] dddd, [в] LT';
  24806. } else {
  24807. return '[В] dddd, [в] LT';
  24808. }
  24809. }
  24810. },
  24811. lastWeek: function lastWeek(now) {
  24812. if (now.week() !== this.week()) {
  24813. switch (this.day()) {
  24814. case 0:
  24815. return '[В прошлое] dddd, [в] LT';
  24816. case 1:
  24817. case 2:
  24818. case 4:
  24819. return '[В прошлый] dddd, [в] LT';
  24820. case 3:
  24821. case 5:
  24822. case 6:
  24823. return '[В прошлую] dddd, [в] LT';}
  24824. } else {
  24825. if (this.day() === 2) {
  24826. return '[Во] dddd, [в] LT';
  24827. } else {
  24828. return '[В] dddd, [в] LT';
  24829. }
  24830. }
  24831. },
  24832. sameElse: 'L' },
  24833. relativeTime: {
  24834. future: 'через %s',
  24835. past: '%s назад',
  24836. s: 'несколько секунд',
  24837. ss: relativeTimeWithPlural,
  24838. m: relativeTimeWithPlural,
  24839. mm: relativeTimeWithPlural,
  24840. h: 'час',
  24841. hh: relativeTimeWithPlural,
  24842. d: 'день',
  24843. dd: relativeTimeWithPlural,
  24844. w: 'неделя',
  24845. ww: relativeTimeWithPlural,
  24846. M: 'месяц',
  24847. MM: relativeTimeWithPlural,
  24848. y: 'год',
  24849. yy: relativeTimeWithPlural },
  24850. meridiemParse: /ночи|утра|дня|вечера/i,
  24851. isPM: function isPM(input) {
  24852. return /^(дня|вечера)$/.test(input);
  24853. },
  24854. meridiem: function meridiem(hour, minute, isLower) {
  24855. if (hour < 4) {
  24856. return 'ночи';
  24857. } else if (hour < 12) {
  24858. return 'утра';
  24859. } else if (hour < 17) {
  24860. return 'дня';
  24861. } else {
  24862. return 'вечера';
  24863. }
  24864. },
  24865. dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/,
  24866. ordinal: function ordinal(number, period) {
  24867. switch (period) {
  24868. case 'M':
  24869. case 'd':
  24870. case 'DDD':
  24871. return number + '-й';
  24872. case 'D':
  24873. return number + '-го';
  24874. case 'w':
  24875. case 'W':
  24876. return number + '-я';
  24877. default:
  24878. return number;}
  24879. },
  24880. week: {
  24881. dow: 1, // Monday is the first day of the week.
  24882. doy: 4 // The week that contains Jan 4th is the first week of the year.
  24883. } });
  24884. return ru;
  24885. });
  24886. /***/ }),
  24887. /* 122 */
  24888. /*!*********************************************************************************************!*\
  24889. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/sd.js ***!
  24890. \*********************************************************************************************/
  24891. /*! no static exports found */
  24892. /***/ (function(module, exports, __webpack_require__) {
  24893. //! moment.js locale configuration
  24894. //! locale : Sindhi [sd]
  24895. //! author : Narain Sagar : https://github.com/narainsagar
  24896. ;(function (global, factory) {
  24897. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  24898. undefined;
  24899. })(this, function (moment) {'use strict';
  24900. //! moment.js locale configuration
  24901. var months = [
  24902. 'جنوري',
  24903. 'فيبروري',
  24904. 'مارچ',
  24905. 'اپريل',
  24906. 'مئي',
  24907. 'جون',
  24908. 'جولاءِ',
  24909. 'آگسٽ',
  24910. 'سيپٽمبر',
  24911. 'آڪٽوبر',
  24912. 'نومبر',
  24913. 'ڊسمبر'],
  24914. days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];
  24915. var sd = moment.defineLocale('sd', {
  24916. months: months,
  24917. monthsShort: months,
  24918. weekdays: days,
  24919. weekdaysShort: days,
  24920. weekdaysMin: days,
  24921. longDateFormat: {
  24922. LT: 'HH:mm',
  24923. LTS: 'HH:mm:ss',
  24924. L: 'DD/MM/YYYY',
  24925. LL: 'D MMMM YYYY',
  24926. LLL: 'D MMMM YYYY HH:mm',
  24927. LLLL: 'dddd، D MMMM YYYY HH:mm' },
  24928. meridiemParse: /صبح|شام/,
  24929. isPM: function isPM(input) {
  24930. return 'شام' === input;
  24931. },
  24932. meridiem: function meridiem(hour, minute, isLower) {
  24933. if (hour < 12) {
  24934. return 'صبح';
  24935. }
  24936. return 'شام';
  24937. },
  24938. calendar: {
  24939. sameDay: '[اڄ] LT',
  24940. nextDay: '[سڀاڻي] LT',
  24941. nextWeek: 'dddd [اڳين هفتي تي] LT',
  24942. lastDay: '[ڪالهه] LT',
  24943. lastWeek: '[گزريل هفتي] dddd [تي] LT',
  24944. sameElse: 'L' },
  24945. relativeTime: {
  24946. future: '%s پوء',
  24947. past: '%s اڳ',
  24948. s: 'چند سيڪنڊ',
  24949. ss: '%d سيڪنڊ',
  24950. m: 'هڪ منٽ',
  24951. mm: '%d منٽ',
  24952. h: 'هڪ ڪلاڪ',
  24953. hh: '%d ڪلاڪ',
  24954. d: 'هڪ ڏينهن',
  24955. dd: '%d ڏينهن',
  24956. M: 'هڪ مهينو',
  24957. MM: '%d مهينا',
  24958. y: 'هڪ سال',
  24959. yy: '%d سال' },
  24960. preparse: function preparse(string) {
  24961. return string.replace(/،/g, ',');
  24962. },
  24963. postformat: function postformat(string) {
  24964. return string.replace(/,/g, '،');
  24965. },
  24966. week: {
  24967. dow: 1, // Monday is the first day of the week.
  24968. doy: 4 // The week that contains Jan 4th is the first week of the year.
  24969. } });
  24970. return sd;
  24971. });
  24972. /***/ }),
  24973. /* 123 */
  24974. /*!*********************************************************************************************!*\
  24975. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/se.js ***!
  24976. \*********************************************************************************************/
  24977. /*! no static exports found */
  24978. /***/ (function(module, exports, __webpack_require__) {
  24979. //! moment.js locale configuration
  24980. //! locale : Northern Sami [se]
  24981. //! authors : Bård Rolstad Henriksen : https://github.com/karamell
  24982. ;(function (global, factory) {
  24983. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  24984. undefined;
  24985. })(this, function (moment) {'use strict';
  24986. //! moment.js locale configuration
  24987. var se = moment.defineLocale('se', {
  24988. months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(
  24989. '_'),
  24990. monthsShort:
  24991. 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),
  24992. weekdays:
  24993. 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(
  24994. '_'),
  24995. weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),
  24996. weekdaysMin: 's_v_m_g_d_b_L'.split('_'),
  24997. longDateFormat: {
  24998. LT: 'HH:mm',
  24999. LTS: 'HH:mm:ss',
  25000. L: 'DD.MM.YYYY',
  25001. LL: 'MMMM D. [b.] YYYY',
  25002. LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',
  25003. LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm' },
  25004. calendar: {
  25005. sameDay: '[otne ti] LT',
  25006. nextDay: '[ihttin ti] LT',
  25007. nextWeek: 'dddd [ti] LT',
  25008. lastDay: '[ikte ti] LT',
  25009. lastWeek: '[ovddit] dddd [ti] LT',
  25010. sameElse: 'L' },
  25011. relativeTime: {
  25012. future: '%s geažes',
  25013. past: 'maŋit %s',
  25014. s: 'moadde sekunddat',
  25015. ss: '%d sekunddat',
  25016. m: 'okta minuhta',
  25017. mm: '%d minuhtat',
  25018. h: 'okta diimmu',
  25019. hh: '%d diimmut',
  25020. d: 'okta beaivi',
  25021. dd: '%d beaivvit',
  25022. M: 'okta mánnu',
  25023. MM: '%d mánut',
  25024. y: 'okta jahki',
  25025. yy: '%d jagit' },
  25026. dayOfMonthOrdinalParse: /\d{1,2}\./,
  25027. ordinal: '%d.',
  25028. week: {
  25029. dow: 1, // Monday is the first day of the week.
  25030. doy: 4 // The week that contains Jan 4th is the first week of the year.
  25031. } });
  25032. return se;
  25033. });
  25034. /***/ }),
  25035. /* 124 */
  25036. /*!*********************************************************************************************!*\
  25037. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/si.js ***!
  25038. \*********************************************************************************************/
  25039. /*! no static exports found */
  25040. /***/ (function(module, exports, __webpack_require__) {
  25041. //! moment.js locale configuration
  25042. //! locale : Sinhalese [si]
  25043. //! author : Sampath Sitinamaluwa : https://github.com/sampathsris
  25044. ;(function (global, factory) {
  25045. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  25046. undefined;
  25047. })(this, function (moment) {'use strict';
  25048. //! moment.js locale configuration
  25049. /*jshint -W100*/
  25050. var si = moment.defineLocale('si', {
  25051. months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(
  25052. '_'),
  25053. monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(
  25054. '_'),
  25055. weekdays:
  25056. 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(
  25057. '_'),
  25058. weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),
  25059. weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),
  25060. weekdaysParseExact: true,
  25061. longDateFormat: {
  25062. LT: 'a h:mm',
  25063. LTS: 'a h:mm:ss',
  25064. L: 'YYYY/MM/DD',
  25065. LL: 'YYYY MMMM D',
  25066. LLL: 'YYYY MMMM D, a h:mm',
  25067. LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss' },
  25068. calendar: {
  25069. sameDay: '[අද] LT[ට]',
  25070. nextDay: '[හෙට] LT[ට]',
  25071. nextWeek: 'dddd LT[ට]',
  25072. lastDay: '[ඊයේ] LT[ට]',
  25073. lastWeek: '[පසුගිය] dddd LT[ට]',
  25074. sameElse: 'L' },
  25075. relativeTime: {
  25076. future: '%sකින්',
  25077. past: '%sකට පෙර',
  25078. s: 'තත්පර කිහිපය',
  25079. ss: 'තත්පර %d',
  25080. m: 'මිනිත්තුව',
  25081. mm: 'මිනිත්තු %d',
  25082. h: 'පැය',
  25083. hh: 'පැය %d',
  25084. d: 'දිනය',
  25085. dd: 'දින %d',
  25086. M: 'මාසය',
  25087. MM: 'මාස %d',
  25088. y: 'වසර',
  25089. yy: 'වසර %d' },
  25090. dayOfMonthOrdinalParse: /\d{1,2} වැනි/,
  25091. ordinal: function ordinal(number) {
  25092. return number + ' වැනි';
  25093. },
  25094. meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,
  25095. isPM: function isPM(input) {
  25096. return input === 'ප.ව.' || input === 'පස් වරු';
  25097. },
  25098. meridiem: function meridiem(hours, minutes, isLower) {
  25099. if (hours > 11) {
  25100. return isLower ? 'ප.ව.' : 'පස් වරු';
  25101. } else {
  25102. return isLower ? 'පෙ.ව.' : 'පෙර වරු';
  25103. }
  25104. } });
  25105. return si;
  25106. });
  25107. /***/ }),
  25108. /* 125 */
  25109. /*!*********************************************************************************************!*\
  25110. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/sk.js ***!
  25111. \*********************************************************************************************/
  25112. /*! no static exports found */
  25113. /***/ (function(module, exports, __webpack_require__) {
  25114. //! moment.js locale configuration
  25115. //! locale : Slovak [sk]
  25116. //! author : Martin Minka : https://github.com/k2s
  25117. //! based on work of petrbela : https://github.com/petrbela
  25118. ;(function (global, factory) {
  25119. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  25120. undefined;
  25121. })(this, function (moment) {'use strict';
  25122. //! moment.js locale configuration
  25123. var months =
  25124. 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(
  25125. '_'),
  25126. monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');
  25127. function plural(n) {
  25128. return n > 1 && n < 5;
  25129. }
  25130. function translate(number, withoutSuffix, key, isFuture) {
  25131. var result = number + ' ';
  25132. switch (key) {
  25133. case 's': // a few seconds / in a few seconds / a few seconds ago
  25134. return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';
  25135. case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
  25136. if (withoutSuffix || isFuture) {
  25137. return result + (plural(number) ? 'sekundy' : 'sekúnd');
  25138. } else {
  25139. return result + 'sekundami';
  25140. }
  25141. case 'm': // a minute / in a minute / a minute ago
  25142. return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';
  25143. case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
  25144. if (withoutSuffix || isFuture) {
  25145. return result + (plural(number) ? 'minúty' : 'minút');
  25146. } else {
  25147. return result + 'minútami';
  25148. }
  25149. case 'h': // an hour / in an hour / an hour ago
  25150. return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';
  25151. case 'hh': // 9 hours / in 9 hours / 9 hours ago
  25152. if (withoutSuffix || isFuture) {
  25153. return result + (plural(number) ? 'hodiny' : 'hodín');
  25154. } else {
  25155. return result + 'hodinami';
  25156. }
  25157. case 'd': // a day / in a day / a day ago
  25158. return withoutSuffix || isFuture ? 'deň' : 'dňom';
  25159. case 'dd': // 9 days / in 9 days / 9 days ago
  25160. if (withoutSuffix || isFuture) {
  25161. return result + (plural(number) ? 'dni' : 'dní');
  25162. } else {
  25163. return result + 'dňami';
  25164. }
  25165. case 'M': // a month / in a month / a month ago
  25166. return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';
  25167. case 'MM': // 9 months / in 9 months / 9 months ago
  25168. if (withoutSuffix || isFuture) {
  25169. return result + (plural(number) ? 'mesiace' : 'mesiacov');
  25170. } else {
  25171. return result + 'mesiacmi';
  25172. }
  25173. case 'y': // a year / in a year / a year ago
  25174. return withoutSuffix || isFuture ? 'rok' : 'rokom';
  25175. case 'yy': // 9 years / in 9 years / 9 years ago
  25176. if (withoutSuffix || isFuture) {
  25177. return result + (plural(number) ? 'roky' : 'rokov');
  25178. } else {
  25179. return result + 'rokmi';
  25180. }}
  25181. }
  25182. var sk = moment.defineLocale('sk', {
  25183. months: months,
  25184. monthsShort: monthsShort,
  25185. weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),
  25186. weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),
  25187. weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),
  25188. longDateFormat: {
  25189. LT: 'H:mm',
  25190. LTS: 'H:mm:ss',
  25191. L: 'DD.MM.YYYY',
  25192. LL: 'D. MMMM YYYY',
  25193. LLL: 'D. MMMM YYYY H:mm',
  25194. LLLL: 'dddd D. MMMM YYYY H:mm' },
  25195. calendar: {
  25196. sameDay: '[dnes o] LT',
  25197. nextDay: '[zajtra o] LT',
  25198. nextWeek: function nextWeek() {
  25199. switch (this.day()) {
  25200. case 0:
  25201. return '[v nedeľu o] LT';
  25202. case 1:
  25203. case 2:
  25204. return '[v] dddd [o] LT';
  25205. case 3:
  25206. return '[v stredu o] LT';
  25207. case 4:
  25208. return '[vo štvrtok o] LT';
  25209. case 5:
  25210. return '[v piatok o] LT';
  25211. case 6:
  25212. return '[v sobotu o] LT';}
  25213. },
  25214. lastDay: '[včera o] LT',
  25215. lastWeek: function lastWeek() {
  25216. switch (this.day()) {
  25217. case 0:
  25218. return '[minulú nedeľu o] LT';
  25219. case 1:
  25220. case 2:
  25221. return '[minulý] dddd [o] LT';
  25222. case 3:
  25223. return '[minulú stredu o] LT';
  25224. case 4:
  25225. case 5:
  25226. return '[minulý] dddd [o] LT';
  25227. case 6:
  25228. return '[minulú sobotu o] LT';}
  25229. },
  25230. sameElse: 'L' },
  25231. relativeTime: {
  25232. future: 'za %s',
  25233. past: 'pred %s',
  25234. s: translate,
  25235. ss: translate,
  25236. m: translate,
  25237. mm: translate,
  25238. h: translate,
  25239. hh: translate,
  25240. d: translate,
  25241. dd: translate,
  25242. M: translate,
  25243. MM: translate,
  25244. y: translate,
  25245. yy: translate },
  25246. dayOfMonthOrdinalParse: /\d{1,2}\./,
  25247. ordinal: '%d.',
  25248. week: {
  25249. dow: 1, // Monday is the first day of the week.
  25250. doy: 4 // The week that contains Jan 4th is the first week of the year.
  25251. } });
  25252. return sk;
  25253. });
  25254. /***/ }),
  25255. /* 126 */
  25256. /*!*********************************************************************************************!*\
  25257. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/sl.js ***!
  25258. \*********************************************************************************************/
  25259. /*! no static exports found */
  25260. /***/ (function(module, exports, __webpack_require__) {
  25261. //! moment.js locale configuration
  25262. //! locale : Slovenian [sl]
  25263. //! author : Robert Sedovšek : https://github.com/sedovsek
  25264. ;(function (global, factory) {
  25265. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  25266. undefined;
  25267. })(this, function (moment) {'use strict';
  25268. //! moment.js locale configuration
  25269. function processRelativeTime(number, withoutSuffix, key, isFuture) {
  25270. var result = number + ' ';
  25271. switch (key) {
  25272. case 's':
  25273. return withoutSuffix || isFuture ?
  25274. 'nekaj sekund' :
  25275. 'nekaj sekundami';
  25276. case 'ss':
  25277. if (number === 1) {
  25278. result += withoutSuffix ? 'sekundo' : 'sekundi';
  25279. } else if (number === 2) {
  25280. result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';
  25281. } else if (number < 5) {
  25282. result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';
  25283. } else {
  25284. result += 'sekund';
  25285. }
  25286. return result;
  25287. case 'm':
  25288. return withoutSuffix ? 'ena minuta' : 'eno minuto';
  25289. case 'mm':
  25290. if (number === 1) {
  25291. result += withoutSuffix ? 'minuta' : 'minuto';
  25292. } else if (number === 2) {
  25293. result += withoutSuffix || isFuture ? 'minuti' : 'minutama';
  25294. } else if (number < 5) {
  25295. result += withoutSuffix || isFuture ? 'minute' : 'minutami';
  25296. } else {
  25297. result += withoutSuffix || isFuture ? 'minut' : 'minutami';
  25298. }
  25299. return result;
  25300. case 'h':
  25301. return withoutSuffix ? 'ena ura' : 'eno uro';
  25302. case 'hh':
  25303. if (number === 1) {
  25304. result += withoutSuffix ? 'ura' : 'uro';
  25305. } else if (number === 2) {
  25306. result += withoutSuffix || isFuture ? 'uri' : 'urama';
  25307. } else if (number < 5) {
  25308. result += withoutSuffix || isFuture ? 'ure' : 'urami';
  25309. } else {
  25310. result += withoutSuffix || isFuture ? 'ur' : 'urami';
  25311. }
  25312. return result;
  25313. case 'd':
  25314. return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';
  25315. case 'dd':
  25316. if (number === 1) {
  25317. result += withoutSuffix || isFuture ? 'dan' : 'dnem';
  25318. } else if (number === 2) {
  25319. result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';
  25320. } else {
  25321. result += withoutSuffix || isFuture ? 'dni' : 'dnevi';
  25322. }
  25323. return result;
  25324. case 'M':
  25325. return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';
  25326. case 'MM':
  25327. if (number === 1) {
  25328. result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';
  25329. } else if (number === 2) {
  25330. result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';
  25331. } else if (number < 5) {
  25332. result += withoutSuffix || isFuture ? 'mesece' : 'meseci';
  25333. } else {
  25334. result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';
  25335. }
  25336. return result;
  25337. case 'y':
  25338. return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';
  25339. case 'yy':
  25340. if (number === 1) {
  25341. result += withoutSuffix || isFuture ? 'leto' : 'letom';
  25342. } else if (number === 2) {
  25343. result += withoutSuffix || isFuture ? 'leti' : 'letoma';
  25344. } else if (number < 5) {
  25345. result += withoutSuffix || isFuture ? 'leta' : 'leti';
  25346. } else {
  25347. result += withoutSuffix || isFuture ? 'let' : 'leti';
  25348. }
  25349. return result;}
  25350. }
  25351. var sl = moment.defineLocale('sl', {
  25352. months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(
  25353. '_'),
  25354. monthsShort:
  25355. 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(
  25356. '_'),
  25357. monthsParseExact: true,
  25358. weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),
  25359. weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),
  25360. weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),
  25361. weekdaysParseExact: true,
  25362. longDateFormat: {
  25363. LT: 'H:mm',
  25364. LTS: 'H:mm:ss',
  25365. L: 'DD. MM. YYYY',
  25366. LL: 'D. MMMM YYYY',
  25367. LLL: 'D. MMMM YYYY H:mm',
  25368. LLLL: 'dddd, D. MMMM YYYY H:mm' },
  25369. calendar: {
  25370. sameDay: '[danes ob] LT',
  25371. nextDay: '[jutri ob] LT',
  25372. nextWeek: function nextWeek() {
  25373. switch (this.day()) {
  25374. case 0:
  25375. return '[v] [nedeljo] [ob] LT';
  25376. case 3:
  25377. return '[v] [sredo] [ob] LT';
  25378. case 6:
  25379. return '[v] [soboto] [ob] LT';
  25380. case 1:
  25381. case 2:
  25382. case 4:
  25383. case 5:
  25384. return '[v] dddd [ob] LT';}
  25385. },
  25386. lastDay: '[včeraj ob] LT',
  25387. lastWeek: function lastWeek() {
  25388. switch (this.day()) {
  25389. case 0:
  25390. return '[prejšnjo] [nedeljo] [ob] LT';
  25391. case 3:
  25392. return '[prejšnjo] [sredo] [ob] LT';
  25393. case 6:
  25394. return '[prejšnjo] [soboto] [ob] LT';
  25395. case 1:
  25396. case 2:
  25397. case 4:
  25398. case 5:
  25399. return '[prejšnji] dddd [ob] LT';}
  25400. },
  25401. sameElse: 'L' },
  25402. relativeTime: {
  25403. future: 'čez %s',
  25404. past: 'pred %s',
  25405. s: processRelativeTime,
  25406. ss: processRelativeTime,
  25407. m: processRelativeTime,
  25408. mm: processRelativeTime,
  25409. h: processRelativeTime,
  25410. hh: processRelativeTime,
  25411. d: processRelativeTime,
  25412. dd: processRelativeTime,
  25413. M: processRelativeTime,
  25414. MM: processRelativeTime,
  25415. y: processRelativeTime,
  25416. yy: processRelativeTime },
  25417. dayOfMonthOrdinalParse: /\d{1,2}\./,
  25418. ordinal: '%d.',
  25419. week: {
  25420. dow: 1, // Monday is the first day of the week.
  25421. doy: 7 // The week that contains Jan 7th is the first week of the year.
  25422. } });
  25423. return sl;
  25424. });
  25425. /***/ }),
  25426. /* 127 */
  25427. /*!*********************************************************************************************!*\
  25428. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/sq.js ***!
  25429. \*********************************************************************************************/
  25430. /*! no static exports found */
  25431. /***/ (function(module, exports, __webpack_require__) {
  25432. //! moment.js locale configuration
  25433. //! locale : Albanian [sq]
  25434. //! author : Flakërim Ismani : https://github.com/flakerimi
  25435. //! author : Menelion Elensúle : https://github.com/Oire
  25436. //! author : Oerd Cukalla : https://github.com/oerd
  25437. ;(function (global, factory) {
  25438. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  25439. undefined;
  25440. })(this, function (moment) {'use strict';
  25441. //! moment.js locale configuration
  25442. var sq = moment.defineLocale('sq', {
  25443. months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(
  25444. '_'),
  25445. monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),
  25446. weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(
  25447. '_'),
  25448. weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),
  25449. weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),
  25450. weekdaysParseExact: true,
  25451. meridiemParse: /PD|MD/,
  25452. isPM: function isPM(input) {
  25453. return input.charAt(0) === 'M';
  25454. },
  25455. meridiem: function meridiem(hours, minutes, isLower) {
  25456. return hours < 12 ? 'PD' : 'MD';
  25457. },
  25458. longDateFormat: {
  25459. LT: 'HH:mm',
  25460. LTS: 'HH:mm:ss',
  25461. L: 'DD/MM/YYYY',
  25462. LL: 'D MMMM YYYY',
  25463. LLL: 'D MMMM YYYY HH:mm',
  25464. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  25465. calendar: {
  25466. sameDay: '[Sot në] LT',
  25467. nextDay: '[Nesër në] LT',
  25468. nextWeek: 'dddd [në] LT',
  25469. lastDay: '[Dje në] LT',
  25470. lastWeek: 'dddd [e kaluar në] LT',
  25471. sameElse: 'L' },
  25472. relativeTime: {
  25473. future: 'në %s',
  25474. past: '%s më parë',
  25475. s: 'disa sekonda',
  25476. ss: '%d sekonda',
  25477. m: 'një minutë',
  25478. mm: '%d minuta',
  25479. h: 'një orë',
  25480. hh: '%d orë',
  25481. d: 'një ditë',
  25482. dd: '%d ditë',
  25483. M: 'një muaj',
  25484. MM: '%d muaj',
  25485. y: 'një vit',
  25486. yy: '%d vite' },
  25487. dayOfMonthOrdinalParse: /\d{1,2}\./,
  25488. ordinal: '%d.',
  25489. week: {
  25490. dow: 1, // Monday is the first day of the week.
  25491. doy: 4 // The week that contains Jan 4th is the first week of the year.
  25492. } });
  25493. return sq;
  25494. });
  25495. /***/ }),
  25496. /* 128 */
  25497. /*!*********************************************************************************************!*\
  25498. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/sr.js ***!
  25499. \*********************************************************************************************/
  25500. /*! no static exports found */
  25501. /***/ (function(module, exports, __webpack_require__) {
  25502. //! moment.js locale configuration
  25503. //! locale : Serbian [sr]
  25504. //! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
  25505. //! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic
  25506. ;(function (global, factory) {
  25507. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  25508. undefined;
  25509. })(this, function (moment) {'use strict';
  25510. //! moment.js locale configuration
  25511. var translator = {
  25512. words: {
  25513. //Different grammatical cases
  25514. ss: ['sekunda', 'sekunde', 'sekundi'],
  25515. m: ['jedan minut', 'jednog minuta'],
  25516. mm: ['minut', 'minuta', 'minuta'],
  25517. h: ['jedan sat', 'jednog sata'],
  25518. hh: ['sat', 'sata', 'sati'],
  25519. d: ['jedan dan', 'jednog dana'],
  25520. dd: ['dan', 'dana', 'dana'],
  25521. M: ['jedan mesec', 'jednog meseca'],
  25522. MM: ['mesec', 'meseca', 'meseci'],
  25523. y: ['jednu godinu', 'jedne godine'],
  25524. yy: ['godinu', 'godine', 'godina'] },
  25525. correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) {
  25526. if (
  25527. number % 10 >= 1 &&
  25528. number % 10 <= 4 && (
  25529. number % 100 < 10 || number % 100 >= 20))
  25530. {
  25531. return number % 10 === 1 ? wordKey[0] : wordKey[1];
  25532. }
  25533. return wordKey[2];
  25534. },
  25535. translate: function translate(number, withoutSuffix, key, isFuture) {
  25536. var wordKey = translator.words[key],
  25537. word;
  25538. if (key.length === 1) {
  25539. // Nominativ
  25540. if (key === 'y' && withoutSuffix) return 'jedna godina';
  25541. return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];
  25542. }
  25543. word = translator.correctGrammaticalCase(number, wordKey);
  25544. // Nominativ
  25545. if (key === 'yy' && withoutSuffix && word === 'godinu') {
  25546. return number + ' godina';
  25547. }
  25548. return number + ' ' + word;
  25549. } };
  25550. var sr = moment.defineLocale('sr', {
  25551. months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(
  25552. '_'),
  25553. monthsShort:
  25554. 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
  25555. monthsParseExact: true,
  25556. weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(
  25557. '_'),
  25558. weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),
  25559. weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
  25560. weekdaysParseExact: true,
  25561. longDateFormat: {
  25562. LT: 'H:mm',
  25563. LTS: 'H:mm:ss',
  25564. L: 'D. M. YYYY.',
  25565. LL: 'D. MMMM YYYY.',
  25566. LLL: 'D. MMMM YYYY. H:mm',
  25567. LLLL: 'dddd, D. MMMM YYYY. H:mm' },
  25568. calendar: {
  25569. sameDay: '[danas u] LT',
  25570. nextDay: '[sutra u] LT',
  25571. nextWeek: function nextWeek() {
  25572. switch (this.day()) {
  25573. case 0:
  25574. return '[u] [nedelju] [u] LT';
  25575. case 3:
  25576. return '[u] [sredu] [u] LT';
  25577. case 6:
  25578. return '[u] [subotu] [u] LT';
  25579. case 1:
  25580. case 2:
  25581. case 4:
  25582. case 5:
  25583. return '[u] dddd [u] LT';}
  25584. },
  25585. lastDay: '[juče u] LT',
  25586. lastWeek: function lastWeek() {
  25587. var lastWeekDays = [
  25588. '[prošle] [nedelje] [u] LT',
  25589. '[prošlog] [ponedeljka] [u] LT',
  25590. '[prošlog] [utorka] [u] LT',
  25591. '[prošle] [srede] [u] LT',
  25592. '[prošlog] [četvrtka] [u] LT',
  25593. '[prošlog] [petka] [u] LT',
  25594. '[prošle] [subote] [u] LT'];
  25595. return lastWeekDays[this.day()];
  25596. },
  25597. sameElse: 'L' },
  25598. relativeTime: {
  25599. future: 'za %s',
  25600. past: 'pre %s',
  25601. s: 'nekoliko sekundi',
  25602. ss: translator.translate,
  25603. m: translator.translate,
  25604. mm: translator.translate,
  25605. h: translator.translate,
  25606. hh: translator.translate,
  25607. d: translator.translate,
  25608. dd: translator.translate,
  25609. M: translator.translate,
  25610. MM: translator.translate,
  25611. y: translator.translate,
  25612. yy: translator.translate },
  25613. dayOfMonthOrdinalParse: /\d{1,2}\./,
  25614. ordinal: '%d.',
  25615. week: {
  25616. dow: 1, // Monday is the first day of the week.
  25617. doy: 7 // The week that contains Jan 7th is the first week of the year.
  25618. } });
  25619. return sr;
  25620. });
  25621. /***/ }),
  25622. /* 129 */
  25623. /*!**************************************************************************************************!*\
  25624. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/sr-cyrl.js ***!
  25625. \**************************************************************************************************/
  25626. /*! no static exports found */
  25627. /***/ (function(module, exports, __webpack_require__) {
  25628. //! moment.js locale configuration
  25629. //! locale : Serbian Cyrillic [sr-cyrl]
  25630. //! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
  25631. //! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic
  25632. ;(function (global, factory) {
  25633. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  25634. undefined;
  25635. })(this, function (moment) {'use strict';
  25636. //! moment.js locale configuration
  25637. var translator = {
  25638. words: {
  25639. //Different grammatical cases
  25640. ss: ['секунда', 'секунде', 'секунди'],
  25641. m: ['један минут', 'једног минута'],
  25642. mm: ['минут', 'минута', 'минута'],
  25643. h: ['један сат', 'једног сата'],
  25644. hh: ['сат', 'сата', 'сати'],
  25645. d: ['један дан', 'једног дана'],
  25646. dd: ['дан', 'дана', 'дана'],
  25647. M: ['један месец', 'једног месеца'],
  25648. MM: ['месец', 'месеца', 'месеци'],
  25649. y: ['једну годину', 'једне године'],
  25650. yy: ['годину', 'године', 'година'] },
  25651. correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) {
  25652. if (
  25653. number % 10 >= 1 &&
  25654. number % 10 <= 4 && (
  25655. number % 100 < 10 || number % 100 >= 20))
  25656. {
  25657. return number % 10 === 1 ? wordKey[0] : wordKey[1];
  25658. }
  25659. return wordKey[2];
  25660. },
  25661. translate: function translate(number, withoutSuffix, key, isFuture) {
  25662. var wordKey = translator.words[key],
  25663. word;
  25664. if (key.length === 1) {
  25665. // Nominativ
  25666. if (key === 'y' && withoutSuffix) return 'једна година';
  25667. return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];
  25668. }
  25669. word = translator.correctGrammaticalCase(number, wordKey);
  25670. // Nominativ
  25671. if (key === 'yy' && withoutSuffix && word === 'годину') {
  25672. return number + ' година';
  25673. }
  25674. return number + ' ' + word;
  25675. } };
  25676. var srCyrl = moment.defineLocale('sr-cyrl', {
  25677. months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(
  25678. '_'),
  25679. monthsShort:
  25680. 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),
  25681. monthsParseExact: true,
  25682. weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),
  25683. weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),
  25684. weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),
  25685. weekdaysParseExact: true,
  25686. longDateFormat: {
  25687. LT: 'H:mm',
  25688. LTS: 'H:mm:ss',
  25689. L: 'D. M. YYYY.',
  25690. LL: 'D. MMMM YYYY.',
  25691. LLL: 'D. MMMM YYYY. H:mm',
  25692. LLLL: 'dddd, D. MMMM YYYY. H:mm' },
  25693. calendar: {
  25694. sameDay: '[данас у] LT',
  25695. nextDay: '[сутра у] LT',
  25696. nextWeek: function nextWeek() {
  25697. switch (this.day()) {
  25698. case 0:
  25699. return '[у] [недељу] [у] LT';
  25700. case 3:
  25701. return '[у] [среду] [у] LT';
  25702. case 6:
  25703. return '[у] [суботу] [у] LT';
  25704. case 1:
  25705. case 2:
  25706. case 4:
  25707. case 5:
  25708. return '[у] dddd [у] LT';}
  25709. },
  25710. lastDay: '[јуче у] LT',
  25711. lastWeek: function lastWeek() {
  25712. var lastWeekDays = [
  25713. '[прошле] [недеље] [у] LT',
  25714. '[прошлог] [понедељка] [у] LT',
  25715. '[прошлог] [уторка] [у] LT',
  25716. '[прошле] [среде] [у] LT',
  25717. '[прошлог] [четвртка] [у] LT',
  25718. '[прошлог] [петка] [у] LT',
  25719. '[прошле] [суботе] [у] LT'];
  25720. return lastWeekDays[this.day()];
  25721. },
  25722. sameElse: 'L' },
  25723. relativeTime: {
  25724. future: 'за %s',
  25725. past: 'пре %s',
  25726. s: 'неколико секунди',
  25727. ss: translator.translate,
  25728. m: translator.translate,
  25729. mm: translator.translate,
  25730. h: translator.translate,
  25731. hh: translator.translate,
  25732. d: translator.translate,
  25733. dd: translator.translate,
  25734. M: translator.translate,
  25735. MM: translator.translate,
  25736. y: translator.translate,
  25737. yy: translator.translate },
  25738. dayOfMonthOrdinalParse: /\d{1,2}\./,
  25739. ordinal: '%d.',
  25740. week: {
  25741. dow: 1, // Monday is the first day of the week.
  25742. doy: 7 // The week that contains Jan 1st is the first week of the year.
  25743. } });
  25744. return srCyrl;
  25745. });
  25746. /***/ }),
  25747. /* 130 */
  25748. /*!*********************************************************************************************!*\
  25749. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ss.js ***!
  25750. \*********************************************************************************************/
  25751. /*! no static exports found */
  25752. /***/ (function(module, exports, __webpack_require__) {
  25753. //! moment.js locale configuration
  25754. //! locale : siSwati [ss]
  25755. //! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies
  25756. ;(function (global, factory) {
  25757. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  25758. undefined;
  25759. })(this, function (moment) {'use strict';
  25760. //! moment.js locale configuration
  25761. var ss = moment.defineLocale('ss', {
  25762. months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split(
  25763. '_'),
  25764. monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),
  25765. weekdays:
  25766. 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(
  25767. '_'),
  25768. weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),
  25769. weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),
  25770. weekdaysParseExact: true,
  25771. longDateFormat: {
  25772. LT: 'h:mm A',
  25773. LTS: 'h:mm:ss A',
  25774. L: 'DD/MM/YYYY',
  25775. LL: 'D MMMM YYYY',
  25776. LLL: 'D MMMM YYYY h:mm A',
  25777. LLLL: 'dddd, D MMMM YYYY h:mm A' },
  25778. calendar: {
  25779. sameDay: '[Namuhla nga] LT',
  25780. nextDay: '[Kusasa nga] LT',
  25781. nextWeek: 'dddd [nga] LT',
  25782. lastDay: '[Itolo nga] LT',
  25783. lastWeek: 'dddd [leliphelile] [nga] LT',
  25784. sameElse: 'L' },
  25785. relativeTime: {
  25786. future: 'nga %s',
  25787. past: 'wenteka nga %s',
  25788. s: 'emizuzwana lomcane',
  25789. ss: '%d mzuzwana',
  25790. m: 'umzuzu',
  25791. mm: '%d emizuzu',
  25792. h: 'lihora',
  25793. hh: '%d emahora',
  25794. d: 'lilanga',
  25795. dd: '%d emalanga',
  25796. M: 'inyanga',
  25797. MM: '%d tinyanga',
  25798. y: 'umnyaka',
  25799. yy: '%d iminyaka' },
  25800. meridiemParse: /ekuseni|emini|entsambama|ebusuku/,
  25801. meridiem: function meridiem(hours, minutes, isLower) {
  25802. if (hours < 11) {
  25803. return 'ekuseni';
  25804. } else if (hours < 15) {
  25805. return 'emini';
  25806. } else if (hours < 19) {
  25807. return 'entsambama';
  25808. } else {
  25809. return 'ebusuku';
  25810. }
  25811. },
  25812. meridiemHour: function meridiemHour(hour, meridiem) {
  25813. if (hour === 12) {
  25814. hour = 0;
  25815. }
  25816. if (meridiem === 'ekuseni') {
  25817. return hour;
  25818. } else if (meridiem === 'emini') {
  25819. return hour >= 11 ? hour : hour + 12;
  25820. } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {
  25821. if (hour === 0) {
  25822. return 0;
  25823. }
  25824. return hour + 12;
  25825. }
  25826. },
  25827. dayOfMonthOrdinalParse: /\d{1,2}/,
  25828. ordinal: '%d',
  25829. week: {
  25830. dow: 1, // Monday is the first day of the week.
  25831. doy: 4 // The week that contains Jan 4th is the first week of the year.
  25832. } });
  25833. return ss;
  25834. });
  25835. /***/ }),
  25836. /* 131 */
  25837. /*!*********************************************************************************************!*\
  25838. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/sv.js ***!
  25839. \*********************************************************************************************/
  25840. /*! no static exports found */
  25841. /***/ (function(module, exports, __webpack_require__) {
  25842. //! moment.js locale configuration
  25843. //! locale : Swedish [sv]
  25844. //! author : Jens Alm : https://github.com/ulmus
  25845. ;(function (global, factory) {
  25846. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  25847. undefined;
  25848. })(this, function (moment) {'use strict';
  25849. //! moment.js locale configuration
  25850. var sv = moment.defineLocale('sv', {
  25851. months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(
  25852. '_'),
  25853. monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
  25854. weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),
  25855. weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),
  25856. weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),
  25857. longDateFormat: {
  25858. LT: 'HH:mm',
  25859. LTS: 'HH:mm:ss',
  25860. L: 'YYYY-MM-DD',
  25861. LL: 'D MMMM YYYY',
  25862. LLL: 'D MMMM YYYY [kl.] HH:mm',
  25863. LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',
  25864. lll: 'D MMM YYYY HH:mm',
  25865. llll: 'ddd D MMM YYYY HH:mm' },
  25866. calendar: {
  25867. sameDay: '[Idag] LT',
  25868. nextDay: '[Imorgon] LT',
  25869. lastDay: '[Igår] LT',
  25870. nextWeek: '[På] dddd LT',
  25871. lastWeek: '[I] dddd[s] LT',
  25872. sameElse: 'L' },
  25873. relativeTime: {
  25874. future: 'om %s',
  25875. past: 'för %s sedan',
  25876. s: 'några sekunder',
  25877. ss: '%d sekunder',
  25878. m: 'en minut',
  25879. mm: '%d minuter',
  25880. h: 'en timme',
  25881. hh: '%d timmar',
  25882. d: 'en dag',
  25883. dd: '%d dagar',
  25884. M: 'en månad',
  25885. MM: '%d månader',
  25886. y: 'ett år',
  25887. yy: '%d år' },
  25888. dayOfMonthOrdinalParse: /\d{1,2}(\:e|\:a)/,
  25889. ordinal: function ordinal(number) {
  25890. var b = number % 10,
  25891. output =
  25892. ~~(number % 100 / 10) === 1 ?
  25893. ':e' :
  25894. b === 1 ?
  25895. ':a' :
  25896. b === 2 ?
  25897. ':a' :
  25898. b === 3 ?
  25899. ':e' :
  25900. ':e';
  25901. return number + output;
  25902. },
  25903. week: {
  25904. dow: 1, // Monday is the first day of the week.
  25905. doy: 4 // The week that contains Jan 4th is the first week of the year.
  25906. } });
  25907. return sv;
  25908. });
  25909. /***/ }),
  25910. /* 132 */
  25911. /*!*********************************************************************************************!*\
  25912. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/sw.js ***!
  25913. \*********************************************************************************************/
  25914. /*! no static exports found */
  25915. /***/ (function(module, exports, __webpack_require__) {
  25916. //! moment.js locale configuration
  25917. //! locale : Swahili [sw]
  25918. //! author : Fahad Kassim : https://github.com/fadsel
  25919. ;(function (global, factory) {
  25920. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  25921. undefined;
  25922. })(this, function (moment) {'use strict';
  25923. //! moment.js locale configuration
  25924. var sw = moment.defineLocale('sw', {
  25925. months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(
  25926. '_'),
  25927. monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),
  25928. weekdays:
  25929. 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(
  25930. '_'),
  25931. weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),
  25932. weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),
  25933. weekdaysParseExact: true,
  25934. longDateFormat: {
  25935. LT: 'hh:mm A',
  25936. LTS: 'HH:mm:ss',
  25937. L: 'DD.MM.YYYY',
  25938. LL: 'D MMMM YYYY',
  25939. LLL: 'D MMMM YYYY HH:mm',
  25940. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  25941. calendar: {
  25942. sameDay: '[leo saa] LT',
  25943. nextDay: '[kesho saa] LT',
  25944. nextWeek: '[wiki ijayo] dddd [saat] LT',
  25945. lastDay: '[jana] LT',
  25946. lastWeek: '[wiki iliyopita] dddd [saat] LT',
  25947. sameElse: 'L' },
  25948. relativeTime: {
  25949. future: '%s baadaye',
  25950. past: 'tokea %s',
  25951. s: 'hivi punde',
  25952. ss: 'sekunde %d',
  25953. m: 'dakika moja',
  25954. mm: 'dakika %d',
  25955. h: 'saa limoja',
  25956. hh: 'masaa %d',
  25957. d: 'siku moja',
  25958. dd: 'siku %d',
  25959. M: 'mwezi mmoja',
  25960. MM: 'miezi %d',
  25961. y: 'mwaka mmoja',
  25962. yy: 'miaka %d' },
  25963. week: {
  25964. dow: 1, // Monday is the first day of the week.
  25965. doy: 7 // The week that contains Jan 7th is the first week of the year.
  25966. } });
  25967. return sw;
  25968. });
  25969. /***/ }),
  25970. /* 133 */
  25971. /*!*********************************************************************************************!*\
  25972. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ta.js ***!
  25973. \*********************************************************************************************/
  25974. /*! no static exports found */
  25975. /***/ (function(module, exports, __webpack_require__) {
  25976. //! moment.js locale configuration
  25977. //! locale : Tamil [ta]
  25978. //! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404
  25979. ;(function (global, factory) {
  25980. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  25981. undefined;
  25982. })(this, function (moment) {'use strict';
  25983. //! moment.js locale configuration
  25984. var symbolMap = {
  25985. 1: '௧',
  25986. 2: '௨',
  25987. 3: '௩',
  25988. 4: '௪',
  25989. 5: '௫',
  25990. 6: '௬',
  25991. 7: '௭',
  25992. 8: '௮',
  25993. 9: '௯',
  25994. 0: '௦' },
  25995. numberMap = {
  25996. '௧': '1',
  25997. '௨': '2',
  25998. '௩': '3',
  25999. '௪': '4',
  26000. '௫': '5',
  26001. '௬': '6',
  26002. '௭': '7',
  26003. '௮': '8',
  26004. '௯': '9',
  26005. '௦': '0' };
  26006. var ta = moment.defineLocale('ta', {
  26007. months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(
  26008. '_'),
  26009. monthsShort:
  26010. 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(
  26011. '_'),
  26012. weekdays:
  26013. 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(
  26014. '_'),
  26015. weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(
  26016. '_'),
  26017. weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),
  26018. longDateFormat: {
  26019. LT: 'HH:mm',
  26020. LTS: 'HH:mm:ss',
  26021. L: 'DD/MM/YYYY',
  26022. LL: 'D MMMM YYYY',
  26023. LLL: 'D MMMM YYYY, HH:mm',
  26024. LLLL: 'dddd, D MMMM YYYY, HH:mm' },
  26025. calendar: {
  26026. sameDay: '[இன்று] LT',
  26027. nextDay: '[நாளை] LT',
  26028. nextWeek: 'dddd, LT',
  26029. lastDay: '[நேற்று] LT',
  26030. lastWeek: '[கடந்த வாரம்] dddd, LT',
  26031. sameElse: 'L' },
  26032. relativeTime: {
  26033. future: '%s இல்',
  26034. past: '%s முன்',
  26035. s: 'ஒரு சில விநாடிகள்',
  26036. ss: '%d விநாடிகள்',
  26037. m: 'ஒரு நிமிடம்',
  26038. mm: '%d நிமிடங்கள்',
  26039. h: 'ஒரு மணி நேரம்',
  26040. hh: '%d மணி நேரம்',
  26041. d: 'ஒரு நாள்',
  26042. dd: '%d நாட்கள்',
  26043. M: 'ஒரு மாதம்',
  26044. MM: '%d மாதங்கள்',
  26045. y: 'ஒரு வருடம்',
  26046. yy: '%d ஆண்டுகள்' },
  26047. dayOfMonthOrdinalParse: /\d{1,2}வது/,
  26048. ordinal: function ordinal(number) {
  26049. return number + 'வது';
  26050. },
  26051. preparse: function preparse(string) {
  26052. return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {
  26053. return numberMap[match];
  26054. });
  26055. },
  26056. postformat: function postformat(string) {
  26057. return string.replace(/\d/g, function (match) {
  26058. return symbolMap[match];
  26059. });
  26060. },
  26061. // refer http://ta.wikipedia.org/s/1er1
  26062. meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,
  26063. meridiem: function meridiem(hour, minute, isLower) {
  26064. if (hour < 2) {
  26065. return ' யாமம்';
  26066. } else if (hour < 6) {
  26067. return ' வைகறை'; // வைகறை
  26068. } else if (hour < 10) {
  26069. return ' காலை'; // காலை
  26070. } else if (hour < 14) {
  26071. return ' நண்பகல்'; // நண்பகல்
  26072. } else if (hour < 18) {
  26073. return ' எற்பாடு'; // எற்பாடு
  26074. } else if (hour < 22) {
  26075. return ' மாலை'; // மாலை
  26076. } else {
  26077. return ' யாமம்';
  26078. }
  26079. },
  26080. meridiemHour: function meridiemHour(hour, meridiem) {
  26081. if (hour === 12) {
  26082. hour = 0;
  26083. }
  26084. if (meridiem === 'யாமம்') {
  26085. return hour < 2 ? hour : hour + 12;
  26086. } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {
  26087. return hour;
  26088. } else if (meridiem === 'நண்பகல்') {
  26089. return hour >= 10 ? hour : hour + 12;
  26090. } else {
  26091. return hour + 12;
  26092. }
  26093. },
  26094. week: {
  26095. dow: 0, // Sunday is the first day of the week.
  26096. doy: 6 // The week that contains Jan 6th is the first week of the year.
  26097. } });
  26098. return ta;
  26099. });
  26100. /***/ }),
  26101. /* 134 */
  26102. /*!*********************************************************************************************!*\
  26103. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/te.js ***!
  26104. \*********************************************************************************************/
  26105. /*! no static exports found */
  26106. /***/ (function(module, exports, __webpack_require__) {
  26107. //! moment.js locale configuration
  26108. //! locale : Telugu [te]
  26109. //! author : Krishna Chaitanya Thota : https://github.com/kcthota
  26110. ;(function (global, factory) {
  26111. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  26112. undefined;
  26113. })(this, function (moment) {'use strict';
  26114. //! moment.js locale configuration
  26115. var te = moment.defineLocale('te', {
  26116. months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(
  26117. '_'),
  26118. monthsShort:
  26119. 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(
  26120. '_'),
  26121. monthsParseExact: true,
  26122. weekdays:
  26123. 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(
  26124. '_'),
  26125. weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),
  26126. weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),
  26127. longDateFormat: {
  26128. LT: 'A h:mm',
  26129. LTS: 'A h:mm:ss',
  26130. L: 'DD/MM/YYYY',
  26131. LL: 'D MMMM YYYY',
  26132. LLL: 'D MMMM YYYY, A h:mm',
  26133. LLLL: 'dddd, D MMMM YYYY, A h:mm' },
  26134. calendar: {
  26135. sameDay: '[నేడు] LT',
  26136. nextDay: '[రేపు] LT',
  26137. nextWeek: 'dddd, LT',
  26138. lastDay: '[నిన్న] LT',
  26139. lastWeek: '[గత] dddd, LT',
  26140. sameElse: 'L' },
  26141. relativeTime: {
  26142. future: '%s లో',
  26143. past: '%s క్రితం',
  26144. s: 'కొన్ని క్షణాలు',
  26145. ss: '%d సెకన్లు',
  26146. m: 'ఒక నిమిషం',
  26147. mm: '%d నిమిషాలు',
  26148. h: 'ఒక గంట',
  26149. hh: '%d గంటలు',
  26150. d: 'ఒక రోజు',
  26151. dd: '%d రోజులు',
  26152. M: 'ఒక నెల',
  26153. MM: '%d నెలలు',
  26154. y: 'ఒక సంవత్సరం',
  26155. yy: '%d సంవత్సరాలు' },
  26156. dayOfMonthOrdinalParse: /\d{1,2}వ/,
  26157. ordinal: '%dవ',
  26158. meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,
  26159. meridiemHour: function meridiemHour(hour, meridiem) {
  26160. if (hour === 12) {
  26161. hour = 0;
  26162. }
  26163. if (meridiem === 'రాత్రి') {
  26164. return hour < 4 ? hour : hour + 12;
  26165. } else if (meridiem === 'ఉదయం') {
  26166. return hour;
  26167. } else if (meridiem === 'మధ్యాహ్నం') {
  26168. return hour >= 10 ? hour : hour + 12;
  26169. } else if (meridiem === 'సాయంత్రం') {
  26170. return hour + 12;
  26171. }
  26172. },
  26173. meridiem: function meridiem(hour, minute, isLower) {
  26174. if (hour < 4) {
  26175. return 'రాత్రి';
  26176. } else if (hour < 10) {
  26177. return 'ఉదయం';
  26178. } else if (hour < 17) {
  26179. return 'మధ్యాహ్నం';
  26180. } else if (hour < 20) {
  26181. return 'సాయంత్రం';
  26182. } else {
  26183. return 'రాత్రి';
  26184. }
  26185. },
  26186. week: {
  26187. dow: 0, // Sunday is the first day of the week.
  26188. doy: 6 // The week that contains Jan 6th is the first week of the year.
  26189. } });
  26190. return te;
  26191. });
  26192. /***/ }),
  26193. /* 135 */
  26194. /*!**********************************************************************************************!*\
  26195. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/tet.js ***!
  26196. \**********************************************************************************************/
  26197. /*! no static exports found */
  26198. /***/ (function(module, exports, __webpack_require__) {
  26199. //! moment.js locale configuration
  26200. //! locale : Tetun Dili (East Timor) [tet]
  26201. //! author : Joshua Brooks : https://github.com/joshbrooks
  26202. //! author : Onorio De J. Afonso : https://github.com/marobo
  26203. //! author : Sonia Simoes : https://github.com/soniasimoes
  26204. ;(function (global, factory) {
  26205. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  26206. undefined;
  26207. })(this, function (moment) {'use strict';
  26208. //! moment.js locale configuration
  26209. var tet = moment.defineLocale('tet', {
  26210. months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(
  26211. '_'),
  26212. monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
  26213. weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),
  26214. weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),
  26215. weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),
  26216. longDateFormat: {
  26217. LT: 'HH:mm',
  26218. LTS: 'HH:mm:ss',
  26219. L: 'DD/MM/YYYY',
  26220. LL: 'D MMMM YYYY',
  26221. LLL: 'D MMMM YYYY HH:mm',
  26222. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  26223. calendar: {
  26224. sameDay: '[Ohin iha] LT',
  26225. nextDay: '[Aban iha] LT',
  26226. nextWeek: 'dddd [iha] LT',
  26227. lastDay: '[Horiseik iha] LT',
  26228. lastWeek: 'dddd [semana kotuk] [iha] LT',
  26229. sameElse: 'L' },
  26230. relativeTime: {
  26231. future: 'iha %s',
  26232. past: '%s liuba',
  26233. s: 'segundu balun',
  26234. ss: 'segundu %d',
  26235. m: 'minutu ida',
  26236. mm: 'minutu %d',
  26237. h: 'oras ida',
  26238. hh: 'oras %d',
  26239. d: 'loron ida',
  26240. dd: 'loron %d',
  26241. M: 'fulan ida',
  26242. MM: 'fulan %d',
  26243. y: 'tinan ida',
  26244. yy: 'tinan %d' },
  26245. dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
  26246. ordinal: function ordinal(number) {
  26247. var b = number % 10,
  26248. output =
  26249. ~~(number % 100 / 10) === 1 ?
  26250. 'th' :
  26251. b === 1 ?
  26252. 'st' :
  26253. b === 2 ?
  26254. 'nd' :
  26255. b === 3 ?
  26256. 'rd' :
  26257. 'th';
  26258. return number + output;
  26259. },
  26260. week: {
  26261. dow: 1, // Monday is the first day of the week.
  26262. doy: 4 // The week that contains Jan 4th is the first week of the year.
  26263. } });
  26264. return tet;
  26265. });
  26266. /***/ }),
  26267. /* 136 */
  26268. /*!*********************************************************************************************!*\
  26269. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/tg.js ***!
  26270. \*********************************************************************************************/
  26271. /*! no static exports found */
  26272. /***/ (function(module, exports, __webpack_require__) {
  26273. //! moment.js locale configuration
  26274. //! locale : Tajik [tg]
  26275. //! author : Orif N. Jr. : https://github.com/orif-jr
  26276. ;(function (global, factory) {
  26277. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  26278. undefined;
  26279. })(this, function (moment) {'use strict';
  26280. //! moment.js locale configuration
  26281. var suffixes = {
  26282. 0: '-ум',
  26283. 1: '-ум',
  26284. 2: '-юм',
  26285. 3: '-юм',
  26286. 4: '-ум',
  26287. 5: '-ум',
  26288. 6: '-ум',
  26289. 7: '-ум',
  26290. 8: '-ум',
  26291. 9: '-ум',
  26292. 10: '-ум',
  26293. 12: '-ум',
  26294. 13: '-ум',
  26295. 20: '-ум',
  26296. 30: '-юм',
  26297. 40: '-ум',
  26298. 50: '-ум',
  26299. 60: '-ум',
  26300. 70: '-ум',
  26301. 80: '-ум',
  26302. 90: '-ум',
  26303. 100: '-ум' };
  26304. var tg = moment.defineLocale('tg', {
  26305. months: {
  26306. format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(
  26307. '_'),
  26308. standalone:
  26309. 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(
  26310. '_') },
  26311. monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
  26312. weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(
  26313. '_'),
  26314. weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),
  26315. weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),
  26316. longDateFormat: {
  26317. LT: 'HH:mm',
  26318. LTS: 'HH:mm:ss',
  26319. L: 'DD.MM.YYYY',
  26320. LL: 'D MMMM YYYY',
  26321. LLL: 'D MMMM YYYY HH:mm',
  26322. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  26323. calendar: {
  26324. sameDay: '[Имрӯз соати] LT',
  26325. nextDay: '[Фардо соати] LT',
  26326. lastDay: '[Дирӯз соати] LT',
  26327. nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',
  26328. lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',
  26329. sameElse: 'L' },
  26330. relativeTime: {
  26331. future: 'баъди %s',
  26332. past: '%s пеш',
  26333. s: 'якчанд сония',
  26334. m: 'як дақиқа',
  26335. mm: '%d дақиқа',
  26336. h: 'як соат',
  26337. hh: '%d соат',
  26338. d: 'як рӯз',
  26339. dd: '%d рӯз',
  26340. M: 'як моҳ',
  26341. MM: '%d моҳ',
  26342. y: 'як сол',
  26343. yy: '%d сол' },
  26344. meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,
  26345. meridiemHour: function meridiemHour(hour, meridiem) {
  26346. if (hour === 12) {
  26347. hour = 0;
  26348. }
  26349. if (meridiem === 'шаб') {
  26350. return hour < 4 ? hour : hour + 12;
  26351. } else if (meridiem === 'субҳ') {
  26352. return hour;
  26353. } else if (meridiem === 'рӯз') {
  26354. return hour >= 11 ? hour : hour + 12;
  26355. } else if (meridiem === 'бегоҳ') {
  26356. return hour + 12;
  26357. }
  26358. },
  26359. meridiem: function meridiem(hour, minute, isLower) {
  26360. if (hour < 4) {
  26361. return 'шаб';
  26362. } else if (hour < 11) {
  26363. return 'субҳ';
  26364. } else if (hour < 16) {
  26365. return 'рӯз';
  26366. } else if (hour < 19) {
  26367. return 'бегоҳ';
  26368. } else {
  26369. return 'шаб';
  26370. }
  26371. },
  26372. dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/,
  26373. ordinal: function ordinal(number) {
  26374. var a = number % 10,
  26375. b = number >= 100 ? 100 : null;
  26376. return number + (suffixes[number] || suffixes[a] || suffixes[b]);
  26377. },
  26378. week: {
  26379. dow: 1, // Monday is the first day of the week.
  26380. doy: 7 // The week that contains Jan 1th is the first week of the year.
  26381. } });
  26382. return tg;
  26383. });
  26384. /***/ }),
  26385. /* 137 */
  26386. /*!*********************************************************************************************!*\
  26387. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/th.js ***!
  26388. \*********************************************************************************************/
  26389. /*! no static exports found */
  26390. /***/ (function(module, exports, __webpack_require__) {
  26391. //! moment.js locale configuration
  26392. //! locale : Thai [th]
  26393. //! author : Kridsada Thanabulpong : https://github.com/sirn
  26394. ;(function (global, factory) {
  26395. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  26396. undefined;
  26397. })(this, function (moment) {'use strict';
  26398. //! moment.js locale configuration
  26399. var th = moment.defineLocale('th', {
  26400. months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(
  26401. '_'),
  26402. monthsShort:
  26403. 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(
  26404. '_'),
  26405. monthsParseExact: true,
  26406. weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),
  26407. weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference
  26408. weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),
  26409. weekdaysParseExact: true,
  26410. longDateFormat: {
  26411. LT: 'H:mm',
  26412. LTS: 'H:mm:ss',
  26413. L: 'DD/MM/YYYY',
  26414. LL: 'D MMMM YYYY',
  26415. LLL: 'D MMMM YYYY เวลา H:mm',
  26416. LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm' },
  26417. meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,
  26418. isPM: function isPM(input) {
  26419. return input === 'หลังเที่ยง';
  26420. },
  26421. meridiem: function meridiem(hour, minute, isLower) {
  26422. if (hour < 12) {
  26423. return 'ก่อนเที่ยง';
  26424. } else {
  26425. return 'หลังเที่ยง';
  26426. }
  26427. },
  26428. calendar: {
  26429. sameDay: '[วันนี้ เวลา] LT',
  26430. nextDay: '[พรุ่งนี้ เวลา] LT',
  26431. nextWeek: 'dddd[หน้า เวลา] LT',
  26432. lastDay: '[เมื่อวานนี้ เวลา] LT',
  26433. lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',
  26434. sameElse: 'L' },
  26435. relativeTime: {
  26436. future: 'อีก %s',
  26437. past: '%sที่แล้ว',
  26438. s: 'ไม่กี่วินาที',
  26439. ss: '%d วินาที',
  26440. m: '1 นาที',
  26441. mm: '%d นาที',
  26442. h: '1 ชั่วโมง',
  26443. hh: '%d ชั่วโมง',
  26444. d: '1 วัน',
  26445. dd: '%d วัน',
  26446. w: '1 สัปดาห์',
  26447. ww: '%d สัปดาห์',
  26448. M: '1 เดือน',
  26449. MM: '%d เดือน',
  26450. y: '1 ปี',
  26451. yy: '%d ปี' } });
  26452. return th;
  26453. });
  26454. /***/ }),
  26455. /* 138 */
  26456. /*!*********************************************************************************************!*\
  26457. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/tk.js ***!
  26458. \*********************************************************************************************/
  26459. /*! no static exports found */
  26460. /***/ (function(module, exports, __webpack_require__) {
  26461. //! moment.js locale configuration
  26462. //! locale : Turkmen [tk]
  26463. //! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy
  26464. ;(function (global, factory) {
  26465. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  26466. undefined;
  26467. })(this, function (moment) {'use strict';
  26468. //! moment.js locale configuration
  26469. var suffixes = {
  26470. 1: "'inji",
  26471. 5: "'inji",
  26472. 8: "'inji",
  26473. 70: "'inji",
  26474. 80: "'inji",
  26475. 2: "'nji",
  26476. 7: "'nji",
  26477. 20: "'nji",
  26478. 50: "'nji",
  26479. 3: "'ünji",
  26480. 4: "'ünji",
  26481. 100: "'ünji",
  26482. 6: "'njy",
  26483. 9: "'unjy",
  26484. 10: "'unjy",
  26485. 30: "'unjy",
  26486. 60: "'ynjy",
  26487. 90: "'ynjy" };
  26488. var tk = moment.defineLocale('tk', {
  26489. months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(
  26490. '_'),
  26491. monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),
  26492. weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(
  26493. '_'),
  26494. weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),
  26495. weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),
  26496. longDateFormat: {
  26497. LT: 'HH:mm',
  26498. LTS: 'HH:mm:ss',
  26499. L: 'DD.MM.YYYY',
  26500. LL: 'D MMMM YYYY',
  26501. LLL: 'D MMMM YYYY HH:mm',
  26502. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  26503. calendar: {
  26504. sameDay: '[bugün sagat] LT',
  26505. nextDay: '[ertir sagat] LT',
  26506. nextWeek: '[indiki] dddd [sagat] LT',
  26507. lastDay: '[düýn] LT',
  26508. lastWeek: '[geçen] dddd [sagat] LT',
  26509. sameElse: 'L' },
  26510. relativeTime: {
  26511. future: '%s soň',
  26512. past: '%s öň',
  26513. s: 'birnäçe sekunt',
  26514. m: 'bir minut',
  26515. mm: '%d minut',
  26516. h: 'bir sagat',
  26517. hh: '%d sagat',
  26518. d: 'bir gün',
  26519. dd: '%d gün',
  26520. M: 'bir aý',
  26521. MM: '%d aý',
  26522. y: 'bir ýyl',
  26523. yy: '%d ýyl' },
  26524. ordinal: function ordinal(number, period) {
  26525. switch (period) {
  26526. case 'd':
  26527. case 'D':
  26528. case 'Do':
  26529. case 'DD':
  26530. return number;
  26531. default:
  26532. if (number === 0) {
  26533. // special case for zero
  26534. return number + "'unjy";
  26535. }
  26536. var a = number % 10,
  26537. b = number % 100 - a,
  26538. c = number >= 100 ? 100 : null;
  26539. return number + (suffixes[a] || suffixes[b] || suffixes[c]);}
  26540. },
  26541. week: {
  26542. dow: 1, // Monday is the first day of the week.
  26543. doy: 7 // The week that contains Jan 7th is the first week of the year.
  26544. } });
  26545. return tk;
  26546. });
  26547. /***/ }),
  26548. /* 139 */
  26549. /*!************************************************************************************************!*\
  26550. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/tl-ph.js ***!
  26551. \************************************************************************************************/
  26552. /*! no static exports found */
  26553. /***/ (function(module, exports, __webpack_require__) {
  26554. //! moment.js locale configuration
  26555. //! locale : Tagalog (Philippines) [tl-ph]
  26556. //! author : Dan Hagman : https://github.com/hagmandan
  26557. ;(function (global, factory) {
  26558. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  26559. undefined;
  26560. })(this, function (moment) {'use strict';
  26561. //! moment.js locale configuration
  26562. var tlPh = moment.defineLocale('tl-ph', {
  26563. months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(
  26564. '_'),
  26565. monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
  26566. weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(
  26567. '_'),
  26568. weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
  26569. weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
  26570. longDateFormat: {
  26571. LT: 'HH:mm',
  26572. LTS: 'HH:mm:ss',
  26573. L: 'MM/D/YYYY',
  26574. LL: 'MMMM D, YYYY',
  26575. LLL: 'MMMM D, YYYY HH:mm',
  26576. LLLL: 'dddd, MMMM DD, YYYY HH:mm' },
  26577. calendar: {
  26578. sameDay: 'LT [ngayong araw]',
  26579. nextDay: '[Bukas ng] LT',
  26580. nextWeek: 'LT [sa susunod na] dddd',
  26581. lastDay: 'LT [kahapon]',
  26582. lastWeek: 'LT [noong nakaraang] dddd',
  26583. sameElse: 'L' },
  26584. relativeTime: {
  26585. future: 'sa loob ng %s',
  26586. past: '%s ang nakalipas',
  26587. s: 'ilang segundo',
  26588. ss: '%d segundo',
  26589. m: 'isang minuto',
  26590. mm: '%d minuto',
  26591. h: 'isang oras',
  26592. hh: '%d oras',
  26593. d: 'isang araw',
  26594. dd: '%d araw',
  26595. M: 'isang buwan',
  26596. MM: '%d buwan',
  26597. y: 'isang taon',
  26598. yy: '%d taon' },
  26599. dayOfMonthOrdinalParse: /\d{1,2}/,
  26600. ordinal: function ordinal(number) {
  26601. return number;
  26602. },
  26603. week: {
  26604. dow: 1, // Monday is the first day of the week.
  26605. doy: 4 // The week that contains Jan 4th is the first week of the year.
  26606. } });
  26607. return tlPh;
  26608. });
  26609. /***/ }),
  26610. /* 140 */
  26611. /*!**********************************************************************************************!*\
  26612. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/tlh.js ***!
  26613. \**********************************************************************************************/
  26614. /*! no static exports found */
  26615. /***/ (function(module, exports, __webpack_require__) {
  26616. //! moment.js locale configuration
  26617. //! locale : Klingon [tlh]
  26618. //! author : Dominika Kruk : https://github.com/amaranthrose
  26619. ;(function (global, factory) {
  26620. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  26621. undefined;
  26622. })(this, function (moment) {'use strict';
  26623. //! moment.js locale configuration
  26624. var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');
  26625. function translateFuture(output) {
  26626. var time = output;
  26627. time =
  26628. output.indexOf('jaj') !== -1 ?
  26629. time.slice(0, -3) + 'leS' :
  26630. output.indexOf('jar') !== -1 ?
  26631. time.slice(0, -3) + 'waQ' :
  26632. output.indexOf('DIS') !== -1 ?
  26633. time.slice(0, -3) + 'nem' :
  26634. time + ' pIq';
  26635. return time;
  26636. }
  26637. function translatePast(output) {
  26638. var time = output;
  26639. time =
  26640. output.indexOf('jaj') !== -1 ?
  26641. time.slice(0, -3) + 'Hu’' :
  26642. output.indexOf('jar') !== -1 ?
  26643. time.slice(0, -3) + 'wen' :
  26644. output.indexOf('DIS') !== -1 ?
  26645. time.slice(0, -3) + 'ben' :
  26646. time + ' ret';
  26647. return time;
  26648. }
  26649. function translate(number, withoutSuffix, string, isFuture) {
  26650. var numberNoun = numberAsNoun(number);
  26651. switch (string) {
  26652. case 'ss':
  26653. return numberNoun + ' lup';
  26654. case 'mm':
  26655. return numberNoun + ' tup';
  26656. case 'hh':
  26657. return numberNoun + ' rep';
  26658. case 'dd':
  26659. return numberNoun + ' jaj';
  26660. case 'MM':
  26661. return numberNoun + ' jar';
  26662. case 'yy':
  26663. return numberNoun + ' DIS';}
  26664. }
  26665. function numberAsNoun(number) {
  26666. var hundred = Math.floor(number % 1000 / 100),
  26667. ten = Math.floor(number % 100 / 10),
  26668. one = number % 10,
  26669. word = '';
  26670. if (hundred > 0) {
  26671. word += numbersNouns[hundred] + 'vatlh';
  26672. }
  26673. if (ten > 0) {
  26674. word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';
  26675. }
  26676. if (one > 0) {
  26677. word += (word !== '' ? ' ' : '') + numbersNouns[one];
  26678. }
  26679. return word === '' ? 'pagh' : word;
  26680. }
  26681. var tlh = moment.defineLocale('tlh', {
  26682. months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(
  26683. '_'),
  26684. monthsShort:
  26685. 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(
  26686. '_'),
  26687. monthsParseExact: true,
  26688. weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(
  26689. '_'),
  26690. weekdaysShort:
  26691. 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
  26692. weekdaysMin:
  26693. 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
  26694. longDateFormat: {
  26695. LT: 'HH:mm',
  26696. LTS: 'HH:mm:ss',
  26697. L: 'DD.MM.YYYY',
  26698. LL: 'D MMMM YYYY',
  26699. LLL: 'D MMMM YYYY HH:mm',
  26700. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  26701. calendar: {
  26702. sameDay: '[DaHjaj] LT',
  26703. nextDay: '[wa’leS] LT',
  26704. nextWeek: 'LLL',
  26705. lastDay: '[wa’Hu’] LT',
  26706. lastWeek: 'LLL',
  26707. sameElse: 'L' },
  26708. relativeTime: {
  26709. future: translateFuture,
  26710. past: translatePast,
  26711. s: 'puS lup',
  26712. ss: translate,
  26713. m: 'wa’ tup',
  26714. mm: translate,
  26715. h: 'wa’ rep',
  26716. hh: translate,
  26717. d: 'wa’ jaj',
  26718. dd: translate,
  26719. M: 'wa’ jar',
  26720. MM: translate,
  26721. y: 'wa’ DIS',
  26722. yy: translate },
  26723. dayOfMonthOrdinalParse: /\d{1,2}\./,
  26724. ordinal: '%d.',
  26725. week: {
  26726. dow: 1, // Monday is the first day of the week.
  26727. doy: 4 // The week that contains Jan 4th is the first week of the year.
  26728. } });
  26729. return tlh;
  26730. });
  26731. /***/ }),
  26732. /* 141 */
  26733. /*!*********************************************************************************************!*\
  26734. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/tr.js ***!
  26735. \*********************************************************************************************/
  26736. /*! no static exports found */
  26737. /***/ (function(module, exports, __webpack_require__) {
  26738. //! moment.js locale configuration
  26739. //! locale : Turkish [tr]
  26740. //! authors : Erhan Gundogan : https://github.com/erhangundogan,
  26741. //! Burak Yiğit Kaya: https://github.com/BYK
  26742. ;(function (global, factory) {
  26743. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  26744. undefined;
  26745. })(this, function (moment) {'use strict';
  26746. //! moment.js locale configuration
  26747. var suffixes = {
  26748. 1: "'inci",
  26749. 5: "'inci",
  26750. 8: "'inci",
  26751. 70: "'inci",
  26752. 80: "'inci",
  26753. 2: "'nci",
  26754. 7: "'nci",
  26755. 20: "'nci",
  26756. 50: "'nci",
  26757. 3: "'üncü",
  26758. 4: "'üncü",
  26759. 100: "'üncü",
  26760. 6: "'ncı",
  26761. 9: "'uncu",
  26762. 10: "'uncu",
  26763. 30: "'uncu",
  26764. 60: "'ıncı",
  26765. 90: "'ıncı" };
  26766. var tr = moment.defineLocale('tr', {
  26767. months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(
  26768. '_'),
  26769. monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),
  26770. weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(
  26771. '_'),
  26772. weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),
  26773. weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),
  26774. meridiem: function meridiem(hours, minutes, isLower) {
  26775. if (hours < 12) {
  26776. return isLower ? 'öö' : 'ÖÖ';
  26777. } else {
  26778. return isLower ? 'ös' : 'ÖS';
  26779. }
  26780. },
  26781. meridiemParse: /öö|ÖÖ|ös|ÖS/,
  26782. isPM: function isPM(input) {
  26783. return input === 'ös' || input === 'ÖS';
  26784. },
  26785. longDateFormat: {
  26786. LT: 'HH:mm',
  26787. LTS: 'HH:mm:ss',
  26788. L: 'DD.MM.YYYY',
  26789. LL: 'D MMMM YYYY',
  26790. LLL: 'D MMMM YYYY HH:mm',
  26791. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  26792. calendar: {
  26793. sameDay: '[bugün saat] LT',
  26794. nextDay: '[yarın saat] LT',
  26795. nextWeek: '[gelecek] dddd [saat] LT',
  26796. lastDay: '[dün] LT',
  26797. lastWeek: '[geçen] dddd [saat] LT',
  26798. sameElse: 'L' },
  26799. relativeTime: {
  26800. future: '%s sonra',
  26801. past: '%s önce',
  26802. s: 'birkaç saniye',
  26803. ss: '%d saniye',
  26804. m: 'bir dakika',
  26805. mm: '%d dakika',
  26806. h: 'bir saat',
  26807. hh: '%d saat',
  26808. d: 'bir gün',
  26809. dd: '%d gün',
  26810. w: 'bir hafta',
  26811. ww: '%d hafta',
  26812. M: 'bir ay',
  26813. MM: '%d ay',
  26814. y: 'bir yıl',
  26815. yy: '%d yıl' },
  26816. ordinal: function ordinal(number, period) {
  26817. switch (period) {
  26818. case 'd':
  26819. case 'D':
  26820. case 'Do':
  26821. case 'DD':
  26822. return number;
  26823. default:
  26824. if (number === 0) {
  26825. // special case for zero
  26826. return number + "'ıncı";
  26827. }
  26828. var a = number % 10,
  26829. b = number % 100 - a,
  26830. c = number >= 100 ? 100 : null;
  26831. return number + (suffixes[a] || suffixes[b] || suffixes[c]);}
  26832. },
  26833. week: {
  26834. dow: 1, // Monday is the first day of the week.
  26835. doy: 7 // The week that contains Jan 7th is the first week of the year.
  26836. } });
  26837. return tr;
  26838. });
  26839. /***/ }),
  26840. /* 142 */
  26841. /*!**********************************************************************************************!*\
  26842. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/tzl.js ***!
  26843. \**********************************************************************************************/
  26844. /*! no static exports found */
  26845. /***/ (function(module, exports, __webpack_require__) {
  26846. //! moment.js locale configuration
  26847. //! locale : Talossan [tzl]
  26848. //! author : Robin van der Vliet : https://github.com/robin0van0der0v
  26849. //! author : Iustì Canun
  26850. ;(function (global, factory) {
  26851. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  26852. undefined;
  26853. })(this, function (moment) {'use strict';
  26854. //! moment.js locale configuration
  26855. // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.
  26856. // This is currently too difficult (maybe even impossible) to add.
  26857. var tzl = moment.defineLocale('tzl', {
  26858. months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(
  26859. '_'),
  26860. monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),
  26861. weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),
  26862. weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),
  26863. weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),
  26864. longDateFormat: {
  26865. LT: 'HH.mm',
  26866. LTS: 'HH.mm.ss',
  26867. L: 'DD.MM.YYYY',
  26868. LL: 'D. MMMM [dallas] YYYY',
  26869. LLL: 'D. MMMM [dallas] YYYY HH.mm',
  26870. LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm' },
  26871. meridiemParse: /d\'o|d\'a/i,
  26872. isPM: function isPM(input) {
  26873. return "d'o" === input.toLowerCase();
  26874. },
  26875. meridiem: function meridiem(hours, minutes, isLower) {
  26876. if (hours > 11) {
  26877. return isLower ? "d'o" : "D'O";
  26878. } else {
  26879. return isLower ? "d'a" : "D'A";
  26880. }
  26881. },
  26882. calendar: {
  26883. sameDay: '[oxhi à] LT',
  26884. nextDay: '[demà à] LT',
  26885. nextWeek: 'dddd [à] LT',
  26886. lastDay: '[ieiri à] LT',
  26887. lastWeek: '[sür el] dddd [lasteu à] LT',
  26888. sameElse: 'L' },
  26889. relativeTime: {
  26890. future: 'osprei %s',
  26891. past: 'ja%s',
  26892. s: processRelativeTime,
  26893. ss: processRelativeTime,
  26894. m: processRelativeTime,
  26895. mm: processRelativeTime,
  26896. h: processRelativeTime,
  26897. hh: processRelativeTime,
  26898. d: processRelativeTime,
  26899. dd: processRelativeTime,
  26900. M: processRelativeTime,
  26901. MM: processRelativeTime,
  26902. y: processRelativeTime,
  26903. yy: processRelativeTime },
  26904. dayOfMonthOrdinalParse: /\d{1,2}\./,
  26905. ordinal: '%d.',
  26906. week: {
  26907. dow: 1, // Monday is the first day of the week.
  26908. doy: 4 // The week that contains Jan 4th is the first week of the year.
  26909. } });
  26910. function processRelativeTime(number, withoutSuffix, key, isFuture) {
  26911. var format = {
  26912. s: ['viensas secunds', "'iensas secunds"],
  26913. ss: [number + ' secunds', '' + number + ' secunds'],
  26914. m: ["'n míut", "'iens míut"],
  26915. mm: [number + ' míuts', '' + number + ' míuts'],
  26916. h: ["'n þora", "'iensa þora"],
  26917. hh: [number + ' þoras', '' + number + ' þoras'],
  26918. d: ["'n ziua", "'iensa ziua"],
  26919. dd: [number + ' ziuas', '' + number + ' ziuas'],
  26920. M: ["'n mes", "'iens mes"],
  26921. MM: [number + ' mesen', '' + number + ' mesen'],
  26922. y: ["'n ar", "'iens ar"],
  26923. yy: [number + ' ars', '' + number + ' ars'] };
  26924. return isFuture ?
  26925. format[key][0] :
  26926. withoutSuffix ?
  26927. format[key][0] :
  26928. format[key][1];
  26929. }
  26930. return tzl;
  26931. });
  26932. /***/ }),
  26933. /* 143 */
  26934. /*!**********************************************************************************************!*\
  26935. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/tzm.js ***!
  26936. \**********************************************************************************************/
  26937. /*! no static exports found */
  26938. /***/ (function(module, exports, __webpack_require__) {
  26939. //! moment.js locale configuration
  26940. //! locale : Central Atlas Tamazight [tzm]
  26941. //! author : Abdel Said : https://github.com/abdelsaid
  26942. ;(function (global, factory) {
  26943. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  26944. undefined;
  26945. })(this, function (moment) {'use strict';
  26946. //! moment.js locale configuration
  26947. var tzm = moment.defineLocale('tzm', {
  26948. months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(
  26949. '_'),
  26950. monthsShort:
  26951. 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(
  26952. '_'),
  26953. weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
  26954. weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
  26955. weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
  26956. longDateFormat: {
  26957. LT: 'HH:mm',
  26958. LTS: 'HH:mm:ss',
  26959. L: 'DD/MM/YYYY',
  26960. LL: 'D MMMM YYYY',
  26961. LLL: 'D MMMM YYYY HH:mm',
  26962. LLLL: 'dddd D MMMM YYYY HH:mm' },
  26963. calendar: {
  26964. sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',
  26965. nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',
  26966. nextWeek: 'dddd [ⴴ] LT',
  26967. lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',
  26968. lastWeek: 'dddd [ⴴ] LT',
  26969. sameElse: 'L' },
  26970. relativeTime: {
  26971. future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',
  26972. past: 'ⵢⴰⵏ %s',
  26973. s: 'ⵉⵎⵉⴽ',
  26974. ss: '%d ⵉⵎⵉⴽ',
  26975. m: 'ⵎⵉⵏⵓⴺ',
  26976. mm: '%d ⵎⵉⵏⵓⴺ',
  26977. h: 'ⵙⴰⵄⴰ',
  26978. hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',
  26979. d: 'ⴰⵙⵙ',
  26980. dd: '%d oⵙⵙⴰⵏ',
  26981. M: 'ⴰⵢoⵓⵔ',
  26982. MM: '%d ⵉⵢⵢⵉⵔⵏ',
  26983. y: 'ⴰⵙⴳⴰⵙ',
  26984. yy: '%d ⵉⵙⴳⴰⵙⵏ' },
  26985. week: {
  26986. dow: 6, // Saturday is the first day of the week.
  26987. doy: 12 // The week that contains Jan 12th is the first week of the year.
  26988. } });
  26989. return tzm;
  26990. });
  26991. /***/ }),
  26992. /* 144 */
  26993. /*!***************************************************************************************************!*\
  26994. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/tzm-latn.js ***!
  26995. \***************************************************************************************************/
  26996. /*! no static exports found */
  26997. /***/ (function(module, exports, __webpack_require__) {
  26998. //! moment.js locale configuration
  26999. //! locale : Central Atlas Tamazight Latin [tzm-latn]
  27000. //! author : Abdel Said : https://github.com/abdelsaid
  27001. ;(function (global, factory) {
  27002. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  27003. undefined;
  27004. })(this, function (moment) {'use strict';
  27005. //! moment.js locale configuration
  27006. var tzmLatn = moment.defineLocale('tzm-latn', {
  27007. months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(
  27008. '_'),
  27009. monthsShort:
  27010. 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(
  27011. '_'),
  27012. weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
  27013. weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
  27014. weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
  27015. longDateFormat: {
  27016. LT: 'HH:mm',
  27017. LTS: 'HH:mm:ss',
  27018. L: 'DD/MM/YYYY',
  27019. LL: 'D MMMM YYYY',
  27020. LLL: 'D MMMM YYYY HH:mm',
  27021. LLLL: 'dddd D MMMM YYYY HH:mm' },
  27022. calendar: {
  27023. sameDay: '[asdkh g] LT',
  27024. nextDay: '[aska g] LT',
  27025. nextWeek: 'dddd [g] LT',
  27026. lastDay: '[assant g] LT',
  27027. lastWeek: 'dddd [g] LT',
  27028. sameElse: 'L' },
  27029. relativeTime: {
  27030. future: 'dadkh s yan %s',
  27031. past: 'yan %s',
  27032. s: 'imik',
  27033. ss: '%d imik',
  27034. m: 'minuḍ',
  27035. mm: '%d minuḍ',
  27036. h: 'saɛa',
  27037. hh: '%d tassaɛin',
  27038. d: 'ass',
  27039. dd: '%d ossan',
  27040. M: 'ayowr',
  27041. MM: '%d iyyirn',
  27042. y: 'asgas',
  27043. yy: '%d isgasn' },
  27044. week: {
  27045. dow: 6, // Saturday is the first day of the week.
  27046. doy: 12 // The week that contains Jan 12th is the first week of the year.
  27047. } });
  27048. return tzmLatn;
  27049. });
  27050. /***/ }),
  27051. /* 145 */
  27052. /*!************************************************************************************************!*\
  27053. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ug-cn.js ***!
  27054. \************************************************************************************************/
  27055. /*! no static exports found */
  27056. /***/ (function(module, exports, __webpack_require__) {
  27057. //! moment.js locale configuration
  27058. //! locale : Uyghur (China) [ug-cn]
  27059. //! author: boyaq : https://github.com/boyaq
  27060. ;(function (global, factory) {
  27061. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  27062. undefined;
  27063. })(this, function (moment) {'use strict';
  27064. //! moment.js locale configuration
  27065. var ugCn = moment.defineLocale('ug-cn', {
  27066. months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
  27067. '_'),
  27068. monthsShort:
  27069. 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
  27070. '_'),
  27071. weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(
  27072. '_'),
  27073. weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
  27074. weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
  27075. longDateFormat: {
  27076. LT: 'HH:mm',
  27077. LTS: 'HH:mm:ss',
  27078. L: 'YYYY-MM-DD',
  27079. LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',
  27080. LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',
  27081. LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm' },
  27082. meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,
  27083. meridiemHour: function meridiemHour(hour, meridiem) {
  27084. if (hour === 12) {
  27085. hour = 0;
  27086. }
  27087. if (
  27088. meridiem === 'يېرىم كېچە' ||
  27089. meridiem === 'سەھەر' ||
  27090. meridiem === 'چۈشتىن بۇرۇن')
  27091. {
  27092. return hour;
  27093. } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {
  27094. return hour + 12;
  27095. } else {
  27096. return hour >= 11 ? hour : hour + 12;
  27097. }
  27098. },
  27099. meridiem: function meridiem(hour, minute, isLower) {
  27100. var hm = hour * 100 + minute;
  27101. if (hm < 600) {
  27102. return 'يېرىم كېچە';
  27103. } else if (hm < 900) {
  27104. return 'سەھەر';
  27105. } else if (hm < 1130) {
  27106. return 'چۈشتىن بۇرۇن';
  27107. } else if (hm < 1230) {
  27108. return 'چۈش';
  27109. } else if (hm < 1800) {
  27110. return 'چۈشتىن كېيىن';
  27111. } else {
  27112. return 'كەچ';
  27113. }
  27114. },
  27115. calendar: {
  27116. sameDay: '[بۈگۈن سائەت] LT',
  27117. nextDay: '[ئەتە سائەت] LT',
  27118. nextWeek: '[كېلەركى] dddd [سائەت] LT',
  27119. lastDay: '[تۆنۈگۈن] LT',
  27120. lastWeek: '[ئالدىنقى] dddd [سائەت] LT',
  27121. sameElse: 'L' },
  27122. relativeTime: {
  27123. future: '%s كېيىن',
  27124. past: '%s بۇرۇن',
  27125. s: 'نەچچە سېكونت',
  27126. ss: '%d سېكونت',
  27127. m: 'بىر مىنۇت',
  27128. mm: '%d مىنۇت',
  27129. h: 'بىر سائەت',
  27130. hh: '%d سائەت',
  27131. d: 'بىر كۈن',
  27132. dd: '%d كۈن',
  27133. M: 'بىر ئاي',
  27134. MM: '%d ئاي',
  27135. y: 'بىر يىل',
  27136. yy: '%d يىل' },
  27137. dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,
  27138. ordinal: function ordinal(number, period) {
  27139. switch (period) {
  27140. case 'd':
  27141. case 'D':
  27142. case 'DDD':
  27143. return number + '-كۈنى';
  27144. case 'w':
  27145. case 'W':
  27146. return number + '-ھەپتە';
  27147. default:
  27148. return number;}
  27149. },
  27150. preparse: function preparse(string) {
  27151. return string.replace(/،/g, ',');
  27152. },
  27153. postformat: function postformat(string) {
  27154. return string.replace(/,/g, '،');
  27155. },
  27156. week: {
  27157. // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
  27158. dow: 1, // Monday is the first day of the week.
  27159. doy: 7 // The week that contains Jan 1st is the first week of the year.
  27160. } });
  27161. return ugCn;
  27162. });
  27163. /***/ }),
  27164. /* 146 */
  27165. /*!*********************************************************************************************!*\
  27166. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/uk.js ***!
  27167. \*********************************************************************************************/
  27168. /*! no static exports found */
  27169. /***/ (function(module, exports, __webpack_require__) {
  27170. //! moment.js locale configuration
  27171. //! locale : Ukrainian [uk]
  27172. //! author : zemlanin : https://github.com/zemlanin
  27173. //! Author : Menelion Elensúle : https://github.com/Oire
  27174. ;(function (global, factory) {
  27175. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  27176. undefined;
  27177. })(this, function (moment) {'use strict';
  27178. //! moment.js locale configuration
  27179. function plural(word, num) {
  27180. var forms = word.split('_');
  27181. return num % 10 === 1 && num % 100 !== 11 ?
  27182. forms[0] :
  27183. num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ?
  27184. forms[1] :
  27185. forms[2];
  27186. }
  27187. function relativeTimeWithPlural(number, withoutSuffix, key) {
  27188. var format = {
  27189. ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',
  27190. mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',
  27191. hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',
  27192. dd: 'день_дні_днів',
  27193. MM: 'місяць_місяці_місяців',
  27194. yy: 'рік_роки_років' };
  27195. if (key === 'm') {
  27196. return withoutSuffix ? 'хвилина' : 'хвилину';
  27197. } else if (key === 'h') {
  27198. return withoutSuffix ? 'година' : 'годину';
  27199. } else {
  27200. return number + ' ' + plural(format[key], +number);
  27201. }
  27202. }
  27203. function weekdaysCaseReplace(m, format) {
  27204. var weekdays = {
  27205. nominative:
  27206. 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(
  27207. '_'),
  27208. accusative:
  27209. 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(
  27210. '_'),
  27211. genitive:
  27212. 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(
  27213. '_') },
  27214. nounCase;
  27215. if (m === true) {
  27216. return weekdays['nominative'].
  27217. slice(1, 7).
  27218. concat(weekdays['nominative'].slice(0, 1));
  27219. }
  27220. if (!m) {
  27221. return weekdays['nominative'];
  27222. }
  27223. nounCase = /(\[[ВвУу]\]) ?dddd/.test(format) ?
  27224. 'accusative' :
  27225. /\[?(?:минулої|наступної)? ?\] ?dddd/.test(format) ?
  27226. 'genitive' :
  27227. 'nominative';
  27228. return weekdays[nounCase][m.day()];
  27229. }
  27230. function processHoursFunction(str) {
  27231. return function () {
  27232. return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';
  27233. };
  27234. }
  27235. var uk = moment.defineLocale('uk', {
  27236. months: {
  27237. format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(
  27238. '_'),
  27239. standalone:
  27240. 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(
  27241. '_') },
  27242. monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(
  27243. '_'),
  27244. weekdays: weekdaysCaseReplace,
  27245. weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
  27246. weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
  27247. longDateFormat: {
  27248. LT: 'HH:mm',
  27249. LTS: 'HH:mm:ss',
  27250. L: 'DD.MM.YYYY',
  27251. LL: 'D MMMM YYYY р.',
  27252. LLL: 'D MMMM YYYY р., HH:mm',
  27253. LLLL: 'dddd, D MMMM YYYY р., HH:mm' },
  27254. calendar: {
  27255. sameDay: processHoursFunction('[Сьогодні '),
  27256. nextDay: processHoursFunction('[Завтра '),
  27257. lastDay: processHoursFunction('[Вчора '),
  27258. nextWeek: processHoursFunction('[У] dddd ['),
  27259. lastWeek: function lastWeek() {
  27260. switch (this.day()) {
  27261. case 0:
  27262. case 3:
  27263. case 5:
  27264. case 6:
  27265. return processHoursFunction('[Минулої] dddd [').call(this);
  27266. case 1:
  27267. case 2:
  27268. case 4:
  27269. return processHoursFunction('[Минулого] dddd [').call(this);}
  27270. },
  27271. sameElse: 'L' },
  27272. relativeTime: {
  27273. future: 'за %s',
  27274. past: '%s тому',
  27275. s: 'декілька секунд',
  27276. ss: relativeTimeWithPlural,
  27277. m: relativeTimeWithPlural,
  27278. mm: relativeTimeWithPlural,
  27279. h: 'годину',
  27280. hh: relativeTimeWithPlural,
  27281. d: 'день',
  27282. dd: relativeTimeWithPlural,
  27283. M: 'місяць',
  27284. MM: relativeTimeWithPlural,
  27285. y: 'рік',
  27286. yy: relativeTimeWithPlural },
  27287. // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
  27288. meridiemParse: /ночі|ранку|дня|вечора/,
  27289. isPM: function isPM(input) {
  27290. return /^(дня|вечора)$/.test(input);
  27291. },
  27292. meridiem: function meridiem(hour, minute, isLower) {
  27293. if (hour < 4) {
  27294. return 'ночі';
  27295. } else if (hour < 12) {
  27296. return 'ранку';
  27297. } else if (hour < 17) {
  27298. return 'дня';
  27299. } else {
  27300. return 'вечора';
  27301. }
  27302. },
  27303. dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/,
  27304. ordinal: function ordinal(number, period) {
  27305. switch (period) {
  27306. case 'M':
  27307. case 'd':
  27308. case 'DDD':
  27309. case 'w':
  27310. case 'W':
  27311. return number + '-й';
  27312. case 'D':
  27313. return number + '-го';
  27314. default:
  27315. return number;}
  27316. },
  27317. week: {
  27318. dow: 1, // Monday is the first day of the week.
  27319. doy: 7 // The week that contains Jan 7th is the first week of the year.
  27320. } });
  27321. return uk;
  27322. });
  27323. /***/ }),
  27324. /* 147 */
  27325. /*!*********************************************************************************************!*\
  27326. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/ur.js ***!
  27327. \*********************************************************************************************/
  27328. /*! no static exports found */
  27329. /***/ (function(module, exports, __webpack_require__) {
  27330. //! moment.js locale configuration
  27331. //! locale : Urdu [ur]
  27332. //! author : Sawood Alam : https://github.com/ibnesayeed
  27333. //! author : Zack : https://github.com/ZackVision
  27334. ;(function (global, factory) {
  27335. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  27336. undefined;
  27337. })(this, function (moment) {'use strict';
  27338. //! moment.js locale configuration
  27339. var months = [
  27340. 'جنوری',
  27341. 'فروری',
  27342. 'مارچ',
  27343. 'اپریل',
  27344. 'مئی',
  27345. 'جون',
  27346. 'جولائی',
  27347. 'اگست',
  27348. 'ستمبر',
  27349. 'اکتوبر',
  27350. 'نومبر',
  27351. 'دسمبر'],
  27352. days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];
  27353. var ur = moment.defineLocale('ur', {
  27354. months: months,
  27355. monthsShort: months,
  27356. weekdays: days,
  27357. weekdaysShort: days,
  27358. weekdaysMin: days,
  27359. longDateFormat: {
  27360. LT: 'HH:mm',
  27361. LTS: 'HH:mm:ss',
  27362. L: 'DD/MM/YYYY',
  27363. LL: 'D MMMM YYYY',
  27364. LLL: 'D MMMM YYYY HH:mm',
  27365. LLLL: 'dddd، D MMMM YYYY HH:mm' },
  27366. meridiemParse: /صبح|شام/,
  27367. isPM: function isPM(input) {
  27368. return 'شام' === input;
  27369. },
  27370. meridiem: function meridiem(hour, minute, isLower) {
  27371. if (hour < 12) {
  27372. return 'صبح';
  27373. }
  27374. return 'شام';
  27375. },
  27376. calendar: {
  27377. sameDay: '[آج بوقت] LT',
  27378. nextDay: '[کل بوقت] LT',
  27379. nextWeek: 'dddd [بوقت] LT',
  27380. lastDay: '[گذشتہ روز بوقت] LT',
  27381. lastWeek: '[گذشتہ] dddd [بوقت] LT',
  27382. sameElse: 'L' },
  27383. relativeTime: {
  27384. future: '%s بعد',
  27385. past: '%s قبل',
  27386. s: 'چند سیکنڈ',
  27387. ss: '%d سیکنڈ',
  27388. m: 'ایک منٹ',
  27389. mm: '%d منٹ',
  27390. h: 'ایک گھنٹہ',
  27391. hh: '%d گھنٹے',
  27392. d: 'ایک دن',
  27393. dd: '%d دن',
  27394. M: 'ایک ماہ',
  27395. MM: '%d ماہ',
  27396. y: 'ایک سال',
  27397. yy: '%d سال' },
  27398. preparse: function preparse(string) {
  27399. return string.replace(/،/g, ',');
  27400. },
  27401. postformat: function postformat(string) {
  27402. return string.replace(/,/g, '،');
  27403. },
  27404. week: {
  27405. dow: 1, // Monday is the first day of the week.
  27406. doy: 4 // The week that contains Jan 4th is the first week of the year.
  27407. } });
  27408. return ur;
  27409. });
  27410. /***/ }),
  27411. /* 148 */
  27412. /*!*********************************************************************************************!*\
  27413. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/uz.js ***!
  27414. \*********************************************************************************************/
  27415. /*! no static exports found */
  27416. /***/ (function(module, exports, __webpack_require__) {
  27417. //! moment.js locale configuration
  27418. //! locale : Uzbek [uz]
  27419. //! author : Sardor Muminov : https://github.com/muminoff
  27420. ;(function (global, factory) {
  27421. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  27422. undefined;
  27423. })(this, function (moment) {'use strict';
  27424. //! moment.js locale configuration
  27425. var uz = moment.defineLocale('uz', {
  27426. months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(
  27427. '_'),
  27428. monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
  27429. weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),
  27430. weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),
  27431. weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),
  27432. longDateFormat: {
  27433. LT: 'HH:mm',
  27434. LTS: 'HH:mm:ss',
  27435. L: 'DD/MM/YYYY',
  27436. LL: 'D MMMM YYYY',
  27437. LLL: 'D MMMM YYYY HH:mm',
  27438. LLLL: 'D MMMM YYYY, dddd HH:mm' },
  27439. calendar: {
  27440. sameDay: '[Бугун соат] LT [да]',
  27441. nextDay: '[Эртага] LT [да]',
  27442. nextWeek: 'dddd [куни соат] LT [да]',
  27443. lastDay: '[Кеча соат] LT [да]',
  27444. lastWeek: '[Утган] dddd [куни соат] LT [да]',
  27445. sameElse: 'L' },
  27446. relativeTime: {
  27447. future: 'Якин %s ичида',
  27448. past: 'Бир неча %s олдин',
  27449. s: 'фурсат',
  27450. ss: '%d фурсат',
  27451. m: 'бир дакика',
  27452. mm: '%d дакика',
  27453. h: 'бир соат',
  27454. hh: '%d соат',
  27455. d: 'бир кун',
  27456. dd: '%d кун',
  27457. M: 'бир ой',
  27458. MM: '%d ой',
  27459. y: 'бир йил',
  27460. yy: '%d йил' },
  27461. week: {
  27462. dow: 1, // Monday is the first day of the week.
  27463. doy: 7 // The week that contains Jan 4th is the first week of the year.
  27464. } });
  27465. return uz;
  27466. });
  27467. /***/ }),
  27468. /* 149 */
  27469. /*!**************************************************************************************************!*\
  27470. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/uz-latn.js ***!
  27471. \**************************************************************************************************/
  27472. /*! no static exports found */
  27473. /***/ (function(module, exports, __webpack_require__) {
  27474. //! moment.js locale configuration
  27475. //! locale : Uzbek Latin [uz-latn]
  27476. //! author : Rasulbek Mirzayev : github.com/Rasulbeeek
  27477. ;(function (global, factory) {
  27478. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  27479. undefined;
  27480. })(this, function (moment) {'use strict';
  27481. //! moment.js locale configuration
  27482. var uzLatn = moment.defineLocale('uz-latn', {
  27483. months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(
  27484. '_'),
  27485. monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),
  27486. weekdays:
  27487. 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(
  27488. '_'),
  27489. weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),
  27490. weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),
  27491. longDateFormat: {
  27492. LT: 'HH:mm',
  27493. LTS: 'HH:mm:ss',
  27494. L: 'DD/MM/YYYY',
  27495. LL: 'D MMMM YYYY',
  27496. LLL: 'D MMMM YYYY HH:mm',
  27497. LLLL: 'D MMMM YYYY, dddd HH:mm' },
  27498. calendar: {
  27499. sameDay: '[Bugun soat] LT [da]',
  27500. nextDay: '[Ertaga] LT [da]',
  27501. nextWeek: 'dddd [kuni soat] LT [da]',
  27502. lastDay: '[Kecha soat] LT [da]',
  27503. lastWeek: "[O'tgan] dddd [kuni soat] LT [da]",
  27504. sameElse: 'L' },
  27505. relativeTime: {
  27506. future: 'Yaqin %s ichida',
  27507. past: 'Bir necha %s oldin',
  27508. s: 'soniya',
  27509. ss: '%d soniya',
  27510. m: 'bir daqiqa',
  27511. mm: '%d daqiqa',
  27512. h: 'bir soat',
  27513. hh: '%d soat',
  27514. d: 'bir kun',
  27515. dd: '%d kun',
  27516. M: 'bir oy',
  27517. MM: '%d oy',
  27518. y: 'bir yil',
  27519. yy: '%d yil' },
  27520. week: {
  27521. dow: 1, // Monday is the first day of the week.
  27522. doy: 7 // The week that contains Jan 7th is the first week of the year.
  27523. } });
  27524. return uzLatn;
  27525. });
  27526. /***/ }),
  27527. /* 150 */
  27528. /*!*********************************************************************************************!*\
  27529. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/vi.js ***!
  27530. \*********************************************************************************************/
  27531. /*! no static exports found */
  27532. /***/ (function(module, exports, __webpack_require__) {
  27533. //! moment.js locale configuration
  27534. //! locale : Vietnamese [vi]
  27535. //! author : Bang Nguyen : https://github.com/bangnk
  27536. //! author : Chien Kira : https://github.com/chienkira
  27537. ;(function (global, factory) {
  27538. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  27539. undefined;
  27540. })(this, function (moment) {'use strict';
  27541. //! moment.js locale configuration
  27542. var vi = moment.defineLocale('vi', {
  27543. months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(
  27544. '_'),
  27545. monthsShort:
  27546. 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(
  27547. '_'),
  27548. monthsParseExact: true,
  27549. weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(
  27550. '_'),
  27551. weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
  27552. weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
  27553. weekdaysParseExact: true,
  27554. meridiemParse: /sa|ch/i,
  27555. isPM: function isPM(input) {
  27556. return /^ch$/i.test(input);
  27557. },
  27558. meridiem: function meridiem(hours, minutes, isLower) {
  27559. if (hours < 12) {
  27560. return isLower ? 'sa' : 'SA';
  27561. } else {
  27562. return isLower ? 'ch' : 'CH';
  27563. }
  27564. },
  27565. longDateFormat: {
  27566. LT: 'HH:mm',
  27567. LTS: 'HH:mm:ss',
  27568. L: 'DD/MM/YYYY',
  27569. LL: 'D MMMM [năm] YYYY',
  27570. LLL: 'D MMMM [năm] YYYY HH:mm',
  27571. LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',
  27572. l: 'DD/M/YYYY',
  27573. ll: 'D MMM YYYY',
  27574. lll: 'D MMM YYYY HH:mm',
  27575. llll: 'ddd, D MMM YYYY HH:mm' },
  27576. calendar: {
  27577. sameDay: '[Hôm nay lúc] LT',
  27578. nextDay: '[Ngày mai lúc] LT',
  27579. nextWeek: 'dddd [tuần tới lúc] LT',
  27580. lastDay: '[Hôm qua lúc] LT',
  27581. lastWeek: 'dddd [tuần trước lúc] LT',
  27582. sameElse: 'L' },
  27583. relativeTime: {
  27584. future: '%s tới',
  27585. past: '%s trước',
  27586. s: 'vài giây',
  27587. ss: '%d giây',
  27588. m: 'một phút',
  27589. mm: '%d phút',
  27590. h: 'một giờ',
  27591. hh: '%d giờ',
  27592. d: 'một ngày',
  27593. dd: '%d ngày',
  27594. w: 'một tuần',
  27595. ww: '%d tuần',
  27596. M: 'một tháng',
  27597. MM: '%d tháng',
  27598. y: 'một năm',
  27599. yy: '%d năm' },
  27600. dayOfMonthOrdinalParse: /\d{1,2}/,
  27601. ordinal: function ordinal(number) {
  27602. return number;
  27603. },
  27604. week: {
  27605. dow: 1, // Monday is the first day of the week.
  27606. doy: 4 // The week that contains Jan 4th is the first week of the year.
  27607. } });
  27608. return vi;
  27609. });
  27610. /***/ }),
  27611. /* 151 */
  27612. /*!***************************************************************************************************!*\
  27613. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/x-pseudo.js ***!
  27614. \***************************************************************************************************/
  27615. /*! no static exports found */
  27616. /***/ (function(module, exports, __webpack_require__) {
  27617. //! moment.js locale configuration
  27618. //! locale : Pseudo [x-pseudo]
  27619. //! author : Andrew Hood : https://github.com/andrewhood125
  27620. ;(function (global, factory) {
  27621. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  27622. undefined;
  27623. })(this, function (moment) {'use strict';
  27624. //! moment.js locale configuration
  27625. var xPseudo = moment.defineLocale('x-pseudo', {
  27626. months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(
  27627. '_'),
  27628. monthsShort:
  27629. 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(
  27630. '_'),
  27631. monthsParseExact: true,
  27632. weekdays:
  27633. 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(
  27634. '_'),
  27635. weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),
  27636. weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),
  27637. weekdaysParseExact: true,
  27638. longDateFormat: {
  27639. LT: 'HH:mm',
  27640. L: 'DD/MM/YYYY',
  27641. LL: 'D MMMM YYYY',
  27642. LLL: 'D MMMM YYYY HH:mm',
  27643. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  27644. calendar: {
  27645. sameDay: '[T~ódá~ý át] LT',
  27646. nextDay: '[T~ómó~rró~w át] LT',
  27647. nextWeek: 'dddd [át] LT',
  27648. lastDay: '[Ý~ést~érdá~ý át] LT',
  27649. lastWeek: '[L~ást] dddd [át] LT',
  27650. sameElse: 'L' },
  27651. relativeTime: {
  27652. future: 'í~ñ %s',
  27653. past: '%s á~gó',
  27654. s: 'á ~féw ~sécó~ñds',
  27655. ss: '%d s~écóñ~ds',
  27656. m: 'á ~míñ~úté',
  27657. mm: '%d m~íñú~tés',
  27658. h: 'á~ñ hó~úr',
  27659. hh: '%d h~óúrs',
  27660. d: 'á ~dáý',
  27661. dd: '%d d~áýs',
  27662. M: 'á ~móñ~th',
  27663. MM: '%d m~óñt~hs',
  27664. y: 'á ~ýéár',
  27665. yy: '%d ý~éárs' },
  27666. dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
  27667. ordinal: function ordinal(number) {
  27668. var b = number % 10,
  27669. output =
  27670. ~~(number % 100 / 10) === 1 ?
  27671. 'th' :
  27672. b === 1 ?
  27673. 'st' :
  27674. b === 2 ?
  27675. 'nd' :
  27676. b === 3 ?
  27677. 'rd' :
  27678. 'th';
  27679. return number + output;
  27680. },
  27681. week: {
  27682. dow: 1, // Monday is the first day of the week.
  27683. doy: 4 // The week that contains Jan 4th is the first week of the year.
  27684. } });
  27685. return xPseudo;
  27686. });
  27687. /***/ }),
  27688. /* 152 */
  27689. /*!*********************************************************************************************!*\
  27690. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/yo.js ***!
  27691. \*********************************************************************************************/
  27692. /*! no static exports found */
  27693. /***/ (function(module, exports, __webpack_require__) {
  27694. //! moment.js locale configuration
  27695. //! locale : Yoruba Nigeria [yo]
  27696. //! author : Atolagbe Abisoye : https://github.com/andela-batolagbe
  27697. ;(function (global, factory) {
  27698. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  27699. undefined;
  27700. })(this, function (moment) {'use strict';
  27701. //! moment.js locale configuration
  27702. var yo = moment.defineLocale('yo', {
  27703. months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(
  27704. '_'),
  27705. monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),
  27706. weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),
  27707. weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),
  27708. weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),
  27709. longDateFormat: {
  27710. LT: 'h:mm A',
  27711. LTS: 'h:mm:ss A',
  27712. L: 'DD/MM/YYYY',
  27713. LL: 'D MMMM YYYY',
  27714. LLL: 'D MMMM YYYY h:mm A',
  27715. LLLL: 'dddd, D MMMM YYYY h:mm A' },
  27716. calendar: {
  27717. sameDay: '[Ònì ni] LT',
  27718. nextDay: '[Ọ̀la ni] LT',
  27719. nextWeek: "dddd [Ọsẹ̀ tón'bọ] [ni] LT",
  27720. lastDay: '[Àna ni] LT',
  27721. lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',
  27722. sameElse: 'L' },
  27723. relativeTime: {
  27724. future: 'ní %s',
  27725. past: '%s kọjá',
  27726. s: 'ìsẹjú aayá die',
  27727. ss: 'aayá %d',
  27728. m: 'ìsẹjú kan',
  27729. mm: 'ìsẹjú %d',
  27730. h: 'wákati kan',
  27731. hh: 'wákati %d',
  27732. d: 'ọjọ́ kan',
  27733. dd: 'ọjọ́ %d',
  27734. M: 'osù kan',
  27735. MM: 'osù %d',
  27736. y: 'ọdún kan',
  27737. yy: 'ọdún %d' },
  27738. dayOfMonthOrdinalParse: /ọjọ́\s\d{1,2}/,
  27739. ordinal: 'ọjọ́ %d',
  27740. week: {
  27741. dow: 1, // Monday is the first day of the week.
  27742. doy: 4 // The week that contains Jan 4th is the first week of the year.
  27743. } });
  27744. return yo;
  27745. });
  27746. /***/ }),
  27747. /* 153 */
  27748. /*!************************************************************************************************!*\
  27749. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/zh-cn.js ***!
  27750. \************************************************************************************************/
  27751. /*! no static exports found */
  27752. /***/ (function(module, exports, __webpack_require__) {
  27753. //! moment.js locale configuration
  27754. //! locale : Chinese (China) [zh-cn]
  27755. //! author : suupic : https://github.com/suupic
  27756. //! author : Zeno Zeng : https://github.com/zenozeng
  27757. //! author : uu109 : https://github.com/uu109
  27758. ;(function (global, factory) {
  27759. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  27760. undefined;
  27761. })(this, function (moment) {'use strict';
  27762. //! moment.js locale configuration
  27763. var zhCn = moment.defineLocale('zh-cn', {
  27764. months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
  27765. '_'),
  27766. monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
  27767. '_'),
  27768. weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
  27769. weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),
  27770. weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
  27771. longDateFormat: {
  27772. LT: 'HH:mm',
  27773. LTS: 'HH:mm:ss',
  27774. L: 'YYYY/MM/DD',
  27775. LL: 'YYYY年M月D日',
  27776. LLL: 'YYYY年M月D日Ah点mm分',
  27777. LLLL: 'YYYY年M月D日ddddAh点mm分',
  27778. l: 'YYYY/M/D',
  27779. ll: 'YYYY年M月D日',
  27780. lll: 'YYYY年M月D日 HH:mm',
  27781. llll: 'YYYY年M月D日dddd HH:mm' },
  27782. meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
  27783. meridiemHour: function meridiemHour(hour, meridiem) {
  27784. if (hour === 12) {
  27785. hour = 0;
  27786. }
  27787. if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
  27788. return hour;
  27789. } else if (meridiem === '下午' || meridiem === '晚上') {
  27790. return hour + 12;
  27791. } else {
  27792. // '中午'
  27793. return hour >= 11 ? hour : hour + 12;
  27794. }
  27795. },
  27796. meridiem: function meridiem(hour, minute, isLower) {
  27797. var hm = hour * 100 + minute;
  27798. if (hm < 600) {
  27799. return '凌晨';
  27800. } else if (hm < 900) {
  27801. return '早上';
  27802. } else if (hm < 1130) {
  27803. return '上午';
  27804. } else if (hm < 1230) {
  27805. return '中午';
  27806. } else if (hm < 1800) {
  27807. return '下午';
  27808. } else {
  27809. return '晚上';
  27810. }
  27811. },
  27812. calendar: {
  27813. sameDay: '[今天]LT',
  27814. nextDay: '[明天]LT',
  27815. nextWeek: function nextWeek(now) {
  27816. if (now.week() !== this.week()) {
  27817. return '[下]dddLT';
  27818. } else {
  27819. return '[本]dddLT';
  27820. }
  27821. },
  27822. lastDay: '[昨天]LT',
  27823. lastWeek: function lastWeek(now) {
  27824. if (this.week() !== now.week()) {
  27825. return '[上]dddLT';
  27826. } else {
  27827. return '[本]dddLT';
  27828. }
  27829. },
  27830. sameElse: 'L' },
  27831. dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/,
  27832. ordinal: function ordinal(number, period) {
  27833. switch (period) {
  27834. case 'd':
  27835. case 'D':
  27836. case 'DDD':
  27837. return number + '日';
  27838. case 'M':
  27839. return number + '月';
  27840. case 'w':
  27841. case 'W':
  27842. return number + '周';
  27843. default:
  27844. return number;}
  27845. },
  27846. relativeTime: {
  27847. future: '%s后',
  27848. past: '%s前',
  27849. s: '几秒',
  27850. ss: '%d 秒',
  27851. m: '1 分钟',
  27852. mm: '%d 分钟',
  27853. h: '1 小时',
  27854. hh: '%d 小时',
  27855. d: '1 天',
  27856. dd: '%d 天',
  27857. w: '1 周',
  27858. ww: '%d 周',
  27859. M: '1 个月',
  27860. MM: '%d 个月',
  27861. y: '1 年',
  27862. yy: '%d 年' },
  27863. week: {
  27864. // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
  27865. dow: 1, // Monday is the first day of the week.
  27866. doy: 4 // The week that contains Jan 4th is the first week of the year.
  27867. } });
  27868. return zhCn;
  27869. });
  27870. /***/ }),
  27871. /* 154 */
  27872. /*!************************************************************************************************!*\
  27873. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/zh-hk.js ***!
  27874. \************************************************************************************************/
  27875. /*! no static exports found */
  27876. /***/ (function(module, exports, __webpack_require__) {
  27877. //! moment.js locale configuration
  27878. //! locale : Chinese (Hong Kong) [zh-hk]
  27879. //! author : Ben : https://github.com/ben-lin
  27880. //! author : Chris Lam : https://github.com/hehachris
  27881. //! author : Konstantin : https://github.com/skfd
  27882. //! author : Anthony : https://github.com/anthonylau
  27883. ;(function (global, factory) {
  27884. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  27885. undefined;
  27886. })(this, function (moment) {'use strict';
  27887. //! moment.js locale configuration
  27888. var zhHk = moment.defineLocale('zh-hk', {
  27889. months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
  27890. '_'),
  27891. monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
  27892. '_'),
  27893. weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
  27894. weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
  27895. weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
  27896. longDateFormat: {
  27897. LT: 'HH:mm',
  27898. LTS: 'HH:mm:ss',
  27899. L: 'YYYY/MM/DD',
  27900. LL: 'YYYY年M月D日',
  27901. LLL: 'YYYY年M月D日 HH:mm',
  27902. LLLL: 'YYYY年M月D日dddd HH:mm',
  27903. l: 'YYYY/M/D',
  27904. ll: 'YYYY年M月D日',
  27905. lll: 'YYYY年M月D日 HH:mm',
  27906. llll: 'YYYY年M月D日dddd HH:mm' },
  27907. meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
  27908. meridiemHour: function meridiemHour(hour, meridiem) {
  27909. if (hour === 12) {
  27910. hour = 0;
  27911. }
  27912. if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
  27913. return hour;
  27914. } else if (meridiem === '中午') {
  27915. return hour >= 11 ? hour : hour + 12;
  27916. } else if (meridiem === '下午' || meridiem === '晚上') {
  27917. return hour + 12;
  27918. }
  27919. },
  27920. meridiem: function meridiem(hour, minute, isLower) {
  27921. var hm = hour * 100 + minute;
  27922. if (hm < 600) {
  27923. return '凌晨';
  27924. } else if (hm < 900) {
  27925. return '早上';
  27926. } else if (hm < 1200) {
  27927. return '上午';
  27928. } else if (hm === 1200) {
  27929. return '中午';
  27930. } else if (hm < 1800) {
  27931. return '下午';
  27932. } else {
  27933. return '晚上';
  27934. }
  27935. },
  27936. calendar: {
  27937. sameDay: '[今天]LT',
  27938. nextDay: '[明天]LT',
  27939. nextWeek: '[下]ddddLT',
  27940. lastDay: '[昨天]LT',
  27941. lastWeek: '[上]ddddLT',
  27942. sameElse: 'L' },
  27943. dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
  27944. ordinal: function ordinal(number, period) {
  27945. switch (period) {
  27946. case 'd':
  27947. case 'D':
  27948. case 'DDD':
  27949. return number + '日';
  27950. case 'M':
  27951. return number + '月';
  27952. case 'w':
  27953. case 'W':
  27954. return number + '週';
  27955. default:
  27956. return number;}
  27957. },
  27958. relativeTime: {
  27959. future: '%s後',
  27960. past: '%s前',
  27961. s: '幾秒',
  27962. ss: '%d 秒',
  27963. m: '1 分鐘',
  27964. mm: '%d 分鐘',
  27965. h: '1 小時',
  27966. hh: '%d 小時',
  27967. d: '1 天',
  27968. dd: '%d 天',
  27969. M: '1 個月',
  27970. MM: '%d 個月',
  27971. y: '1 年',
  27972. yy: '%d 年' } });
  27973. return zhHk;
  27974. });
  27975. /***/ }),
  27976. /* 155 */
  27977. /*!************************************************************************************************!*\
  27978. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/zh-mo.js ***!
  27979. \************************************************************************************************/
  27980. /*! no static exports found */
  27981. /***/ (function(module, exports, __webpack_require__) {
  27982. //! moment.js locale configuration
  27983. //! locale : Chinese (Macau) [zh-mo]
  27984. //! author : Ben : https://github.com/ben-lin
  27985. //! author : Chris Lam : https://github.com/hehachris
  27986. //! author : Tan Yuanhong : https://github.com/le0tan
  27987. ;(function (global, factory) {
  27988. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  27989. undefined;
  27990. })(this, function (moment) {'use strict';
  27991. //! moment.js locale configuration
  27992. var zhMo = moment.defineLocale('zh-mo', {
  27993. months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
  27994. '_'),
  27995. monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
  27996. '_'),
  27997. weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
  27998. weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
  27999. weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
  28000. longDateFormat: {
  28001. LT: 'HH:mm',
  28002. LTS: 'HH:mm:ss',
  28003. L: 'DD/MM/YYYY',
  28004. LL: 'YYYY年M月D日',
  28005. LLL: 'YYYY年M月D日 HH:mm',
  28006. LLLL: 'YYYY年M月D日dddd HH:mm',
  28007. l: 'D/M/YYYY',
  28008. ll: 'YYYY年M月D日',
  28009. lll: 'YYYY年M月D日 HH:mm',
  28010. llll: 'YYYY年M月D日dddd HH:mm' },
  28011. meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
  28012. meridiemHour: function meridiemHour(hour, meridiem) {
  28013. if (hour === 12) {
  28014. hour = 0;
  28015. }
  28016. if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
  28017. return hour;
  28018. } else if (meridiem === '中午') {
  28019. return hour >= 11 ? hour : hour + 12;
  28020. } else if (meridiem === '下午' || meridiem === '晚上') {
  28021. return hour + 12;
  28022. }
  28023. },
  28024. meridiem: function meridiem(hour, minute, isLower) {
  28025. var hm = hour * 100 + minute;
  28026. if (hm < 600) {
  28027. return '凌晨';
  28028. } else if (hm < 900) {
  28029. return '早上';
  28030. } else if (hm < 1130) {
  28031. return '上午';
  28032. } else if (hm < 1230) {
  28033. return '中午';
  28034. } else if (hm < 1800) {
  28035. return '下午';
  28036. } else {
  28037. return '晚上';
  28038. }
  28039. },
  28040. calendar: {
  28041. sameDay: '[今天] LT',
  28042. nextDay: '[明天] LT',
  28043. nextWeek: '[下]dddd LT',
  28044. lastDay: '[昨天] LT',
  28045. lastWeek: '[上]dddd LT',
  28046. sameElse: 'L' },
  28047. dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
  28048. ordinal: function ordinal(number, period) {
  28049. switch (period) {
  28050. case 'd':
  28051. case 'D':
  28052. case 'DDD':
  28053. return number + '日';
  28054. case 'M':
  28055. return number + '月';
  28056. case 'w':
  28057. case 'W':
  28058. return number + '週';
  28059. default:
  28060. return number;}
  28061. },
  28062. relativeTime: {
  28063. future: '%s內',
  28064. past: '%s前',
  28065. s: '幾秒',
  28066. ss: '%d 秒',
  28067. m: '1 分鐘',
  28068. mm: '%d 分鐘',
  28069. h: '1 小時',
  28070. hh: '%d 小時',
  28071. d: '1 天',
  28072. dd: '%d 天',
  28073. M: '1 個月',
  28074. MM: '%d 個月',
  28075. y: '1 年',
  28076. yy: '%d 年' } });
  28077. return zhMo;
  28078. });
  28079. /***/ }),
  28080. /* 156 */
  28081. /*!************************************************************************************************!*\
  28082. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/moment/locale/zh-tw.js ***!
  28083. \************************************************************************************************/
  28084. /*! no static exports found */
  28085. /***/ (function(module, exports, __webpack_require__) {
  28086. //! moment.js locale configuration
  28087. //! locale : Chinese (Taiwan) [zh-tw]
  28088. //! author : Ben : https://github.com/ben-lin
  28089. //! author : Chris Lam : https://github.com/hehachris
  28090. ;(function (global, factory) {
  28091. true ? factory(__webpack_require__(/*! ../moment */ 19)) :
  28092. undefined;
  28093. })(this, function (moment) {'use strict';
  28094. //! moment.js locale configuration
  28095. var zhTw = moment.defineLocale('zh-tw', {
  28096. months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
  28097. '_'),
  28098. monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
  28099. '_'),
  28100. weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
  28101. weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
  28102. weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
  28103. longDateFormat: {
  28104. LT: 'HH:mm',
  28105. LTS: 'HH:mm:ss',
  28106. L: 'YYYY/MM/DD',
  28107. LL: 'YYYY年M月D日',
  28108. LLL: 'YYYY年M月D日 HH:mm',
  28109. LLLL: 'YYYY年M月D日dddd HH:mm',
  28110. l: 'YYYY/M/D',
  28111. ll: 'YYYY年M月D日',
  28112. lll: 'YYYY年M月D日 HH:mm',
  28113. llll: 'YYYY年M月D日dddd HH:mm' },
  28114. meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
  28115. meridiemHour: function meridiemHour(hour, meridiem) {
  28116. if (hour === 12) {
  28117. hour = 0;
  28118. }
  28119. if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
  28120. return hour;
  28121. } else if (meridiem === '中午') {
  28122. return hour >= 11 ? hour : hour + 12;
  28123. } else if (meridiem === '下午' || meridiem === '晚上') {
  28124. return hour + 12;
  28125. }
  28126. },
  28127. meridiem: function meridiem(hour, minute, isLower) {
  28128. var hm = hour * 100 + minute;
  28129. if (hm < 600) {
  28130. return '凌晨';
  28131. } else if (hm < 900) {
  28132. return '早上';
  28133. } else if (hm < 1130) {
  28134. return '上午';
  28135. } else if (hm < 1230) {
  28136. return '中午';
  28137. } else if (hm < 1800) {
  28138. return '下午';
  28139. } else {
  28140. return '晚上';
  28141. }
  28142. },
  28143. calendar: {
  28144. sameDay: '[今天] LT',
  28145. nextDay: '[明天] LT',
  28146. nextWeek: '[下]dddd LT',
  28147. lastDay: '[昨天] LT',
  28148. lastWeek: '[上]dddd LT',
  28149. sameElse: 'L' },
  28150. dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
  28151. ordinal: function ordinal(number, period) {
  28152. switch (period) {
  28153. case 'd':
  28154. case 'D':
  28155. case 'DDD':
  28156. return number + '日';
  28157. case 'M':
  28158. return number + '月';
  28159. case 'w':
  28160. case 'W':
  28161. return number + '週';
  28162. default:
  28163. return number;}
  28164. },
  28165. relativeTime: {
  28166. future: '%s後',
  28167. past: '%s前',
  28168. s: '幾秒',
  28169. ss: '%d 秒',
  28170. m: '1 分鐘',
  28171. mm: '%d 分鐘',
  28172. h: '1 小時',
  28173. hh: '%d 小時',
  28174. d: '1 天',
  28175. dd: '%d 天',
  28176. M: '1 個月',
  28177. MM: '%d 個月',
  28178. y: '1 年',
  28179. yy: '%d 年' } });
  28180. return zhTw;
  28181. });
  28182. /***/ }),
  28183. /* 157 */,
  28184. /* 158 */,
  28185. /* 159 */,
  28186. /* 160 */,
  28187. /* 161 */,
  28188. /* 162 */,
  28189. /* 163 */,
  28190. /* 164 */,
  28191. /* 165 */,
  28192. /* 166 */,
  28193. /* 167 */,
  28194. /* 168 */,
  28195. /* 169 */,
  28196. /* 170 */,
  28197. /* 171 */,
  28198. /* 172 */,
  28199. /* 173 */,
  28200. /* 174 */,
  28201. /* 175 */,
  28202. /* 176 */,
  28203. /* 177 */,
  28204. /* 178 */,
  28205. /* 179 */,
  28206. /* 180 */,
  28207. /* 181 */,
  28208. /* 182 */,
  28209. /* 183 */,
  28210. /* 184 */,
  28211. /* 185 */,
  28212. /* 186 */,
  28213. /* 187 */,
  28214. /* 188 */,
  28215. /* 189 */,
  28216. /* 190 */,
  28217. /* 191 */,
  28218. /* 192 */,
  28219. /* 193 */,
  28220. /* 194 */,
  28221. /* 195 */,
  28222. /* 196 */,
  28223. /* 197 */,
  28224. /* 198 */,
  28225. /* 199 */,
  28226. /* 200 */,
  28227. /* 201 */,
  28228. /* 202 */,
  28229. /* 203 */,
  28230. /* 204 */,
  28231. /* 205 */,
  28232. /* 206 */,
  28233. /* 207 */,
  28234. /* 208 */,
  28235. /* 209 */,
  28236. /* 210 */,
  28237. /* 211 */,
  28238. /* 212 */,
  28239. /* 213 */,
  28240. /* 214 */,
  28241. /* 215 */,
  28242. /* 216 */,
  28243. /* 217 */,
  28244. /* 218 */,
  28245. /* 219 */,
  28246. /* 220 */,
  28247. /* 221 */,
  28248. /* 222 */,
  28249. /* 223 */,
  28250. /* 224 */,
  28251. /* 225 */,
  28252. /* 226 */,
  28253. /* 227 */,
  28254. /* 228 */,
  28255. /* 229 */,
  28256. /* 230 */,
  28257. /* 231 */,
  28258. /* 232 */,
  28259. /* 233 */,
  28260. /* 234 */,
  28261. /* 235 */
  28262. /*!**********************************************************************************************!*\
  28263. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/node_modules/image-tools/index.js ***!
  28264. \**********************************************************************************************/
  28265. /*! no static exports found */
  28266. /***/ (function(module, exports, __webpack_require__) {
  28267. "use strict";
  28268. Object.defineProperty(exports, "__esModule", { value: true });exports.pathToBase64 = pathToBase64;exports.base64ToPath = base64ToPath;function getLocalFilePath(path) {
  28269. if (path.indexOf('_www') === 0 || path.indexOf('_doc') === 0 || path.indexOf('_documents') === 0 || path.indexOf('_downloads') === 0) {
  28270. return path;
  28271. }
  28272. if (path.indexOf('file://') === 0) {
  28273. return path;
  28274. }
  28275. if (path.indexOf('/storage/emulated/0/') === 0) {
  28276. return path;
  28277. }
  28278. if (path.indexOf('/') === 0) {
  28279. var localFilePath = plus.io.convertAbsoluteFileSystem(path);
  28280. if (localFilePath !== path) {
  28281. return localFilePath;
  28282. } else {
  28283. path = path.substr(1);
  28284. }
  28285. }
  28286. return '_www/' + path;
  28287. }
  28288. function dataUrlToBase64(str) {
  28289. var array = str.split(',');
  28290. return array[array.length - 1];
  28291. }
  28292. var index = 0;
  28293. function getNewFileId() {
  28294. return Date.now() + String(index++);
  28295. }
  28296. function biggerThan(v1, v2) {
  28297. var v1Array = v1.split('.');
  28298. var v2Array = v2.split('.');
  28299. var update = false;
  28300. for (var index = 0; index < v2Array.length; index++) {
  28301. var diff = v1Array[index] - v2Array[index];
  28302. if (diff !== 0) {
  28303. update = diff > 0;
  28304. break;
  28305. }
  28306. }
  28307. return update;
  28308. }
  28309. function pathToBase64(path) {
  28310. return new Promise(function (resolve, reject) {
  28311. if (typeof window === 'object' && 'document' in window) {
  28312. if (typeof FileReader === 'function') {
  28313. var xhr = new XMLHttpRequest();
  28314. xhr.open('GET', path, true);
  28315. xhr.responseType = 'blob';
  28316. xhr.onload = function () {
  28317. if (this.status === 200) {
  28318. var fileReader = new FileReader();
  28319. fileReader.onload = function (e) {
  28320. resolve(e.target.result);
  28321. };
  28322. fileReader.onerror = reject;
  28323. fileReader.readAsDataURL(this.response);
  28324. }
  28325. };
  28326. xhr.onerror = reject;
  28327. xhr.send();
  28328. return;
  28329. }
  28330. var canvas = document.createElement('canvas');
  28331. var c2x = canvas.getContext('2d');
  28332. var img = new Image();
  28333. img.onload = function () {
  28334. canvas.width = img.width;
  28335. canvas.height = img.height;
  28336. c2x.drawImage(img, 0, 0);
  28337. resolve(canvas.toDataURL());
  28338. canvas.height = canvas.width = 0;
  28339. };
  28340. img.onerror = reject;
  28341. img.src = path;
  28342. return;
  28343. }
  28344. if (typeof plus === 'object') {
  28345. plus.io.resolveLocalFileSystemURL(getLocalFilePath(path), function (entry) {
  28346. entry.file(function (file) {
  28347. var fileReader = new plus.io.FileReader();
  28348. fileReader.onload = function (data) {
  28349. resolve(data.target.result);
  28350. };
  28351. fileReader.onerror = function (error) {
  28352. reject(error);
  28353. };
  28354. fileReader.readAsDataURL(file);
  28355. }, function (error) {
  28356. reject(error);
  28357. });
  28358. }, function (error) {
  28359. reject(error);
  28360. });
  28361. return;
  28362. }
  28363. if (typeof wx === 'object' && wx.canIUse('getFileSystemManager')) {
  28364. wx.getFileSystemManager().readFile({
  28365. filePath: path,
  28366. encoding: 'base64',
  28367. success: function success(res) {
  28368. resolve('data:image/png;base64,' + res.data);
  28369. },
  28370. fail: function fail(error) {
  28371. reject(error);
  28372. } });
  28373. return;
  28374. }
  28375. reject(new Error('not support'));
  28376. });
  28377. }
  28378. function base64ToPath(base64) {
  28379. return new Promise(function (resolve, reject) {
  28380. if (typeof window === 'object' && 'document' in window) {
  28381. base64 = base64.split(',');
  28382. var type = base64[0].match(/:(.*?);/)[1];
  28383. var str = atob(base64[1]);
  28384. var n = str.length;
  28385. var array = new Uint8Array(n);
  28386. while (n--) {
  28387. array[n] = str.charCodeAt(n);
  28388. }
  28389. return resolve((window.URL || window.webkitURL).createObjectURL(new Blob([array], { type: type })));
  28390. }
  28391. var extName = base64.split(',')[0].match(/data\:\S+\/(\S+);/);
  28392. if (extName) {
  28393. extName = extName[1];
  28394. } else {
  28395. reject(new Error('base64 error'));
  28396. }
  28397. var fileName = getNewFileId() + '.' + extName;
  28398. if (typeof plus === 'object') {
  28399. var basePath = '_doc';
  28400. var dirPath = 'uniapp_temp';
  28401. var filePath = basePath + '/' + dirPath + '/' + fileName;
  28402. if (!biggerThan(plus.os.name === 'Android' ? '1.9.9.80627' : '1.9.9.80472', plus.runtime.innerVersion)) {
  28403. plus.io.resolveLocalFileSystemURL(basePath, function (entry) {
  28404. entry.getDirectory(dirPath, {
  28405. create: true,
  28406. exclusive: false },
  28407. function (entry) {
  28408. entry.getFile(fileName, {
  28409. create: true,
  28410. exclusive: false },
  28411. function (entry) {
  28412. entry.createWriter(function (writer) {
  28413. writer.onwrite = function () {
  28414. resolve(filePath);
  28415. };
  28416. writer.onerror = reject;
  28417. writer.seek(0);
  28418. writer.writeAsBinary(dataUrlToBase64(base64));
  28419. }, reject);
  28420. }, reject);
  28421. }, reject);
  28422. }, reject);
  28423. return;
  28424. }
  28425. var bitmap = new plus.nativeObj.Bitmap(fileName);
  28426. bitmap.loadBase64Data(base64, function () {
  28427. bitmap.save(filePath, {}, function () {
  28428. bitmap.clear();
  28429. resolve(filePath);
  28430. }, function (error) {
  28431. bitmap.clear();
  28432. reject(error);
  28433. });
  28434. }, function (error) {
  28435. bitmap.clear();
  28436. reject(error);
  28437. });
  28438. return;
  28439. }
  28440. if (typeof wx === 'object' && wx.canIUse('getFileSystemManager')) {
  28441. var filePath = wx.env.USER_DATA_PATH + '/' + fileName;
  28442. wx.getFileSystemManager().writeFile({
  28443. filePath: filePath,
  28444. data: dataUrlToBase64(base64),
  28445. encoding: 'base64',
  28446. success: function success() {
  28447. resolve(filePath);
  28448. },
  28449. fail: function fail(error) {
  28450. reject(error);
  28451. } });
  28452. return;
  28453. }
  28454. reject(new Error('not support'));
  28455. });
  28456. }
  28457. /***/ }),
  28458. /* 236 */,
  28459. /* 237 */,
  28460. /* 238 */,
  28461. /* 239 */,
  28462. /* 240 */,
  28463. /* 241 */,
  28464. /* 242 */,
  28465. /* 243 */,
  28466. /* 244 */,
  28467. /* 245 */,
  28468. /* 246 */,
  28469. /* 247 */,
  28470. /* 248 */,
  28471. /* 249 */,
  28472. /* 250 */,
  28473. /* 251 */,
  28474. /* 252 */,
  28475. /* 253 */,
  28476. /* 254 */,
  28477. /* 255 */,
  28478. /* 256 */,
  28479. /* 257 */,
  28480. /* 258 */,
  28481. /* 259 */,
  28482. /* 260 */,
  28483. /* 261 */,
  28484. /* 262 */,
  28485. /* 263 */,
  28486. /* 264 */,
  28487. /* 265 */,
  28488. /* 266 */,
  28489. /* 267 */,
  28490. /* 268 */,
  28491. /* 269 */,
  28492. /* 270 */,
  28493. /* 271 */,
  28494. /* 272 */,
  28495. /* 273 */,
  28496. /* 274 */,
  28497. /* 275 */,
  28498. /* 276 */,
  28499. /* 277 */,
  28500. /* 278 */,
  28501. /* 279 */
  28502. /*!*****************************************************************************************************************************!*\
  28503. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-uni.js ***!
  28504. \*****************************************************************************************************************************/
  28505. /*! no static exports found */
  28506. /***/ (function(module, exports, __webpack_require__) {
  28507. "use strict";
  28508. /* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.default = MeScroll; /* mescroll
  28509. * version 1.3.7
  28510. * 2021-04-12 wenju
  28511. * https://www.mescroll.com
  28512. */
  28513. function MeScroll(options, isScrollBody) {
  28514. var me = this;
  28515. me.version = '1.3.7'; // mescroll版本号
  28516. me.options = options || {}; // 配置
  28517. me.isScrollBody = isScrollBody || false; // 滚动区域是否为原生页面滚动; 默认为scroll-view
  28518. me.isDownScrolling = false; // 是否在执行下拉刷新的回调
  28519. me.isUpScrolling = false; // 是否在执行上拉加载的回调
  28520. var hasDownCallback = me.options.down && me.options.down.callback; // 是否配置了down的callback
  28521. // 初始化下拉刷新
  28522. me.initDownScroll();
  28523. // 初始化上拉加载,则初始化
  28524. me.initUpScroll();
  28525. // 自动加载
  28526. setTimeout(function () {// 待主线程执行完毕再执行,避免new MeScroll未初始化,在回调获取不到mescroll的实例
  28527. // 自动触发下拉刷新 (只有配置了down的callback才自动触发下拉刷新)
  28528. if ((me.optDown.use || me.optDown.native) && me.optDown.auto && hasDownCallback) {
  28529. if (me.optDown.autoShowLoading) {
  28530. me.triggerDownScroll(); // 显示下拉进度,执行下拉回调
  28531. } else {
  28532. me.optDown.callback && me.optDown.callback(me); // 不显示下拉进度,直接执行下拉回调
  28533. }
  28534. }
  28535. // 自动触发上拉加载
  28536. if (!me.isUpAutoLoad) {// 部分小程序(头条小程序)emit是异步, 会导致isUpAutoLoad判断有误, 先延时确保先执行down的callback,再执行up的callback
  28537. setTimeout(function () {
  28538. me.optUp.use && me.optUp.auto && !me.isUpAutoLoad && me.triggerUpScroll();
  28539. }, 100);
  28540. }
  28541. }, 30); // 需让me.optDown.inited和me.optUp.inited先执行
  28542. }
  28543. /* 配置参数:下拉刷新 */
  28544. MeScroll.prototype.extendDownScroll = function (optDown) {
  28545. // 下拉刷新的配置
  28546. MeScroll.extend(optDown, {
  28547. use: true, // 是否启用下拉刷新; 默认true
  28548. auto: true, // 是否在初始化完毕之后自动执行下拉刷新的回调; 默认true
  28549. native: false, // 是否使用系统自带的下拉刷新; 默认false; 仅mescroll-body生效 (值为true时,还需在pages配置enablePullDownRefresh:true;详请参考mescroll-native的案例)
  28550. autoShowLoading: false, // 如果设置auto=true(在初始化完毕之后自动执行下拉刷新的回调),那么是否显示下拉刷新的进度; 默认false
  28551. isLock: false, // 是否锁定下拉刷新,默认false;
  28552. offset: 80, // 在列表顶部,下拉大于80px,松手即可触发下拉刷新的回调
  28553. startTop: 100, // scroll-view快速滚动到顶部时,此时的scroll-top可能大于0, 此值用于控制最大的误差
  28554. inOffsetRate: 1, // 在列表顶部,下拉的距离小于offset时,改变下拉区域高度比例;值小于1且越接近0,高度变化越小,表现为越往下越难拉
  28555. outOffsetRate: 0.2, // 在列表顶部,下拉的距离大于offset时,改变下拉区域高度比例;值小于1且越接近0,高度变化越小,表现为越往下越难拉
  28556. bottomOffset: 20, // 当手指touchmove位置在距离body底部20px范围内的时候结束上拉刷新,避免Webview嵌套导致touchend事件不执行
  28557. minAngle: 45, // 向下滑动最少偏移的角度,取值区间 [0,90];默认45度,即向下滑动的角度大于45度则触发下拉;而小于45度,将不触发下拉,避免与左右滑动的轮播等组件冲突;
  28558. textInOffset: '下拉刷新', // 下拉的距离在offset范围内的提示文本
  28559. textOutOffset: '释放更新', // 下拉的距离大于offset范围的提示文本
  28560. textLoading: '加载中 ...', // 加载中的提示文本
  28561. textSuccess: '加载成功', // 加载成功的文本
  28562. textErr: '加载失败', // 加载失败的文本
  28563. beforeEndDelay: 0, // 延时结束的时长 (显示加载成功/失败的时长, android小程序设置此项结束下拉会卡顿, 配置后请注意测试)
  28564. bgColor: "transparent", // 背景颜色 (建议在pages.json中再设置一下backgroundColorTop)
  28565. textColor: "gray", // 文本颜色 (当bgColor配置了颜色,而textColor未配置时,则textColor会默认为白色)
  28566. inited: null, // 下拉刷新初始化完毕的回调
  28567. inOffset: null, // 下拉的距离进入offset范围内那一刻的回调
  28568. outOffset: null, // 下拉的距离大于offset那一刻的回调
  28569. onMoving: null, // 下拉过程中的回调,滑动过程一直在执行; rate下拉区域当前高度与指定距离的比值(inOffset: rate<1; outOffset: rate>=1); downHight当前下拉区域的高度
  28570. beforeLoading: null, // 准备触发下拉刷新的回调: 如果return true,将不触发showLoading和callback回调; 常用来完全自定义下拉刷新, 参考案例【淘宝 v6.8.0】
  28571. showLoading: null, // 显示下拉刷新进度的回调
  28572. afterLoading: null, // 显示下拉刷新进度的回调之后,马上要执行的代码 (如: 在wxs中使用)
  28573. beforeEndDownScroll: null, // 准备结束下拉的回调. 返回结束下拉的延时执行时间,默认0ms; 常用于结束下拉之前再显示另外一小段动画,才去隐藏下拉刷新的场景, 参考案例【dotJump】
  28574. endDownScroll: null, // 结束下拉刷新的回调
  28575. afterEndDownScroll: null, // 结束下拉刷新的回调,马上要执行的代码 (如: 在wxs中使用)
  28576. callback: function callback(mescroll) {
  28577. // 下拉刷新的回调;默认重置上拉加载列表为第一页
  28578. mescroll.resetUpScroll();
  28579. } });
  28580. };
  28581. /* 配置参数:上拉加载 */
  28582. MeScroll.prototype.extendUpScroll = function (optUp) {
  28583. // 上拉加载的配置
  28584. MeScroll.extend(optUp, {
  28585. use: true, // 是否启用上拉加载; 默认true
  28586. auto: true, // 是否在初始化完毕之后自动执行上拉加载的回调; 默认true
  28587. isLock: false, // 是否锁定上拉加载,默认false;
  28588. isBoth: true, // 上拉加载时,如果滑动到列表顶部是否可以同时触发下拉刷新;默认true,两者可同时触发;
  28589. callback: null, // 上拉加载的回调;function(page,mescroll){ }
  28590. page: {
  28591. num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
  28592. size: 10, // 每页数据的数量
  28593. time: null // 加载第一页数据服务器返回的时间; 防止用户翻页时,后台新增了数据从而导致下一页数据重复;
  28594. },
  28595. noMoreSize: 5, // 如果列表已无数据,可设置列表的总数量要大于等于5条才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看
  28596. offset: 150, // 距底部多远时,触发upCallback,仅mescroll-uni生效 ( mescroll-body配置的是pages.json的 onReachBottomDistance )
  28597. textLoading: '加载中 ...', // 加载中的提示文本
  28598. textNoMore: '-- END --', // 没有更多数据的提示文本
  28599. bgColor: "transparent", // 背景颜色 (建议在pages.json中再设置一下backgroundColorBottom)
  28600. textColor: "gray", // 文本颜色 (当bgColor配置了颜色,而textColor未配置时,则textColor会默认为白色)
  28601. inited: null, // 初始化完毕的回调
  28602. showLoading: null, // 显示加载中的回调
  28603. showNoMore: null, // 显示无更多数据的回调
  28604. hideUpScroll: null, // 隐藏上拉加载的回调
  28605. errDistance: 60, // endErr的时候需往上滑动一段距离,使其往下滑动时再次触发onReachBottom,仅mescroll-body生效
  28606. toTop: {
  28607. // 回到顶部按钮,需配置src才显示
  28608. src: null, // 图片路径,默认null (绝对路径或网络图)
  28609. offset: 1000, // 列表滚动多少距离才显示回到顶部按钮,默认1000
  28610. duration: 300, // 回到顶部的动画时长,默认300ms (当值为0或300则使用系统自带回到顶部,更流畅; 其他值则通过step模拟,部分机型可能不够流畅,所以非特殊情况不建议修改此项)
  28611. btnClick: null, // 点击按钮的回调
  28612. onShow: null, // 是否显示的回调
  28613. zIndex: 9990, // fixed定位z-index值
  28614. left: null, // 到左边的距离, 默认null. 此项有值时,right不生效. (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx)
  28615. right: 20, // 到右边的距离, 默认20 (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx)
  28616. bottom: 120, // 到底部的距离, 默认120 (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx)
  28617. safearea: false, // bottom的偏移量是否加上底部安全区的距离, 默认false, 需要适配iPhoneX时使用 (具体的界面如果不配置此项,则取本vue的safearea值)
  28618. width: 72, // 回到顶部图标的宽度, 默认72 (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx)
  28619. radius: "50%" // 圆角, 默认"50%" (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx)
  28620. },
  28621. empty: {
  28622. use: true, // 是否显示空布局
  28623. icon: null, // 图标路径
  28624. tip: '~ 暂无相关数据 ~', // 提示
  28625. btnText: '', // 按钮
  28626. btnClick: null, // 点击按钮的回调
  28627. onShow: null, // 是否显示的回调
  28628. fixed: false, // 是否使用fixed定位,默认false; 配置fixed为true,以下的top和zIndex才生效 (transform会使fixed失效,最终会降级为absolute)
  28629. top: "100rpx", // fixed定位的top值 (完整的单位值,如 "10%"; "100rpx")
  28630. zIndex: 99 // fixed定位z-index值
  28631. },
  28632. onScroll: false // 是否监听滚动事件
  28633. });
  28634. };
  28635. /* 配置参数 */
  28636. MeScroll.extend = function (userOption, defaultOption) {
  28637. if (!userOption) return defaultOption;
  28638. for (var key in defaultOption) {
  28639. if (userOption[key] == null) {
  28640. var def = defaultOption[key];
  28641. if (def != null && typeof def === 'object') {
  28642. userOption[key] = MeScroll.extend({}, def); // 深度匹配
  28643. } else {
  28644. userOption[key] = def;
  28645. }
  28646. } else if (typeof userOption[key] === 'object') {
  28647. MeScroll.extend(userOption[key], defaultOption[key]); // 深度匹配
  28648. }
  28649. }
  28650. return userOption;
  28651. };
  28652. /* 简单判断是否配置了颜色 (非透明,非白色) */
  28653. MeScroll.prototype.hasColor = function (color) {
  28654. if (!color) return false;
  28655. var c = color.toLowerCase();
  28656. return c != "#fff" && c != "#ffffff" && c != "transparent" && c != "white";
  28657. };
  28658. /* -------初始化下拉刷新------- */
  28659. MeScroll.prototype.initDownScroll = function () {
  28660. var me = this;
  28661. // 配置参数
  28662. me.optDown = me.options.down || {};
  28663. if (!me.optDown.textColor && me.hasColor(me.optDown.bgColor)) me.optDown.textColor = "#fff"; // 当bgColor有值且textColor未设置,则textColor默认白色
  28664. me.extendDownScroll(me.optDown);
  28665. // 如果是mescroll-body且配置了native,则禁止自定义的下拉刷新
  28666. if (me.isScrollBody && me.optDown.native) {
  28667. me.optDown.use = false;
  28668. } else {
  28669. me.optDown.native = false; // 仅mescroll-body支持,mescroll-uni不支持
  28670. }
  28671. me.downHight = 0; // 下拉区域的高度
  28672. // 在页面中加入下拉布局
  28673. if (me.optDown.use && me.optDown.inited) {
  28674. // 初始化完毕的回调
  28675. setTimeout(function () {// 待主线程执行完毕再执行,避免new MeScroll未初始化,在回调获取不到mescroll的实例
  28676. me.optDown.inited(me);
  28677. }, 0);
  28678. }
  28679. };
  28680. /* 列表touchstart事件 */
  28681. MeScroll.prototype.touchstartEvent = function (e) {
  28682. if (!this.optDown.use) return;
  28683. this.startPoint = this.getPoint(e); // 记录起点
  28684. this.startTop = this.getScrollTop(); // 记录此时的滚动条位置
  28685. this.startAngle = 0; // 初始角度
  28686. this.lastPoint = this.startPoint; // 重置上次move的点
  28687. this.maxTouchmoveY = this.getBodyHeight() - this.optDown.bottomOffset; // 手指触摸的最大范围(写在touchstart避免body获取高度为0的情况)
  28688. this.inTouchend = false; // 标记不是touchend
  28689. };
  28690. /* 列表touchmove事件 */
  28691. MeScroll.prototype.touchmoveEvent = function (e) {
  28692. if (!this.optDown.use) return;
  28693. var me = this;
  28694. var scrollTop = me.getScrollTop(); // 当前滚动条的距离
  28695. var curPoint = me.getPoint(e); // 当前点
  28696. var moveY = curPoint.y - me.startPoint.y; // 和起点比,移动的距离,大于0向下拉,小于0向上拉
  28697. // 向下拉 && 在顶部
  28698. // mescroll-body,直接判定在顶部即可
  28699. // scroll-view在滚动时不会触发touchmove,当触顶/底/左/右时,才会触发touchmove
  28700. // scroll-view滚动到顶部时,scrollTop不一定为0,也有可能大于0; 在iOS的APP中scrollTop可能为负数,不一定和startTop相等
  28701. if (moveY > 0 && (
  28702. me.isScrollBody && scrollTop <= 0 ||
  28703. !me.isScrollBody && (scrollTop <= 0 || scrollTop <= me.optDown.startTop && scrollTop === me.startTop)))
  28704. {
  28705. // 可下拉的条件
  28706. if (!me.inTouchend && !me.isDownScrolling && !me.optDown.isLock && (!me.isUpScrolling || me.isUpScrolling &&
  28707. me.optUp.isBoth)) {
  28708. // 下拉的初始角度是否在配置的范围内
  28709. if (!me.startAngle) me.startAngle = me.getAngle(me.lastPoint, curPoint); // 两点之间的角度,区间 [0,90]
  28710. if (me.startAngle < me.optDown.minAngle) return; // 如果小于配置的角度,则不往下执行下拉刷新
  28711. // 如果手指的位置超过配置的距离,则提前结束下拉,避免Webview嵌套导致touchend无法触发
  28712. if (me.maxTouchmoveY > 0 && curPoint.y >= me.maxTouchmoveY) {
  28713. me.inTouchend = true; // 标记执行touchend
  28714. me.touchendEvent(); // 提前触发touchend
  28715. return;
  28716. }
  28717. me.preventDefault(e); // 阻止默认事件
  28718. var diff = curPoint.y - me.lastPoint.y; // 和上次比,移动的距离 (大于0向下,小于0向上)
  28719. // 下拉距离 < 指定距离
  28720. if (me.downHight < me.optDown.offset) {
  28721. if (me.movetype !== 1) {
  28722. me.movetype = 1; // 加入标记,保证只执行一次
  28723. me.isDownEndSuccess = null; // 重置是否加载成功的状态 (wxs执行的是wxs.wxs)
  28724. me.optDown.inOffset && me.optDown.inOffset(me); // 进入指定距离范围内那一刻的回调,只执行一次
  28725. me.isMoveDown = true; // 标记下拉区域高度改变,在touchend重置回来
  28726. }
  28727. me.downHight += diff * me.optDown.inOffsetRate; // 越往下,高度变化越小
  28728. // 指定距离 <= 下拉距离
  28729. } else {
  28730. if (me.movetype !== 2) {
  28731. me.movetype = 2; // 加入标记,保证只执行一次
  28732. me.optDown.outOffset && me.optDown.outOffset(me); // 下拉超过指定距离那一刻的回调,只执行一次
  28733. me.isMoveDown = true; // 标记下拉区域高度改变,在touchend重置回来
  28734. }
  28735. if (diff > 0) {// 向下拉
  28736. me.downHight += diff * me.optDown.outOffsetRate; // 越往下,高度变化越小
  28737. } else {// 向上收
  28738. me.downHight += diff; // 向上收回高度,则向上滑多少收多少高度
  28739. }
  28740. }
  28741. me.downHight = Math.round(me.downHight); // 取整
  28742. var rate = me.downHight / me.optDown.offset; // 下拉区域当前高度与指定距离的比值
  28743. me.optDown.onMoving && me.optDown.onMoving(me, rate, me.downHight); // 下拉过程中的回调,一直在执行
  28744. }
  28745. }
  28746. me.lastPoint = curPoint; // 记录本次移动的点
  28747. };
  28748. /* 列表touchend事件 */
  28749. MeScroll.prototype.touchendEvent = function (e) {
  28750. if (!this.optDown.use) return;
  28751. // 如果下拉区域高度已改变,则需重置回来
  28752. if (this.isMoveDown) {
  28753. if (this.downHight >= this.optDown.offset) {
  28754. // 符合触发刷新的条件
  28755. this.triggerDownScroll();
  28756. } else {
  28757. // 不符合的话 则重置
  28758. this.downHight = 0;
  28759. this.endDownScrollCall(this);
  28760. }
  28761. this.movetype = 0;
  28762. this.isMoveDown = false;
  28763. } else if (!this.isScrollBody && this.getScrollTop() === this.startTop) {// scroll-view到顶/左/右/底的滑动事件
  28764. var isScrollUp = this.getPoint(e).y - this.startPoint.y < 0; // 和起点比,移动的距离,大于0向下拉,小于0向上拉
  28765. // 上滑
  28766. if (isScrollUp) {
  28767. // 需检查滑动的角度
  28768. var angle = this.getAngle(this.getPoint(e), this.startPoint); // 两点之间的角度,区间 [0,90]
  28769. if (angle > 80) {
  28770. // 检查并触发上拉
  28771. this.triggerUpScroll(true);
  28772. }
  28773. }
  28774. }
  28775. };
  28776. /* 根据点击滑动事件获取第一个手指的坐标 */
  28777. MeScroll.prototype.getPoint = function (e) {
  28778. if (!e) {
  28779. return {
  28780. x: 0,
  28781. y: 0 };
  28782. }
  28783. if (e.touches && e.touches[0]) {
  28784. return {
  28785. x: e.touches[0].pageX,
  28786. y: e.touches[0].pageY };
  28787. } else if (e.changedTouches && e.changedTouches[0]) {
  28788. return {
  28789. x: e.changedTouches[0].pageX,
  28790. y: e.changedTouches[0].pageY };
  28791. } else {
  28792. return {
  28793. x: e.clientX,
  28794. y: e.clientY };
  28795. }
  28796. };
  28797. /* 计算两点之间的角度: 区间 [0,90]*/
  28798. MeScroll.prototype.getAngle = function (p1, p2) {
  28799. var x = Math.abs(p1.x - p2.x);
  28800. var y = Math.abs(p1.y - p2.y);
  28801. var z = Math.sqrt(x * x + y * y);
  28802. var angle = 0;
  28803. if (z !== 0) {
  28804. angle = Math.asin(y / z) / Math.PI * 180;
  28805. }
  28806. return angle;
  28807. };
  28808. /* 触发下拉刷新 */
  28809. MeScroll.prototype.triggerDownScroll = function () {
  28810. if (this.optDown.beforeLoading && this.optDown.beforeLoading(this)) {
  28811. //return true则处于完全自定义状态
  28812. } else {
  28813. this.showDownScroll(); // 下拉刷新中...
  28814. !this.optDown.native && this.optDown.callback && this.optDown.callback(this); // 执行回调,联网加载数据
  28815. }
  28816. };
  28817. /* 显示下拉进度布局 */
  28818. MeScroll.prototype.showDownScroll = function () {
  28819. this.isDownScrolling = true; // 标记下拉中
  28820. if (this.optDown.native) {
  28821. uni.startPullDownRefresh(); // 系统自带的下拉刷新
  28822. this.showDownLoadingCall(0); // 仍触发showLoading,因为上拉加载用到
  28823. } else {
  28824. this.downHight = this.optDown.offset; // 更新下拉区域高度
  28825. this.showDownLoadingCall(this.downHight); // 下拉刷新中...
  28826. }
  28827. };
  28828. MeScroll.prototype.showDownLoadingCall = function (downHight) {
  28829. this.optDown.showLoading && this.optDown.showLoading(this, downHight); // 下拉刷新中...
  28830. this.optDown.afterLoading && this.optDown.afterLoading(this, downHight); // 下拉刷新中...触发之后马上要执行的代码
  28831. };
  28832. /* 显示系统自带的下拉刷新时需要处理的业务 */
  28833. MeScroll.prototype.onPullDownRefresh = function () {
  28834. this.isDownScrolling = true; // 标记下拉中
  28835. this.showDownLoadingCall(0); // 仍触发showLoading,因为上拉加载用到
  28836. this.optDown.callback && this.optDown.callback(this); // 执行回调,联网加载数据
  28837. };
  28838. /* 结束下拉刷新 */
  28839. MeScroll.prototype.endDownScroll = function () {
  28840. if (this.optDown.native) {// 结束原生下拉刷新
  28841. this.isDownScrolling = false;
  28842. this.endDownScrollCall(this);
  28843. uni.stopPullDownRefresh();
  28844. return;
  28845. }
  28846. var me = this;
  28847. // 结束下拉刷新的方法
  28848. var endScroll = function endScroll() {
  28849. me.downHight = 0;
  28850. me.isDownScrolling = false;
  28851. me.endDownScrollCall(me);
  28852. if (!me.isScrollBody) {
  28853. me.setScrollHeight(0); // scroll-view重置滚动区域,使数据不满屏时仍可检查触发翻页
  28854. me.scrollTo(0, 0); // scroll-view需重置滚动条到顶部,避免startTop大于0时,对下拉刷新的影响
  28855. }
  28856. };
  28857. // 结束下拉刷新时的回调
  28858. var delay = 0;
  28859. if (me.optDown.beforeEndDownScroll) {
  28860. delay = me.optDown.beforeEndDownScroll(me); // 结束下拉刷新的延时,单位ms
  28861. if (me.isDownEndSuccess == null) delay = 0; // 没有执行加载中,则不延时
  28862. }
  28863. if (typeof delay === 'number' && delay > 0) {
  28864. setTimeout(endScroll, delay);
  28865. } else {
  28866. endScroll();
  28867. }
  28868. };
  28869. MeScroll.prototype.endDownScrollCall = function () {
  28870. this.optDown.endDownScroll && this.optDown.endDownScroll(this);
  28871. this.optDown.afterEndDownScroll && this.optDown.afterEndDownScroll(this);
  28872. };
  28873. /* 锁定下拉刷新:isLock=ture,null锁定;isLock=false解锁 */
  28874. MeScroll.prototype.lockDownScroll = function (isLock) {
  28875. if (isLock == null) isLock = true;
  28876. this.optDown.isLock = isLock;
  28877. };
  28878. /* 锁定上拉加载:isLock=ture,null锁定;isLock=false解锁 */
  28879. MeScroll.prototype.lockUpScroll = function (isLock) {
  28880. if (isLock == null) isLock = true;
  28881. this.optUp.isLock = isLock;
  28882. };
  28883. /* -------初始化上拉加载------- */
  28884. MeScroll.prototype.initUpScroll = function () {
  28885. var me = this;
  28886. // 配置参数
  28887. me.optUp = me.options.up || { use: false };
  28888. if (!me.optUp.textColor && me.hasColor(me.optUp.bgColor)) me.optUp.textColor = "#fff"; // 当bgColor有值且textColor未设置,则textColor默认白色
  28889. me.extendUpScroll(me.optUp);
  28890. if (me.optUp.use === false) return; // 配置不使用上拉加载时,则不初始化上拉布局
  28891. me.optUp.hasNext = true; // 如果使用上拉,则默认有下一页
  28892. me.startNum = me.optUp.page.num + 1; // 记录page开始的页码
  28893. // 初始化完毕的回调
  28894. if (me.optUp.inited) {
  28895. setTimeout(function () {// 待主线程执行完毕再执行,避免new MeScroll未初始化,在回调获取不到mescroll的实例
  28896. me.optUp.inited(me);
  28897. }, 0);
  28898. }
  28899. };
  28900. /*滚动到底部的事件 (仅mescroll-body生效)*/
  28901. MeScroll.prototype.onReachBottom = function () {
  28902. if (this.isScrollBody && !this.isUpScrolling) {// 只能支持下拉刷新的时候同时可以触发上拉加载,否则滚动到底部就需要上滑一点才能触发onReachBottom
  28903. if (!this.optUp.isLock && this.optUp.hasNext) {
  28904. this.triggerUpScroll();
  28905. }
  28906. }
  28907. };
  28908. /*列表滚动事件 (仅mescroll-body生效)*/
  28909. MeScroll.prototype.onPageScroll = function (e) {
  28910. if (!this.isScrollBody) return;
  28911. // 更新滚动条的位置 (主要用于判断下拉刷新时,滚动条是否在顶部)
  28912. this.setScrollTop(e.scrollTop);
  28913. // 顶部按钮的显示隐藏
  28914. if (e.scrollTop >= this.optUp.toTop.offset) {
  28915. this.showTopBtn();
  28916. } else {
  28917. this.hideTopBtn();
  28918. }
  28919. };
  28920. /*列表滚动事件*/
  28921. MeScroll.prototype.scroll = function (e, onScroll) {
  28922. // 更新滚动条的位置
  28923. this.setScrollTop(e.scrollTop);
  28924. // 更新滚动内容高度
  28925. this.setScrollHeight(e.scrollHeight);
  28926. // 向上滑还是向下滑动
  28927. if (this.preScrollY == null) this.preScrollY = 0;
  28928. this.isScrollUp = e.scrollTop - this.preScrollY > 0;
  28929. this.preScrollY = e.scrollTop;
  28930. // 上滑 && 检查并触发上拉
  28931. this.isScrollUp && this.triggerUpScroll(true);
  28932. // 顶部按钮的显示隐藏
  28933. if (e.scrollTop >= this.optUp.toTop.offset) {
  28934. this.showTopBtn();
  28935. } else {
  28936. this.hideTopBtn();
  28937. }
  28938. // 滑动监听
  28939. this.optUp.onScroll && onScroll && onScroll();
  28940. };
  28941. /* 触发上拉加载 */
  28942. MeScroll.prototype.triggerUpScroll = function (isCheck) {
  28943. if (!this.isUpScrolling && this.optUp.use && this.optUp.callback) {
  28944. // 是否校验在底部; 默认不校验
  28945. if (isCheck === true) {
  28946. var canUp = false;
  28947. // 还有下一页 && 没有锁定 && 不在下拉中
  28948. if (this.optUp.hasNext && !this.optUp.isLock && !this.isDownScrolling) {
  28949. if (this.getScrollBottom() <= this.optUp.offset) {// 到底部
  28950. canUp = true; // 标记可上拉
  28951. }
  28952. }
  28953. if (canUp === false) return;
  28954. }
  28955. this.showUpScroll(); // 上拉加载中...
  28956. this.optUp.page.num++; // 预先加一页,如果失败则减回
  28957. this.isUpAutoLoad = true; // 标记上拉已经自动执行过,避免初始化时多次触发上拉回调
  28958. this.num = this.optUp.page.num; // 把最新的页数赋值在mescroll上,避免对page的影响
  28959. this.size = this.optUp.page.size; // 把最新的页码赋值在mescroll上,避免对page的影响
  28960. this.time = this.optUp.page.time; // 把最新的页码赋值在mescroll上,避免对page的影响
  28961. this.optUp.callback(this); // 执行回调,联网加载数据
  28962. }
  28963. };
  28964. /* 显示上拉加载中 */
  28965. MeScroll.prototype.showUpScroll = function () {
  28966. this.isUpScrolling = true; // 标记上拉加载中
  28967. this.optUp.showLoading && this.optUp.showLoading(this); // 回调
  28968. };
  28969. /* 显示上拉无更多数据 */
  28970. MeScroll.prototype.showNoMore = function () {
  28971. this.optUp.hasNext = false; // 标记无更多数据
  28972. this.optUp.showNoMore && this.optUp.showNoMore(this); // 回调
  28973. };
  28974. /* 隐藏上拉区域**/
  28975. MeScroll.prototype.hideUpScroll = function () {
  28976. this.optUp.hideUpScroll && this.optUp.hideUpScroll(this); // 回调
  28977. };
  28978. /* 结束上拉加载 */
  28979. MeScroll.prototype.endUpScroll = function (isShowNoMore) {
  28980. if (isShowNoMore != null) {// isShowNoMore=null,不处理下拉状态,下拉刷新的时候调用
  28981. if (isShowNoMore) {
  28982. this.showNoMore(); // isShowNoMore=true,显示无更多数据
  28983. } else {
  28984. this.hideUpScroll(); // isShowNoMore=false,隐藏上拉加载
  28985. }
  28986. }
  28987. this.isUpScrolling = false; // 标记结束上拉加载
  28988. };
  28989. /* 重置上拉加载列表为第一页
  28990. *isShowLoading 是否显示进度布局;
  28991. * 1.默认null,不传参,则显示上拉加载的进度布局
  28992. * 2.传参true, 则显示下拉刷新的进度布局
  28993. * 3.传参false,则不显示上拉和下拉的进度 (常用于静默更新列表数据)
  28994. */
  28995. MeScroll.prototype.resetUpScroll = function (isShowLoading) {
  28996. if (this.optUp && this.optUp.use) {
  28997. var page = this.optUp.page;
  28998. this.prePageNum = page.num; // 缓存重置前的页码,加载失败可退回
  28999. this.prePageTime = page.time; // 缓存重置前的时间,加载失败可退回
  29000. page.num = this.startNum; // 重置为第一页
  29001. page.time = null; // 重置时间为空
  29002. if (!this.isDownScrolling && isShowLoading !== false) {// 如果不是下拉刷新触发的resetUpScroll并且不配置列表静默更新,则显示进度;
  29003. if (isShowLoading == null) {
  29004. this.removeEmpty(); // 移除空布局
  29005. this.showUpScroll(); // 不传参,默认显示上拉加载的进度布局
  29006. } else {
  29007. this.showDownScroll(); // 传true,显示下拉刷新的进度布局,不清空列表
  29008. }
  29009. }
  29010. this.isUpAutoLoad = true; // 标记上拉已经自动执行过,避免初始化时多次触发上拉回调
  29011. this.num = page.num; // 把最新的页数赋值在mescroll上,避免对page的影响
  29012. this.size = page.size; // 把最新的页码赋值在mescroll上,避免对page的影响
  29013. this.time = page.time; // 把最新的页码赋值在mescroll上,避免对page的影响
  29014. this.optUp.callback && this.optUp.callback(this); // 执行上拉回调
  29015. }
  29016. };
  29017. /* 设置page.num的值 */
  29018. MeScroll.prototype.setPageNum = function (num) {
  29019. this.optUp.page.num = num - 1;
  29020. };
  29021. /* 设置page.size的值 */
  29022. MeScroll.prototype.setPageSize = function (size) {
  29023. this.optUp.page.size = size;
  29024. };
  29025. /* 联网回调成功,结束下拉刷新和上拉加载
  29026. * dataSize: 当前页的数据量(必传)
  29027. * totalPage: 总页数(必传)
  29028. * systime: 服务器时间 (可空)
  29029. */
  29030. MeScroll.prototype.endByPage = function (dataSize, totalPage, systime) {
  29031. var hasNext;
  29032. if (this.optUp.use && totalPage != null) hasNext = this.optUp.page.num < totalPage; // 是否还有下一页
  29033. this.endSuccess(dataSize, hasNext, systime);
  29034. };
  29035. /* 联网回调成功,结束下拉刷新和上拉加载
  29036. * dataSize: 当前页的数据量(必传)
  29037. * totalSize: 列表所有数据总数量(必传)
  29038. * systime: 服务器时间 (可空)
  29039. */
  29040. MeScroll.prototype.endBySize = function (dataSize, totalSize, systime) {
  29041. var hasNext;
  29042. if (this.optUp.use && totalSize != null) {
  29043. var loadSize = (this.optUp.page.num - 1) * this.optUp.page.size + dataSize; // 已加载的数据总数
  29044. hasNext = loadSize < totalSize; // 是否还有下一页
  29045. }
  29046. this.endSuccess(dataSize, hasNext, systime);
  29047. };
  29048. /* 联网回调成功,结束下拉刷新和上拉加载
  29049. * dataSize: 当前页的数据个数(不是所有页的数据总和),用于上拉加载判断是否还有下一页.如果不传,则会判断还有下一页
  29050. * hasNext: 是否还有下一页,布尔类型;用来解决这个小问题:比如列表共有20条数据,每页加载10条,共2页.如果只根据dataSize判断,则需翻到第三页才会知道无更多数据,如果传了hasNext,则翻到第二页即可显示无更多数据.
  29051. * systime: 服务器时间(可空);用来解决这个小问题:当准备翻下一页时,数据库新增了几条记录,此时翻下一页,前面的几条数据会和上一页的重复;这里传入了systime,那么upCallback的page.time就会有值,把page.time传给服务器,让后台过滤新加入的那几条记录
  29052. */
  29053. MeScroll.prototype.endSuccess = function (dataSize, hasNext, systime) {
  29054. var me = this;
  29055. // 结束下拉刷新
  29056. if (me.isDownScrolling) {
  29057. me.isDownEndSuccess = true;
  29058. me.endDownScroll();
  29059. }
  29060. // 结束上拉加载
  29061. if (me.optUp.use) {
  29062. var isShowNoMore; // 是否已无更多数据
  29063. if (dataSize != null) {
  29064. var pageNum = me.optUp.page.num; // 当前页码
  29065. var pageSize = me.optUp.page.size; // 每页长度
  29066. // 如果是第一页
  29067. if (pageNum === 1) {
  29068. if (systime) me.optUp.page.time = systime; // 设置加载列表数据第一页的时间
  29069. }
  29070. if (dataSize < pageSize || hasNext === false) {
  29071. // 返回的数据不满一页时,则说明已无更多数据
  29072. me.optUp.hasNext = false;
  29073. if (dataSize === 0 && pageNum === 1) {
  29074. // 如果第一页无任何数据且配置了空布局
  29075. isShowNoMore = false;
  29076. me.showEmpty();
  29077. } else {
  29078. // 总列表数少于配置的数量,则不显示无更多数据
  29079. var allDataSize = (pageNum - 1) * pageSize + dataSize;
  29080. if (allDataSize < me.optUp.noMoreSize) {
  29081. isShowNoMore = false;
  29082. } else {
  29083. isShowNoMore = true;
  29084. }
  29085. me.removeEmpty(); // 移除空布局
  29086. }
  29087. } else {
  29088. // 还有下一页
  29089. isShowNoMore = false;
  29090. me.optUp.hasNext = true;
  29091. me.removeEmpty(); // 移除空布局
  29092. }
  29093. }
  29094. // 隐藏上拉
  29095. me.endUpScroll(isShowNoMore);
  29096. }
  29097. };
  29098. /* 回调失败,结束下拉刷新和上拉加载 */
  29099. MeScroll.prototype.endErr = function (errDistance) {
  29100. // 结束下拉,回调失败重置回原来的页码和时间
  29101. if (this.isDownScrolling) {
  29102. this.isDownEndSuccess = false;
  29103. var page = this.optUp.page;
  29104. if (page && this.prePageNum) {
  29105. page.num = this.prePageNum;
  29106. page.time = this.prePageTime;
  29107. }
  29108. this.endDownScroll();
  29109. }
  29110. // 结束上拉,回调失败重置回原来的页码
  29111. if (this.isUpScrolling) {
  29112. this.optUp.page.num--;
  29113. this.endUpScroll(false);
  29114. // 如果是mescroll-body,则需往回滚一定距离
  29115. if (this.isScrollBody && errDistance !== 0) {// 不处理0
  29116. if (!errDistance) errDistance = this.optUp.errDistance; // 不传,则取默认
  29117. this.scrollTo(this.getScrollTop() - errDistance, 0); // 往上回滚的距离
  29118. }
  29119. }
  29120. };
  29121. /* 显示空布局 */
  29122. MeScroll.prototype.showEmpty = function () {
  29123. this.optUp.empty.use && this.optUp.empty.onShow && this.optUp.empty.onShow(true);
  29124. };
  29125. /* 移除空布局 */
  29126. MeScroll.prototype.removeEmpty = function () {
  29127. this.optUp.empty.use && this.optUp.empty.onShow && this.optUp.empty.onShow(false);
  29128. };
  29129. /* 显示回到顶部的按钮 */
  29130. MeScroll.prototype.showTopBtn = function () {
  29131. if (!this.topBtnShow) {
  29132. this.topBtnShow = true;
  29133. this.optUp.toTop.onShow && this.optUp.toTop.onShow(true);
  29134. }
  29135. };
  29136. /* 隐藏回到顶部的按钮 */
  29137. MeScroll.prototype.hideTopBtn = function () {
  29138. if (this.topBtnShow) {
  29139. this.topBtnShow = false;
  29140. this.optUp.toTop.onShow && this.optUp.toTop.onShow(false);
  29141. }
  29142. };
  29143. /* 获取滚动条的位置 */
  29144. MeScroll.prototype.getScrollTop = function () {
  29145. return this.scrollTop || 0;
  29146. };
  29147. /* 记录滚动条的位置 */
  29148. MeScroll.prototype.setScrollTop = function (y) {
  29149. this.scrollTop = y;
  29150. };
  29151. /* 滚动到指定位置 */
  29152. MeScroll.prototype.scrollTo = function (y, t) {
  29153. this.myScrollTo && this.myScrollTo(y, t); // scrollview需自定义回到顶部方法
  29154. };
  29155. /* 自定义scrollTo */
  29156. MeScroll.prototype.resetScrollTo = function (myScrollTo) {
  29157. this.myScrollTo = myScrollTo;
  29158. };
  29159. /* 滚动条到底部的距离 */
  29160. MeScroll.prototype.getScrollBottom = function () {
  29161. return this.getScrollHeight() - this.getClientHeight() - this.getScrollTop();
  29162. };
  29163. /* 计步器
  29164. star: 开始值
  29165. end: 结束值
  29166. callback(step,timer): 回调step值,计步器timer,可自行通过window.clearInterval(timer)结束计步器;
  29167. t: 计步时长,传0则直接回调end值;不传则默认300ms
  29168. rate: 周期;不传则默认30ms计步一次
  29169. * */
  29170. MeScroll.prototype.getStep = function (star, end, callback, t, rate) {
  29171. var diff = end - star; // 差值
  29172. if (t === 0 || diff === 0) {
  29173. callback && callback(end);
  29174. return;
  29175. }
  29176. t = t || 300; // 时长 300ms
  29177. rate = rate || 30; // 周期 30ms
  29178. var count = t / rate; // 次数
  29179. var step = diff / count; // 步长
  29180. var i = 0; // 计数
  29181. var timer = setInterval(function () {
  29182. if (i < count - 1) {
  29183. star += step;
  29184. callback && callback(star, timer);
  29185. i++;
  29186. } else {
  29187. callback && callback(end, timer); // 最后一次直接设置end,避免计算误差
  29188. clearInterval(timer);
  29189. }
  29190. }, rate);
  29191. };
  29192. /* 滚动容器的高度 */
  29193. MeScroll.prototype.getClientHeight = function (isReal) {
  29194. var h = this.clientHeight || 0;
  29195. if (h === 0 && isReal !== true) {// 未获取到容器的高度,可临时取body的高度 (可能会有误差)
  29196. h = this.getBodyHeight();
  29197. }
  29198. return h;
  29199. };
  29200. MeScroll.prototype.setClientHeight = function (h) {
  29201. this.clientHeight = h;
  29202. };
  29203. /* 滚动内容的高度 */
  29204. MeScroll.prototype.getScrollHeight = function () {
  29205. return this.scrollHeight || 0;
  29206. };
  29207. MeScroll.prototype.setScrollHeight = function (h) {
  29208. this.scrollHeight = h;
  29209. };
  29210. /* body的高度 */
  29211. MeScroll.prototype.getBodyHeight = function () {
  29212. return this.bodyHeight || 0;
  29213. };
  29214. MeScroll.prototype.setBodyHeight = function (h) {
  29215. this.bodyHeight = h;
  29216. };
  29217. /* 阻止浏览器默认滚动事件 */
  29218. MeScroll.prototype.preventDefault = function (e) {
  29219. // 小程序不支持e.preventDefault, 已在wxs中禁止
  29220. // app的bounce只能通过配置pages.json的style.app-plus.bounce为"none"来禁止, 或使用renderjs禁止
  29221. // cancelable:是否可以被禁用; defaultPrevented:是否已经被禁用
  29222. if (e && e.cancelable && !e.defaultPrevented) e.preventDefault();
  29223. };
  29224. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
  29225. /***/ }),
  29226. /* 280 */
  29227. /*!************************************************************************************************************************************!*\
  29228. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-uni-option.js ***!
  29229. \************************************************************************************************************************************/
  29230. /*! no static exports found */
  29231. /***/ (function(module, exports, __webpack_require__) {
  29232. "use strict";
  29233. Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0; // 全局配置
  29234. // mescroll-body 和 mescroll-uni 通用
  29235. var GlobalOption = {
  29236. down: {
  29237. // 其他down的配置参数也可以写,这里只展示了常用的配置:
  29238. offset: 80, // 在列表顶部,下拉大于80px,松手即可触发下拉刷新的回调
  29239. native: false // 是否使用系统自带的下拉刷新; 默认false; 仅在mescroll-body生效 (值为true时,还需在pages配置enablePullDownRefresh:true;详请参考mescroll-native的案例)
  29240. },
  29241. up: {
  29242. // 其他up的配置参数也可以写,这里只展示了常用的配置:
  29243. offset: 150, // 距底部多远时,触发upCallback,仅mescroll-uni生效 ( mescroll-body配置的是pages.json的 onReachBottomDistance )
  29244. toTop: {
  29245. // 回到顶部按钮,需配置src才显示
  29246. src: "https://www.mescroll.com/img/mescroll-totop.png", // 图片路径 (建议放入static目录, 如 /static/img/mescroll-totop.png )
  29247. offset: 1000, // 列表滚动多少距离才显示回到顶部按钮,默认1000px
  29248. right: 20, // 到右边的距离, 默认20 (支持"20rpx", "20px", "20%"格式的值, 纯数字则默认单位rpx)
  29249. bottom: 120, // 到底部的距离, 默认120 (支持"20rpx", "20px", "20%"格式的值, 纯数字则默认单位rpx)
  29250. width: 72 // 回到顶部图标的宽度, 默认72 (支持"20rpx", "20px", "20%"格式的值, 纯数字则默认单位rpx)
  29251. },
  29252. empty: {
  29253. use: true, // 是否显示空布局
  29254. icon: "https://www.mescroll.com/img/mescroll-empty.png" // 图标路径 (建议放入static目录, 如 /static/img/mescroll-empty.png )
  29255. } },
  29256. // 国际化配置
  29257. i18n: {
  29258. // 中文
  29259. zh: {
  29260. down: {
  29261. textInOffset: '下拉刷新', // 下拉的距离在offset范围内的提示文本
  29262. textOutOffset: '释放更新', // 下拉的距离大于offset范围的提示文本
  29263. textLoading: '加载中 ...', // 加载中的提示文本
  29264. textSuccess: '加载成功', // 加载成功的文本
  29265. textErr: '加载失败' // 加载失败的文本
  29266. },
  29267. up: {
  29268. textLoading: '加载中 ...', // 加载中的提示文本
  29269. textNoMore: '-- END --', // 没有更多数据的提示文本
  29270. empty: {
  29271. tip: '~ 空空如也 ~' // 空提示
  29272. } } },
  29273. // 英文
  29274. en: {
  29275. down: {
  29276. textInOffset: 'drop down refresh',
  29277. textOutOffset: 'release updates',
  29278. textLoading: 'loading ...',
  29279. textSuccess: 'loaded successfully',
  29280. textErr: 'loading failed' },
  29281. up: {
  29282. textLoading: 'loading ...',
  29283. textNoMore: '-- END --',
  29284. empty: {
  29285. tip: '~ absolutely empty ~' } } } } };var _default =
  29286. GlobalOption;exports.default = _default;
  29287. /***/ }),
  29288. /* 281 */
  29289. /*!******************************************************************************************************************************!*\
  29290. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-i18n.js ***!
  29291. \******************************************************************************************************************************/
  29292. /*! no static exports found */
  29293. /***/ (function(module, exports, __webpack_require__) {
  29294. "use strict";
  29295. /* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0; // 国际化工具类
  29296. var mescrollI18n = {
  29297. // 默认语言
  29298. def: "zh",
  29299. // 获取当前语言类型
  29300. getType: function getType() {
  29301. return uni.getStorageSync("mescroll-i18n") || this.def;
  29302. },
  29303. // 设置当前语言类型
  29304. setType: function setType(type) {
  29305. uni.setStorageSync("mescroll-i18n", type);
  29306. } };var _default =
  29307. mescrollI18n;exports.default = _default;
  29308. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
  29309. /***/ }),
  29310. /* 282 */
  29311. /*!***************************************************************************************************************************!*\
  29312. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/uni_modules/mescroll-uni/components/mescroll-uni/wxs/mixins.js ***!
  29313. \***************************************************************************************************************************/
  29314. /*! no static exports found */
  29315. /***/ (function(module, exports, __webpack_require__) {
  29316. "use strict";
  29317. Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0; // 定义在wxs (含renderjs) 逻辑层的数据和方法, 与视图层相互通信
  29318. var WxsMixin = {
  29319. data: function data() {
  29320. return {
  29321. // 传入wxs视图层的数据 (响应式)
  29322. wxsProp: {
  29323. optDown: {}, // 下拉刷新的配置
  29324. scrollTop: 0, // 滚动条的距离
  29325. bodyHeight: 0, // body的高度
  29326. isDownScrolling: false, // 是否正在下拉刷新中
  29327. isUpScrolling: false, // 是否正在上拉加载中
  29328. isScrollBody: true, // 是否为mescroll-body滚动
  29329. isUpBoth: true, // 上拉加载时,是否同时可以下拉刷新
  29330. t: 0 // 数据更新的标记 (只有数据更新了,才会触发wxs的Observer)
  29331. },
  29332. // 标记调用wxs视图层的方法
  29333. callProp: {
  29334. callType: '', // 方法名
  29335. t: 0 // 数据更新的标记 (只有数据更新了,才会触发wxs的Observer)
  29336. },
  29337. // 不用wxs的平台使用此处的wxsBiz对象,抹平wxs的写法 (微信小程序和APP使用的wxsBiz对象是./wxs/wxs.wxs)
  29338. // 不用renderjs的平台使用此处的renderBiz对象,抹平renderjs的写法 (app 和 h5 使用的renderBiz对象是./wxs/renderjs.js)
  29339. renderBiz: {
  29340. propObserver: function propObserver() {} // 抹平renderjs的写法
  29341. } };
  29342. },
  29343. methods: {
  29344. // wxs视图层调用逻辑层的回调
  29345. wxsCall: function wxsCall(msg) {
  29346. if (msg.type === 'setWxsProp') {
  29347. // 更新wxsProp数据 (值改变才触发更新)
  29348. this.wxsProp = {
  29349. optDown: this.mescroll.optDown,
  29350. scrollTop: this.mescroll.getScrollTop(),
  29351. bodyHeight: this.mescroll.getBodyHeight(),
  29352. isDownScrolling: this.mescroll.isDownScrolling,
  29353. isUpScrolling: this.mescroll.isUpScrolling,
  29354. isUpBoth: this.mescroll.optUp.isBoth,
  29355. isScrollBody: this.mescroll.isScrollBody,
  29356. t: Date.now() };
  29357. } else if (msg.type === 'setLoadType') {
  29358. // 设置inOffset,outOffset的状态
  29359. this.downLoadType = msg.downLoadType;
  29360. // 状态挂载到mescroll对象, 以便在其他组件中使用, 比如<me-video>中
  29361. this.$set(this.mescroll, 'downLoadType', this.downLoadType);
  29362. // 重置是否加载成功的状态
  29363. this.$set(this.mescroll, 'isDownEndSuccess', null);
  29364. } else if (msg.type === 'triggerDownScroll') {
  29365. // 主动触发下拉刷新
  29366. this.mescroll.triggerDownScroll();
  29367. } else if (msg.type === 'endDownScroll') {
  29368. // 结束下拉刷新
  29369. this.mescroll.endDownScroll();
  29370. } else if (msg.type === 'triggerUpScroll') {
  29371. // 主动触发上拉加载
  29372. this.mescroll.triggerUpScroll(true);
  29373. }
  29374. } },
  29375. mounted: function mounted() {var _this = this;
  29376. // 配置主动触发wxs显示加载进度的回调
  29377. this.mescroll.optDown.afterLoading = function () {
  29378. _this.callProp = { callType: "showLoading", t: Date.now() }; // 触发wxs的方法 (值改变才触发更新)
  29379. };
  29380. // 配置主动触发wxs隐藏加载进度的回调
  29381. this.mescroll.optDown.afterEndDownScroll = function () {
  29382. _this.callProp = { callType: "endDownScroll", t: Date.now() }; // 触发wxs的方法 (值改变才触发更新)
  29383. var delay = 300 + (_this.mescroll.optDown.beforeEndDelay || 0);
  29384. setTimeout(function () {
  29385. if (_this.downLoadType === 4 || _this.downLoadType === 0) {
  29386. _this.callProp = { callType: "clearTransform", t: Date.now() }; // 触发wxs的方法 (值改变才触发更新)
  29387. }
  29388. // 状态挂载到mescroll对象, 以便在其他组件中使用, 比如<me-video>中
  29389. _this.$set(_this.mescroll, 'downLoadType', _this.downLoadType);
  29390. }, delay);
  29391. };
  29392. // 初始化wxs的数据
  29393. this.wxsCall({ type: 'setWxsProp' });
  29394. } };var _default =
  29395. WxsMixin;exports.default = _default;
  29396. /***/ }),
  29397. /* 283 */,
  29398. /* 284 */,
  29399. /* 285 */,
  29400. /* 286 */,
  29401. /* 287 */,
  29402. /* 288 */,
  29403. /* 289 */,
  29404. /* 290 */,
  29405. /* 291 */,
  29406. /* 292 */,
  29407. /* 293 */,
  29408. /* 294 */,
  29409. /* 295 */,
  29410. /* 296 */,
  29411. /* 297 */,
  29412. /* 298 */,
  29413. /* 299 */,
  29414. /* 300 */,
  29415. /* 301 */,
  29416. /* 302 */,
  29417. /* 303 */,
  29418. /* 304 */,
  29419. /* 305 */,
  29420. /* 306 */,
  29421. /* 307 */,
  29422. /* 308 */,
  29423. /* 309 */,
  29424. /* 310 */,
  29425. /* 311 */,
  29426. /* 312 */,
  29427. /* 313 */,
  29428. /* 314 */,
  29429. /* 315 */,
  29430. /* 316 */,
  29431. /* 317 */,
  29432. /* 318 */,
  29433. /* 319 */,
  29434. /* 320 */,
  29435. /* 321 */,
  29436. /* 322 */,
  29437. /* 323 */,
  29438. /* 324 */,
  29439. /* 325 */,
  29440. /* 326 */,
  29441. /* 327 */
  29442. /*!**********************************************************!*\
  29443. !*** ./node_modules/@babel/runtime/regenerator/index.js ***!
  29444. \**********************************************************/
  29445. /*! no static exports found */
  29446. /***/ (function(module, exports, __webpack_require__) {
  29447. module.exports = __webpack_require__(/*! regenerator-runtime */ 328);
  29448. /***/ }),
  29449. /* 328 */
  29450. /*!************************************************************!*\
  29451. !*** ./node_modules/regenerator-runtime/runtime-module.js ***!
  29452. \************************************************************/
  29453. /*! no static exports found */
  29454. /***/ (function(module, exports, __webpack_require__) {
  29455. /**
  29456. * Copyright (c) 2014-present, Facebook, Inc.
  29457. *
  29458. * This source code is licensed under the MIT license found in the
  29459. * LICENSE file in the root directory of this source tree.
  29460. */
  29461. // This method of obtaining a reference to the global object needs to be
  29462. // kept identical to the way it is obtained in runtime.js
  29463. var g = (function() {
  29464. return this || (typeof self === "object" && self);
  29465. })() || Function("return this")();
  29466. // Use `getOwnPropertyNames` because not all browsers support calling
  29467. // `hasOwnProperty` on the global `self` object in a worker. See #183.
  29468. var hadRuntime = g.regeneratorRuntime &&
  29469. Object.getOwnPropertyNames(g).indexOf("regeneratorRuntime") >= 0;
  29470. // Save the old regeneratorRuntime in case it needs to be restored later.
  29471. var oldRuntime = hadRuntime && g.regeneratorRuntime;
  29472. // Force reevalutation of runtime.js.
  29473. g.regeneratorRuntime = undefined;
  29474. module.exports = __webpack_require__(/*! ./runtime */ 329);
  29475. if (hadRuntime) {
  29476. // Restore the original runtime.
  29477. g.regeneratorRuntime = oldRuntime;
  29478. } else {
  29479. // Remove the global property added by runtime.js.
  29480. try {
  29481. delete g.regeneratorRuntime;
  29482. } catch(e) {
  29483. g.regeneratorRuntime = undefined;
  29484. }
  29485. }
  29486. /***/ }),
  29487. /* 329 */
  29488. /*!*****************************************************!*\
  29489. !*** ./node_modules/regenerator-runtime/runtime.js ***!
  29490. \*****************************************************/
  29491. /*! no static exports found */
  29492. /***/ (function(module, exports) {
  29493. /**
  29494. * Copyright (c) 2014-present, Facebook, Inc.
  29495. *
  29496. * This source code is licensed under the MIT license found in the
  29497. * LICENSE file in the root directory of this source tree.
  29498. */
  29499. !(function(global) {
  29500. "use strict";
  29501. var Op = Object.prototype;
  29502. var hasOwn = Op.hasOwnProperty;
  29503. var undefined; // More compressible than void 0.
  29504. var $Symbol = typeof Symbol === "function" ? Symbol : {};
  29505. var iteratorSymbol = $Symbol.iterator || "@@iterator";
  29506. var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
  29507. var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
  29508. var inModule = typeof module === "object";
  29509. var runtime = global.regeneratorRuntime;
  29510. if (runtime) {
  29511. if (inModule) {
  29512. // If regeneratorRuntime is defined globally and we're in a module,
  29513. // make the exports object identical to regeneratorRuntime.
  29514. module.exports = runtime;
  29515. }
  29516. // Don't bother evaluating the rest of this file if the runtime was
  29517. // already defined globally.
  29518. return;
  29519. }
  29520. // Define the runtime globally (as expected by generated code) as either
  29521. // module.exports (if we're in a module) or a new, empty object.
  29522. runtime = global.regeneratorRuntime = inModule ? module.exports : {};
  29523. function wrap(innerFn, outerFn, self, tryLocsList) {
  29524. // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
  29525. var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
  29526. var generator = Object.create(protoGenerator.prototype);
  29527. var context = new Context(tryLocsList || []);
  29528. // The ._invoke method unifies the implementations of the .next,
  29529. // .throw, and .return methods.
  29530. generator._invoke = makeInvokeMethod(innerFn, self, context);
  29531. return generator;
  29532. }
  29533. runtime.wrap = wrap;
  29534. // Try/catch helper to minimize deoptimizations. Returns a completion
  29535. // record like context.tryEntries[i].completion. This interface could
  29536. // have been (and was previously) designed to take a closure to be
  29537. // invoked without arguments, but in all the cases we care about we
  29538. // already have an existing method we want to call, so there's no need
  29539. // to create a new function object. We can even get away with assuming
  29540. // the method takes exactly one argument, since that happens to be true
  29541. // in every case, so we don't have to touch the arguments object. The
  29542. // only additional allocation required is the completion record, which
  29543. // has a stable shape and so hopefully should be cheap to allocate.
  29544. function tryCatch(fn, obj, arg) {
  29545. try {
  29546. return { type: "normal", arg: fn.call(obj, arg) };
  29547. } catch (err) {
  29548. return { type: "throw", arg: err };
  29549. }
  29550. }
  29551. var GenStateSuspendedStart = "suspendedStart";
  29552. var GenStateSuspendedYield = "suspendedYield";
  29553. var GenStateExecuting = "executing";
  29554. var GenStateCompleted = "completed";
  29555. // Returning this object from the innerFn has the same effect as
  29556. // breaking out of the dispatch switch statement.
  29557. var ContinueSentinel = {};
  29558. // Dummy constructor functions that we use as the .constructor and
  29559. // .constructor.prototype properties for functions that return Generator
  29560. // objects. For full spec compliance, you may wish to configure your
  29561. // minifier not to mangle the names of these two functions.
  29562. function Generator() {}
  29563. function GeneratorFunction() {}
  29564. function GeneratorFunctionPrototype() {}
  29565. // This is a polyfill for %IteratorPrototype% for environments that
  29566. // don't natively support it.
  29567. var IteratorPrototype = {};
  29568. IteratorPrototype[iteratorSymbol] = function () {
  29569. return this;
  29570. };
  29571. var getProto = Object.getPrototypeOf;
  29572. var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
  29573. if (NativeIteratorPrototype &&
  29574. NativeIteratorPrototype !== Op &&
  29575. hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
  29576. // This environment has a native %IteratorPrototype%; use it instead
  29577. // of the polyfill.
  29578. IteratorPrototype = NativeIteratorPrototype;
  29579. }
  29580. var Gp = GeneratorFunctionPrototype.prototype =
  29581. Generator.prototype = Object.create(IteratorPrototype);
  29582. GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
  29583. GeneratorFunctionPrototype.constructor = GeneratorFunction;
  29584. GeneratorFunctionPrototype[toStringTagSymbol] =
  29585. GeneratorFunction.displayName = "GeneratorFunction";
  29586. // Helper for defining the .next, .throw, and .return methods of the
  29587. // Iterator interface in terms of a single ._invoke method.
  29588. function defineIteratorMethods(prototype) {
  29589. ["next", "throw", "return"].forEach(function(method) {
  29590. prototype[method] = function(arg) {
  29591. return this._invoke(method, arg);
  29592. };
  29593. });
  29594. }
  29595. runtime.isGeneratorFunction = function(genFun) {
  29596. var ctor = typeof genFun === "function" && genFun.constructor;
  29597. return ctor
  29598. ? ctor === GeneratorFunction ||
  29599. // For the native GeneratorFunction constructor, the best we can
  29600. // do is to check its .name property.
  29601. (ctor.displayName || ctor.name) === "GeneratorFunction"
  29602. : false;
  29603. };
  29604. runtime.mark = function(genFun) {
  29605. if (Object.setPrototypeOf) {
  29606. Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
  29607. } else {
  29608. genFun.__proto__ = GeneratorFunctionPrototype;
  29609. if (!(toStringTagSymbol in genFun)) {
  29610. genFun[toStringTagSymbol] = "GeneratorFunction";
  29611. }
  29612. }
  29613. genFun.prototype = Object.create(Gp);
  29614. return genFun;
  29615. };
  29616. // Within the body of any async function, `await x` is transformed to
  29617. // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
  29618. // `hasOwn.call(value, "__await")` to determine if the yielded value is
  29619. // meant to be awaited.
  29620. runtime.awrap = function(arg) {
  29621. return { __await: arg };
  29622. };
  29623. function AsyncIterator(generator) {
  29624. function invoke(method, arg, resolve, reject) {
  29625. var record = tryCatch(generator[method], generator, arg);
  29626. if (record.type === "throw") {
  29627. reject(record.arg);
  29628. } else {
  29629. var result = record.arg;
  29630. var value = result.value;
  29631. if (value &&
  29632. typeof value === "object" &&
  29633. hasOwn.call(value, "__await")) {
  29634. return Promise.resolve(value.__await).then(function(value) {
  29635. invoke("next", value, resolve, reject);
  29636. }, function(err) {
  29637. invoke("throw", err, resolve, reject);
  29638. });
  29639. }
  29640. return Promise.resolve(value).then(function(unwrapped) {
  29641. // When a yielded Promise is resolved, its final value becomes
  29642. // the .value of the Promise<{value,done}> result for the
  29643. // current iteration.
  29644. result.value = unwrapped;
  29645. resolve(result);
  29646. }, function(error) {
  29647. // If a rejected Promise was yielded, throw the rejection back
  29648. // into the async generator function so it can be handled there.
  29649. return invoke("throw", error, resolve, reject);
  29650. });
  29651. }
  29652. }
  29653. var previousPromise;
  29654. function enqueue(method, arg) {
  29655. function callInvokeWithMethodAndArg() {
  29656. return new Promise(function(resolve, reject) {
  29657. invoke(method, arg, resolve, reject);
  29658. });
  29659. }
  29660. return previousPromise =
  29661. // If enqueue has been called before, then we want to wait until
  29662. // all previous Promises have been resolved before calling invoke,
  29663. // so that results are always delivered in the correct order. If
  29664. // enqueue has not been called before, then it is important to
  29665. // call invoke immediately, without waiting on a callback to fire,
  29666. // so that the async generator function has the opportunity to do
  29667. // any necessary setup in a predictable way. This predictability
  29668. // is why the Promise constructor synchronously invokes its
  29669. // executor callback, and why async functions synchronously
  29670. // execute code before the first await. Since we implement simple
  29671. // async functions in terms of async generators, it is especially
  29672. // important to get this right, even though it requires care.
  29673. previousPromise ? previousPromise.then(
  29674. callInvokeWithMethodAndArg,
  29675. // Avoid propagating failures to Promises returned by later
  29676. // invocations of the iterator.
  29677. callInvokeWithMethodAndArg
  29678. ) : callInvokeWithMethodAndArg();
  29679. }
  29680. // Define the unified helper method that is used to implement .next,
  29681. // .throw, and .return (see defineIteratorMethods).
  29682. this._invoke = enqueue;
  29683. }
  29684. defineIteratorMethods(AsyncIterator.prototype);
  29685. AsyncIterator.prototype[asyncIteratorSymbol] = function () {
  29686. return this;
  29687. };
  29688. runtime.AsyncIterator = AsyncIterator;
  29689. // Note that simple async functions are implemented on top of
  29690. // AsyncIterator objects; they just return a Promise for the value of
  29691. // the final result produced by the iterator.
  29692. runtime.async = function(innerFn, outerFn, self, tryLocsList) {
  29693. var iter = new AsyncIterator(
  29694. wrap(innerFn, outerFn, self, tryLocsList)
  29695. );
  29696. return runtime.isGeneratorFunction(outerFn)
  29697. ? iter // If outerFn is a generator, return the full iterator.
  29698. : iter.next().then(function(result) {
  29699. return result.done ? result.value : iter.next();
  29700. });
  29701. };
  29702. function makeInvokeMethod(innerFn, self, context) {
  29703. var state = GenStateSuspendedStart;
  29704. return function invoke(method, arg) {
  29705. if (state === GenStateExecuting) {
  29706. throw new Error("Generator is already running");
  29707. }
  29708. if (state === GenStateCompleted) {
  29709. if (method === "throw") {
  29710. throw arg;
  29711. }
  29712. // Be forgiving, per 25.3.3.3.3 of the spec:
  29713. // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
  29714. return doneResult();
  29715. }
  29716. context.method = method;
  29717. context.arg = arg;
  29718. while (true) {
  29719. var delegate = context.delegate;
  29720. if (delegate) {
  29721. var delegateResult = maybeInvokeDelegate(delegate, context);
  29722. if (delegateResult) {
  29723. if (delegateResult === ContinueSentinel) continue;
  29724. return delegateResult;
  29725. }
  29726. }
  29727. if (context.method === "next") {
  29728. // Setting context._sent for legacy support of Babel's
  29729. // function.sent implementation.
  29730. context.sent = context._sent = context.arg;
  29731. } else if (context.method === "throw") {
  29732. if (state === GenStateSuspendedStart) {
  29733. state = GenStateCompleted;
  29734. throw context.arg;
  29735. }
  29736. context.dispatchException(context.arg);
  29737. } else if (context.method === "return") {
  29738. context.abrupt("return", context.arg);
  29739. }
  29740. state = GenStateExecuting;
  29741. var record = tryCatch(innerFn, self, context);
  29742. if (record.type === "normal") {
  29743. // If an exception is thrown from innerFn, we leave state ===
  29744. // GenStateExecuting and loop back for another invocation.
  29745. state = context.done
  29746. ? GenStateCompleted
  29747. : GenStateSuspendedYield;
  29748. if (record.arg === ContinueSentinel) {
  29749. continue;
  29750. }
  29751. return {
  29752. value: record.arg,
  29753. done: context.done
  29754. };
  29755. } else if (record.type === "throw") {
  29756. state = GenStateCompleted;
  29757. // Dispatch the exception by looping back around to the
  29758. // context.dispatchException(context.arg) call above.
  29759. context.method = "throw";
  29760. context.arg = record.arg;
  29761. }
  29762. }
  29763. };
  29764. }
  29765. // Call delegate.iterator[context.method](context.arg) and handle the
  29766. // result, either by returning a { value, done } result from the
  29767. // delegate iterator, or by modifying context.method and context.arg,
  29768. // setting context.delegate to null, and returning the ContinueSentinel.
  29769. function maybeInvokeDelegate(delegate, context) {
  29770. var method = delegate.iterator[context.method];
  29771. if (method === undefined) {
  29772. // A .throw or .return when the delegate iterator has no .throw
  29773. // method always terminates the yield* loop.
  29774. context.delegate = null;
  29775. if (context.method === "throw") {
  29776. if (delegate.iterator.return) {
  29777. // If the delegate iterator has a return method, give it a
  29778. // chance to clean up.
  29779. context.method = "return";
  29780. context.arg = undefined;
  29781. maybeInvokeDelegate(delegate, context);
  29782. if (context.method === "throw") {
  29783. // If maybeInvokeDelegate(context) changed context.method from
  29784. // "return" to "throw", let that override the TypeError below.
  29785. return ContinueSentinel;
  29786. }
  29787. }
  29788. context.method = "throw";
  29789. context.arg = new TypeError(
  29790. "The iterator does not provide a 'throw' method");
  29791. }
  29792. return ContinueSentinel;
  29793. }
  29794. var record = tryCatch(method, delegate.iterator, context.arg);
  29795. if (record.type === "throw") {
  29796. context.method = "throw";
  29797. context.arg = record.arg;
  29798. context.delegate = null;
  29799. return ContinueSentinel;
  29800. }
  29801. var info = record.arg;
  29802. if (! info) {
  29803. context.method = "throw";
  29804. context.arg = new TypeError("iterator result is not an object");
  29805. context.delegate = null;
  29806. return ContinueSentinel;
  29807. }
  29808. if (info.done) {
  29809. // Assign the result of the finished delegate to the temporary
  29810. // variable specified by delegate.resultName (see delegateYield).
  29811. context[delegate.resultName] = info.value;
  29812. // Resume execution at the desired location (see delegateYield).
  29813. context.next = delegate.nextLoc;
  29814. // If context.method was "throw" but the delegate handled the
  29815. // exception, let the outer generator proceed normally. If
  29816. // context.method was "next", forget context.arg since it has been
  29817. // "consumed" by the delegate iterator. If context.method was
  29818. // "return", allow the original .return call to continue in the
  29819. // outer generator.
  29820. if (context.method !== "return") {
  29821. context.method = "next";
  29822. context.arg = undefined;
  29823. }
  29824. } else {
  29825. // Re-yield the result returned by the delegate method.
  29826. return info;
  29827. }
  29828. // The delegate iterator is finished, so forget it and continue with
  29829. // the outer generator.
  29830. context.delegate = null;
  29831. return ContinueSentinel;
  29832. }
  29833. // Define Generator.prototype.{next,throw,return} in terms of the
  29834. // unified ._invoke helper method.
  29835. defineIteratorMethods(Gp);
  29836. Gp[toStringTagSymbol] = "Generator";
  29837. // A Generator should always return itself as the iterator object when the
  29838. // @@iterator function is called on it. Some browsers' implementations of the
  29839. // iterator prototype chain incorrectly implement this, causing the Generator
  29840. // object to not be returned from this call. This ensures that doesn't happen.
  29841. // See https://github.com/facebook/regenerator/issues/274 for more details.
  29842. Gp[iteratorSymbol] = function() {
  29843. return this;
  29844. };
  29845. Gp.toString = function() {
  29846. return "[object Generator]";
  29847. };
  29848. function pushTryEntry(locs) {
  29849. var entry = { tryLoc: locs[0] };
  29850. if (1 in locs) {
  29851. entry.catchLoc = locs[1];
  29852. }
  29853. if (2 in locs) {
  29854. entry.finallyLoc = locs[2];
  29855. entry.afterLoc = locs[3];
  29856. }
  29857. this.tryEntries.push(entry);
  29858. }
  29859. function resetTryEntry(entry) {
  29860. var record = entry.completion || {};
  29861. record.type = "normal";
  29862. delete record.arg;
  29863. entry.completion = record;
  29864. }
  29865. function Context(tryLocsList) {
  29866. // The root entry object (effectively a try statement without a catch
  29867. // or a finally block) gives us a place to store values thrown from
  29868. // locations where there is no enclosing try statement.
  29869. this.tryEntries = [{ tryLoc: "root" }];
  29870. tryLocsList.forEach(pushTryEntry, this);
  29871. this.reset(true);
  29872. }
  29873. runtime.keys = function(object) {
  29874. var keys = [];
  29875. for (var key in object) {
  29876. keys.push(key);
  29877. }
  29878. keys.reverse();
  29879. // Rather than returning an object with a next method, we keep
  29880. // things simple and return the next function itself.
  29881. return function next() {
  29882. while (keys.length) {
  29883. var key = keys.pop();
  29884. if (key in object) {
  29885. next.value = key;
  29886. next.done = false;
  29887. return next;
  29888. }
  29889. }
  29890. // To avoid creating an additional object, we just hang the .value
  29891. // and .done properties off the next function object itself. This
  29892. // also ensures that the minifier will not anonymize the function.
  29893. next.done = true;
  29894. return next;
  29895. };
  29896. };
  29897. function values(iterable) {
  29898. if (iterable) {
  29899. var iteratorMethod = iterable[iteratorSymbol];
  29900. if (iteratorMethod) {
  29901. return iteratorMethod.call(iterable);
  29902. }
  29903. if (typeof iterable.next === "function") {
  29904. return iterable;
  29905. }
  29906. if (!isNaN(iterable.length)) {
  29907. var i = -1, next = function next() {
  29908. while (++i < iterable.length) {
  29909. if (hasOwn.call(iterable, i)) {
  29910. next.value = iterable[i];
  29911. next.done = false;
  29912. return next;
  29913. }
  29914. }
  29915. next.value = undefined;
  29916. next.done = true;
  29917. return next;
  29918. };
  29919. return next.next = next;
  29920. }
  29921. }
  29922. // Return an iterator with no values.
  29923. return { next: doneResult };
  29924. }
  29925. runtime.values = values;
  29926. function doneResult() {
  29927. return { value: undefined, done: true };
  29928. }
  29929. Context.prototype = {
  29930. constructor: Context,
  29931. reset: function(skipTempReset) {
  29932. this.prev = 0;
  29933. this.next = 0;
  29934. // Resetting context._sent for legacy support of Babel's
  29935. // function.sent implementation.
  29936. this.sent = this._sent = undefined;
  29937. this.done = false;
  29938. this.delegate = null;
  29939. this.method = "next";
  29940. this.arg = undefined;
  29941. this.tryEntries.forEach(resetTryEntry);
  29942. if (!skipTempReset) {
  29943. for (var name in this) {
  29944. // Not sure about the optimal order of these conditions:
  29945. if (name.charAt(0) === "t" &&
  29946. hasOwn.call(this, name) &&
  29947. !isNaN(+name.slice(1))) {
  29948. this[name] = undefined;
  29949. }
  29950. }
  29951. }
  29952. },
  29953. stop: function() {
  29954. this.done = true;
  29955. var rootEntry = this.tryEntries[0];
  29956. var rootRecord = rootEntry.completion;
  29957. if (rootRecord.type === "throw") {
  29958. throw rootRecord.arg;
  29959. }
  29960. return this.rval;
  29961. },
  29962. dispatchException: function(exception) {
  29963. if (this.done) {
  29964. throw exception;
  29965. }
  29966. var context = this;
  29967. function handle(loc, caught) {
  29968. record.type = "throw";
  29969. record.arg = exception;
  29970. context.next = loc;
  29971. if (caught) {
  29972. // If the dispatched exception was caught by a catch block,
  29973. // then let that catch block handle the exception normally.
  29974. context.method = "next";
  29975. context.arg = undefined;
  29976. }
  29977. return !! caught;
  29978. }
  29979. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  29980. var entry = this.tryEntries[i];
  29981. var record = entry.completion;
  29982. if (entry.tryLoc === "root") {
  29983. // Exception thrown outside of any try block that could handle
  29984. // it, so set the completion value of the entire function to
  29985. // throw the exception.
  29986. return handle("end");
  29987. }
  29988. if (entry.tryLoc <= this.prev) {
  29989. var hasCatch = hasOwn.call(entry, "catchLoc");
  29990. var hasFinally = hasOwn.call(entry, "finallyLoc");
  29991. if (hasCatch && hasFinally) {
  29992. if (this.prev < entry.catchLoc) {
  29993. return handle(entry.catchLoc, true);
  29994. } else if (this.prev < entry.finallyLoc) {
  29995. return handle(entry.finallyLoc);
  29996. }
  29997. } else if (hasCatch) {
  29998. if (this.prev < entry.catchLoc) {
  29999. return handle(entry.catchLoc, true);
  30000. }
  30001. } else if (hasFinally) {
  30002. if (this.prev < entry.finallyLoc) {
  30003. return handle(entry.finallyLoc);
  30004. }
  30005. } else {
  30006. throw new Error("try statement without catch or finally");
  30007. }
  30008. }
  30009. }
  30010. },
  30011. abrupt: function(type, arg) {
  30012. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  30013. var entry = this.tryEntries[i];
  30014. if (entry.tryLoc <= this.prev &&
  30015. hasOwn.call(entry, "finallyLoc") &&
  30016. this.prev < entry.finallyLoc) {
  30017. var finallyEntry = entry;
  30018. break;
  30019. }
  30020. }
  30021. if (finallyEntry &&
  30022. (type === "break" ||
  30023. type === "continue") &&
  30024. finallyEntry.tryLoc <= arg &&
  30025. arg <= finallyEntry.finallyLoc) {
  30026. // Ignore the finally entry if control is not jumping to a
  30027. // location outside the try/catch block.
  30028. finallyEntry = null;
  30029. }
  30030. var record = finallyEntry ? finallyEntry.completion : {};
  30031. record.type = type;
  30032. record.arg = arg;
  30033. if (finallyEntry) {
  30034. this.method = "next";
  30035. this.next = finallyEntry.finallyLoc;
  30036. return ContinueSentinel;
  30037. }
  30038. return this.complete(record);
  30039. },
  30040. complete: function(record, afterLoc) {
  30041. if (record.type === "throw") {
  30042. throw record.arg;
  30043. }
  30044. if (record.type === "break" ||
  30045. record.type === "continue") {
  30046. this.next = record.arg;
  30047. } else if (record.type === "return") {
  30048. this.rval = this.arg = record.arg;
  30049. this.method = "return";
  30050. this.next = "end";
  30051. } else if (record.type === "normal" && afterLoc) {
  30052. this.next = afterLoc;
  30053. }
  30054. return ContinueSentinel;
  30055. },
  30056. finish: function(finallyLoc) {
  30057. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  30058. var entry = this.tryEntries[i];
  30059. if (entry.finallyLoc === finallyLoc) {
  30060. this.complete(entry.completion, entry.afterLoc);
  30061. resetTryEntry(entry);
  30062. return ContinueSentinel;
  30063. }
  30064. }
  30065. },
  30066. "catch": function(tryLoc) {
  30067. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  30068. var entry = this.tryEntries[i];
  30069. if (entry.tryLoc === tryLoc) {
  30070. var record = entry.completion;
  30071. if (record.type === "throw") {
  30072. var thrown = record.arg;
  30073. resetTryEntry(entry);
  30074. }
  30075. return thrown;
  30076. }
  30077. }
  30078. // The context.catch method must only be called with a location
  30079. // argument that corresponds to a known catch block.
  30080. throw new Error("illegal catch attempt");
  30081. },
  30082. delegateYield: function(iterable, resultName, nextLoc) {
  30083. this.delegate = {
  30084. iterator: values(iterable),
  30085. resultName: resultName,
  30086. nextLoc: nextLoc
  30087. };
  30088. if (this.method === "next") {
  30089. // Deliberately forget the last sent value so that we don't
  30090. // accidentally pass it on to the delegate.
  30091. this.arg = undefined;
  30092. }
  30093. return ContinueSentinel;
  30094. }
  30095. };
  30096. })(
  30097. // In sloppy mode, unbound `this` refers to the global object, fallback to
  30098. // Function constructor if we're in global strict mode. That is sadly a form
  30099. // of indirect eval which violates Content Security Policy.
  30100. (function() {
  30101. return this || (typeof self === "object" && self);
  30102. })() || Function("return this")()
  30103. );
  30104. /***/ }),
  30105. /* 330 */,
  30106. /* 331 */,
  30107. /* 332 */,
  30108. /* 333 */,
  30109. /* 334 */,
  30110. /* 335 */,
  30111. /* 336 */,
  30112. /* 337 */,
  30113. /* 338 */,
  30114. /* 339 */,
  30115. /* 340 */,
  30116. /* 341 */,
  30117. /* 342 */,
  30118. /* 343 */,
  30119. /* 344 */,
  30120. /* 345 */,
  30121. /* 346 */,
  30122. /* 347 */,
  30123. /* 348 */,
  30124. /* 349 */,
  30125. /* 350 */,
  30126. /* 351 */
  30127. /*!************************************************************************************************************************************!*\
  30128. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/uni_modules/uni-transition/components/uni-transition/createAnimation.js ***!
  30129. \************************************************************************************************************************************/
  30130. /*! no static exports found */
  30131. /***/ (function(module, exports, __webpack_require__) {
  30132. "use strict";
  30133. /* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.createAnimation = createAnimation;function ownKeys(object, enumerableOnly) {var keys = Object.keys(object);if (Object.getOwnPropertySymbols) {var symbols = Object.getOwnPropertySymbols(object);if (enumerableOnly) symbols = symbols.filter(function (sym) {return Object.getOwnPropertyDescriptor(object, sym).enumerable;});keys.push.apply(keys, symbols);}return keys;}function _objectSpread(target) {for (var i = 1; i < arguments.length; i++) {var source = arguments[i] != null ? arguments[i] : {};if (i % 2) {ownKeys(Object(source), true).forEach(function (key) {_defineProperty(target, key, source[key]);});} else if (Object.getOwnPropertyDescriptors) {Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));} else {ownKeys(Object(source)).forEach(function (key) {Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));});}}return target;}function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}function _classCallCheck(instance, Constructor) {if (!(instance instanceof Constructor)) {throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target, props) {for (var i = 0; i < props.length; i++) {var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);}}function _createClass(Constructor, protoProps, staticProps) {if (protoProps) _defineProperties(Constructor.prototype, protoProps);if (staticProps) _defineProperties(Constructor, staticProps);return Constructor;} // const defaultOption = {
  30134. // duration: 300,
  30135. // timingFunction: 'linear',
  30136. // delay: 0,
  30137. // transformOrigin: '50% 50% 0'
  30138. // }
  30139. var
  30140. MPAnimation = /*#__PURE__*/function () {
  30141. function MPAnimation(options, _this) {_classCallCheck(this, MPAnimation);
  30142. this.options = options;
  30143. this.animation = uni.createAnimation(options);
  30144. this.currentStepAnimates = {};
  30145. this.next = 0;
  30146. this.$ = _this;
  30147. }_createClass(MPAnimation, [{ key: "_nvuePushAnimates", value: function _nvuePushAnimates(
  30148. type, args) {
  30149. var aniObj = this.currentStepAnimates[this.next];
  30150. var styles = {};
  30151. if (!aniObj) {
  30152. styles = {
  30153. styles: {},
  30154. config: {} };
  30155. } else {
  30156. styles = aniObj;
  30157. }
  30158. if (animateTypes1.includes(type)) {
  30159. if (!styles.styles.transform) {
  30160. styles.styles.transform = '';
  30161. }
  30162. var unit = '';
  30163. if (type === 'rotate') {
  30164. unit = 'deg';
  30165. }
  30166. styles.styles.transform += "".concat(type, "(").concat(args + unit, ") ");
  30167. } else {
  30168. styles.styles[type] = "".concat(args);
  30169. }
  30170. this.currentStepAnimates[this.next] = styles;
  30171. } }, { key: "_animateRun", value: function _animateRun()
  30172. {var styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  30173. var ref = this.$.$refs['ani'].ref;
  30174. if (!ref) return;
  30175. return new Promise(function (resolve, reject) {
  30176. nvueAnimation.transition(ref, _objectSpread({
  30177. styles: styles },
  30178. config),
  30179. function (res) {
  30180. resolve();
  30181. });
  30182. });
  30183. } }, { key: "_nvueNextAnimate", value: function _nvueNextAnimate(
  30184. animates) {var _this2 = this;var step = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;var fn = arguments.length > 2 ? arguments[2] : undefined;
  30185. var obj = animates[step];
  30186. if (obj) {var
  30187. styles =
  30188. obj.styles,config = obj.config;
  30189. this._animateRun(styles, config).then(function () {
  30190. step += 1;
  30191. _this2._nvueNextAnimate(animates, step, fn);
  30192. });
  30193. } else {
  30194. this.currentStepAnimates = {};
  30195. typeof fn === 'function' && fn();
  30196. this.isEnd = true;
  30197. }
  30198. } }, { key: "step", value: function step()
  30199. {var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  30200. this.animation.step(config);
  30201. return this;
  30202. } }, { key: "run", value: function run(
  30203. fn) {
  30204. this.$.animationData = this.animation.export();
  30205. this.$.timer = setTimeout(function () {
  30206. typeof fn === 'function' && fn();
  30207. }, this.$.durationTime);
  30208. } }]);return MPAnimation;}();
  30209. var animateTypes1 = ['matrix', 'matrix3d', 'rotate', 'rotate3d', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scale3d',
  30210. 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'translate', 'translate3d', 'translateX', 'translateY',
  30211. 'translateZ'];
  30212. var animateTypes2 = ['opacity', 'backgroundColor'];
  30213. var animateTypes3 = ['width', 'height', 'left', 'right', 'top', 'bottom'];
  30214. animateTypes1.concat(animateTypes2, animateTypes3).forEach(function (type) {
  30215. MPAnimation.prototype[type] = function () {var _this$animation;
  30216. (_this$animation = this.animation)[type].apply(_this$animation, arguments);
  30217. return this;
  30218. };
  30219. });
  30220. function createAnimation(option, _this) {
  30221. if (!_this) return;
  30222. clearTimeout(_this.timer);
  30223. return new MPAnimation(option, _this);
  30224. }
  30225. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
  30226. /***/ }),
  30227. /* 352 */,
  30228. /* 353 */,
  30229. /* 354 */,
  30230. /* 355 */,
  30231. /* 356 */,
  30232. /* 357 */
  30233. /*!****************************************************************************************************************!*\
  30234. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/uni_modules/uni-icons/components/uni-icons/icons.js ***!
  30235. \****************************************************************************************************************/
  30236. /*! no static exports found */
  30237. /***/ (function(module, exports, __webpack_require__) {
  30238. "use strict";
  30239. Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _default = {
  30240. "id": "2852637",
  30241. "name": "uniui图标库",
  30242. "font_family": "uniicons",
  30243. "css_prefix_text": "uniui-",
  30244. "description": "",
  30245. "glyphs": [
  30246. {
  30247. "icon_id": "25027049",
  30248. "name": "yanse",
  30249. "font_class": "color",
  30250. "unicode": "e6cf",
  30251. "unicode_decimal": 59087 },
  30252. {
  30253. "icon_id": "25027048",
  30254. "name": "wallet",
  30255. "font_class": "wallet",
  30256. "unicode": "e6b1",
  30257. "unicode_decimal": 59057 },
  30258. {
  30259. "icon_id": "25015720",
  30260. "name": "settings-filled",
  30261. "font_class": "settings-filled",
  30262. "unicode": "e6ce",
  30263. "unicode_decimal": 59086 },
  30264. {
  30265. "icon_id": "25015434",
  30266. "name": "shimingrenzheng-filled",
  30267. "font_class": "auth-filled",
  30268. "unicode": "e6cc",
  30269. "unicode_decimal": 59084 },
  30270. {
  30271. "icon_id": "24934246",
  30272. "name": "shop-filled",
  30273. "font_class": "shop-filled",
  30274. "unicode": "e6cd",
  30275. "unicode_decimal": 59085 },
  30276. {
  30277. "icon_id": "24934159",
  30278. "name": "staff-filled-01",
  30279. "font_class": "staff-filled",
  30280. "unicode": "e6cb",
  30281. "unicode_decimal": 59083 },
  30282. {
  30283. "icon_id": "24932461",
  30284. "name": "VIP-filled",
  30285. "font_class": "vip-filled",
  30286. "unicode": "e6c6",
  30287. "unicode_decimal": 59078 },
  30288. {
  30289. "icon_id": "24932462",
  30290. "name": "plus_circle_fill",
  30291. "font_class": "plus-filled",
  30292. "unicode": "e6c7",
  30293. "unicode_decimal": 59079 },
  30294. {
  30295. "icon_id": "24932463",
  30296. "name": "folder_add-filled",
  30297. "font_class": "folder-add-filled",
  30298. "unicode": "e6c8",
  30299. "unicode_decimal": 59080 },
  30300. {
  30301. "icon_id": "24932464",
  30302. "name": "yanse-filled",
  30303. "font_class": "color-filled",
  30304. "unicode": "e6c9",
  30305. "unicode_decimal": 59081 },
  30306. {
  30307. "icon_id": "24932465",
  30308. "name": "tune-filled",
  30309. "font_class": "tune-filled",
  30310. "unicode": "e6ca",
  30311. "unicode_decimal": 59082 },
  30312. {
  30313. "icon_id": "24932455",
  30314. "name": "a-rilidaka-filled",
  30315. "font_class": "calendar-filled",
  30316. "unicode": "e6c0",
  30317. "unicode_decimal": 59072 },
  30318. {
  30319. "icon_id": "24932456",
  30320. "name": "notification-filled",
  30321. "font_class": "notification-filled",
  30322. "unicode": "e6c1",
  30323. "unicode_decimal": 59073 },
  30324. {
  30325. "icon_id": "24932457",
  30326. "name": "wallet-filled",
  30327. "font_class": "wallet-filled",
  30328. "unicode": "e6c2",
  30329. "unicode_decimal": 59074 },
  30330. {
  30331. "icon_id": "24932458",
  30332. "name": "paihangbang-filled",
  30333. "font_class": "medal-filled",
  30334. "unicode": "e6c3",
  30335. "unicode_decimal": 59075 },
  30336. {
  30337. "icon_id": "24932459",
  30338. "name": "gift-filled",
  30339. "font_class": "gift-filled",
  30340. "unicode": "e6c4",
  30341. "unicode_decimal": 59076 },
  30342. {
  30343. "icon_id": "24932460",
  30344. "name": "fire-filled",
  30345. "font_class": "fire-filled",
  30346. "unicode": "e6c5",
  30347. "unicode_decimal": 59077 },
  30348. {
  30349. "icon_id": "24928001",
  30350. "name": "refreshempty",
  30351. "font_class": "refreshempty",
  30352. "unicode": "e6bf",
  30353. "unicode_decimal": 59071 },
  30354. {
  30355. "icon_id": "24926853",
  30356. "name": "location-ellipse",
  30357. "font_class": "location-filled",
  30358. "unicode": "e6af",
  30359. "unicode_decimal": 59055 },
  30360. {
  30361. "icon_id": "24926735",
  30362. "name": "person-filled",
  30363. "font_class": "person-filled",
  30364. "unicode": "e69d",
  30365. "unicode_decimal": 59037 },
  30366. {
  30367. "icon_id": "24926703",
  30368. "name": "personadd-filled",
  30369. "font_class": "personadd-filled",
  30370. "unicode": "e698",
  30371. "unicode_decimal": 59032 },
  30372. {
  30373. "icon_id": "24923351",
  30374. "name": "back",
  30375. "font_class": "back",
  30376. "unicode": "e6b9",
  30377. "unicode_decimal": 59065 },
  30378. {
  30379. "icon_id": "24923352",
  30380. "name": "forward",
  30381. "font_class": "forward",
  30382. "unicode": "e6ba",
  30383. "unicode_decimal": 59066 },
  30384. {
  30385. "icon_id": "24923353",
  30386. "name": "arrowthinright",
  30387. "font_class": "arrow-right",
  30388. "unicode": "e6bb",
  30389. "unicode_decimal": 59067 },
  30390. {
  30391. "icon_id": "24923353",
  30392. "name": "arrowthinright",
  30393. "font_class": "arrowthinright",
  30394. "unicode": "e6bb",
  30395. "unicode_decimal": 59067 },
  30396. {
  30397. "icon_id": "24923354",
  30398. "name": "arrowthinleft",
  30399. "font_class": "arrow-left",
  30400. "unicode": "e6bc",
  30401. "unicode_decimal": 59068 },
  30402. {
  30403. "icon_id": "24923354",
  30404. "name": "arrowthinleft",
  30405. "font_class": "arrowthinleft",
  30406. "unicode": "e6bc",
  30407. "unicode_decimal": 59068 },
  30408. {
  30409. "icon_id": "24923355",
  30410. "name": "arrowthinup",
  30411. "font_class": "arrow-up",
  30412. "unicode": "e6bd",
  30413. "unicode_decimal": 59069 },
  30414. {
  30415. "icon_id": "24923355",
  30416. "name": "arrowthinup",
  30417. "font_class": "arrowthinup",
  30418. "unicode": "e6bd",
  30419. "unicode_decimal": 59069 },
  30420. {
  30421. "icon_id": "24923356",
  30422. "name": "arrowthindown",
  30423. "font_class": "arrow-down",
  30424. "unicode": "e6be",
  30425. "unicode_decimal": 59070 },
  30426. {
  30427. "icon_id": "24923356",
  30428. "name": "arrowthindown",
  30429. "font_class": "arrowthindown",
  30430. "unicode": "e6be",
  30431. "unicode_decimal": 59070 },
  30432. {
  30433. "icon_id": "24923349",
  30434. "name": "arrowdown",
  30435. "font_class": "bottom",
  30436. "unicode": "e6b8",
  30437. "unicode_decimal": 59064 },
  30438. {
  30439. "icon_id": "24923349",
  30440. "name": "arrowdown",
  30441. "font_class": "arrowdown",
  30442. "unicode": "e6b8",
  30443. "unicode_decimal": 59064 },
  30444. {
  30445. "icon_id": "24923346",
  30446. "name": "arrowright",
  30447. "font_class": "right",
  30448. "unicode": "e6b5",
  30449. "unicode_decimal": 59061 },
  30450. {
  30451. "icon_id": "24923346",
  30452. "name": "arrowright",
  30453. "font_class": "arrowright",
  30454. "unicode": "e6b5",
  30455. "unicode_decimal": 59061 },
  30456. {
  30457. "icon_id": "24923347",
  30458. "name": "arrowup",
  30459. "font_class": "top",
  30460. "unicode": "e6b6",
  30461. "unicode_decimal": 59062 },
  30462. {
  30463. "icon_id": "24923347",
  30464. "name": "arrowup",
  30465. "font_class": "arrowup",
  30466. "unicode": "e6b6",
  30467. "unicode_decimal": 59062 },
  30468. {
  30469. "icon_id": "24923348",
  30470. "name": "arrowleft",
  30471. "font_class": "left",
  30472. "unicode": "e6b7",
  30473. "unicode_decimal": 59063 },
  30474. {
  30475. "icon_id": "24923348",
  30476. "name": "arrowleft",
  30477. "font_class": "arrowleft",
  30478. "unicode": "e6b7",
  30479. "unicode_decimal": 59063 },
  30480. {
  30481. "icon_id": "24923334",
  30482. "name": "eye",
  30483. "font_class": "eye",
  30484. "unicode": "e651",
  30485. "unicode_decimal": 58961 },
  30486. {
  30487. "icon_id": "24923335",
  30488. "name": "eye-filled",
  30489. "font_class": "eye-filled",
  30490. "unicode": "e66a",
  30491. "unicode_decimal": 58986 },
  30492. {
  30493. "icon_id": "24923336",
  30494. "name": "eye-slash",
  30495. "font_class": "eye-slash",
  30496. "unicode": "e6b3",
  30497. "unicode_decimal": 59059 },
  30498. {
  30499. "icon_id": "24923337",
  30500. "name": "eye-slash-filled",
  30501. "font_class": "eye-slash-filled",
  30502. "unicode": "e6b4",
  30503. "unicode_decimal": 59060 },
  30504. {
  30505. "icon_id": "24923305",
  30506. "name": "info-filled",
  30507. "font_class": "info-filled",
  30508. "unicode": "e649",
  30509. "unicode_decimal": 58953 },
  30510. {
  30511. "icon_id": "24923299",
  30512. "name": "reload-01",
  30513. "font_class": "reload",
  30514. "unicode": "e6b2",
  30515. "unicode_decimal": 59058 },
  30516. {
  30517. "icon_id": "24923195",
  30518. "name": "mic_slash_fill",
  30519. "font_class": "micoff-filled",
  30520. "unicode": "e6b0",
  30521. "unicode_decimal": 59056 },
  30522. {
  30523. "icon_id": "24923165",
  30524. "name": "map-pin-ellipse",
  30525. "font_class": "map-pin-ellipse",
  30526. "unicode": "e6ac",
  30527. "unicode_decimal": 59052 },
  30528. {
  30529. "icon_id": "24923166",
  30530. "name": "map-pin",
  30531. "font_class": "map-pin",
  30532. "unicode": "e6ad",
  30533. "unicode_decimal": 59053 },
  30534. {
  30535. "icon_id": "24923167",
  30536. "name": "location",
  30537. "font_class": "location",
  30538. "unicode": "e6ae",
  30539. "unicode_decimal": 59054 },
  30540. {
  30541. "icon_id": "24923064",
  30542. "name": "starhalf",
  30543. "font_class": "starhalf",
  30544. "unicode": "e683",
  30545. "unicode_decimal": 59011 },
  30546. {
  30547. "icon_id": "24923065",
  30548. "name": "star",
  30549. "font_class": "star",
  30550. "unicode": "e688",
  30551. "unicode_decimal": 59016 },
  30552. {
  30553. "icon_id": "24923066",
  30554. "name": "star-filled",
  30555. "font_class": "star-filled",
  30556. "unicode": "e68f",
  30557. "unicode_decimal": 59023 },
  30558. {
  30559. "icon_id": "24899646",
  30560. "name": "a-rilidaka",
  30561. "font_class": "calendar",
  30562. "unicode": "e6a0",
  30563. "unicode_decimal": 59040 },
  30564. {
  30565. "icon_id": "24899647",
  30566. "name": "fire",
  30567. "font_class": "fire",
  30568. "unicode": "e6a1",
  30569. "unicode_decimal": 59041 },
  30570. {
  30571. "icon_id": "24899648",
  30572. "name": "paihangbang",
  30573. "font_class": "medal",
  30574. "unicode": "e6a2",
  30575. "unicode_decimal": 59042 },
  30576. {
  30577. "icon_id": "24899649",
  30578. "name": "font",
  30579. "font_class": "font",
  30580. "unicode": "e6a3",
  30581. "unicode_decimal": 59043 },
  30582. {
  30583. "icon_id": "24899650",
  30584. "name": "gift",
  30585. "font_class": "gift",
  30586. "unicode": "e6a4",
  30587. "unicode_decimal": 59044 },
  30588. {
  30589. "icon_id": "24899651",
  30590. "name": "link",
  30591. "font_class": "link",
  30592. "unicode": "e6a5",
  30593. "unicode_decimal": 59045 },
  30594. {
  30595. "icon_id": "24899652",
  30596. "name": "notification",
  30597. "font_class": "notification",
  30598. "unicode": "e6a6",
  30599. "unicode_decimal": 59046 },
  30600. {
  30601. "icon_id": "24899653",
  30602. "name": "staff",
  30603. "font_class": "staff",
  30604. "unicode": "e6a7",
  30605. "unicode_decimal": 59047 },
  30606. {
  30607. "icon_id": "24899654",
  30608. "name": "VIP",
  30609. "font_class": "vip",
  30610. "unicode": "e6a8",
  30611. "unicode_decimal": 59048 },
  30612. {
  30613. "icon_id": "24899655",
  30614. "name": "folder_add",
  30615. "font_class": "folder-add",
  30616. "unicode": "e6a9",
  30617. "unicode_decimal": 59049 },
  30618. {
  30619. "icon_id": "24899656",
  30620. "name": "tune",
  30621. "font_class": "tune",
  30622. "unicode": "e6aa",
  30623. "unicode_decimal": 59050 },
  30624. {
  30625. "icon_id": "24899657",
  30626. "name": "shimingrenzheng",
  30627. "font_class": "auth",
  30628. "unicode": "e6ab",
  30629. "unicode_decimal": 59051 },
  30630. {
  30631. "icon_id": "24899565",
  30632. "name": "person",
  30633. "font_class": "person",
  30634. "unicode": "e699",
  30635. "unicode_decimal": 59033 },
  30636. {
  30637. "icon_id": "24899566",
  30638. "name": "email-filled",
  30639. "font_class": "email-filled",
  30640. "unicode": "e69a",
  30641. "unicode_decimal": 59034 },
  30642. {
  30643. "icon_id": "24899567",
  30644. "name": "phone-filled",
  30645. "font_class": "phone-filled",
  30646. "unicode": "e69b",
  30647. "unicode_decimal": 59035 },
  30648. {
  30649. "icon_id": "24899568",
  30650. "name": "phone",
  30651. "font_class": "phone",
  30652. "unicode": "e69c",
  30653. "unicode_decimal": 59036 },
  30654. {
  30655. "icon_id": "24899570",
  30656. "name": "email",
  30657. "font_class": "email",
  30658. "unicode": "e69e",
  30659. "unicode_decimal": 59038 },
  30660. {
  30661. "icon_id": "24899571",
  30662. "name": "personadd",
  30663. "font_class": "personadd",
  30664. "unicode": "e69f",
  30665. "unicode_decimal": 59039 },
  30666. {
  30667. "icon_id": "24899558",
  30668. "name": "chatboxes-filled",
  30669. "font_class": "chatboxes-filled",
  30670. "unicode": "e692",
  30671. "unicode_decimal": 59026 },
  30672. {
  30673. "icon_id": "24899559",
  30674. "name": "contact",
  30675. "font_class": "contact",
  30676. "unicode": "e693",
  30677. "unicode_decimal": 59027 },
  30678. {
  30679. "icon_id": "24899560",
  30680. "name": "chatbubble-filled",
  30681. "font_class": "chatbubble-filled",
  30682. "unicode": "e694",
  30683. "unicode_decimal": 59028 },
  30684. {
  30685. "icon_id": "24899561",
  30686. "name": "contact-filled",
  30687. "font_class": "contact-filled",
  30688. "unicode": "e695",
  30689. "unicode_decimal": 59029 },
  30690. {
  30691. "icon_id": "24899562",
  30692. "name": "chatboxes",
  30693. "font_class": "chatboxes",
  30694. "unicode": "e696",
  30695. "unicode_decimal": 59030 },
  30696. {
  30697. "icon_id": "24899563",
  30698. "name": "chatbubble",
  30699. "font_class": "chatbubble",
  30700. "unicode": "e697",
  30701. "unicode_decimal": 59031 },
  30702. {
  30703. "icon_id": "24881290",
  30704. "name": "upload-filled",
  30705. "font_class": "upload-filled",
  30706. "unicode": "e68e",
  30707. "unicode_decimal": 59022 },
  30708. {
  30709. "icon_id": "24881292",
  30710. "name": "upload",
  30711. "font_class": "upload",
  30712. "unicode": "e690",
  30713. "unicode_decimal": 59024 },
  30714. {
  30715. "icon_id": "24881293",
  30716. "name": "weixin",
  30717. "font_class": "weixin",
  30718. "unicode": "e691",
  30719. "unicode_decimal": 59025 },
  30720. {
  30721. "icon_id": "24881274",
  30722. "name": "compose",
  30723. "font_class": "compose",
  30724. "unicode": "e67f",
  30725. "unicode_decimal": 59007 },
  30726. {
  30727. "icon_id": "24881275",
  30728. "name": "qq",
  30729. "font_class": "qq",
  30730. "unicode": "e680",
  30731. "unicode_decimal": 59008 },
  30732. {
  30733. "icon_id": "24881276",
  30734. "name": "download-filled",
  30735. "font_class": "download-filled",
  30736. "unicode": "e681",
  30737. "unicode_decimal": 59009 },
  30738. {
  30739. "icon_id": "24881277",
  30740. "name": "pengyouquan",
  30741. "font_class": "pyq",
  30742. "unicode": "e682",
  30743. "unicode_decimal": 59010 },
  30744. {
  30745. "icon_id": "24881279",
  30746. "name": "sound",
  30747. "font_class": "sound",
  30748. "unicode": "e684",
  30749. "unicode_decimal": 59012 },
  30750. {
  30751. "icon_id": "24881280",
  30752. "name": "trash-filled",
  30753. "font_class": "trash-filled",
  30754. "unicode": "e685",
  30755. "unicode_decimal": 59013 },
  30756. {
  30757. "icon_id": "24881281",
  30758. "name": "sound-filled",
  30759. "font_class": "sound-filled",
  30760. "unicode": "e686",
  30761. "unicode_decimal": 59014 },
  30762. {
  30763. "icon_id": "24881282",
  30764. "name": "trash",
  30765. "font_class": "trash",
  30766. "unicode": "e687",
  30767. "unicode_decimal": 59015 },
  30768. {
  30769. "icon_id": "24881284",
  30770. "name": "videocam-filled",
  30771. "font_class": "videocam-filled",
  30772. "unicode": "e689",
  30773. "unicode_decimal": 59017 },
  30774. {
  30775. "icon_id": "24881285",
  30776. "name": "spinner-cycle",
  30777. "font_class": "spinner-cycle",
  30778. "unicode": "e68a",
  30779. "unicode_decimal": 59018 },
  30780. {
  30781. "icon_id": "24881286",
  30782. "name": "weibo",
  30783. "font_class": "weibo",
  30784. "unicode": "e68b",
  30785. "unicode_decimal": 59019 },
  30786. {
  30787. "icon_id": "24881288",
  30788. "name": "videocam",
  30789. "font_class": "videocam",
  30790. "unicode": "e68c",
  30791. "unicode_decimal": 59020 },
  30792. {
  30793. "icon_id": "24881289",
  30794. "name": "download",
  30795. "font_class": "download",
  30796. "unicode": "e68d",
  30797. "unicode_decimal": 59021 },
  30798. {
  30799. "icon_id": "24879601",
  30800. "name": "help",
  30801. "font_class": "help",
  30802. "unicode": "e679",
  30803. "unicode_decimal": 59001 },
  30804. {
  30805. "icon_id": "24879602",
  30806. "name": "navigate-filled",
  30807. "font_class": "navigate-filled",
  30808. "unicode": "e67a",
  30809. "unicode_decimal": 59002 },
  30810. {
  30811. "icon_id": "24879603",
  30812. "name": "plusempty",
  30813. "font_class": "plusempty",
  30814. "unicode": "e67b",
  30815. "unicode_decimal": 59003 },
  30816. {
  30817. "icon_id": "24879604",
  30818. "name": "smallcircle",
  30819. "font_class": "smallcircle",
  30820. "unicode": "e67c",
  30821. "unicode_decimal": 59004 },
  30822. {
  30823. "icon_id": "24879605",
  30824. "name": "minus-filled",
  30825. "font_class": "minus-filled",
  30826. "unicode": "e67d",
  30827. "unicode_decimal": 59005 },
  30828. {
  30829. "icon_id": "24879606",
  30830. "name": "micoff",
  30831. "font_class": "micoff",
  30832. "unicode": "e67e",
  30833. "unicode_decimal": 59006 },
  30834. {
  30835. "icon_id": "24879588",
  30836. "name": "closeempty",
  30837. "font_class": "closeempty",
  30838. "unicode": "e66c",
  30839. "unicode_decimal": 58988 },
  30840. {
  30841. "icon_id": "24879589",
  30842. "name": "clear",
  30843. "font_class": "clear",
  30844. "unicode": "e66d",
  30845. "unicode_decimal": 58989 },
  30846. {
  30847. "icon_id": "24879590",
  30848. "name": "navigate",
  30849. "font_class": "navigate",
  30850. "unicode": "e66e",
  30851. "unicode_decimal": 58990 },
  30852. {
  30853. "icon_id": "24879591",
  30854. "name": "minus",
  30855. "font_class": "minus",
  30856. "unicode": "e66f",
  30857. "unicode_decimal": 58991 },
  30858. {
  30859. "icon_id": "24879592",
  30860. "name": "image",
  30861. "font_class": "image",
  30862. "unicode": "e670",
  30863. "unicode_decimal": 58992 },
  30864. {
  30865. "icon_id": "24879593",
  30866. "name": "mic",
  30867. "font_class": "mic",
  30868. "unicode": "e671",
  30869. "unicode_decimal": 58993 },
  30870. {
  30871. "icon_id": "24879594",
  30872. "name": "paperplane",
  30873. "font_class": "paperplane",
  30874. "unicode": "e672",
  30875. "unicode_decimal": 58994 },
  30876. {
  30877. "icon_id": "24879595",
  30878. "name": "close",
  30879. "font_class": "close",
  30880. "unicode": "e673",
  30881. "unicode_decimal": 58995 },
  30882. {
  30883. "icon_id": "24879596",
  30884. "name": "help-filled",
  30885. "font_class": "help-filled",
  30886. "unicode": "e674",
  30887. "unicode_decimal": 58996 },
  30888. {
  30889. "icon_id": "24879597",
  30890. "name": "plus-filled",
  30891. "font_class": "paperplane-filled",
  30892. "unicode": "e675",
  30893. "unicode_decimal": 58997 },
  30894. {
  30895. "icon_id": "24879598",
  30896. "name": "plus",
  30897. "font_class": "plus",
  30898. "unicode": "e676",
  30899. "unicode_decimal": 58998 },
  30900. {
  30901. "icon_id": "24879599",
  30902. "name": "mic-filled",
  30903. "font_class": "mic-filled",
  30904. "unicode": "e677",
  30905. "unicode_decimal": 58999 },
  30906. {
  30907. "icon_id": "24879600",
  30908. "name": "image-filled",
  30909. "font_class": "image-filled",
  30910. "unicode": "e678",
  30911. "unicode_decimal": 59000 },
  30912. {
  30913. "icon_id": "24855900",
  30914. "name": "locked-filled",
  30915. "font_class": "locked-filled",
  30916. "unicode": "e668",
  30917. "unicode_decimal": 58984 },
  30918. {
  30919. "icon_id": "24855901",
  30920. "name": "info",
  30921. "font_class": "info",
  30922. "unicode": "e669",
  30923. "unicode_decimal": 58985 },
  30924. {
  30925. "icon_id": "24855903",
  30926. "name": "locked",
  30927. "font_class": "locked",
  30928. "unicode": "e66b",
  30929. "unicode_decimal": 58987 },
  30930. {
  30931. "icon_id": "24855884",
  30932. "name": "camera-filled",
  30933. "font_class": "camera-filled",
  30934. "unicode": "e658",
  30935. "unicode_decimal": 58968 },
  30936. {
  30937. "icon_id": "24855885",
  30938. "name": "chat-filled",
  30939. "font_class": "chat-filled",
  30940. "unicode": "e659",
  30941. "unicode_decimal": 58969 },
  30942. {
  30943. "icon_id": "24855886",
  30944. "name": "camera",
  30945. "font_class": "camera",
  30946. "unicode": "e65a",
  30947. "unicode_decimal": 58970 },
  30948. {
  30949. "icon_id": "24855887",
  30950. "name": "circle",
  30951. "font_class": "circle",
  30952. "unicode": "e65b",
  30953. "unicode_decimal": 58971 },
  30954. {
  30955. "icon_id": "24855888",
  30956. "name": "checkmarkempty",
  30957. "font_class": "checkmarkempty",
  30958. "unicode": "e65c",
  30959. "unicode_decimal": 58972 },
  30960. {
  30961. "icon_id": "24855889",
  30962. "name": "chat",
  30963. "font_class": "chat",
  30964. "unicode": "e65d",
  30965. "unicode_decimal": 58973 },
  30966. {
  30967. "icon_id": "24855890",
  30968. "name": "circle-filled",
  30969. "font_class": "circle-filled",
  30970. "unicode": "e65e",
  30971. "unicode_decimal": 58974 },
  30972. {
  30973. "icon_id": "24855891",
  30974. "name": "flag",
  30975. "font_class": "flag",
  30976. "unicode": "e65f",
  30977. "unicode_decimal": 58975 },
  30978. {
  30979. "icon_id": "24855892",
  30980. "name": "flag-filled",
  30981. "font_class": "flag-filled",
  30982. "unicode": "e660",
  30983. "unicode_decimal": 58976 },
  30984. {
  30985. "icon_id": "24855893",
  30986. "name": "gear-filled",
  30987. "font_class": "gear-filled",
  30988. "unicode": "e661",
  30989. "unicode_decimal": 58977 },
  30990. {
  30991. "icon_id": "24855894",
  30992. "name": "home",
  30993. "font_class": "home",
  30994. "unicode": "e662",
  30995. "unicode_decimal": 58978 },
  30996. {
  30997. "icon_id": "24855895",
  30998. "name": "home-filled",
  30999. "font_class": "home-filled",
  31000. "unicode": "e663",
  31001. "unicode_decimal": 58979 },
  31002. {
  31003. "icon_id": "24855896",
  31004. "name": "gear",
  31005. "font_class": "gear",
  31006. "unicode": "e664",
  31007. "unicode_decimal": 58980 },
  31008. {
  31009. "icon_id": "24855897",
  31010. "name": "smallcircle-filled",
  31011. "font_class": "smallcircle-filled",
  31012. "unicode": "e665",
  31013. "unicode_decimal": 58981 },
  31014. {
  31015. "icon_id": "24855898",
  31016. "name": "map-filled",
  31017. "font_class": "map-filled",
  31018. "unicode": "e666",
  31019. "unicode_decimal": 58982 },
  31020. {
  31021. "icon_id": "24855899",
  31022. "name": "map",
  31023. "font_class": "map",
  31024. "unicode": "e667",
  31025. "unicode_decimal": 58983 },
  31026. {
  31027. "icon_id": "24855825",
  31028. "name": "refresh-filled",
  31029. "font_class": "refresh-filled",
  31030. "unicode": "e656",
  31031. "unicode_decimal": 58966 },
  31032. {
  31033. "icon_id": "24855826",
  31034. "name": "refresh",
  31035. "font_class": "refresh",
  31036. "unicode": "e657",
  31037. "unicode_decimal": 58967 },
  31038. {
  31039. "icon_id": "24855808",
  31040. "name": "cloud-upload",
  31041. "font_class": "cloud-upload",
  31042. "unicode": "e645",
  31043. "unicode_decimal": 58949 },
  31044. {
  31045. "icon_id": "24855809",
  31046. "name": "cloud-download-filled",
  31047. "font_class": "cloud-download-filled",
  31048. "unicode": "e646",
  31049. "unicode_decimal": 58950 },
  31050. {
  31051. "icon_id": "24855810",
  31052. "name": "cloud-download",
  31053. "font_class": "cloud-download",
  31054. "unicode": "e647",
  31055. "unicode_decimal": 58951 },
  31056. {
  31057. "icon_id": "24855811",
  31058. "name": "cloud-upload-filled",
  31059. "font_class": "cloud-upload-filled",
  31060. "unicode": "e648",
  31061. "unicode_decimal": 58952 },
  31062. {
  31063. "icon_id": "24855813",
  31064. "name": "redo",
  31065. "font_class": "redo",
  31066. "unicode": "e64a",
  31067. "unicode_decimal": 58954 },
  31068. {
  31069. "icon_id": "24855814",
  31070. "name": "images-filled",
  31071. "font_class": "images-filled",
  31072. "unicode": "e64b",
  31073. "unicode_decimal": 58955 },
  31074. {
  31075. "icon_id": "24855815",
  31076. "name": "undo-filled",
  31077. "font_class": "undo-filled",
  31078. "unicode": "e64c",
  31079. "unicode_decimal": 58956 },
  31080. {
  31081. "icon_id": "24855816",
  31082. "name": "more",
  31083. "font_class": "more",
  31084. "unicode": "e64d",
  31085. "unicode_decimal": 58957 },
  31086. {
  31087. "icon_id": "24855817",
  31088. "name": "more-filled",
  31089. "font_class": "more-filled",
  31090. "unicode": "e64e",
  31091. "unicode_decimal": 58958 },
  31092. {
  31093. "icon_id": "24855818",
  31094. "name": "undo",
  31095. "font_class": "undo",
  31096. "unicode": "e64f",
  31097. "unicode_decimal": 58959 },
  31098. {
  31099. "icon_id": "24855819",
  31100. "name": "images",
  31101. "font_class": "images",
  31102. "unicode": "e650",
  31103. "unicode_decimal": 58960 },
  31104. {
  31105. "icon_id": "24855821",
  31106. "name": "paperclip",
  31107. "font_class": "paperclip",
  31108. "unicode": "e652",
  31109. "unicode_decimal": 58962 },
  31110. {
  31111. "icon_id": "24855822",
  31112. "name": "settings",
  31113. "font_class": "settings",
  31114. "unicode": "e653",
  31115. "unicode_decimal": 58963 },
  31116. {
  31117. "icon_id": "24855823",
  31118. "name": "search",
  31119. "font_class": "search",
  31120. "unicode": "e654",
  31121. "unicode_decimal": 58964 },
  31122. {
  31123. "icon_id": "24855824",
  31124. "name": "redo-filled",
  31125. "font_class": "redo-filled",
  31126. "unicode": "e655",
  31127. "unicode_decimal": 58965 },
  31128. {
  31129. "icon_id": "24841702",
  31130. "name": "list",
  31131. "font_class": "list",
  31132. "unicode": "e644",
  31133. "unicode_decimal": 58948 },
  31134. {
  31135. "icon_id": "24841489",
  31136. "name": "mail-open-filled",
  31137. "font_class": "mail-open-filled",
  31138. "unicode": "e63a",
  31139. "unicode_decimal": 58938 },
  31140. {
  31141. "icon_id": "24841491",
  31142. "name": "hand-thumbsdown-filled",
  31143. "font_class": "hand-down-filled",
  31144. "unicode": "e63c",
  31145. "unicode_decimal": 58940 },
  31146. {
  31147. "icon_id": "24841492",
  31148. "name": "hand-thumbsdown",
  31149. "font_class": "hand-down",
  31150. "unicode": "e63d",
  31151. "unicode_decimal": 58941 },
  31152. {
  31153. "icon_id": "24841493",
  31154. "name": "hand-thumbsup-filled",
  31155. "font_class": "hand-up-filled",
  31156. "unicode": "e63e",
  31157. "unicode_decimal": 58942 },
  31158. {
  31159. "icon_id": "24841494",
  31160. "name": "hand-thumbsup",
  31161. "font_class": "hand-up",
  31162. "unicode": "e63f",
  31163. "unicode_decimal": 58943 },
  31164. {
  31165. "icon_id": "24841496",
  31166. "name": "heart-filled",
  31167. "font_class": "heart-filled",
  31168. "unicode": "e641",
  31169. "unicode_decimal": 58945 },
  31170. {
  31171. "icon_id": "24841498",
  31172. "name": "mail-open",
  31173. "font_class": "mail-open",
  31174. "unicode": "e643",
  31175. "unicode_decimal": 58947 },
  31176. {
  31177. "icon_id": "24841488",
  31178. "name": "heart",
  31179. "font_class": "heart",
  31180. "unicode": "e639",
  31181. "unicode_decimal": 58937 },
  31182. {
  31183. "icon_id": "24839963",
  31184. "name": "loop",
  31185. "font_class": "loop",
  31186. "unicode": "e633",
  31187. "unicode_decimal": 58931 },
  31188. {
  31189. "icon_id": "24839866",
  31190. "name": "pulldown",
  31191. "font_class": "pulldown",
  31192. "unicode": "e632",
  31193. "unicode_decimal": 58930 },
  31194. {
  31195. "icon_id": "24813798",
  31196. "name": "scan",
  31197. "font_class": "scan",
  31198. "unicode": "e62a",
  31199. "unicode_decimal": 58922 },
  31200. {
  31201. "icon_id": "24813786",
  31202. "name": "bars",
  31203. "font_class": "bars",
  31204. "unicode": "e627",
  31205. "unicode_decimal": 58919 },
  31206. {
  31207. "icon_id": "24813788",
  31208. "name": "cart-filled",
  31209. "font_class": "cart-filled",
  31210. "unicode": "e629",
  31211. "unicode_decimal": 58921 },
  31212. {
  31213. "icon_id": "24813790",
  31214. "name": "checkbox",
  31215. "font_class": "checkbox",
  31216. "unicode": "e62b",
  31217. "unicode_decimal": 58923 },
  31218. {
  31219. "icon_id": "24813791",
  31220. "name": "checkbox-filled",
  31221. "font_class": "checkbox-filled",
  31222. "unicode": "e62c",
  31223. "unicode_decimal": 58924 },
  31224. {
  31225. "icon_id": "24813794",
  31226. "name": "shop",
  31227. "font_class": "shop",
  31228. "unicode": "e62f",
  31229. "unicode_decimal": 58927 },
  31230. {
  31231. "icon_id": "24813795",
  31232. "name": "headphones",
  31233. "font_class": "headphones",
  31234. "unicode": "e630",
  31235. "unicode_decimal": 58928 },
  31236. {
  31237. "icon_id": "24813796",
  31238. "name": "cart",
  31239. "font_class": "cart",
  31240. "unicode": "e631",
  31241. "unicode_decimal": 58929 }] };exports.default = _default;
  31242. /***/ }),
  31243. /* 358 */,
  31244. /* 359 */,
  31245. /* 360 */,
  31246. /* 361 */
  31247. /*!********************************************************************************************************************************!*\
  31248. !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js ***!
  31249. \********************************************************************************************************************************/
  31250. /*! no static exports found */
  31251. /***/ (function(module, exports, __webpack_require__) {
  31252. "use strict";
  31253. Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0; // mescroll-body 和 mescroll-uni 通用
  31254. var MescrollMixin = {
  31255. data: function data() {
  31256. return {
  31257. mescroll: null //mescroll实例对象
  31258. };
  31259. },
  31260. // 注册系统自带的下拉刷新 (配置down.native为true时生效, 还需在pages配置enablePullDownRefresh:true;详请参考mescroll-native的案例)
  31261. onPullDownRefresh: function onPullDownRefresh() {
  31262. this.mescroll && this.mescroll.onPullDownRefresh();
  31263. },
  31264. // 注册列表滚动事件,用于判定在顶部可下拉刷新,在指定位置可显示隐藏回到顶部按钮 (此方法为页面生命周期,无法在子组件中触发, 仅在mescroll-body生效)
  31265. onPageScroll: function onPageScroll(e) {
  31266. this.mescroll && this.mescroll.onPageScroll(e);
  31267. },
  31268. // 注册滚动到底部的事件,用于上拉加载 (此方法为页面生命周期,无法在子组件中触发, 仅在mescroll-body生效)
  31269. onReachBottom: function onReachBottom() {
  31270. this.mescroll && this.mescroll.onReachBottom();
  31271. },
  31272. methods: {
  31273. // mescroll组件初始化的回调,可获取到mescroll对象
  31274. mescrollInit: function mescrollInit(mescroll) {
  31275. this.mescroll = mescroll;
  31276. this.mescrollInitByRef(); // 兼容字节跳动小程序
  31277. },
  31278. // 以ref的方式初始化mescroll对象 (兼容字节跳动小程序)
  31279. mescrollInitByRef: function mescrollInitByRef() {
  31280. if (!this.mescroll || !this.mescroll.resetUpScroll) {
  31281. var mescrollRef = this.$refs.mescrollRef;
  31282. if (mescrollRef) this.mescroll = mescrollRef.mescroll;
  31283. }
  31284. },
  31285. // 下拉刷新的回调 (mixin默认resetUpScroll)
  31286. downCallback: function downCallback() {var _this = this;
  31287. if (this.mescroll.optUp.use) {
  31288. this.mescroll.resetUpScroll();
  31289. } else {
  31290. setTimeout(function () {
  31291. _this.mescroll.endSuccess();
  31292. }, 500);
  31293. }
  31294. },
  31295. // 上拉加载的回调
  31296. upCallback: function upCallback() {var _this2 = this;
  31297. // mixin默认延时500自动结束加载
  31298. setTimeout(function () {
  31299. _this2.mescroll.endErr();
  31300. }, 500);
  31301. } },
  31302. mounted: function mounted() {
  31303. this.mescrollInitByRef(); // 兼容字节跳动小程序, 避免未设置@init或@init此时未能取到ref的情况
  31304. } };var _default =
  31305. MescrollMixin;exports.default = _default;
  31306. /***/ })
  31307. ]]);
  31308. //# sourceMappingURL=../../.sourcemap/mp-weixin/common/vendor.js.map