vendor.js 1.0 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067
  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__2080341",
  644. appName: "扫码点餐",
  645. appVersion: "1.0.8",
  646. appVersionCode: "108",
  647. appLanguage: getAppLanguage(hostLanguage),
  648. uniCompileVersion: "3.6.4",
  649. uniRuntimeVersion: "3.6.4",
  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__2080341",
  737. appName: "扫码点餐",
  738. appVersion: "1.0.8",
  739. appVersionCode: "108",
  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. // 事件名统一转驼峰格式,仅处理:当前组件为 vue 组件、当前组件为 vue 组件子组件
  1084. if (this.$vm || this.dataset && this.dataset.comType) {
  1085. event = customize(event);
  1086. } else {
  1087. // 针对微信/QQ小程序单独补充驼峰格式事件,以兼容历史项目
  1088. var newEvent = customize(event);
  1089. if (newEvent !== event) {
  1090. oldTriggerEvent.apply(this, [newEvent].concat(args));
  1091. }
  1092. }
  1093. return oldTriggerEvent.apply(this, [event].concat(args));
  1094. };
  1095. try {
  1096. // 京东小程序 triggerEvent 为只读
  1097. mpInstance.triggerEvent = newTriggerEvent;
  1098. } catch (error) {
  1099. mpInstance._triggerEvent = newTriggerEvent;
  1100. }
  1101. }
  1102. function initHook(name, options, isComponent) {
  1103. var oldHook = options[name];
  1104. if (!oldHook) {
  1105. options[name] = function () {
  1106. initTriggerEvent(this);
  1107. };
  1108. } else {
  1109. options[name] = function () {
  1110. initTriggerEvent(this);for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {args[_key4] = arguments[_key4];}
  1111. return oldHook.apply(this, args);
  1112. };
  1113. }
  1114. }
  1115. if (!MPPage.__$wrappered) {
  1116. MPPage.__$wrappered = true;
  1117. Page = function Page() {var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  1118. initHook('onLoad', options);
  1119. return MPPage(options);
  1120. };
  1121. Page.after = MPPage.after;
  1122. Component = function Component() {var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  1123. initHook('created', options);
  1124. return MPComponent(options);
  1125. };
  1126. }
  1127. var PAGE_EVENT_HOOKS = [
  1128. 'onPullDownRefresh',
  1129. 'onReachBottom',
  1130. 'onAddToFavorites',
  1131. 'onShareTimeline',
  1132. 'onShareAppMessage',
  1133. 'onPageScroll',
  1134. 'onResize',
  1135. 'onTabItemTap'];
  1136. function initMocks(vm, mocks) {
  1137. var mpInstance = vm.$mp[vm.mpType];
  1138. mocks.forEach(function (mock) {
  1139. if (hasOwn(mpInstance, mock)) {
  1140. vm[mock] = mpInstance[mock];
  1141. }
  1142. });
  1143. }
  1144. function hasHook(hook, vueOptions) {
  1145. if (!vueOptions) {
  1146. return true;
  1147. }
  1148. if (_vue.default.options && Array.isArray(_vue.default.options[hook])) {
  1149. return true;
  1150. }
  1151. vueOptions = vueOptions.default || vueOptions;
  1152. if (isFn(vueOptions)) {
  1153. if (isFn(vueOptions.extendOptions[hook])) {
  1154. return true;
  1155. }
  1156. if (vueOptions.super &&
  1157. vueOptions.super.options &&
  1158. Array.isArray(vueOptions.super.options[hook])) {
  1159. return true;
  1160. }
  1161. return false;
  1162. }
  1163. if (isFn(vueOptions[hook])) {
  1164. return true;
  1165. }
  1166. var mixins = vueOptions.mixins;
  1167. if (Array.isArray(mixins)) {
  1168. return !!mixins.find(function (mixin) {return hasHook(hook, mixin);});
  1169. }
  1170. }
  1171. function initHooks(mpOptions, hooks, vueOptions) {
  1172. hooks.forEach(function (hook) {
  1173. if (hasHook(hook, vueOptions)) {
  1174. mpOptions[hook] = function (args) {
  1175. return this.$vm && this.$vm.__call_hook(hook, args);
  1176. };
  1177. }
  1178. });
  1179. }
  1180. function initUnknownHooks(mpOptions, vueOptions) {var excludes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
  1181. findHooks(vueOptions).forEach(function (hook) {return initHook$1(mpOptions, hook, excludes);});
  1182. }
  1183. function findHooks(vueOptions) {var hooks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
  1184. if (vueOptions) {
  1185. Object.keys(vueOptions).forEach(function (name) {
  1186. if (name.indexOf('on') === 0 && isFn(vueOptions[name])) {
  1187. hooks.push(name);
  1188. }
  1189. });
  1190. }
  1191. return hooks;
  1192. }
  1193. function initHook$1(mpOptions, hook, excludes) {
  1194. if (excludes.indexOf(hook) === -1 && !hasOwn(mpOptions, hook)) {
  1195. mpOptions[hook] = function (args) {
  1196. return this.$vm && this.$vm.__call_hook(hook, args);
  1197. };
  1198. }
  1199. }
  1200. function initVueComponent(Vue, vueOptions) {
  1201. vueOptions = vueOptions.default || vueOptions;
  1202. var VueComponent;
  1203. if (isFn(vueOptions)) {
  1204. VueComponent = vueOptions;
  1205. } else {
  1206. VueComponent = Vue.extend(vueOptions);
  1207. }
  1208. vueOptions = VueComponent.options;
  1209. return [VueComponent, vueOptions];
  1210. }
  1211. function initSlots(vm, vueSlots) {
  1212. if (Array.isArray(vueSlots) && vueSlots.length) {
  1213. var $slots = Object.create(null);
  1214. vueSlots.forEach(function (slotName) {
  1215. $slots[slotName] = true;
  1216. });
  1217. vm.$scopedSlots = vm.$slots = $slots;
  1218. }
  1219. }
  1220. function initVueIds(vueIds, mpInstance) {
  1221. vueIds = (vueIds || '').split(',');
  1222. var len = vueIds.length;
  1223. if (len === 1) {
  1224. mpInstance._$vueId = vueIds[0];
  1225. } else if (len === 2) {
  1226. mpInstance._$vueId = vueIds[0];
  1227. mpInstance._$vuePid = vueIds[1];
  1228. }
  1229. }
  1230. function initData(vueOptions, context) {
  1231. var data = vueOptions.data || {};
  1232. var methods = vueOptions.methods || {};
  1233. if (typeof data === 'function') {
  1234. try {
  1235. data = data.call(context); // 支持 Vue.prototype 上挂的数据
  1236. } catch (e) {
  1237. if (Object({"NODE_ENV":"development","VUE_APP_NAME":"扫码点餐","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG) {
  1238. console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data);
  1239. }
  1240. }
  1241. } else {
  1242. try {
  1243. // 对 data 格式化
  1244. data = JSON.parse(JSON.stringify(data));
  1245. } catch (e) {}
  1246. }
  1247. if (!isPlainObject(data)) {
  1248. data = {};
  1249. }
  1250. Object.keys(methods).forEach(function (methodName) {
  1251. if (context.__lifecycle_hooks__.indexOf(methodName) === -1 && !hasOwn(data, methodName)) {
  1252. data[methodName] = methods[methodName];
  1253. }
  1254. });
  1255. return data;
  1256. }
  1257. var PROP_TYPES = [String, Number, Boolean, Object, Array, null];
  1258. function createObserver(name) {
  1259. return function observer(newVal, oldVal) {
  1260. if (this.$vm) {
  1261. this.$vm[name] = newVal; // 为了触发其他非 render watcher
  1262. }
  1263. };
  1264. }
  1265. function initBehaviors(vueOptions, initBehavior) {
  1266. var vueBehaviors = vueOptions.behaviors;
  1267. var vueExtends = vueOptions.extends;
  1268. var vueMixins = vueOptions.mixins;
  1269. var vueProps = vueOptions.props;
  1270. if (!vueProps) {
  1271. vueOptions.props = vueProps = [];
  1272. }
  1273. var behaviors = [];
  1274. if (Array.isArray(vueBehaviors)) {
  1275. vueBehaviors.forEach(function (behavior) {
  1276. behaviors.push(behavior.replace('uni://', "wx".concat("://")));
  1277. if (behavior === 'uni://form-field') {
  1278. if (Array.isArray(vueProps)) {
  1279. vueProps.push('name');
  1280. vueProps.push('value');
  1281. } else {
  1282. vueProps.name = {
  1283. type: String,
  1284. default: '' };
  1285. vueProps.value = {
  1286. type: [String, Number, Boolean, Array, Object, Date],
  1287. default: '' };
  1288. }
  1289. }
  1290. });
  1291. }
  1292. if (isPlainObject(vueExtends) && vueExtends.props) {
  1293. behaviors.push(
  1294. initBehavior({
  1295. properties: initProperties(vueExtends.props, true) }));
  1296. }
  1297. if (Array.isArray(vueMixins)) {
  1298. vueMixins.forEach(function (vueMixin) {
  1299. if (isPlainObject(vueMixin) && vueMixin.props) {
  1300. behaviors.push(
  1301. initBehavior({
  1302. properties: initProperties(vueMixin.props, true) }));
  1303. }
  1304. });
  1305. }
  1306. return behaviors;
  1307. }
  1308. function parsePropType(key, type, defaultValue, file) {
  1309. // [String]=>String
  1310. if (Array.isArray(type) && type.length === 1) {
  1311. return type[0];
  1312. }
  1313. return type;
  1314. }
  1315. 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;
  1316. var properties = {};
  1317. if (!isBehavior) {
  1318. properties.vueId = {
  1319. type: String,
  1320. value: '' };
  1321. {
  1322. if (options.virtualHost) {
  1323. properties.virtualHostStyle = {
  1324. type: null,
  1325. value: '' };
  1326. properties.virtualHostClass = {
  1327. type: null,
  1328. value: '' };
  1329. }
  1330. }
  1331. // scopedSlotsCompiler auto
  1332. properties.scopedSlotsCompiler = {
  1333. type: String,
  1334. value: '' };
  1335. properties.vueSlots = { // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots
  1336. type: null,
  1337. value: [],
  1338. observer: function observer(newVal, oldVal) {
  1339. var $slots = Object.create(null);
  1340. newVal.forEach(function (slotName) {
  1341. $slots[slotName] = true;
  1342. });
  1343. this.setData({
  1344. $slots: $slots });
  1345. } };
  1346. }
  1347. if (Array.isArray(props)) {// ['title']
  1348. props.forEach(function (key) {
  1349. properties[key] = {
  1350. type: null,
  1351. observer: createObserver(key) };
  1352. });
  1353. } else if (isPlainObject(props)) {// {title:{type:String,default:''},content:String}
  1354. Object.keys(props).forEach(function (key) {
  1355. var opts = props[key];
  1356. if (isPlainObject(opts)) {// title:{type:String,default:''}
  1357. var value = opts.default;
  1358. if (isFn(value)) {
  1359. value = value();
  1360. }
  1361. opts.type = parsePropType(key, opts.type);
  1362. properties[key] = {
  1363. type: PROP_TYPES.indexOf(opts.type) !== -1 ? opts.type : null,
  1364. value: value,
  1365. observer: createObserver(key) };
  1366. } else {// content:String
  1367. var type = parsePropType(key, opts);
  1368. properties[key] = {
  1369. type: PROP_TYPES.indexOf(type) !== -1 ? type : null,
  1370. observer: createObserver(key) };
  1371. }
  1372. });
  1373. }
  1374. return properties;
  1375. }
  1376. function wrapper$1(event) {
  1377. // TODO 又得兼容 mpvue 的 mp 对象
  1378. try {
  1379. event.mp = JSON.parse(JSON.stringify(event));
  1380. } catch (e) {}
  1381. event.stopPropagation = noop;
  1382. event.preventDefault = noop;
  1383. event.target = event.target || {};
  1384. if (!hasOwn(event, 'detail')) {
  1385. event.detail = {};
  1386. }
  1387. if (hasOwn(event, 'markerId')) {
  1388. event.detail = typeof event.detail === 'object' ? event.detail : {};
  1389. event.detail.markerId = event.markerId;
  1390. }
  1391. if (isPlainObject(event.detail)) {
  1392. event.target = Object.assign({}, event.target, event.detail);
  1393. }
  1394. return event;
  1395. }
  1396. function getExtraValue(vm, dataPathsArray) {
  1397. var context = vm;
  1398. dataPathsArray.forEach(function (dataPathArray) {
  1399. var dataPath = dataPathArray[0];
  1400. var value = dataPathArray[2];
  1401. if (dataPath || typeof value !== 'undefined') {// ['','',index,'disable']
  1402. var propPath = dataPathArray[1];
  1403. var valuePath = dataPathArray[3];
  1404. var vFor;
  1405. if (Number.isInteger(dataPath)) {
  1406. vFor = dataPath;
  1407. } else if (!dataPath) {
  1408. vFor = context;
  1409. } else if (typeof dataPath === 'string' && dataPath) {
  1410. if (dataPath.indexOf('#s#') === 0) {
  1411. vFor = dataPath.substr(3);
  1412. } else {
  1413. vFor = vm.__get_value(dataPath, context);
  1414. }
  1415. }
  1416. if (Number.isInteger(vFor)) {
  1417. context = value;
  1418. } else if (!propPath) {
  1419. context = vFor[value];
  1420. } else {
  1421. if (Array.isArray(vFor)) {
  1422. context = vFor.find(function (vForItem) {
  1423. return vm.__get_value(propPath, vForItem) === value;
  1424. });
  1425. } else if (isPlainObject(vFor)) {
  1426. context = Object.keys(vFor).find(function (vForKey) {
  1427. return vm.__get_value(propPath, vFor[vForKey]) === value;
  1428. });
  1429. } else {
  1430. console.error('v-for 暂不支持循环数据:', vFor);
  1431. }
  1432. }
  1433. if (valuePath) {
  1434. context = vm.__get_value(valuePath, context);
  1435. }
  1436. }
  1437. });
  1438. return context;
  1439. }
  1440. function processEventExtra(vm, extra, event, __args__) {
  1441. var extraObj = {};
  1442. if (Array.isArray(extra) && extra.length) {
  1443. /**
  1444. *[
  1445. * ['data.items', 'data.id', item.data.id],
  1446. * ['metas', 'id', meta.id]
  1447. *],
  1448. *[
  1449. * ['data.items', 'data.id', item.data.id],
  1450. * ['metas', 'id', meta.id]
  1451. *],
  1452. *'test'
  1453. */
  1454. extra.forEach(function (dataPath, index) {
  1455. if (typeof dataPath === 'string') {
  1456. if (!dataPath) {// model,prop.sync
  1457. extraObj['$' + index] = vm;
  1458. } else {
  1459. if (dataPath === '$event') {// $event
  1460. extraObj['$' + index] = event;
  1461. } else if (dataPath === 'arguments') {
  1462. extraObj['$' + index] = event.detail ? event.detail.__args__ || __args__ : __args__;
  1463. } else if (dataPath.indexOf('$event.') === 0) {// $event.target.value
  1464. extraObj['$' + index] = vm.__get_value(dataPath.replace('$event.', ''), event);
  1465. } else {
  1466. extraObj['$' + index] = vm.__get_value(dataPath);
  1467. }
  1468. }
  1469. } else {
  1470. extraObj['$' + index] = getExtraValue(vm, dataPath);
  1471. }
  1472. });
  1473. }
  1474. return extraObj;
  1475. }
  1476. function getObjByArray(arr) {
  1477. var obj = {};
  1478. for (var i = 1; i < arr.length; i++) {
  1479. var element = arr[i];
  1480. obj[element[0]] = element[1];
  1481. }
  1482. return obj;
  1483. }
  1484. 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;
  1485. var isCustomMPEvent = false; // wxcomponent 组件,传递原始 event 对象
  1486. // fixed 用户直接触发 mpInstance.triggerEvent
  1487. var __args__ = isPlainObject(event.detail) ?
  1488. event.detail.__args__ || [event.detail] :
  1489. [event.detail];
  1490. if (isCustom) {// 自定义事件
  1491. isCustomMPEvent = event.currentTarget &&
  1492. event.currentTarget.dataset &&
  1493. event.currentTarget.dataset.comType === 'wx';
  1494. if (!args.length) {// 无参数,直接传入 event 或 detail 数组
  1495. if (isCustomMPEvent) {
  1496. return [event];
  1497. }
  1498. return __args__;
  1499. }
  1500. }
  1501. var extraObj = processEventExtra(vm, extra, event, __args__);
  1502. var ret = [];
  1503. args.forEach(function (arg) {
  1504. if (arg === '$event') {
  1505. if (methodName === '__set_model' && !isCustom) {// input v-model value
  1506. ret.push(event.target.value);
  1507. } else {
  1508. if (isCustom && !isCustomMPEvent) {
  1509. ret.push(__args__[0]);
  1510. } else {// wxcomponent 组件或内置组件
  1511. ret.push(event);
  1512. }
  1513. }
  1514. } else {
  1515. if (Array.isArray(arg) && arg[0] === 'o') {
  1516. ret.push(getObjByArray(arg));
  1517. } else if (typeof arg === 'string' && hasOwn(extraObj, arg)) {
  1518. ret.push(extraObj[arg]);
  1519. } else {
  1520. ret.push(arg);
  1521. }
  1522. }
  1523. });
  1524. return ret;
  1525. }
  1526. var ONCE = '~';
  1527. var CUSTOM = '^';
  1528. function isMatchEventType(eventType, optType) {
  1529. return eventType === optType ||
  1530. optType === 'regionchange' && (
  1531. eventType === 'begin' ||
  1532. eventType === 'end');
  1533. }
  1534. function getContextVm(vm) {
  1535. var $parent = vm.$parent;
  1536. // 父组件是 scoped slots 或者其他自定义组件时继续查找
  1537. while ($parent && $parent.$parent && ($parent.$options.generic || $parent.$parent.$options.generic || $parent.$scope._$vuePid)) {
  1538. $parent = $parent.$parent;
  1539. }
  1540. return $parent && $parent.$parent;
  1541. }
  1542. function handleEvent(event) {var _this2 = this;
  1543. event = wrapper$1(event);
  1544. // [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]
  1545. var dataset = (event.currentTarget || event.target).dataset;
  1546. if (!dataset) {
  1547. return console.warn('事件信息不存在');
  1548. }
  1549. var eventOpts = dataset.eventOpts || dataset['event-opts']; // 支付宝 web-view 组件 dataset 非驼峰
  1550. if (!eventOpts) {
  1551. return console.warn('事件信息不存在');
  1552. }
  1553. // [['handle',[1,2,a]],['handle1',[1,2,a]]]
  1554. var eventType = event.type;
  1555. var ret = [];
  1556. eventOpts.forEach(function (eventOpt) {
  1557. var type = eventOpt[0];
  1558. var eventsArray = eventOpt[1];
  1559. var isCustom = type.charAt(0) === CUSTOM;
  1560. type = isCustom ? type.slice(1) : type;
  1561. var isOnce = type.charAt(0) === ONCE;
  1562. type = isOnce ? type.slice(1) : type;
  1563. if (eventsArray && isMatchEventType(eventType, type)) {
  1564. eventsArray.forEach(function (eventArray) {
  1565. var methodName = eventArray[0];
  1566. if (methodName) {
  1567. var handlerCtx = _this2.$vm;
  1568. if (handlerCtx.$options.generic) {// mp-weixin,mp-toutiao 抽象节点模拟 scoped slots
  1569. handlerCtx = getContextVm(handlerCtx) || handlerCtx;
  1570. }
  1571. if (methodName === '$emit') {
  1572. handlerCtx.$emit.apply(handlerCtx,
  1573. processEventArgs(
  1574. _this2.$vm,
  1575. event,
  1576. eventArray[1],
  1577. eventArray[2],
  1578. isCustom,
  1579. methodName));
  1580. return;
  1581. }
  1582. var handler = handlerCtx[methodName];
  1583. if (!isFn(handler)) {
  1584. var _type = _this2.$vm.mpType === 'page' ? 'Page' : 'Component';
  1585. var path = _this2.route || _this2.is;
  1586. throw new Error("".concat(_type, " \"").concat(path, "\" does not have a method \"").concat(methodName, "\""));
  1587. }
  1588. if (isOnce) {
  1589. if (handler.once) {
  1590. return;
  1591. }
  1592. handler.once = true;
  1593. }
  1594. var params = processEventArgs(
  1595. _this2.$vm,
  1596. event,
  1597. eventArray[1],
  1598. eventArray[2],
  1599. isCustom,
  1600. methodName);
  1601. params = Array.isArray(params) ? params : [];
  1602. // 参数尾部增加原始事件对象用于复杂表达式内获取额外数据
  1603. if (/=\s*\S+\.eventParams\s*\|\|\s*\S+\[['"]event-params['"]\]/.test(handler.toString())) {
  1604. // eslint-disable-next-line no-sparse-arrays
  1605. params = params.concat([,,,,,,,,,, event]);
  1606. }
  1607. ret.push(handler.apply(handlerCtx, params));
  1608. }
  1609. });
  1610. }
  1611. });
  1612. if (
  1613. eventType === 'input' &&
  1614. ret.length === 1 &&
  1615. typeof ret[0] !== 'undefined')
  1616. {
  1617. return ret[0];
  1618. }
  1619. }
  1620. var eventChannels = {};
  1621. var eventChannelStack = [];
  1622. function getEventChannel(id) {
  1623. if (id) {
  1624. var eventChannel = eventChannels[id];
  1625. delete eventChannels[id];
  1626. return eventChannel;
  1627. }
  1628. return eventChannelStack.shift();
  1629. }
  1630. var hooks = [
  1631. 'onShow',
  1632. 'onHide',
  1633. 'onError',
  1634. 'onPageNotFound',
  1635. 'onThemeChange',
  1636. 'onUnhandledRejection'];
  1637. function initEventChannel() {
  1638. _vue.default.prototype.getOpenerEventChannel = function () {
  1639. // 微信小程序使用自身getOpenerEventChannel
  1640. {
  1641. return this.$scope.getOpenerEventChannel();
  1642. }
  1643. };
  1644. var callHook = _vue.default.prototype.__call_hook;
  1645. _vue.default.prototype.__call_hook = function (hook, args) {
  1646. if (hook === 'onLoad' && args && args.__id__) {
  1647. this.__eventChannel__ = getEventChannel(args.__id__);
  1648. delete args.__id__;
  1649. }
  1650. return callHook.call(this, hook, args);
  1651. };
  1652. }
  1653. function initScopedSlotsParams() {
  1654. var center = {};
  1655. var parents = {};
  1656. _vue.default.prototype.$hasScopedSlotsParams = function (vueId) {
  1657. var has = center[vueId];
  1658. if (!has) {
  1659. parents[vueId] = this;
  1660. this.$on('hook:destroyed', function () {
  1661. delete parents[vueId];
  1662. });
  1663. }
  1664. return has;
  1665. };
  1666. _vue.default.prototype.$getScopedSlotsParams = function (vueId, name, key) {
  1667. var data = center[vueId];
  1668. if (data) {
  1669. var object = data[name] || {};
  1670. return key ? object[key] : object;
  1671. } else {
  1672. parents[vueId] = this;
  1673. this.$on('hook:destroyed', function () {
  1674. delete parents[vueId];
  1675. });
  1676. }
  1677. };
  1678. _vue.default.prototype.$setScopedSlotsParams = function (name, value) {
  1679. var vueIds = this.$options.propsData.vueId;
  1680. if (vueIds) {
  1681. var vueId = vueIds.split(',')[0];
  1682. var object = center[vueId] = center[vueId] || {};
  1683. object[name] = value;
  1684. if (parents[vueId]) {
  1685. parents[vueId].$forceUpdate();
  1686. }
  1687. }
  1688. };
  1689. _vue.default.mixin({
  1690. destroyed: function destroyed() {
  1691. var propsData = this.$options.propsData;
  1692. var vueId = propsData && propsData.vueId;
  1693. if (vueId) {
  1694. delete center[vueId];
  1695. delete parents[vueId];
  1696. }
  1697. } });
  1698. }
  1699. function parseBaseApp(vm, _ref3)
  1700. {var mocks = _ref3.mocks,initRefs = _ref3.initRefs;
  1701. initEventChannel();
  1702. {
  1703. initScopedSlotsParams();
  1704. }
  1705. if (vm.$options.store) {
  1706. _vue.default.prototype.$store = vm.$options.store;
  1707. }
  1708. uniIdMixin(_vue.default);
  1709. _vue.default.prototype.mpHost = "mp-weixin";
  1710. _vue.default.mixin({
  1711. beforeCreate: function beforeCreate() {
  1712. if (!this.$options.mpType) {
  1713. return;
  1714. }
  1715. this.mpType = this.$options.mpType;
  1716. this.$mp = _defineProperty({
  1717. data: {} },
  1718. this.mpType, this.$options.mpInstance);
  1719. this.$scope = this.$options.mpInstance;
  1720. delete this.$options.mpType;
  1721. delete this.$options.mpInstance;
  1722. if (this.mpType === 'page' && typeof getApp === 'function') {// hack vue-i18n
  1723. var app = getApp();
  1724. if (app.$vm && app.$vm.$i18n) {
  1725. this._i18n = app.$vm.$i18n;
  1726. }
  1727. }
  1728. if (this.mpType !== 'app') {
  1729. initRefs(this);
  1730. initMocks(this, mocks);
  1731. }
  1732. } });
  1733. var appOptions = {
  1734. onLaunch: function onLaunch(args) {
  1735. if (this.$vm) {// 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前
  1736. return;
  1737. }
  1738. {
  1739. if (wx.canIUse && !wx.canIUse('nextTick')) {// 事实 上2.2.3 即可,简单使用 2.3.0 的 nextTick 判断
  1740. console.error('当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上');
  1741. }
  1742. }
  1743. this.$vm = vm;
  1744. this.$vm.$mp = {
  1745. app: this };
  1746. this.$vm.$scope = this;
  1747. // vm 上也挂载 globalData
  1748. this.$vm.globalData = this.globalData;
  1749. this.$vm._isMounted = true;
  1750. this.$vm.__call_hook('mounted', args);
  1751. this.$vm.__call_hook('onLaunch', args);
  1752. } };
  1753. // 兼容旧版本 globalData
  1754. appOptions.globalData = vm.$options.globalData || {};
  1755. // 将 methods 中的方法挂在 getApp() 中
  1756. var methods = vm.$options.methods;
  1757. if (methods) {
  1758. Object.keys(methods).forEach(function (name) {
  1759. appOptions[name] = methods[name];
  1760. });
  1761. }
  1762. initAppLocale(_vue.default, vm, normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN);
  1763. initHooks(appOptions, hooks);
  1764. initUnknownHooks(appOptions, vm.$options);
  1765. return appOptions;
  1766. }
  1767. var mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];
  1768. function findVmByVueId(vm, vuePid) {
  1769. var $children = vm.$children;
  1770. // 优先查找直属(反向查找:https://github.com/dcloudio/uni-app/issues/1200)
  1771. for (var i = $children.length - 1; i >= 0; i--) {
  1772. var childVm = $children[i];
  1773. if (childVm.$scope._$vueId === vuePid) {
  1774. return childVm;
  1775. }
  1776. }
  1777. // 反向递归查找
  1778. var parentVm;
  1779. for (var _i = $children.length - 1; _i >= 0; _i--) {
  1780. parentVm = findVmByVueId($children[_i], vuePid);
  1781. if (parentVm) {
  1782. return parentVm;
  1783. }
  1784. }
  1785. }
  1786. function initBehavior(options) {
  1787. return Behavior(options);
  1788. }
  1789. function isPage() {
  1790. return !!this.route;
  1791. }
  1792. function initRelation(detail) {
  1793. this.triggerEvent('__l', detail);
  1794. }
  1795. function selectAllComponents(mpInstance, selector, $refs) {
  1796. var components = mpInstance.selectAllComponents(selector);
  1797. components.forEach(function (component) {
  1798. var ref = component.dataset.ref;
  1799. $refs[ref] = component.$vm || component;
  1800. {
  1801. if (component.dataset.vueGeneric === 'scoped') {
  1802. component.selectAllComponents('.scoped-ref').forEach(function (scopedComponent) {
  1803. selectAllComponents(scopedComponent, selector, $refs);
  1804. });
  1805. }
  1806. }
  1807. });
  1808. }
  1809. function initRefs(vm) {
  1810. var mpInstance = vm.$scope;
  1811. Object.defineProperty(vm, '$refs', {
  1812. get: function get() {
  1813. var $refs = {};
  1814. selectAllComponents(mpInstance, '.vue-ref', $refs);
  1815. // TODO 暂不考虑 for 中的 scoped
  1816. var forComponents = mpInstance.selectAllComponents('.vue-ref-in-for');
  1817. forComponents.forEach(function (component) {
  1818. var ref = component.dataset.ref;
  1819. if (!$refs[ref]) {
  1820. $refs[ref] = [];
  1821. }
  1822. $refs[ref].push(component.$vm || component);
  1823. });
  1824. return $refs;
  1825. } });
  1826. }
  1827. function handleLink(event) {var _ref4 =
  1828. event.detail || event.value,vuePid = _ref4.vuePid,vueOptions = _ref4.vueOptions; // detail 是微信,value 是百度(dipatch)
  1829. var parentVm;
  1830. if (vuePid) {
  1831. parentVm = findVmByVueId(this.$vm, vuePid);
  1832. }
  1833. if (!parentVm) {
  1834. parentVm = this.$vm;
  1835. }
  1836. vueOptions.parent = parentVm;
  1837. }
  1838. function parseApp(vm) {
  1839. return parseBaseApp(vm, {
  1840. mocks: mocks,
  1841. initRefs: initRefs });
  1842. }
  1843. function createApp(vm) {
  1844. App(parseApp(vm));
  1845. return vm;
  1846. }
  1847. var encodeReserveRE = /[!'()*]/g;
  1848. var encodeReserveReplacer = function encodeReserveReplacer(c) {return '%' + c.charCodeAt(0).toString(16);};
  1849. var commaRE = /%2C/g;
  1850. // fixed encodeURIComponent which is more conformant to RFC3986:
  1851. // - escapes [!'()*]
  1852. // - preserve commas
  1853. var encode = function encode(str) {return encodeURIComponent(str).
  1854. replace(encodeReserveRE, encodeReserveReplacer).
  1855. replace(commaRE, ',');};
  1856. function stringifyQuery(obj) {var encodeStr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : encode;
  1857. var res = obj ? Object.keys(obj).map(function (key) {
  1858. var val = obj[key];
  1859. if (val === undefined) {
  1860. return '';
  1861. }
  1862. if (val === null) {
  1863. return encodeStr(key);
  1864. }
  1865. if (Array.isArray(val)) {
  1866. var result = [];
  1867. val.forEach(function (val2) {
  1868. if (val2 === undefined) {
  1869. return;
  1870. }
  1871. if (val2 === null) {
  1872. result.push(encodeStr(key));
  1873. } else {
  1874. result.push(encodeStr(key) + '=' + encodeStr(val2));
  1875. }
  1876. });
  1877. return result.join('&');
  1878. }
  1879. return encodeStr(key) + '=' + encodeStr(val);
  1880. }).filter(function (x) {return x.length > 0;}).join('&') : null;
  1881. return res ? "?".concat(res) : '';
  1882. }
  1883. function parseBaseComponent(vueComponentOptions)
  1884. {var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},isPage = _ref5.isPage,initRelation = _ref5.initRelation;var _initVueComponent =
  1885. initVueComponent(_vue.default, vueComponentOptions),_initVueComponent2 = _slicedToArray(_initVueComponent, 2),VueComponent = _initVueComponent2[0],vueOptions = _initVueComponent2[1];
  1886. var options = _objectSpread({
  1887. multipleSlots: true,
  1888. addGlobalClass: true },
  1889. vueOptions.options || {});
  1890. {
  1891. // 微信 multipleSlots 部分情况有 bug,导致内容顺序错乱 如 u-list,提供覆盖选项
  1892. if (vueOptions['mp-weixin'] && vueOptions['mp-weixin'].options) {
  1893. Object.assign(options, vueOptions['mp-weixin'].options);
  1894. }
  1895. }
  1896. var componentOptions = {
  1897. options: options,
  1898. data: initData(vueOptions, _vue.default.prototype),
  1899. behaviors: initBehaviors(vueOptions, initBehavior),
  1900. properties: initProperties(vueOptions.props, false, vueOptions.__file, options),
  1901. lifetimes: {
  1902. attached: function attached() {
  1903. var properties = this.properties;
  1904. var options = {
  1905. mpType: isPage.call(this) ? 'page' : 'component',
  1906. mpInstance: this,
  1907. propsData: properties };
  1908. initVueIds(properties.vueId, this);
  1909. // 处理父子关系
  1910. initRelation.call(this, {
  1911. vuePid: this._$vuePid,
  1912. vueOptions: options });
  1913. // 初始化 vue 实例
  1914. this.$vm = new VueComponent(options);
  1915. // 处理$slots,$scopedSlots(暂不支持动态变化$slots)
  1916. initSlots(this.$vm, properties.vueSlots);
  1917. // 触发首次 setData
  1918. this.$vm.$mount();
  1919. },
  1920. ready: function ready() {
  1921. // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发
  1922. // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800
  1923. if (this.$vm) {
  1924. this.$vm._isMounted = true;
  1925. this.$vm.__call_hook('mounted');
  1926. this.$vm.__call_hook('onReady');
  1927. }
  1928. },
  1929. detached: function detached() {
  1930. this.$vm && this.$vm.$destroy();
  1931. } },
  1932. pageLifetimes: {
  1933. show: function show(args) {
  1934. this.$vm && this.$vm.__call_hook('onPageShow', args);
  1935. },
  1936. hide: function hide() {
  1937. this.$vm && this.$vm.__call_hook('onPageHide');
  1938. },
  1939. resize: function resize(size) {
  1940. this.$vm && this.$vm.__call_hook('onPageResize', size);
  1941. } },
  1942. methods: {
  1943. __l: handleLink,
  1944. __e: handleEvent } };
  1945. // externalClasses
  1946. if (vueOptions.externalClasses) {
  1947. componentOptions.externalClasses = vueOptions.externalClasses;
  1948. }
  1949. if (Array.isArray(vueOptions.wxsCallMethods)) {
  1950. vueOptions.wxsCallMethods.forEach(function (callMethod) {
  1951. componentOptions.methods[callMethod] = function (args) {
  1952. return this.$vm[callMethod](args);
  1953. };
  1954. });
  1955. }
  1956. if (isPage) {
  1957. return componentOptions;
  1958. }
  1959. return [componentOptions, VueComponent];
  1960. }
  1961. function parseComponent(vueComponentOptions) {
  1962. return parseBaseComponent(vueComponentOptions, {
  1963. isPage: isPage,
  1964. initRelation: initRelation });
  1965. }
  1966. var hooks$1 = [
  1967. 'onShow',
  1968. 'onHide',
  1969. 'onUnload'];
  1970. hooks$1.push.apply(hooks$1, PAGE_EVENT_HOOKS);
  1971. function parseBasePage(vuePageOptions, _ref6)
  1972. {var isPage = _ref6.isPage,initRelation = _ref6.initRelation;
  1973. var pageOptions = parseComponent(vuePageOptions);
  1974. initHooks(pageOptions.methods, hooks$1, vuePageOptions);
  1975. pageOptions.methods.onLoad = function (query) {
  1976. this.options = query;
  1977. var copyQuery = Object.assign({}, query);
  1978. delete copyQuery.__id__;
  1979. this.$page = {
  1980. fullPath: '/' + (this.route || this.is) + stringifyQuery(copyQuery) };
  1981. this.$vm.$mp.query = query; // 兼容 mpvue
  1982. this.$vm.__call_hook('onLoad', query);
  1983. };
  1984. initUnknownHooks(pageOptions.methods, vuePageOptions, ['onReady']);
  1985. return pageOptions;
  1986. }
  1987. function parsePage(vuePageOptions) {
  1988. return parseBasePage(vuePageOptions, {
  1989. isPage: isPage,
  1990. initRelation: initRelation });
  1991. }
  1992. function createPage(vuePageOptions) {
  1993. {
  1994. return Component(parsePage(vuePageOptions));
  1995. }
  1996. }
  1997. function createComponent(vueOptions) {
  1998. {
  1999. return Component(parseComponent(vueOptions));
  2000. }
  2001. }
  2002. function createSubpackageApp(vm) {
  2003. var appOptions = parseApp(vm);
  2004. var app = getApp({
  2005. allowDefault: true });
  2006. vm.$scope = app;
  2007. var globalData = app.globalData;
  2008. if (globalData) {
  2009. Object.keys(appOptions.globalData).forEach(function (name) {
  2010. if (!hasOwn(globalData, name)) {
  2011. globalData[name] = appOptions.globalData[name];
  2012. }
  2013. });
  2014. }
  2015. Object.keys(appOptions).forEach(function (name) {
  2016. if (!hasOwn(app, name)) {
  2017. app[name] = appOptions[name];
  2018. }
  2019. });
  2020. if (isFn(appOptions.onShow) && wx.onAppShow) {
  2021. wx.onAppShow(function () {for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {args[_key5] = arguments[_key5];}
  2022. vm.__call_hook('onShow', args);
  2023. });
  2024. }
  2025. if (isFn(appOptions.onHide) && wx.onAppHide) {
  2026. wx.onAppHide(function () {for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {args[_key6] = arguments[_key6];}
  2027. vm.__call_hook('onHide', args);
  2028. });
  2029. }
  2030. if (isFn(appOptions.onLaunch)) {
  2031. var args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();
  2032. vm.__call_hook('onLaunch', args);
  2033. }
  2034. return vm;
  2035. }
  2036. function createPlugin(vm) {
  2037. var appOptions = parseApp(vm);
  2038. if (isFn(appOptions.onShow) && wx.onAppShow) {
  2039. wx.onAppShow(function () {for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {args[_key7] = arguments[_key7];}
  2040. vm.__call_hook('onShow', args);
  2041. });
  2042. }
  2043. if (isFn(appOptions.onHide) && wx.onAppHide) {
  2044. wx.onAppHide(function () {for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {args[_key8] = arguments[_key8];}
  2045. vm.__call_hook('onHide', args);
  2046. });
  2047. }
  2048. if (isFn(appOptions.onLaunch)) {
  2049. var args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();
  2050. vm.__call_hook('onLaunch', args);
  2051. }
  2052. return vm;
  2053. }
  2054. todos.forEach(function (todoApi) {
  2055. protocols[todoApi] = false;
  2056. });
  2057. canIUses.forEach(function (canIUseApi) {
  2058. var apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name :
  2059. canIUseApi;
  2060. if (!wx.canIUse(apiName)) {
  2061. protocols[canIUseApi] = false;
  2062. }
  2063. });
  2064. var uni = {};
  2065. if (typeof Proxy !== 'undefined' && "mp-weixin" !== 'app-plus') {
  2066. uni = new Proxy({}, {
  2067. get: function get(target, name) {
  2068. if (hasOwn(target, name)) {
  2069. return target[name];
  2070. }
  2071. if (baseApi[name]) {
  2072. return baseApi[name];
  2073. }
  2074. if (api[name]) {
  2075. return promisify(name, api[name]);
  2076. }
  2077. {
  2078. if (extraApi[name]) {
  2079. return promisify(name, extraApi[name]);
  2080. }
  2081. if (todoApis[name]) {
  2082. return promisify(name, todoApis[name]);
  2083. }
  2084. }
  2085. if (eventApi[name]) {
  2086. return eventApi[name];
  2087. }
  2088. if (!hasOwn(wx, name) && !hasOwn(protocols, name)) {
  2089. return;
  2090. }
  2091. return promisify(name, wrapper(name, wx[name]));
  2092. },
  2093. set: function set(target, name, value) {
  2094. target[name] = value;
  2095. return true;
  2096. } });
  2097. } else {
  2098. Object.keys(baseApi).forEach(function (name) {
  2099. uni[name] = baseApi[name];
  2100. });
  2101. {
  2102. Object.keys(todoApis).forEach(function (name) {
  2103. uni[name] = promisify(name, todoApis[name]);
  2104. });
  2105. Object.keys(extraApi).forEach(function (name) {
  2106. uni[name] = promisify(name, todoApis[name]);
  2107. });
  2108. }
  2109. Object.keys(eventApi).forEach(function (name) {
  2110. uni[name] = eventApi[name];
  2111. });
  2112. Object.keys(api).forEach(function (name) {
  2113. uni[name] = promisify(name, api[name]);
  2114. });
  2115. Object.keys(wx).forEach(function (name) {
  2116. if (hasOwn(wx, name) || hasOwn(protocols, name)) {
  2117. uni[name] = promisify(name, wrapper(name, wx[name]));
  2118. }
  2119. });
  2120. }
  2121. wx.createApp = createApp;
  2122. wx.createPage = createPage;
  2123. wx.createComponent = createComponent;
  2124. wx.createSubpackageApp = createSubpackageApp;
  2125. wx.createPlugin = createPlugin;
  2126. var uni$1 = uni;var _default =
  2127. uni$1;exports.default = _default;
  2128. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../webpack/buildin/global.js */ 2)))
  2129. /***/ }),
  2130. /* 2 */
  2131. /*!***********************************!*\
  2132. !*** (webpack)/buildin/global.js ***!
  2133. \***********************************/
  2134. /*! no static exports found */
  2135. /***/ (function(module, exports) {
  2136. var g;
  2137. // This works in non-strict mode
  2138. g = (function() {
  2139. return this;
  2140. })();
  2141. try {
  2142. // This works if eval is allowed (see CSP)
  2143. g = g || new Function("return this")();
  2144. } catch (e) {
  2145. // This works if the window reference is available
  2146. if (typeof window === "object") g = window;
  2147. }
  2148. // g can still be undefined, but nothing to do about it...
  2149. // We return undefined, instead of nothing here, so it's
  2150. // easier to handle this case. if(!global) { ...}
  2151. module.exports = g;
  2152. /***/ }),
  2153. /* 3 */
  2154. /*!*************************************************************!*\
  2155. !*** ./node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js ***!
  2156. \*************************************************************/
  2157. /*! no static exports found */
  2158. /***/ (function(module, exports, __webpack_require__) {
  2159. "use strict";
  2160. /* 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;
  2161. var isObject = function isObject(val) {return val !== null && typeof val === 'object';};
  2162. var defaultDelimiters = ['{', '}'];var
  2163. BaseFormatter = /*#__PURE__*/function () {
  2164. function BaseFormatter() {_classCallCheck(this, BaseFormatter);
  2165. this._caches = Object.create(null);
  2166. }_createClass(BaseFormatter, [{ key: "interpolate", value: function interpolate(
  2167. message, values) {var delimiters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultDelimiters;
  2168. if (!values) {
  2169. return [message];
  2170. }
  2171. var tokens = this._caches[message];
  2172. if (!tokens) {
  2173. tokens = parse(message, delimiters);
  2174. this._caches[message] = tokens;
  2175. }
  2176. return compile(tokens, values);
  2177. } }]);return BaseFormatter;}();exports.Formatter = BaseFormatter;
  2178. var RE_TOKEN_LIST_VALUE = /^(?:\d)+/;
  2179. var RE_TOKEN_NAMED_VALUE = /^(?:\w)+/;
  2180. function parse(format, _ref) {var _ref2 = _slicedToArray(_ref, 2),startDelimiter = _ref2[0],endDelimiter = _ref2[1];
  2181. var tokens = [];
  2182. var position = 0;
  2183. var text = '';
  2184. while (position < format.length) {
  2185. var char = format[position++];
  2186. if (char === startDelimiter) {
  2187. if (text) {
  2188. tokens.push({ type: 'text', value: text });
  2189. }
  2190. text = '';
  2191. var sub = '';
  2192. char = format[position++];
  2193. while (char !== undefined && char !== endDelimiter) {
  2194. sub += char;
  2195. char = format[position++];
  2196. }
  2197. var isClosed = char === endDelimiter;
  2198. var type = RE_TOKEN_LIST_VALUE.test(sub) ?
  2199. 'list' :
  2200. isClosed && RE_TOKEN_NAMED_VALUE.test(sub) ?
  2201. 'named' :
  2202. 'unknown';
  2203. tokens.push({ value: sub, type: type });
  2204. }
  2205. // else if (char === '%') {
  2206. // // when found rails i18n syntax, skip text capture
  2207. // if (format[position] !== '{') {
  2208. // text += char
  2209. // }
  2210. // }
  2211. else {
  2212. text += char;
  2213. }
  2214. }
  2215. text && tokens.push({ type: 'text', value: text });
  2216. return tokens;
  2217. }
  2218. function compile(tokens, values) {
  2219. var compiled = [];
  2220. var index = 0;
  2221. var mode = isArray(values) ?
  2222. 'list' :
  2223. isObject(values) ?
  2224. 'named' :
  2225. 'unknown';
  2226. if (mode === 'unknown') {
  2227. return compiled;
  2228. }
  2229. while (index < tokens.length) {
  2230. var token = tokens[index];
  2231. switch (token.type) {
  2232. case 'text':
  2233. compiled.push(token.value);
  2234. break;
  2235. case 'list':
  2236. compiled.push(values[parseInt(token.value, 10)]);
  2237. break;
  2238. case 'named':
  2239. if (mode === 'named') {
  2240. compiled.push(values[token.value]);
  2241. } else
  2242. {
  2243. if (true) {
  2244. console.warn("Type of token '".concat(token.type, "' and format of value '").concat(mode, "' don't match!"));
  2245. }
  2246. }
  2247. break;
  2248. case 'unknown':
  2249. if (true) {
  2250. console.warn("Detect 'unknown' type of token!");
  2251. }
  2252. break;}
  2253. index++;
  2254. }
  2255. return compiled;
  2256. }
  2257. var LOCALE_ZH_HANS = 'zh-Hans';exports.LOCALE_ZH_HANS = LOCALE_ZH_HANS;
  2258. var LOCALE_ZH_HANT = 'zh-Hant';exports.LOCALE_ZH_HANT = LOCALE_ZH_HANT;
  2259. var LOCALE_EN = 'en';exports.LOCALE_EN = LOCALE_EN;
  2260. var LOCALE_FR = 'fr';exports.LOCALE_FR = LOCALE_FR;
  2261. var LOCALE_ES = 'es';exports.LOCALE_ES = LOCALE_ES;
  2262. var hasOwnProperty = Object.prototype.hasOwnProperty;
  2263. var hasOwn = function hasOwn(val, key) {return hasOwnProperty.call(val, key);};
  2264. var defaultFormatter = new BaseFormatter();
  2265. function include(str, parts) {
  2266. return !!parts.find(function (part) {return str.indexOf(part) !== -1;});
  2267. }
  2268. function startsWith(str, parts) {
  2269. return parts.find(function (part) {return str.indexOf(part) === 0;});
  2270. }
  2271. function normalizeLocale(locale, messages) {
  2272. if (!locale) {
  2273. return;
  2274. }
  2275. locale = locale.trim().replace(/_/g, '-');
  2276. if (messages && messages[locale]) {
  2277. return locale;
  2278. }
  2279. locale = locale.toLowerCase();
  2280. if (locale.indexOf('zh') === 0) {
  2281. if (locale.indexOf('-hans') > -1) {
  2282. return LOCALE_ZH_HANS;
  2283. }
  2284. if (locale.indexOf('-hant') > -1) {
  2285. return LOCALE_ZH_HANT;
  2286. }
  2287. if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {
  2288. return LOCALE_ZH_HANT;
  2289. }
  2290. return LOCALE_ZH_HANS;
  2291. }
  2292. var lang = startsWith(locale, [LOCALE_EN, LOCALE_FR, LOCALE_ES]);
  2293. if (lang) {
  2294. return lang;
  2295. }
  2296. }var
  2297. I18n = /*#__PURE__*/function () {
  2298. function I18n(_ref3) {var locale = _ref3.locale,fallbackLocale = _ref3.fallbackLocale,messages = _ref3.messages,watcher = _ref3.watcher,formater = _ref3.formater;_classCallCheck(this, I18n);
  2299. this.locale = LOCALE_EN;
  2300. this.fallbackLocale = LOCALE_EN;
  2301. this.message = {};
  2302. this.messages = {};
  2303. this.watchers = [];
  2304. if (fallbackLocale) {
  2305. this.fallbackLocale = fallbackLocale;
  2306. }
  2307. this.formater = formater || defaultFormatter;
  2308. this.messages = messages || {};
  2309. this.setLocale(locale || LOCALE_EN);
  2310. if (watcher) {
  2311. this.watchLocale(watcher);
  2312. }
  2313. }_createClass(I18n, [{ key: "setLocale", value: function setLocale(
  2314. locale) {var _this = this;
  2315. var oldLocale = this.locale;
  2316. this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;
  2317. if (!this.messages[this.locale]) {
  2318. // 可能初始化时不存在
  2319. this.messages[this.locale] = {};
  2320. }
  2321. this.message = this.messages[this.locale];
  2322. // 仅发生变化时,通知
  2323. if (oldLocale !== this.locale) {
  2324. this.watchers.forEach(function (watcher) {
  2325. watcher(_this.locale, oldLocale);
  2326. });
  2327. }
  2328. } }, { key: "getLocale", value: function getLocale()
  2329. {
  2330. return this.locale;
  2331. } }, { key: "watchLocale", value: function watchLocale(
  2332. fn) {var _this2 = this;
  2333. var index = this.watchers.push(fn) - 1;
  2334. return function () {
  2335. _this2.watchers.splice(index, 1);
  2336. };
  2337. } }, { key: "add", value: function add(
  2338. locale, message) {var override = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
  2339. var curMessages = this.messages[locale];
  2340. if (curMessages) {
  2341. if (override) {
  2342. Object.assign(curMessages, message);
  2343. } else
  2344. {
  2345. Object.keys(message).forEach(function (key) {
  2346. if (!hasOwn(curMessages, key)) {
  2347. curMessages[key] = message[key];
  2348. }
  2349. });
  2350. }
  2351. } else
  2352. {
  2353. this.messages[locale] = message;
  2354. }
  2355. } }, { key: "f", value: function f(
  2356. message, values, delimiters) {
  2357. return this.formater.interpolate(message, values, delimiters).join('');
  2358. } }, { key: "t", value: function t(
  2359. key, locale, values) {
  2360. var message = this.message;
  2361. if (typeof locale === 'string') {
  2362. locale = normalizeLocale(locale, this.messages);
  2363. locale && (message = this.messages[locale]);
  2364. } else
  2365. {
  2366. values = locale;
  2367. }
  2368. if (!hasOwn(message, key)) {
  2369. console.warn("Cannot translate the value of keypath ".concat(key, ". Use the value of keypath as default."));
  2370. return key;
  2371. }
  2372. return this.formater.interpolate(message[key], values).join('');
  2373. } }]);return I18n;}();exports.I18n = I18n;
  2374. function watchAppLocale(appVm, i18n) {
  2375. // 需要保证 watch 的触发在组件渲染之前
  2376. if (appVm.$watchLocale) {
  2377. // vue2
  2378. appVm.$watchLocale(function (newLocale) {
  2379. i18n.setLocale(newLocale);
  2380. });
  2381. } else
  2382. {
  2383. appVm.$watch(function () {return appVm.$locale;}, function (newLocale) {
  2384. i18n.setLocale(newLocale);
  2385. });
  2386. }
  2387. }
  2388. function getDefaultLocale() {
  2389. if (typeof uni !== 'undefined' && uni.getLocale) {
  2390. return uni.getLocale();
  2391. }
  2392. // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale
  2393. if (typeof global !== 'undefined' && global.getLocale) {
  2394. return global.getLocale();
  2395. }
  2396. return LOCALE_EN;
  2397. }
  2398. 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;
  2399. // 兼容旧版本入参
  2400. if (typeof locale !== 'string') {var _ref4 =
  2401. [
  2402. messages,
  2403. locale];locale = _ref4[0];messages = _ref4[1];
  2404. }
  2405. if (typeof locale !== 'string') {
  2406. // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined
  2407. locale = getDefaultLocale();
  2408. }
  2409. if (typeof fallbackLocale !== 'string') {
  2410. fallbackLocale =
  2411. typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale ||
  2412. LOCALE_EN;
  2413. }
  2414. var i18n = new I18n({
  2415. locale: locale,
  2416. fallbackLocale: fallbackLocale,
  2417. messages: messages,
  2418. watcher: watcher });
  2419. var _t = function t(key, values) {
  2420. if (typeof getApp !== 'function') {
  2421. // app view
  2422. /* eslint-disable no-func-assign */
  2423. _t = function t(key, values) {
  2424. return i18n.t(key, values);
  2425. };
  2426. } else
  2427. {
  2428. var isWatchedAppLocale = false;
  2429. _t = function t(key, values) {
  2430. var appVm = getApp().$vm;
  2431. // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化
  2432. // options: {
  2433. // type: Array,
  2434. // default () {
  2435. // return [{
  2436. // icon: 'shop',
  2437. // text: t("uni-goods-nav.options.shop"),
  2438. // }, {
  2439. // icon: 'cart',
  2440. // text: t("uni-goods-nav.options.cart")
  2441. // }]
  2442. // }
  2443. // },
  2444. if (appVm) {
  2445. // 触发响应式
  2446. appVm.$locale;
  2447. if (!isWatchedAppLocale) {
  2448. isWatchedAppLocale = true;
  2449. watchAppLocale(appVm, i18n);
  2450. }
  2451. }
  2452. return i18n.t(key, values);
  2453. };
  2454. }
  2455. return _t(key, values);
  2456. };
  2457. return {
  2458. i18n: i18n,
  2459. f: function f(message, values, delimiters) {
  2460. return i18n.f(message, values, delimiters);
  2461. },
  2462. t: function t(key, values) {
  2463. return _t(key, values);
  2464. },
  2465. add: function add(locale, message) {var override = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
  2466. return i18n.add(locale, message, override);
  2467. },
  2468. watch: function watch(fn) {
  2469. return i18n.watchLocale(fn);
  2470. },
  2471. getLocale: function getLocale() {
  2472. return i18n.getLocale();
  2473. },
  2474. setLocale: function setLocale(newLocale) {
  2475. return i18n.setLocale(newLocale);
  2476. } };
  2477. }
  2478. var isString = function isString(val) {return typeof val === 'string';};exports.isString = isString;
  2479. var formater;
  2480. function hasI18nJson(jsonObj, delimiters) {
  2481. if (!formater) {
  2482. formater = new BaseFormatter();
  2483. }
  2484. return walkJsonObj(jsonObj, function (jsonObj, key) {
  2485. var value = jsonObj[key];
  2486. if (isString(value)) {
  2487. if (isI18nStr(value, delimiters)) {
  2488. return true;
  2489. }
  2490. } else
  2491. {
  2492. return hasI18nJson(value, delimiters);
  2493. }
  2494. });
  2495. }
  2496. function parseI18nJson(jsonObj, values, delimiters) {
  2497. if (!formater) {
  2498. formater = new BaseFormatter();
  2499. }
  2500. walkJsonObj(jsonObj, function (jsonObj, key) {
  2501. var value = jsonObj[key];
  2502. if (isString(value)) {
  2503. if (isI18nStr(value, delimiters)) {
  2504. jsonObj[key] = compileStr(value, values, delimiters);
  2505. }
  2506. } else
  2507. {
  2508. parseI18nJson(value, values, delimiters);
  2509. }
  2510. });
  2511. return jsonObj;
  2512. }
  2513. function compileI18nJsonStr(jsonStr, _ref5) {var locale = _ref5.locale,locales = _ref5.locales,delimiters = _ref5.delimiters;
  2514. if (!isI18nStr(jsonStr, delimiters)) {
  2515. return jsonStr;
  2516. }
  2517. if (!formater) {
  2518. formater = new BaseFormatter();
  2519. }
  2520. var localeValues = [];
  2521. Object.keys(locales).forEach(function (name) {
  2522. if (name !== locale) {
  2523. localeValues.push({
  2524. locale: name,
  2525. values: locales[name] });
  2526. }
  2527. });
  2528. localeValues.unshift({ locale: locale, values: locales[locale] });
  2529. try {
  2530. return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2);
  2531. }
  2532. catch (e) {}
  2533. return jsonStr;
  2534. }
  2535. function isI18nStr(value, delimiters) {
  2536. return value.indexOf(delimiters[0]) > -1;
  2537. }
  2538. function compileStr(value, values, delimiters) {
  2539. return formater.interpolate(value, values, delimiters).join('');
  2540. }
  2541. function compileValue(jsonObj, key, localeValues, delimiters) {
  2542. var value = jsonObj[key];
  2543. if (isString(value)) {
  2544. // 存在国际化
  2545. if (isI18nStr(value, delimiters)) {
  2546. jsonObj[key] = compileStr(value, localeValues[0].values, delimiters);
  2547. if (localeValues.length > 1) {
  2548. // 格式化国际化语言
  2549. var valueLocales = jsonObj[key + 'Locales'] = {};
  2550. localeValues.forEach(function (localValue) {
  2551. valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters);
  2552. });
  2553. }
  2554. }
  2555. } else
  2556. {
  2557. compileJsonObj(value, localeValues, delimiters);
  2558. }
  2559. }
  2560. function compileJsonObj(jsonObj, localeValues, delimiters) {
  2561. walkJsonObj(jsonObj, function (jsonObj, key) {
  2562. compileValue(jsonObj, key, localeValues, delimiters);
  2563. });
  2564. return jsonObj;
  2565. }
  2566. function walkJsonObj(jsonObj, walk) {
  2567. if (isArray(jsonObj)) {
  2568. for (var i = 0; i < jsonObj.length; i++) {
  2569. if (walk(jsonObj, i)) {
  2570. return true;
  2571. }
  2572. }
  2573. } else
  2574. if (isObject(jsonObj)) {
  2575. for (var key in jsonObj) {
  2576. if (walk(jsonObj, key)) {
  2577. return true;
  2578. }
  2579. }
  2580. }
  2581. return false;
  2582. }
  2583. function resolveLocale(locales) {
  2584. return function (locale) {
  2585. if (!locale) {
  2586. return locale;
  2587. }
  2588. locale = normalizeLocale(locale) || locale;
  2589. return resolveLocaleChain(locale).find(function (locale) {return locales.indexOf(locale) > -1;});
  2590. };
  2591. }
  2592. function resolveLocaleChain(locale) {
  2593. var chain = [];
  2594. var tokens = locale.split('-');
  2595. while (tokens.length) {
  2596. chain.push(tokens.join('-'));
  2597. tokens.pop();
  2598. }
  2599. return chain;
  2600. }
  2601. /* 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)))
  2602. /***/ }),
  2603. /* 4 */
  2604. /*!******************************************************************************************!*\
  2605. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js ***!
  2606. \******************************************************************************************/
  2607. /*! exports provided: default */
  2608. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2609. "use strict";
  2610. __webpack_require__.r(__webpack_exports__);
  2611. /* WEBPACK VAR INJECTION */(function(global) {/*!
  2612. * Vue.js v2.6.11
  2613. * (c) 2014-2022 Evan You
  2614. * Released under the MIT License.
  2615. */
  2616. /* */
  2617. var emptyObject = Object.freeze({});
  2618. // These helpers produce better VM code in JS engines due to their
  2619. // explicitness and function inlining.
  2620. function isUndef (v) {
  2621. return v === undefined || v === null
  2622. }
  2623. function isDef (v) {
  2624. return v !== undefined && v !== null
  2625. }
  2626. function isTrue (v) {
  2627. return v === true
  2628. }
  2629. function isFalse (v) {
  2630. return v === false
  2631. }
  2632. /**
  2633. * Check if value is primitive.
  2634. */
  2635. function isPrimitive (value) {
  2636. return (
  2637. typeof value === 'string' ||
  2638. typeof value === 'number' ||
  2639. // $flow-disable-line
  2640. typeof value === 'symbol' ||
  2641. typeof value === 'boolean'
  2642. )
  2643. }
  2644. /**
  2645. * Quick object check - this is primarily used to tell
  2646. * Objects from primitive values when we know the value
  2647. * is a JSON-compliant type.
  2648. */
  2649. function isObject (obj) {
  2650. return obj !== null && typeof obj === 'object'
  2651. }
  2652. /**
  2653. * Get the raw type string of a value, e.g., [object Object].
  2654. */
  2655. var _toString = Object.prototype.toString;
  2656. function toRawType (value) {
  2657. return _toString.call(value).slice(8, -1)
  2658. }
  2659. /**
  2660. * Strict object type check. Only returns true
  2661. * for plain JavaScript objects.
  2662. */
  2663. function isPlainObject (obj) {
  2664. return _toString.call(obj) === '[object Object]'
  2665. }
  2666. function isRegExp (v) {
  2667. return _toString.call(v) === '[object RegExp]'
  2668. }
  2669. /**
  2670. * Check if val is a valid array index.
  2671. */
  2672. function isValidArrayIndex (val) {
  2673. var n = parseFloat(String(val));
  2674. return n >= 0 && Math.floor(n) === n && isFinite(val)
  2675. }
  2676. function isPromise (val) {
  2677. return (
  2678. isDef(val) &&
  2679. typeof val.then === 'function' &&
  2680. typeof val.catch === 'function'
  2681. )
  2682. }
  2683. /**
  2684. * Convert a value to a string that is actually rendered.
  2685. */
  2686. function toString (val) {
  2687. return val == null
  2688. ? ''
  2689. : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)
  2690. ? JSON.stringify(val, null, 2)
  2691. : String(val)
  2692. }
  2693. /**
  2694. * Convert an input value to a number for persistence.
  2695. * If the conversion fails, return original string.
  2696. */
  2697. function toNumber (val) {
  2698. var n = parseFloat(val);
  2699. return isNaN(n) ? val : n
  2700. }
  2701. /**
  2702. * Make a map and return a function for checking if a key
  2703. * is in that map.
  2704. */
  2705. function makeMap (
  2706. str,
  2707. expectsLowerCase
  2708. ) {
  2709. var map = Object.create(null);
  2710. var list = str.split(',');
  2711. for (var i = 0; i < list.length; i++) {
  2712. map[list[i]] = true;
  2713. }
  2714. return expectsLowerCase
  2715. ? function (val) { return map[val.toLowerCase()]; }
  2716. : function (val) { return map[val]; }
  2717. }
  2718. /**
  2719. * Check if a tag is a built-in tag.
  2720. */
  2721. var isBuiltInTag = makeMap('slot,component', true);
  2722. /**
  2723. * Check if an attribute is a reserved attribute.
  2724. */
  2725. var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');
  2726. /**
  2727. * Remove an item from an array.
  2728. */
  2729. function remove (arr, item) {
  2730. if (arr.length) {
  2731. var index = arr.indexOf(item);
  2732. if (index > -1) {
  2733. return arr.splice(index, 1)
  2734. }
  2735. }
  2736. }
  2737. /**
  2738. * Check whether an object has the property.
  2739. */
  2740. var hasOwnProperty = Object.prototype.hasOwnProperty;
  2741. function hasOwn (obj, key) {
  2742. return hasOwnProperty.call(obj, key)
  2743. }
  2744. /**
  2745. * Create a cached version of a pure function.
  2746. */
  2747. function cached (fn) {
  2748. var cache = Object.create(null);
  2749. return (function cachedFn (str) {
  2750. var hit = cache[str];
  2751. return hit || (cache[str] = fn(str))
  2752. })
  2753. }
  2754. /**
  2755. * Camelize a hyphen-delimited string.
  2756. */
  2757. var camelizeRE = /-(\w)/g;
  2758. var camelize = cached(function (str) {
  2759. return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })
  2760. });
  2761. /**
  2762. * Capitalize a string.
  2763. */
  2764. var capitalize = cached(function (str) {
  2765. return str.charAt(0).toUpperCase() + str.slice(1)
  2766. });
  2767. /**
  2768. * Hyphenate a camelCase string.
  2769. */
  2770. var hyphenateRE = /\B([A-Z])/g;
  2771. var hyphenate = cached(function (str) {
  2772. return str.replace(hyphenateRE, '-$1').toLowerCase()
  2773. });
  2774. /**
  2775. * Simple bind polyfill for environments that do not support it,
  2776. * e.g., PhantomJS 1.x. Technically, we don't need this anymore
  2777. * since native bind is now performant enough in most browsers.
  2778. * But removing it would mean breaking code that was able to run in
  2779. * PhantomJS 1.x, so this must be kept for backward compatibility.
  2780. */
  2781. /* istanbul ignore next */
  2782. function polyfillBind (fn, ctx) {
  2783. function boundFn (a) {
  2784. var l = arguments.length;
  2785. return l
  2786. ? l > 1
  2787. ? fn.apply(ctx, arguments)
  2788. : fn.call(ctx, a)
  2789. : fn.call(ctx)
  2790. }
  2791. boundFn._length = fn.length;
  2792. return boundFn
  2793. }
  2794. function nativeBind (fn, ctx) {
  2795. return fn.bind(ctx)
  2796. }
  2797. var bind = Function.prototype.bind
  2798. ? nativeBind
  2799. : polyfillBind;
  2800. /**
  2801. * Convert an Array-like object to a real Array.
  2802. */
  2803. function toArray (list, start) {
  2804. start = start || 0;
  2805. var i = list.length - start;
  2806. var ret = new Array(i);
  2807. while (i--) {
  2808. ret[i] = list[i + start];
  2809. }
  2810. return ret
  2811. }
  2812. /**
  2813. * Mix properties into target object.
  2814. */
  2815. function extend (to, _from) {
  2816. for (var key in _from) {
  2817. to[key] = _from[key];
  2818. }
  2819. return to
  2820. }
  2821. /**
  2822. * Merge an Array of Objects into a single Object.
  2823. */
  2824. function toObject (arr) {
  2825. var res = {};
  2826. for (var i = 0; i < arr.length; i++) {
  2827. if (arr[i]) {
  2828. extend(res, arr[i]);
  2829. }
  2830. }
  2831. return res
  2832. }
  2833. /* eslint-disable no-unused-vars */
  2834. /**
  2835. * Perform no operation.
  2836. * Stubbing args to make Flow happy without leaving useless transpiled code
  2837. * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).
  2838. */
  2839. function noop (a, b, c) {}
  2840. /**
  2841. * Always return false.
  2842. */
  2843. var no = function (a, b, c) { return false; };
  2844. /* eslint-enable no-unused-vars */
  2845. /**
  2846. * Return the same value.
  2847. */
  2848. var identity = function (_) { return _; };
  2849. /**
  2850. * Check if two values are loosely equal - that is,
  2851. * if they are plain objects, do they have the same shape?
  2852. */
  2853. function looseEqual (a, b) {
  2854. if (a === b) { return true }
  2855. var isObjectA = isObject(a);
  2856. var isObjectB = isObject(b);
  2857. if (isObjectA && isObjectB) {
  2858. try {
  2859. var isArrayA = Array.isArray(a);
  2860. var isArrayB = Array.isArray(b);
  2861. if (isArrayA && isArrayB) {
  2862. return a.length === b.length && a.every(function (e, i) {
  2863. return looseEqual(e, b[i])
  2864. })
  2865. } else if (a instanceof Date && b instanceof Date) {
  2866. return a.getTime() === b.getTime()
  2867. } else if (!isArrayA && !isArrayB) {
  2868. var keysA = Object.keys(a);
  2869. var keysB = Object.keys(b);
  2870. return keysA.length === keysB.length && keysA.every(function (key) {
  2871. return looseEqual(a[key], b[key])
  2872. })
  2873. } else {
  2874. /* istanbul ignore next */
  2875. return false
  2876. }
  2877. } catch (e) {
  2878. /* istanbul ignore next */
  2879. return false
  2880. }
  2881. } else if (!isObjectA && !isObjectB) {
  2882. return String(a) === String(b)
  2883. } else {
  2884. return false
  2885. }
  2886. }
  2887. /**
  2888. * Return the first index at which a loosely equal value can be
  2889. * found in the array (if value is a plain object, the array must
  2890. * contain an object of the same shape), or -1 if it is not present.
  2891. */
  2892. function looseIndexOf (arr, val) {
  2893. for (var i = 0; i < arr.length; i++) {
  2894. if (looseEqual(arr[i], val)) { return i }
  2895. }
  2896. return -1
  2897. }
  2898. /**
  2899. * Ensure a function is called only once.
  2900. */
  2901. function once (fn) {
  2902. var called = false;
  2903. return function () {
  2904. if (!called) {
  2905. called = true;
  2906. fn.apply(this, arguments);
  2907. }
  2908. }
  2909. }
  2910. var ASSET_TYPES = [
  2911. 'component',
  2912. 'directive',
  2913. 'filter'
  2914. ];
  2915. var LIFECYCLE_HOOKS = [
  2916. 'beforeCreate',
  2917. 'created',
  2918. 'beforeMount',
  2919. 'mounted',
  2920. 'beforeUpdate',
  2921. 'updated',
  2922. 'beforeDestroy',
  2923. 'destroyed',
  2924. 'activated',
  2925. 'deactivated',
  2926. 'errorCaptured',
  2927. 'serverPrefetch'
  2928. ];
  2929. /* */
  2930. var config = ({
  2931. /**
  2932. * Option merge strategies (used in core/util/options)
  2933. */
  2934. // $flow-disable-line
  2935. optionMergeStrategies: Object.create(null),
  2936. /**
  2937. * Whether to suppress warnings.
  2938. */
  2939. silent: false,
  2940. /**
  2941. * Show production mode tip message on boot?
  2942. */
  2943. productionTip: "development" !== 'production',
  2944. /**
  2945. * Whether to enable devtools
  2946. */
  2947. devtools: "development" !== 'production',
  2948. /**
  2949. * Whether to record perf
  2950. */
  2951. performance: false,
  2952. /**
  2953. * Error handler for watcher errors
  2954. */
  2955. errorHandler: null,
  2956. /**
  2957. * Warn handler for watcher warns
  2958. */
  2959. warnHandler: null,
  2960. /**
  2961. * Ignore certain custom elements
  2962. */
  2963. ignoredElements: [],
  2964. /**
  2965. * Custom user key aliases for v-on
  2966. */
  2967. // $flow-disable-line
  2968. keyCodes: Object.create(null),
  2969. /**
  2970. * Check if a tag is reserved so that it cannot be registered as a
  2971. * component. This is platform-dependent and may be overwritten.
  2972. */
  2973. isReservedTag: no,
  2974. /**
  2975. * Check if an attribute is reserved so that it cannot be used as a component
  2976. * prop. This is platform-dependent and may be overwritten.
  2977. */
  2978. isReservedAttr: no,
  2979. /**
  2980. * Check if a tag is an unknown element.
  2981. * Platform-dependent.
  2982. */
  2983. isUnknownElement: no,
  2984. /**
  2985. * Get the namespace of an element
  2986. */
  2987. getTagNamespace: noop,
  2988. /**
  2989. * Parse the real tag name for the specific platform.
  2990. */
  2991. parsePlatformTagName: identity,
  2992. /**
  2993. * Check if an attribute must be bound using property, e.g. value
  2994. * Platform-dependent.
  2995. */
  2996. mustUseProp: no,
  2997. /**
  2998. * Perform updates asynchronously. Intended to be used by Vue Test Utils
  2999. * This will significantly reduce performance if set to false.
  3000. */
  3001. async: true,
  3002. /**
  3003. * Exposed for legacy reasons
  3004. */
  3005. _lifecycleHooks: LIFECYCLE_HOOKS
  3006. });
  3007. /* */
  3008. /**
  3009. * unicode letters used for parsing html tags, component names and property paths.
  3010. * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname
  3011. * skipping \u10000-\uEFFFF due to it freezing up PhantomJS
  3012. */
  3013. 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/;
  3014. /**
  3015. * Check if a string starts with $ or _
  3016. */
  3017. function isReserved (str) {
  3018. var c = (str + '').charCodeAt(0);
  3019. return c === 0x24 || c === 0x5F
  3020. }
  3021. /**
  3022. * Define a property.
  3023. */
  3024. function def (obj, key, val, enumerable) {
  3025. Object.defineProperty(obj, key, {
  3026. value: val,
  3027. enumerable: !!enumerable,
  3028. writable: true,
  3029. configurable: true
  3030. });
  3031. }
  3032. /**
  3033. * Parse simple path.
  3034. */
  3035. var bailRE = new RegExp(("[^" + (unicodeRegExp.source) + ".$_\\d]"));
  3036. function parsePath (path) {
  3037. if (bailRE.test(path)) {
  3038. return
  3039. }
  3040. var segments = path.split('.');
  3041. return function (obj) {
  3042. for (var i = 0; i < segments.length; i++) {
  3043. if (!obj) { return }
  3044. obj = obj[segments[i]];
  3045. }
  3046. return obj
  3047. }
  3048. }
  3049. /* */
  3050. // can we use __proto__?
  3051. var hasProto = '__proto__' in {};
  3052. // Browser environment sniffing
  3053. var inBrowser = typeof window !== 'undefined';
  3054. var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;
  3055. var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();
  3056. var UA = inBrowser && window.navigator.userAgent.toLowerCase();
  3057. var isIE = UA && /msie|trident/.test(UA);
  3058. var isIE9 = UA && UA.indexOf('msie 9.0') > 0;
  3059. var isEdge = UA && UA.indexOf('edge/') > 0;
  3060. var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');
  3061. var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');
  3062. var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge;
  3063. var isPhantomJS = UA && /phantomjs/.test(UA);
  3064. var isFF = UA && UA.match(/firefox\/(\d+)/);
  3065. // Firefox has a "watch" function on Object.prototype...
  3066. var nativeWatch = ({}).watch;
  3067. if (inBrowser) {
  3068. try {
  3069. var opts = {};
  3070. Object.defineProperty(opts, 'passive', ({
  3071. get: function get () {
  3072. }
  3073. })); // https://github.com/facebook/flow/issues/285
  3074. window.addEventListener('test-passive', null, opts);
  3075. } catch (e) {}
  3076. }
  3077. // this needs to be lazy-evaled because vue may be required before
  3078. // vue-server-renderer can set VUE_ENV
  3079. var _isServer;
  3080. var isServerRendering = function () {
  3081. if (_isServer === undefined) {
  3082. /* istanbul ignore if */
  3083. if (!inBrowser && !inWeex && typeof global !== 'undefined') {
  3084. // detect presence of vue-server-renderer and avoid
  3085. // Webpack shimming the process
  3086. _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';
  3087. } else {
  3088. _isServer = false;
  3089. }
  3090. }
  3091. return _isServer
  3092. };
  3093. // detect devtools
  3094. var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;
  3095. /* istanbul ignore next */
  3096. function isNative (Ctor) {
  3097. return typeof Ctor === 'function' && /native code/.test(Ctor.toString())
  3098. }
  3099. var hasSymbol =
  3100. typeof Symbol !== 'undefined' && isNative(Symbol) &&
  3101. typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);
  3102. var _Set;
  3103. /* istanbul ignore if */ // $flow-disable-line
  3104. if (typeof Set !== 'undefined' && isNative(Set)) {
  3105. // use native Set when available.
  3106. _Set = Set;
  3107. } else {
  3108. // a non-standard Set polyfill that only works with primitive keys.
  3109. _Set = /*@__PURE__*/(function () {
  3110. function Set () {
  3111. this.set = Object.create(null);
  3112. }
  3113. Set.prototype.has = function has (key) {
  3114. return this.set[key] === true
  3115. };
  3116. Set.prototype.add = function add (key) {
  3117. this.set[key] = true;
  3118. };
  3119. Set.prototype.clear = function clear () {
  3120. this.set = Object.create(null);
  3121. };
  3122. return Set;
  3123. }());
  3124. }
  3125. /* */
  3126. var warn = noop;
  3127. var tip = noop;
  3128. var generateComponentTrace = (noop); // work around flow check
  3129. var formatComponentName = (noop);
  3130. if (true) {
  3131. var hasConsole = typeof console !== 'undefined';
  3132. var classifyRE = /(?:^|[-_])(\w)/g;
  3133. var classify = function (str) { return str
  3134. .replace(classifyRE, function (c) { return c.toUpperCase(); })
  3135. .replace(/[-_]/g, ''); };
  3136. warn = function (msg, vm) {
  3137. var trace = vm ? generateComponentTrace(vm) : '';
  3138. if (config.warnHandler) {
  3139. config.warnHandler.call(null, msg, vm, trace);
  3140. } else if (hasConsole && (!config.silent)) {
  3141. console.error(("[Vue warn]: " + msg + trace));
  3142. }
  3143. };
  3144. tip = function (msg, vm) {
  3145. if (hasConsole && (!config.silent)) {
  3146. console.warn("[Vue tip]: " + msg + (
  3147. vm ? generateComponentTrace(vm) : ''
  3148. ));
  3149. }
  3150. };
  3151. formatComponentName = function (vm, includeFile) {
  3152. if (vm.$root === vm) {
  3153. if (vm.$options && vm.$options.__file) { // fixed by xxxxxx
  3154. return ('') + vm.$options.__file
  3155. }
  3156. return '<Root>'
  3157. }
  3158. var options = typeof vm === 'function' && vm.cid != null
  3159. ? vm.options
  3160. : vm._isVue
  3161. ? vm.$options || vm.constructor.options
  3162. : vm;
  3163. var name = options.name || options._componentTag;
  3164. var file = options.__file;
  3165. if (!name && file) {
  3166. var match = file.match(/([^/\\]+)\.vue$/);
  3167. name = match && match[1];
  3168. }
  3169. return (
  3170. (name ? ("<" + (classify(name)) + ">") : "<Anonymous>") +
  3171. (file && includeFile !== false ? (" at " + file) : '')
  3172. )
  3173. };
  3174. var repeat = function (str, n) {
  3175. var res = '';
  3176. while (n) {
  3177. if (n % 2 === 1) { res += str; }
  3178. if (n > 1) { str += str; }
  3179. n >>= 1;
  3180. }
  3181. return res
  3182. };
  3183. generateComponentTrace = function (vm) {
  3184. if (vm._isVue && vm.$parent) {
  3185. var tree = [];
  3186. var currentRecursiveSequence = 0;
  3187. while (vm && vm.$options.name !== 'PageBody') {
  3188. if (tree.length > 0) {
  3189. var last = tree[tree.length - 1];
  3190. if (last.constructor === vm.constructor) {
  3191. currentRecursiveSequence++;
  3192. vm = vm.$parent;
  3193. continue
  3194. } else if (currentRecursiveSequence > 0) {
  3195. tree[tree.length - 1] = [last, currentRecursiveSequence];
  3196. currentRecursiveSequence = 0;
  3197. }
  3198. }
  3199. !vm.$options.isReserved && tree.push(vm);
  3200. vm = vm.$parent;
  3201. }
  3202. return '\n\nfound in\n\n' + tree
  3203. .map(function (vm, i) { return ("" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)
  3204. ? ((formatComponentName(vm[0])) + "... (" + (vm[1]) + " recursive calls)")
  3205. : formatComponentName(vm))); })
  3206. .join('\n')
  3207. } else {
  3208. return ("\n\n(found in " + (formatComponentName(vm)) + ")")
  3209. }
  3210. };
  3211. }
  3212. /* */
  3213. var uid = 0;
  3214. /**
  3215. * A dep is an observable that can have multiple
  3216. * directives subscribing to it.
  3217. */
  3218. var Dep = function Dep () {
  3219. this.id = uid++;
  3220. this.subs = [];
  3221. };
  3222. Dep.prototype.addSub = function addSub (sub) {
  3223. this.subs.push(sub);
  3224. };
  3225. Dep.prototype.removeSub = function removeSub (sub) {
  3226. remove(this.subs, sub);
  3227. };
  3228. Dep.prototype.depend = function depend () {
  3229. if (Dep.SharedObject.target) {
  3230. Dep.SharedObject.target.addDep(this);
  3231. }
  3232. };
  3233. Dep.prototype.notify = function notify () {
  3234. // stabilize the subscriber list first
  3235. var subs = this.subs.slice();
  3236. if ( true && !config.async) {
  3237. // subs aren't sorted in scheduler if not running async
  3238. // we need to sort them now to make sure they fire in correct
  3239. // order
  3240. subs.sort(function (a, b) { return a.id - b.id; });
  3241. }
  3242. for (var i = 0, l = subs.length; i < l; i++) {
  3243. subs[i].update();
  3244. }
  3245. };
  3246. // The current target watcher being evaluated.
  3247. // This is globally unique because only one watcher
  3248. // can be evaluated at a time.
  3249. // fixed by xxxxxx (nvue shared vuex)
  3250. /* eslint-disable no-undef */
  3251. Dep.SharedObject = {};
  3252. Dep.SharedObject.target = null;
  3253. Dep.SharedObject.targetStack = [];
  3254. function pushTarget (target) {
  3255. Dep.SharedObject.targetStack.push(target);
  3256. Dep.SharedObject.target = target;
  3257. Dep.target = target;
  3258. }
  3259. function popTarget () {
  3260. Dep.SharedObject.targetStack.pop();
  3261. Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1];
  3262. Dep.target = Dep.SharedObject.target;
  3263. }
  3264. /* */
  3265. var VNode = function VNode (
  3266. tag,
  3267. data,
  3268. children,
  3269. text,
  3270. elm,
  3271. context,
  3272. componentOptions,
  3273. asyncFactory
  3274. ) {
  3275. this.tag = tag;
  3276. this.data = data;
  3277. this.children = children;
  3278. this.text = text;
  3279. this.elm = elm;
  3280. this.ns = undefined;
  3281. this.context = context;
  3282. this.fnContext = undefined;
  3283. this.fnOptions = undefined;
  3284. this.fnScopeId = undefined;
  3285. this.key = data && data.key;
  3286. this.componentOptions = componentOptions;
  3287. this.componentInstance = undefined;
  3288. this.parent = undefined;
  3289. this.raw = false;
  3290. this.isStatic = false;
  3291. this.isRootInsert = true;
  3292. this.isComment = false;
  3293. this.isCloned = false;
  3294. this.isOnce = false;
  3295. this.asyncFactory = asyncFactory;
  3296. this.asyncMeta = undefined;
  3297. this.isAsyncPlaceholder = false;
  3298. };
  3299. var prototypeAccessors = { child: { configurable: true } };
  3300. // DEPRECATED: alias for componentInstance for backwards compat.
  3301. /* istanbul ignore next */
  3302. prototypeAccessors.child.get = function () {
  3303. return this.componentInstance
  3304. };
  3305. Object.defineProperties( VNode.prototype, prototypeAccessors );
  3306. var createEmptyVNode = function (text) {
  3307. if ( text === void 0 ) text = '';
  3308. var node = new VNode();
  3309. node.text = text;
  3310. node.isComment = true;
  3311. return node
  3312. };
  3313. function createTextVNode (val) {
  3314. return new VNode(undefined, undefined, undefined, String(val))
  3315. }
  3316. // optimized shallow clone
  3317. // used for static nodes and slot nodes because they may be reused across
  3318. // multiple renders, cloning them avoids errors when DOM manipulations rely
  3319. // on their elm reference.
  3320. function cloneVNode (vnode) {
  3321. var cloned = new VNode(
  3322. vnode.tag,
  3323. vnode.data,
  3324. // #7975
  3325. // clone children array to avoid mutating original in case of cloning
  3326. // a child.
  3327. vnode.children && vnode.children.slice(),
  3328. vnode.text,
  3329. vnode.elm,
  3330. vnode.context,
  3331. vnode.componentOptions,
  3332. vnode.asyncFactory
  3333. );
  3334. cloned.ns = vnode.ns;
  3335. cloned.isStatic = vnode.isStatic;
  3336. cloned.key = vnode.key;
  3337. cloned.isComment = vnode.isComment;
  3338. cloned.fnContext = vnode.fnContext;
  3339. cloned.fnOptions = vnode.fnOptions;
  3340. cloned.fnScopeId = vnode.fnScopeId;
  3341. cloned.asyncMeta = vnode.asyncMeta;
  3342. cloned.isCloned = true;
  3343. return cloned
  3344. }
  3345. /*
  3346. * not type checking this file because flow doesn't play well with
  3347. * dynamically accessing methods on Array prototype
  3348. */
  3349. var arrayProto = Array.prototype;
  3350. var arrayMethods = Object.create(arrayProto);
  3351. var methodsToPatch = [
  3352. 'push',
  3353. 'pop',
  3354. 'shift',
  3355. 'unshift',
  3356. 'splice',
  3357. 'sort',
  3358. 'reverse'
  3359. ];
  3360. /**
  3361. * Intercept mutating methods and emit events
  3362. */
  3363. methodsToPatch.forEach(function (method) {
  3364. // cache original method
  3365. var original = arrayProto[method];
  3366. def(arrayMethods, method, function mutator () {
  3367. var args = [], len = arguments.length;
  3368. while ( len-- ) args[ len ] = arguments[ len ];
  3369. var result = original.apply(this, args);
  3370. var ob = this.__ob__;
  3371. var inserted;
  3372. switch (method) {
  3373. case 'push':
  3374. case 'unshift':
  3375. inserted = args;
  3376. break
  3377. case 'splice':
  3378. inserted = args.slice(2);
  3379. break
  3380. }
  3381. if (inserted) { ob.observeArray(inserted); }
  3382. // notify change
  3383. ob.dep.notify();
  3384. return result
  3385. });
  3386. });
  3387. /* */
  3388. var arrayKeys = Object.getOwnPropertyNames(arrayMethods);
  3389. /**
  3390. * In some cases we may want to disable observation inside a component's
  3391. * update computation.
  3392. */
  3393. var shouldObserve = true;
  3394. function toggleObserving (value) {
  3395. shouldObserve = value;
  3396. }
  3397. /**
  3398. * Observer class that is attached to each observed
  3399. * object. Once attached, the observer converts the target
  3400. * object's property keys into getter/setters that
  3401. * collect dependencies and dispatch updates.
  3402. */
  3403. var Observer = function Observer (value) {
  3404. this.value = value;
  3405. this.dep = new Dep();
  3406. this.vmCount = 0;
  3407. def(value, '__ob__', this);
  3408. if (Array.isArray(value)) {
  3409. if (hasProto) {
  3410. {// fixed by xxxxxx 微信小程序使用 plugins 之后,数组方法被直接挂载到了数组对象上,需要执行 copyAugment 逻辑
  3411. if(value.push !== value.__proto__.push){
  3412. copyAugment(value, arrayMethods, arrayKeys);
  3413. } else {
  3414. protoAugment(value, arrayMethods);
  3415. }
  3416. }
  3417. } else {
  3418. copyAugment(value, arrayMethods, arrayKeys);
  3419. }
  3420. this.observeArray(value);
  3421. } else {
  3422. this.walk(value);
  3423. }
  3424. };
  3425. /**
  3426. * Walk through all properties and convert them into
  3427. * getter/setters. This method should only be called when
  3428. * value type is Object.
  3429. */
  3430. Observer.prototype.walk = function walk (obj) {
  3431. var keys = Object.keys(obj);
  3432. for (var i = 0; i < keys.length; i++) {
  3433. defineReactive$$1(obj, keys[i]);
  3434. }
  3435. };
  3436. /**
  3437. * Observe a list of Array items.
  3438. */
  3439. Observer.prototype.observeArray = function observeArray (items) {
  3440. for (var i = 0, l = items.length; i < l; i++) {
  3441. observe(items[i]);
  3442. }
  3443. };
  3444. // helpers
  3445. /**
  3446. * Augment a target Object or Array by intercepting
  3447. * the prototype chain using __proto__
  3448. */
  3449. function protoAugment (target, src) {
  3450. /* eslint-disable no-proto */
  3451. target.__proto__ = src;
  3452. /* eslint-enable no-proto */
  3453. }
  3454. /**
  3455. * Augment a target Object or Array by defining
  3456. * hidden properties.
  3457. */
  3458. /* istanbul ignore next */
  3459. function copyAugment (target, src, keys) {
  3460. for (var i = 0, l = keys.length; i < l; i++) {
  3461. var key = keys[i];
  3462. def(target, key, src[key]);
  3463. }
  3464. }
  3465. /**
  3466. * Attempt to create an observer instance for a value,
  3467. * returns the new observer if successfully observed,
  3468. * or the existing observer if the value already has one.
  3469. */
  3470. function observe (value, asRootData) {
  3471. if (!isObject(value) || value instanceof VNode) {
  3472. return
  3473. }
  3474. var ob;
  3475. if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {
  3476. ob = value.__ob__;
  3477. } else if (
  3478. shouldObserve &&
  3479. !isServerRendering() &&
  3480. (Array.isArray(value) || isPlainObject(value)) &&
  3481. Object.isExtensible(value) &&
  3482. !value._isVue
  3483. ) {
  3484. ob = new Observer(value);
  3485. }
  3486. if (asRootData && ob) {
  3487. ob.vmCount++;
  3488. }
  3489. return ob
  3490. }
  3491. /**
  3492. * Define a reactive property on an Object.
  3493. */
  3494. function defineReactive$$1 (
  3495. obj,
  3496. key,
  3497. val,
  3498. customSetter,
  3499. shallow
  3500. ) {
  3501. var dep = new Dep();
  3502. var property = Object.getOwnPropertyDescriptor(obj, key);
  3503. if (property && property.configurable === false) {
  3504. return
  3505. }
  3506. // cater for pre-defined getter/setters
  3507. var getter = property && property.get;
  3508. var setter = property && property.set;
  3509. if ((!getter || setter) && arguments.length === 2) {
  3510. val = obj[key];
  3511. }
  3512. var childOb = !shallow && observe(val);
  3513. Object.defineProperty(obj, key, {
  3514. enumerable: true,
  3515. configurable: true,
  3516. get: function reactiveGetter () {
  3517. var value = getter ? getter.call(obj) : val;
  3518. if (Dep.SharedObject.target) { // fixed by xxxxxx
  3519. dep.depend();
  3520. if (childOb) {
  3521. childOb.dep.depend();
  3522. if (Array.isArray(value)) {
  3523. dependArray(value);
  3524. }
  3525. }
  3526. }
  3527. return value
  3528. },
  3529. set: function reactiveSetter (newVal) {
  3530. var value = getter ? getter.call(obj) : val;
  3531. /* eslint-disable no-self-compare */
  3532. if (newVal === value || (newVal !== newVal && value !== value)) {
  3533. return
  3534. }
  3535. /* eslint-enable no-self-compare */
  3536. if ( true && customSetter) {
  3537. customSetter();
  3538. }
  3539. // #7981: for accessor properties without setter
  3540. if (getter && !setter) { return }
  3541. if (setter) {
  3542. setter.call(obj, newVal);
  3543. } else {
  3544. val = newVal;
  3545. }
  3546. childOb = !shallow && observe(newVal);
  3547. dep.notify();
  3548. }
  3549. });
  3550. }
  3551. /**
  3552. * Set a property on an object. Adds the new property and
  3553. * triggers change notification if the property doesn't
  3554. * already exist.
  3555. */
  3556. function set (target, key, val) {
  3557. if ( true &&
  3558. (isUndef(target) || isPrimitive(target))
  3559. ) {
  3560. warn(("Cannot set reactive property on undefined, null, or primitive value: " + ((target))));
  3561. }
  3562. if (Array.isArray(target) && isValidArrayIndex(key)) {
  3563. target.length = Math.max(target.length, key);
  3564. target.splice(key, 1, val);
  3565. return val
  3566. }
  3567. if (key in target && !(key in Object.prototype)) {
  3568. target[key] = val;
  3569. return val
  3570. }
  3571. var ob = (target).__ob__;
  3572. if (target._isVue || (ob && ob.vmCount)) {
  3573. true && warn(
  3574. 'Avoid adding reactive properties to a Vue instance or its root $data ' +
  3575. 'at runtime - declare it upfront in the data option.'
  3576. );
  3577. return val
  3578. }
  3579. if (!ob) {
  3580. target[key] = val;
  3581. return val
  3582. }
  3583. defineReactive$$1(ob.value, key, val);
  3584. ob.dep.notify();
  3585. return val
  3586. }
  3587. /**
  3588. * Delete a property and trigger change if necessary.
  3589. */
  3590. function del (target, key) {
  3591. if ( true &&
  3592. (isUndef(target) || isPrimitive(target))
  3593. ) {
  3594. warn(("Cannot delete reactive property on undefined, null, or primitive value: " + ((target))));
  3595. }
  3596. if (Array.isArray(target) && isValidArrayIndex(key)) {
  3597. target.splice(key, 1);
  3598. return
  3599. }
  3600. var ob = (target).__ob__;
  3601. if (target._isVue || (ob && ob.vmCount)) {
  3602. true && warn(
  3603. 'Avoid deleting properties on a Vue instance or its root $data ' +
  3604. '- just set it to null.'
  3605. );
  3606. return
  3607. }
  3608. if (!hasOwn(target, key)) {
  3609. return
  3610. }
  3611. delete target[key];
  3612. if (!ob) {
  3613. return
  3614. }
  3615. ob.dep.notify();
  3616. }
  3617. /**
  3618. * Collect dependencies on array elements when the array is touched, since
  3619. * we cannot intercept array element access like property getters.
  3620. */
  3621. function dependArray (value) {
  3622. for (var e = (void 0), i = 0, l = value.length; i < l; i++) {
  3623. e = value[i];
  3624. e && e.__ob__ && e.__ob__.dep.depend();
  3625. if (Array.isArray(e)) {
  3626. dependArray(e);
  3627. }
  3628. }
  3629. }
  3630. /* */
  3631. /**
  3632. * Option overwriting strategies are functions that handle
  3633. * how to merge a parent option value and a child option
  3634. * value into the final value.
  3635. */
  3636. var strats = config.optionMergeStrategies;
  3637. /**
  3638. * Options with restrictions
  3639. */
  3640. if (true) {
  3641. strats.el = strats.propsData = function (parent, child, vm, key) {
  3642. if (!vm) {
  3643. warn(
  3644. "option \"" + key + "\" can only be used during instance " +
  3645. 'creation with the `new` keyword.'
  3646. );
  3647. }
  3648. return defaultStrat(parent, child)
  3649. };
  3650. }
  3651. /**
  3652. * Helper that recursively merges two data objects together.
  3653. */
  3654. function mergeData (to, from) {
  3655. if (!from) { return to }
  3656. var key, toVal, fromVal;
  3657. var keys = hasSymbol
  3658. ? Reflect.ownKeys(from)
  3659. : Object.keys(from);
  3660. for (var i = 0; i < keys.length; i++) {
  3661. key = keys[i];
  3662. // in case the object is already observed...
  3663. if (key === '__ob__') { continue }
  3664. toVal = to[key];
  3665. fromVal = from[key];
  3666. if (!hasOwn(to, key)) {
  3667. set(to, key, fromVal);
  3668. } else if (
  3669. toVal !== fromVal &&
  3670. isPlainObject(toVal) &&
  3671. isPlainObject(fromVal)
  3672. ) {
  3673. mergeData(toVal, fromVal);
  3674. }
  3675. }
  3676. return to
  3677. }
  3678. /**
  3679. * Data
  3680. */
  3681. function mergeDataOrFn (
  3682. parentVal,
  3683. childVal,
  3684. vm
  3685. ) {
  3686. if (!vm) {
  3687. // in a Vue.extend merge, both should be functions
  3688. if (!childVal) {
  3689. return parentVal
  3690. }
  3691. if (!parentVal) {
  3692. return childVal
  3693. }
  3694. // when parentVal & childVal are both present,
  3695. // we need to return a function that returns the
  3696. // merged result of both functions... no need to
  3697. // check if parentVal is a function here because
  3698. // it has to be a function to pass previous merges.
  3699. return function mergedDataFn () {
  3700. return mergeData(
  3701. typeof childVal === 'function' ? childVal.call(this, this) : childVal,
  3702. typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal
  3703. )
  3704. }
  3705. } else {
  3706. return function mergedInstanceDataFn () {
  3707. // instance merge
  3708. var instanceData = typeof childVal === 'function'
  3709. ? childVal.call(vm, vm)
  3710. : childVal;
  3711. var defaultData = typeof parentVal === 'function'
  3712. ? parentVal.call(vm, vm)
  3713. : parentVal;
  3714. if (instanceData) {
  3715. return mergeData(instanceData, defaultData)
  3716. } else {
  3717. return defaultData
  3718. }
  3719. }
  3720. }
  3721. }
  3722. strats.data = function (
  3723. parentVal,
  3724. childVal,
  3725. vm
  3726. ) {
  3727. if (!vm) {
  3728. if (childVal && typeof childVal !== 'function') {
  3729. true && warn(
  3730. 'The "data" option should be a function ' +
  3731. 'that returns a per-instance value in component ' +
  3732. 'definitions.',
  3733. vm
  3734. );
  3735. return parentVal
  3736. }
  3737. return mergeDataOrFn(parentVal, childVal)
  3738. }
  3739. return mergeDataOrFn(parentVal, childVal, vm)
  3740. };
  3741. /**
  3742. * Hooks and props are merged as arrays.
  3743. */
  3744. function mergeHook (
  3745. parentVal,
  3746. childVal
  3747. ) {
  3748. var res = childVal
  3749. ? parentVal
  3750. ? parentVal.concat(childVal)
  3751. : Array.isArray(childVal)
  3752. ? childVal
  3753. : [childVal]
  3754. : parentVal;
  3755. return res
  3756. ? dedupeHooks(res)
  3757. : res
  3758. }
  3759. function dedupeHooks (hooks) {
  3760. var res = [];
  3761. for (var i = 0; i < hooks.length; i++) {
  3762. if (res.indexOf(hooks[i]) === -1) {
  3763. res.push(hooks[i]);
  3764. }
  3765. }
  3766. return res
  3767. }
  3768. LIFECYCLE_HOOKS.forEach(function (hook) {
  3769. strats[hook] = mergeHook;
  3770. });
  3771. /**
  3772. * Assets
  3773. *
  3774. * When a vm is present (instance creation), we need to do
  3775. * a three-way merge between constructor options, instance
  3776. * options and parent options.
  3777. */
  3778. function mergeAssets (
  3779. parentVal,
  3780. childVal,
  3781. vm,
  3782. key
  3783. ) {
  3784. var res = Object.create(parentVal || null);
  3785. if (childVal) {
  3786. true && assertObjectType(key, childVal, vm);
  3787. return extend(res, childVal)
  3788. } else {
  3789. return res
  3790. }
  3791. }
  3792. ASSET_TYPES.forEach(function (type) {
  3793. strats[type + 's'] = mergeAssets;
  3794. });
  3795. /**
  3796. * Watchers.
  3797. *
  3798. * Watchers hashes should not overwrite one
  3799. * another, so we merge them as arrays.
  3800. */
  3801. strats.watch = function (
  3802. parentVal,
  3803. childVal,
  3804. vm,
  3805. key
  3806. ) {
  3807. // work around Firefox's Object.prototype.watch...
  3808. if (parentVal === nativeWatch) { parentVal = undefined; }
  3809. if (childVal === nativeWatch) { childVal = undefined; }
  3810. /* istanbul ignore if */
  3811. if (!childVal) { return Object.create(parentVal || null) }
  3812. if (true) {
  3813. assertObjectType(key, childVal, vm);
  3814. }
  3815. if (!parentVal) { return childVal }
  3816. var ret = {};
  3817. extend(ret, parentVal);
  3818. for (var key$1 in childVal) {
  3819. var parent = ret[key$1];
  3820. var child = childVal[key$1];
  3821. if (parent && !Array.isArray(parent)) {
  3822. parent = [parent];
  3823. }
  3824. ret[key$1] = parent
  3825. ? parent.concat(child)
  3826. : Array.isArray(child) ? child : [child];
  3827. }
  3828. return ret
  3829. };
  3830. /**
  3831. * Other object hashes.
  3832. */
  3833. strats.props =
  3834. strats.methods =
  3835. strats.inject =
  3836. strats.computed = function (
  3837. parentVal,
  3838. childVal,
  3839. vm,
  3840. key
  3841. ) {
  3842. if (childVal && "development" !== 'production') {
  3843. assertObjectType(key, childVal, vm);
  3844. }
  3845. if (!parentVal) { return childVal }
  3846. var ret = Object.create(null);
  3847. extend(ret, parentVal);
  3848. if (childVal) { extend(ret, childVal); }
  3849. return ret
  3850. };
  3851. strats.provide = mergeDataOrFn;
  3852. /**
  3853. * Default strategy.
  3854. */
  3855. var defaultStrat = function (parentVal, childVal) {
  3856. return childVal === undefined
  3857. ? parentVal
  3858. : childVal
  3859. };
  3860. /**
  3861. * Validate component names
  3862. */
  3863. function checkComponents (options) {
  3864. for (var key in options.components) {
  3865. validateComponentName(key);
  3866. }
  3867. }
  3868. function validateComponentName (name) {
  3869. if (!new RegExp(("^[a-zA-Z][\\-\\.0-9_" + (unicodeRegExp.source) + "]*$")).test(name)) {
  3870. warn(
  3871. 'Invalid component name: "' + name + '". Component names ' +
  3872. 'should conform to valid custom element name in html5 specification.'
  3873. );
  3874. }
  3875. if (isBuiltInTag(name) || config.isReservedTag(name)) {
  3876. warn(
  3877. 'Do not use built-in or reserved HTML elements as component ' +
  3878. 'id: ' + name
  3879. );
  3880. }
  3881. }
  3882. /**
  3883. * Ensure all props option syntax are normalized into the
  3884. * Object-based format.
  3885. */
  3886. function normalizeProps (options, vm) {
  3887. var props = options.props;
  3888. if (!props) { return }
  3889. var res = {};
  3890. var i, val, name;
  3891. if (Array.isArray(props)) {
  3892. i = props.length;
  3893. while (i--) {
  3894. val = props[i];
  3895. if (typeof val === 'string') {
  3896. name = camelize(val);
  3897. res[name] = { type: null };
  3898. } else if (true) {
  3899. warn('props must be strings when using array syntax.');
  3900. }
  3901. }
  3902. } else if (isPlainObject(props)) {
  3903. for (var key in props) {
  3904. val = props[key];
  3905. name = camelize(key);
  3906. res[name] = isPlainObject(val)
  3907. ? val
  3908. : { type: val };
  3909. }
  3910. } else if (true) {
  3911. warn(
  3912. "Invalid value for option \"props\": expected an Array or an Object, " +
  3913. "but got " + (toRawType(props)) + ".",
  3914. vm
  3915. );
  3916. }
  3917. options.props = res;
  3918. }
  3919. /**
  3920. * Normalize all injections into Object-based format
  3921. */
  3922. function normalizeInject (options, vm) {
  3923. var inject = options.inject;
  3924. if (!inject) { return }
  3925. var normalized = options.inject = {};
  3926. if (Array.isArray(inject)) {
  3927. for (var i = 0; i < inject.length; i++) {
  3928. normalized[inject[i]] = { from: inject[i] };
  3929. }
  3930. } else if (isPlainObject(inject)) {
  3931. for (var key in inject) {
  3932. var val = inject[key];
  3933. normalized[key] = isPlainObject(val)
  3934. ? extend({ from: key }, val)
  3935. : { from: val };
  3936. }
  3937. } else if (true) {
  3938. warn(
  3939. "Invalid value for option \"inject\": expected an Array or an Object, " +
  3940. "but got " + (toRawType(inject)) + ".",
  3941. vm
  3942. );
  3943. }
  3944. }
  3945. /**
  3946. * Normalize raw function directives into object format.
  3947. */
  3948. function normalizeDirectives (options) {
  3949. var dirs = options.directives;
  3950. if (dirs) {
  3951. for (var key in dirs) {
  3952. var def$$1 = dirs[key];
  3953. if (typeof def$$1 === 'function') {
  3954. dirs[key] = { bind: def$$1, update: def$$1 };
  3955. }
  3956. }
  3957. }
  3958. }
  3959. function assertObjectType (name, value, vm) {
  3960. if (!isPlainObject(value)) {
  3961. warn(
  3962. "Invalid value for option \"" + name + "\": expected an Object, " +
  3963. "but got " + (toRawType(value)) + ".",
  3964. vm
  3965. );
  3966. }
  3967. }
  3968. /**
  3969. * Merge two option objects into a new one.
  3970. * Core utility used in both instantiation and inheritance.
  3971. */
  3972. function mergeOptions (
  3973. parent,
  3974. child,
  3975. vm
  3976. ) {
  3977. if (true) {
  3978. checkComponents(child);
  3979. }
  3980. if (typeof child === 'function') {
  3981. child = child.options;
  3982. }
  3983. normalizeProps(child, vm);
  3984. normalizeInject(child, vm);
  3985. normalizeDirectives(child);
  3986. // Apply extends and mixins on the child options,
  3987. // but only if it is a raw options object that isn't
  3988. // the result of another mergeOptions call.
  3989. // Only merged options has the _base property.
  3990. if (!child._base) {
  3991. if (child.extends) {
  3992. parent = mergeOptions(parent, child.extends, vm);
  3993. }
  3994. if (child.mixins) {
  3995. for (var i = 0, l = child.mixins.length; i < l; i++) {
  3996. parent = mergeOptions(parent, child.mixins[i], vm);
  3997. }
  3998. }
  3999. }
  4000. var options = {};
  4001. var key;
  4002. for (key in parent) {
  4003. mergeField(key);
  4004. }
  4005. for (key in child) {
  4006. if (!hasOwn(parent, key)) {
  4007. mergeField(key);
  4008. }
  4009. }
  4010. function mergeField (key) {
  4011. var strat = strats[key] || defaultStrat;
  4012. options[key] = strat(parent[key], child[key], vm, key);
  4013. }
  4014. return options
  4015. }
  4016. /**
  4017. * Resolve an asset.
  4018. * This function is used because child instances need access
  4019. * to assets defined in its ancestor chain.
  4020. */
  4021. function resolveAsset (
  4022. options,
  4023. type,
  4024. id,
  4025. warnMissing
  4026. ) {
  4027. /* istanbul ignore if */
  4028. if (typeof id !== 'string') {
  4029. return
  4030. }
  4031. var assets = options[type];
  4032. // check local registration variations first
  4033. if (hasOwn(assets, id)) { return assets[id] }
  4034. var camelizedId = camelize(id);
  4035. if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }
  4036. var PascalCaseId = capitalize(camelizedId);
  4037. if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }
  4038. // fallback to prototype chain
  4039. var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];
  4040. if ( true && warnMissing && !res) {
  4041. warn(
  4042. 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,
  4043. options
  4044. );
  4045. }
  4046. return res
  4047. }
  4048. /* */
  4049. function validateProp (
  4050. key,
  4051. propOptions,
  4052. propsData,
  4053. vm
  4054. ) {
  4055. var prop = propOptions[key];
  4056. var absent = !hasOwn(propsData, key);
  4057. var value = propsData[key];
  4058. // boolean casting
  4059. var booleanIndex = getTypeIndex(Boolean, prop.type);
  4060. if (booleanIndex > -1) {
  4061. if (absent && !hasOwn(prop, 'default')) {
  4062. value = false;
  4063. } else if (value === '' || value === hyphenate(key)) {
  4064. // only cast empty string / same name to boolean if
  4065. // boolean has higher priority
  4066. var stringIndex = getTypeIndex(String, prop.type);
  4067. if (stringIndex < 0 || booleanIndex < stringIndex) {
  4068. value = true;
  4069. }
  4070. }
  4071. }
  4072. // check default value
  4073. if (value === undefined) {
  4074. value = getPropDefaultValue(vm, prop, key);
  4075. // since the default value is a fresh copy,
  4076. // make sure to observe it.
  4077. var prevShouldObserve = shouldObserve;
  4078. toggleObserving(true);
  4079. observe(value);
  4080. toggleObserving(prevShouldObserve);
  4081. }
  4082. if (
  4083. true
  4084. ) {
  4085. assertProp(prop, key, value, vm, absent);
  4086. }
  4087. return value
  4088. }
  4089. /**
  4090. * Get the default value of a prop.
  4091. */
  4092. function getPropDefaultValue (vm, prop, key) {
  4093. // no default, return undefined
  4094. if (!hasOwn(prop, 'default')) {
  4095. return undefined
  4096. }
  4097. var def = prop.default;
  4098. // warn against non-factory defaults for Object & Array
  4099. if ( true && isObject(def)) {
  4100. warn(
  4101. 'Invalid default value for prop "' + key + '": ' +
  4102. 'Props with type Object/Array must use a factory function ' +
  4103. 'to return the default value.',
  4104. vm
  4105. );
  4106. }
  4107. // the raw prop value was also undefined from previous render,
  4108. // return previous default value to avoid unnecessary watcher trigger
  4109. if (vm && vm.$options.propsData &&
  4110. vm.$options.propsData[key] === undefined &&
  4111. vm._props[key] !== undefined
  4112. ) {
  4113. return vm._props[key]
  4114. }
  4115. // call factory function for non-Function types
  4116. // a value is Function if its prototype is function even across different execution context
  4117. return typeof def === 'function' && getType(prop.type) !== 'Function'
  4118. ? def.call(vm)
  4119. : def
  4120. }
  4121. /**
  4122. * Assert whether a prop is valid.
  4123. */
  4124. function assertProp (
  4125. prop,
  4126. name,
  4127. value,
  4128. vm,
  4129. absent
  4130. ) {
  4131. if (prop.required && absent) {
  4132. warn(
  4133. 'Missing required prop: "' + name + '"',
  4134. vm
  4135. );
  4136. return
  4137. }
  4138. if (value == null && !prop.required) {
  4139. return
  4140. }
  4141. var type = prop.type;
  4142. var valid = !type || type === true;
  4143. var expectedTypes = [];
  4144. if (type) {
  4145. if (!Array.isArray(type)) {
  4146. type = [type];
  4147. }
  4148. for (var i = 0; i < type.length && !valid; i++) {
  4149. var assertedType = assertType(value, type[i]);
  4150. expectedTypes.push(assertedType.expectedType || '');
  4151. valid = assertedType.valid;
  4152. }
  4153. }
  4154. if (!valid) {
  4155. warn(
  4156. getInvalidTypeMessage(name, value, expectedTypes),
  4157. vm
  4158. );
  4159. return
  4160. }
  4161. var validator = prop.validator;
  4162. if (validator) {
  4163. if (!validator(value)) {
  4164. warn(
  4165. 'Invalid prop: custom validator check failed for prop "' + name + '".',
  4166. vm
  4167. );
  4168. }
  4169. }
  4170. }
  4171. var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;
  4172. function assertType (value, type) {
  4173. var valid;
  4174. var expectedType = getType(type);
  4175. if (simpleCheckRE.test(expectedType)) {
  4176. var t = typeof value;
  4177. valid = t === expectedType.toLowerCase();
  4178. // for primitive wrapper objects
  4179. if (!valid && t === 'object') {
  4180. valid = value instanceof type;
  4181. }
  4182. } else if (expectedType === 'Object') {
  4183. valid = isPlainObject(value);
  4184. } else if (expectedType === 'Array') {
  4185. valid = Array.isArray(value);
  4186. } else {
  4187. valid = value instanceof type;
  4188. }
  4189. return {
  4190. valid: valid,
  4191. expectedType: expectedType
  4192. }
  4193. }
  4194. /**
  4195. * Use function string name to check built-in types,
  4196. * because a simple equality check will fail when running
  4197. * across different vms / iframes.
  4198. */
  4199. function getType (fn) {
  4200. var match = fn && fn.toString().match(/^\s*function (\w+)/);
  4201. return match ? match[1] : ''
  4202. }
  4203. function isSameType (a, b) {
  4204. return getType(a) === getType(b)
  4205. }
  4206. function getTypeIndex (type, expectedTypes) {
  4207. if (!Array.isArray(expectedTypes)) {
  4208. return isSameType(expectedTypes, type) ? 0 : -1
  4209. }
  4210. for (var i = 0, len = expectedTypes.length; i < len; i++) {
  4211. if (isSameType(expectedTypes[i], type)) {
  4212. return i
  4213. }
  4214. }
  4215. return -1
  4216. }
  4217. function getInvalidTypeMessage (name, value, expectedTypes) {
  4218. var message = "Invalid prop: type check failed for prop \"" + name + "\"." +
  4219. " Expected " + (expectedTypes.map(capitalize).join(', '));
  4220. var expectedType = expectedTypes[0];
  4221. var receivedType = toRawType(value);
  4222. var expectedValue = styleValue(value, expectedType);
  4223. var receivedValue = styleValue(value, receivedType);
  4224. // check if we need to specify expected value
  4225. if (expectedTypes.length === 1 &&
  4226. isExplicable(expectedType) &&
  4227. !isBoolean(expectedType, receivedType)) {
  4228. message += " with value " + expectedValue;
  4229. }
  4230. message += ", got " + receivedType + " ";
  4231. // check if we need to specify received value
  4232. if (isExplicable(receivedType)) {
  4233. message += "with value " + receivedValue + ".";
  4234. }
  4235. return message
  4236. }
  4237. function styleValue (value, type) {
  4238. if (type === 'String') {
  4239. return ("\"" + value + "\"")
  4240. } else if (type === 'Number') {
  4241. return ("" + (Number(value)))
  4242. } else {
  4243. return ("" + value)
  4244. }
  4245. }
  4246. function isExplicable (value) {
  4247. var explicitTypes = ['string', 'number', 'boolean'];
  4248. return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })
  4249. }
  4250. function isBoolean () {
  4251. var args = [], len = arguments.length;
  4252. while ( len-- ) args[ len ] = arguments[ len ];
  4253. return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })
  4254. }
  4255. /* */
  4256. function handleError (err, vm, info) {
  4257. // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.
  4258. // See: https://github.com/vuejs/vuex/issues/1505
  4259. pushTarget();
  4260. try {
  4261. if (vm) {
  4262. var cur = vm;
  4263. while ((cur = cur.$parent)) {
  4264. var hooks = cur.$options.errorCaptured;
  4265. if (hooks) {
  4266. for (var i = 0; i < hooks.length; i++) {
  4267. try {
  4268. var capture = hooks[i].call(cur, err, vm, info) === false;
  4269. if (capture) { return }
  4270. } catch (e) {
  4271. globalHandleError(e, cur, 'errorCaptured hook');
  4272. }
  4273. }
  4274. }
  4275. }
  4276. }
  4277. globalHandleError(err, vm, info);
  4278. } finally {
  4279. popTarget();
  4280. }
  4281. }
  4282. function invokeWithErrorHandling (
  4283. handler,
  4284. context,
  4285. args,
  4286. vm,
  4287. info
  4288. ) {
  4289. var res;
  4290. try {
  4291. res = args ? handler.apply(context, args) : handler.call(context);
  4292. if (res && !res._isVue && isPromise(res) && !res._handled) {
  4293. res.catch(function (e) { return handleError(e, vm, info + " (Promise/async)"); });
  4294. // issue #9511
  4295. // avoid catch triggering multiple times when nested calls
  4296. res._handled = true;
  4297. }
  4298. } catch (e) {
  4299. handleError(e, vm, info);
  4300. }
  4301. return res
  4302. }
  4303. function globalHandleError (err, vm, info) {
  4304. if (config.errorHandler) {
  4305. try {
  4306. return config.errorHandler.call(null, err, vm, info)
  4307. } catch (e) {
  4308. // if the user intentionally throws the original error in the handler,
  4309. // do not log it twice
  4310. if (e !== err) {
  4311. logError(e, null, 'config.errorHandler');
  4312. }
  4313. }
  4314. }
  4315. logError(err, vm, info);
  4316. }
  4317. function logError (err, vm, info) {
  4318. if (true) {
  4319. warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm);
  4320. }
  4321. /* istanbul ignore else */
  4322. if ((inBrowser || inWeex) && typeof console !== 'undefined') {
  4323. console.error(err);
  4324. } else {
  4325. throw err
  4326. }
  4327. }
  4328. /* */
  4329. var callbacks = [];
  4330. var pending = false;
  4331. function flushCallbacks () {
  4332. pending = false;
  4333. var copies = callbacks.slice(0);
  4334. callbacks.length = 0;
  4335. for (var i = 0; i < copies.length; i++) {
  4336. copies[i]();
  4337. }
  4338. }
  4339. // Here we have async deferring wrappers using microtasks.
  4340. // In 2.5 we used (macro) tasks (in combination with microtasks).
  4341. // However, it has subtle problems when state is changed right before repaint
  4342. // (e.g. #6813, out-in transitions).
  4343. // Also, using (macro) tasks in event handler would cause some weird behaviors
  4344. // that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).
  4345. // So we now use microtasks everywhere, again.
  4346. // A major drawback of this tradeoff is that there are some scenarios
  4347. // where microtasks have too high a priority and fire in between supposedly
  4348. // sequential events (e.g. #4521, #6690, which have workarounds)
  4349. // or even between bubbling of the same event (#6566).
  4350. var timerFunc;
  4351. // The nextTick behavior leverages the microtask queue, which can be accessed
  4352. // via either native Promise.then or MutationObserver.
  4353. // MutationObserver has wider support, however it is seriously bugged in
  4354. // UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It
  4355. // completely stops working after triggering a few times... so, if native
  4356. // Promise is available, we will use it:
  4357. /* istanbul ignore next, $flow-disable-line */
  4358. if (typeof Promise !== 'undefined' && isNative(Promise)) {
  4359. var p = Promise.resolve();
  4360. timerFunc = function () {
  4361. p.then(flushCallbacks);
  4362. // In problematic UIWebViews, Promise.then doesn't completely break, but
  4363. // it can get stuck in a weird state where callbacks are pushed into the
  4364. // microtask queue but the queue isn't being flushed, until the browser
  4365. // needs to do some other work, e.g. handle a timer. Therefore we can
  4366. // "force" the microtask queue to be flushed by adding an empty timer.
  4367. if (isIOS) { setTimeout(noop); }
  4368. };
  4369. } else if (!isIE && typeof MutationObserver !== 'undefined' && (
  4370. isNative(MutationObserver) ||
  4371. // PhantomJS and iOS 7.x
  4372. MutationObserver.toString() === '[object MutationObserverConstructor]'
  4373. )) {
  4374. // Use MutationObserver where native Promise is not available,
  4375. // e.g. PhantomJS, iOS7, Android 4.4
  4376. // (#6466 MutationObserver is unreliable in IE11)
  4377. var counter = 1;
  4378. var observer = new MutationObserver(flushCallbacks);
  4379. var textNode = document.createTextNode(String(counter));
  4380. observer.observe(textNode, {
  4381. characterData: true
  4382. });
  4383. timerFunc = function () {
  4384. counter = (counter + 1) % 2;
  4385. textNode.data = String(counter);
  4386. };
  4387. } else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {
  4388. // Fallback to setImmediate.
  4389. // Technically it leverages the (macro) task queue,
  4390. // but it is still a better choice than setTimeout.
  4391. timerFunc = function () {
  4392. setImmediate(flushCallbacks);
  4393. };
  4394. } else {
  4395. // Fallback to setTimeout.
  4396. timerFunc = function () {
  4397. setTimeout(flushCallbacks, 0);
  4398. };
  4399. }
  4400. function nextTick (cb, ctx) {
  4401. var _resolve;
  4402. callbacks.push(function () {
  4403. if (cb) {
  4404. try {
  4405. cb.call(ctx);
  4406. } catch (e) {
  4407. handleError(e, ctx, 'nextTick');
  4408. }
  4409. } else if (_resolve) {
  4410. _resolve(ctx);
  4411. }
  4412. });
  4413. if (!pending) {
  4414. pending = true;
  4415. timerFunc();
  4416. }
  4417. // $flow-disable-line
  4418. if (!cb && typeof Promise !== 'undefined') {
  4419. return new Promise(function (resolve) {
  4420. _resolve = resolve;
  4421. })
  4422. }
  4423. }
  4424. /* */
  4425. /* not type checking this file because flow doesn't play well with Proxy */
  4426. var initProxy;
  4427. if (true) {
  4428. var allowedGlobals = makeMap(
  4429. 'Infinity,undefined,NaN,isFinite,isNaN,' +
  4430. 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +
  4431. 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +
  4432. 'require' // for Webpack/Browserify
  4433. );
  4434. var warnNonPresent = function (target, key) {
  4435. warn(
  4436. "Property or method \"" + key + "\" is not defined on the instance but " +
  4437. 'referenced during render. Make sure that this property is reactive, ' +
  4438. 'either in the data option, or for class-based components, by ' +
  4439. 'initializing the property. ' +
  4440. 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',
  4441. target
  4442. );
  4443. };
  4444. var warnReservedPrefix = function (target, key) {
  4445. warn(
  4446. "Property \"" + key + "\" must be accessed with \"$data." + key + "\" because " +
  4447. 'properties starting with "$" or "_" are not proxied in the Vue instance to ' +
  4448. 'prevent conflicts with Vue internals. ' +
  4449. 'See: https://vuejs.org/v2/api/#data',
  4450. target
  4451. );
  4452. };
  4453. var hasProxy =
  4454. typeof Proxy !== 'undefined' && isNative(Proxy);
  4455. if (hasProxy) {
  4456. var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');
  4457. config.keyCodes = new Proxy(config.keyCodes, {
  4458. set: function set (target, key, value) {
  4459. if (isBuiltInModifier(key)) {
  4460. warn(("Avoid overwriting built-in modifier in config.keyCodes: ." + key));
  4461. return false
  4462. } else {
  4463. target[key] = value;
  4464. return true
  4465. }
  4466. }
  4467. });
  4468. }
  4469. var hasHandler = {
  4470. has: function has (target, key) {
  4471. var has = key in target;
  4472. var isAllowed = allowedGlobals(key) ||
  4473. (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));
  4474. if (!has && !isAllowed) {
  4475. if (key in target.$data) { warnReservedPrefix(target, key); }
  4476. else { warnNonPresent(target, key); }
  4477. }
  4478. return has || !isAllowed
  4479. }
  4480. };
  4481. var getHandler = {
  4482. get: function get (target, key) {
  4483. if (typeof key === 'string' && !(key in target)) {
  4484. if (key in target.$data) { warnReservedPrefix(target, key); }
  4485. else { warnNonPresent(target, key); }
  4486. }
  4487. return target[key]
  4488. }
  4489. };
  4490. initProxy = function initProxy (vm) {
  4491. if (hasProxy) {
  4492. // determine which proxy handler to use
  4493. var options = vm.$options;
  4494. var handlers = options.render && options.render._withStripped
  4495. ? getHandler
  4496. : hasHandler;
  4497. vm._renderProxy = new Proxy(vm, handlers);
  4498. } else {
  4499. vm._renderProxy = vm;
  4500. }
  4501. };
  4502. }
  4503. /* */
  4504. var seenObjects = new _Set();
  4505. /**
  4506. * Recursively traverse an object to evoke all converted
  4507. * getters, so that every nested property inside the object
  4508. * is collected as a "deep" dependency.
  4509. */
  4510. function traverse (val) {
  4511. _traverse(val, seenObjects);
  4512. seenObjects.clear();
  4513. }
  4514. function _traverse (val, seen) {
  4515. var i, keys;
  4516. var isA = Array.isArray(val);
  4517. if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {
  4518. return
  4519. }
  4520. if (val.__ob__) {
  4521. var depId = val.__ob__.dep.id;
  4522. if (seen.has(depId)) {
  4523. return
  4524. }
  4525. seen.add(depId);
  4526. }
  4527. if (isA) {
  4528. i = val.length;
  4529. while (i--) { _traverse(val[i], seen); }
  4530. } else {
  4531. keys = Object.keys(val);
  4532. i = keys.length;
  4533. while (i--) { _traverse(val[keys[i]], seen); }
  4534. }
  4535. }
  4536. var mark;
  4537. var measure;
  4538. if (true) {
  4539. var perf = inBrowser && window.performance;
  4540. /* istanbul ignore if */
  4541. if (
  4542. perf &&
  4543. perf.mark &&
  4544. perf.measure &&
  4545. perf.clearMarks &&
  4546. perf.clearMeasures
  4547. ) {
  4548. mark = function (tag) { return perf.mark(tag); };
  4549. measure = function (name, startTag, endTag) {
  4550. perf.measure(name, startTag, endTag);
  4551. perf.clearMarks(startTag);
  4552. perf.clearMarks(endTag);
  4553. // perf.clearMeasures(name)
  4554. };
  4555. }
  4556. }
  4557. /* */
  4558. var normalizeEvent = cached(function (name) {
  4559. var passive = name.charAt(0) === '&';
  4560. name = passive ? name.slice(1) : name;
  4561. var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first
  4562. name = once$$1 ? name.slice(1) : name;
  4563. var capture = name.charAt(0) === '!';
  4564. name = capture ? name.slice(1) : name;
  4565. return {
  4566. name: name,
  4567. once: once$$1,
  4568. capture: capture,
  4569. passive: passive
  4570. }
  4571. });
  4572. function createFnInvoker (fns, vm) {
  4573. function invoker () {
  4574. var arguments$1 = arguments;
  4575. var fns = invoker.fns;
  4576. if (Array.isArray(fns)) {
  4577. var cloned = fns.slice();
  4578. for (var i = 0; i < cloned.length; i++) {
  4579. invokeWithErrorHandling(cloned[i], null, arguments$1, vm, "v-on handler");
  4580. }
  4581. } else {
  4582. // return handler return value for single handlers
  4583. return invokeWithErrorHandling(fns, null, arguments, vm, "v-on handler")
  4584. }
  4585. }
  4586. invoker.fns = fns;
  4587. return invoker
  4588. }
  4589. function updateListeners (
  4590. on,
  4591. oldOn,
  4592. add,
  4593. remove$$1,
  4594. createOnceHandler,
  4595. vm
  4596. ) {
  4597. var name, def$$1, cur, old, event;
  4598. for (name in on) {
  4599. def$$1 = cur = on[name];
  4600. old = oldOn[name];
  4601. event = normalizeEvent(name);
  4602. if (isUndef(cur)) {
  4603. true && warn(
  4604. "Invalid handler for event \"" + (event.name) + "\": got " + String(cur),
  4605. vm
  4606. );
  4607. } else if (isUndef(old)) {
  4608. if (isUndef(cur.fns)) {
  4609. cur = on[name] = createFnInvoker(cur, vm);
  4610. }
  4611. if (isTrue(event.once)) {
  4612. cur = on[name] = createOnceHandler(event.name, cur, event.capture);
  4613. }
  4614. add(event.name, cur, event.capture, event.passive, event.params);
  4615. } else if (cur !== old) {
  4616. old.fns = cur;
  4617. on[name] = old;
  4618. }
  4619. }
  4620. for (name in oldOn) {
  4621. if (isUndef(on[name])) {
  4622. event = normalizeEvent(name);
  4623. remove$$1(event.name, oldOn[name], event.capture);
  4624. }
  4625. }
  4626. }
  4627. /* */
  4628. /* */
  4629. // fixed by xxxxxx (mp properties)
  4630. function extractPropertiesFromVNodeData(data, Ctor, res, context) {
  4631. var propOptions = Ctor.options.mpOptions && Ctor.options.mpOptions.properties;
  4632. if (isUndef(propOptions)) {
  4633. return res
  4634. }
  4635. var externalClasses = Ctor.options.mpOptions.externalClasses || [];
  4636. var attrs = data.attrs;
  4637. var props = data.props;
  4638. if (isDef(attrs) || isDef(props)) {
  4639. for (var key in propOptions) {
  4640. var altKey = hyphenate(key);
  4641. var result = checkProp(res, props, key, altKey, true) ||
  4642. checkProp(res, attrs, key, altKey, false);
  4643. // externalClass
  4644. if (
  4645. result &&
  4646. res[key] &&
  4647. externalClasses.indexOf(altKey) !== -1 &&
  4648. context[camelize(res[key])]
  4649. ) {
  4650. // 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串)
  4651. res[key] = context[camelize(res[key])];
  4652. }
  4653. }
  4654. }
  4655. return res
  4656. }
  4657. function extractPropsFromVNodeData (
  4658. data,
  4659. Ctor,
  4660. tag,
  4661. context// fixed by xxxxxx
  4662. ) {
  4663. // we are only extracting raw values here.
  4664. // validation and default values are handled in the child
  4665. // component itself.
  4666. var propOptions = Ctor.options.props;
  4667. if (isUndef(propOptions)) {
  4668. // fixed by xxxxxx
  4669. return extractPropertiesFromVNodeData(data, Ctor, {}, context)
  4670. }
  4671. var res = {};
  4672. var attrs = data.attrs;
  4673. var props = data.props;
  4674. if (isDef(attrs) || isDef(props)) {
  4675. for (var key in propOptions) {
  4676. var altKey = hyphenate(key);
  4677. if (true) {
  4678. var keyInLowerCase = key.toLowerCase();
  4679. if (
  4680. key !== keyInLowerCase &&
  4681. attrs && hasOwn(attrs, keyInLowerCase)
  4682. ) {
  4683. tip(
  4684. "Prop \"" + keyInLowerCase + "\" is passed to component " +
  4685. (formatComponentName(tag || Ctor)) + ", but the declared prop name is" +
  4686. " \"" + key + "\". " +
  4687. "Note that HTML attributes are case-insensitive and camelCased " +
  4688. "props need to use their kebab-case equivalents when using in-DOM " +
  4689. "templates. You should probably use \"" + altKey + "\" instead of \"" + key + "\"."
  4690. );
  4691. }
  4692. }
  4693. checkProp(res, props, key, altKey, true) ||
  4694. checkProp(res, attrs, key, altKey, false);
  4695. }
  4696. }
  4697. // fixed by xxxxxx
  4698. return extractPropertiesFromVNodeData(data, Ctor, res, context)
  4699. }
  4700. function checkProp (
  4701. res,
  4702. hash,
  4703. key,
  4704. altKey,
  4705. preserve
  4706. ) {
  4707. if (isDef(hash)) {
  4708. if (hasOwn(hash, key)) {
  4709. res[key] = hash[key];
  4710. if (!preserve) {
  4711. delete hash[key];
  4712. }
  4713. return true
  4714. } else if (hasOwn(hash, altKey)) {
  4715. res[key] = hash[altKey];
  4716. if (!preserve) {
  4717. delete hash[altKey];
  4718. }
  4719. return true
  4720. }
  4721. }
  4722. return false
  4723. }
  4724. /* */
  4725. // The template compiler attempts to minimize the need for normalization by
  4726. // statically analyzing the template at compile time.
  4727. //
  4728. // For plain HTML markup, normalization can be completely skipped because the
  4729. // generated render function is guaranteed to return Array<VNode>. There are
  4730. // two cases where extra normalization is needed:
  4731. // 1. When the children contains components - because a functional component
  4732. // may return an Array instead of a single root. In this case, just a simple
  4733. // normalization is needed - if any child is an Array, we flatten the whole
  4734. // thing with Array.prototype.concat. It is guaranteed to be only 1-level deep
  4735. // because functional components already normalize their own children.
  4736. function simpleNormalizeChildren (children) {
  4737. for (var i = 0; i < children.length; i++) {
  4738. if (Array.isArray(children[i])) {
  4739. return Array.prototype.concat.apply([], children)
  4740. }
  4741. }
  4742. return children
  4743. }
  4744. // 2. When the children contains constructs that always generated nested Arrays,
  4745. // e.g. <template>, <slot>, v-for, or when the children is provided by user
  4746. // with hand-written render functions / JSX. In such cases a full normalization
  4747. // is needed to cater to all possible types of children values.
  4748. function normalizeChildren (children) {
  4749. return isPrimitive(children)
  4750. ? [createTextVNode(children)]
  4751. : Array.isArray(children)
  4752. ? normalizeArrayChildren(children)
  4753. : undefined
  4754. }
  4755. function isTextNode (node) {
  4756. return isDef(node) && isDef(node.text) && isFalse(node.isComment)
  4757. }
  4758. function normalizeArrayChildren (children, nestedIndex) {
  4759. var res = [];
  4760. var i, c, lastIndex, last;
  4761. for (i = 0; i < children.length; i++) {
  4762. c = children[i];
  4763. if (isUndef(c) || typeof c === 'boolean') { continue }
  4764. lastIndex = res.length - 1;
  4765. last = res[lastIndex];
  4766. // nested
  4767. if (Array.isArray(c)) {
  4768. if (c.length > 0) {
  4769. c = normalizeArrayChildren(c, ((nestedIndex || '') + "_" + i));
  4770. // merge adjacent text nodes
  4771. if (isTextNode(c[0]) && isTextNode(last)) {
  4772. res[lastIndex] = createTextVNode(last.text + (c[0]).text);
  4773. c.shift();
  4774. }
  4775. res.push.apply(res, c);
  4776. }
  4777. } else if (isPrimitive(c)) {
  4778. if (isTextNode(last)) {
  4779. // merge adjacent text nodes
  4780. // this is necessary for SSR hydration because text nodes are
  4781. // essentially merged when rendered to HTML strings
  4782. res[lastIndex] = createTextVNode(last.text + c);
  4783. } else if (c !== '') {
  4784. // convert primitive to vnode
  4785. res.push(createTextVNode(c));
  4786. }
  4787. } else {
  4788. if (isTextNode(c) && isTextNode(last)) {
  4789. // merge adjacent text nodes
  4790. res[lastIndex] = createTextVNode(last.text + c.text);
  4791. } else {
  4792. // default key for nested array children (likely generated by v-for)
  4793. if (isTrue(children._isVList) &&
  4794. isDef(c.tag) &&
  4795. isUndef(c.key) &&
  4796. isDef(nestedIndex)) {
  4797. c.key = "__vlist" + nestedIndex + "_" + i + "__";
  4798. }
  4799. res.push(c);
  4800. }
  4801. }
  4802. }
  4803. return res
  4804. }
  4805. /* */
  4806. function initProvide (vm) {
  4807. var provide = vm.$options.provide;
  4808. if (provide) {
  4809. vm._provided = typeof provide === 'function'
  4810. ? provide.call(vm)
  4811. : provide;
  4812. }
  4813. }
  4814. function initInjections (vm) {
  4815. var result = resolveInject(vm.$options.inject, vm);
  4816. if (result) {
  4817. toggleObserving(false);
  4818. Object.keys(result).forEach(function (key) {
  4819. /* istanbul ignore else */
  4820. if (true) {
  4821. defineReactive$$1(vm, key, result[key], function () {
  4822. warn(
  4823. "Avoid mutating an injected value directly since the changes will be " +
  4824. "overwritten whenever the provided component re-renders. " +
  4825. "injection being mutated: \"" + key + "\"",
  4826. vm
  4827. );
  4828. });
  4829. } else {}
  4830. });
  4831. toggleObserving(true);
  4832. }
  4833. }
  4834. function resolveInject (inject, vm) {
  4835. if (inject) {
  4836. // inject is :any because flow is not smart enough to figure out cached
  4837. var result = Object.create(null);
  4838. var keys = hasSymbol
  4839. ? Reflect.ownKeys(inject)
  4840. : Object.keys(inject);
  4841. for (var i = 0; i < keys.length; i++) {
  4842. var key = keys[i];
  4843. // #6574 in case the inject object is observed...
  4844. if (key === '__ob__') { continue }
  4845. var provideKey = inject[key].from;
  4846. var source = vm;
  4847. while (source) {
  4848. if (source._provided && hasOwn(source._provided, provideKey)) {
  4849. result[key] = source._provided[provideKey];
  4850. break
  4851. }
  4852. source = source.$parent;
  4853. }
  4854. if (!source) {
  4855. if ('default' in inject[key]) {
  4856. var provideDefault = inject[key].default;
  4857. result[key] = typeof provideDefault === 'function'
  4858. ? provideDefault.call(vm)
  4859. : provideDefault;
  4860. } else if (true) {
  4861. warn(("Injection \"" + key + "\" not found"), vm);
  4862. }
  4863. }
  4864. }
  4865. return result
  4866. }
  4867. }
  4868. /* */
  4869. /**
  4870. * Runtime helper for resolving raw children VNodes into a slot object.
  4871. */
  4872. function resolveSlots (
  4873. children,
  4874. context
  4875. ) {
  4876. if (!children || !children.length) {
  4877. return {}
  4878. }
  4879. var slots = {};
  4880. for (var i = 0, l = children.length; i < l; i++) {
  4881. var child = children[i];
  4882. var data = child.data;
  4883. // remove slot attribute if the node is resolved as a Vue slot node
  4884. if (data && data.attrs && data.attrs.slot) {
  4885. delete data.attrs.slot;
  4886. }
  4887. // named slots should only be respected if the vnode was rendered in the
  4888. // same context.
  4889. if ((child.context === context || child.fnContext === context) &&
  4890. data && data.slot != null
  4891. ) {
  4892. var name = data.slot;
  4893. var slot = (slots[name] || (slots[name] = []));
  4894. if (child.tag === 'template') {
  4895. slot.push.apply(slot, child.children || []);
  4896. } else {
  4897. slot.push(child);
  4898. }
  4899. } else {
  4900. // fixed by xxxxxx 临时 hack 掉 uni-app 中的异步 name slot page
  4901. if(child.asyncMeta && child.asyncMeta.data && child.asyncMeta.data.slot === 'page'){
  4902. (slots['page'] || (slots['page'] = [])).push(child);
  4903. }else{
  4904. (slots.default || (slots.default = [])).push(child);
  4905. }
  4906. }
  4907. }
  4908. // ignore slots that contains only whitespace
  4909. for (var name$1 in slots) {
  4910. if (slots[name$1].every(isWhitespace)) {
  4911. delete slots[name$1];
  4912. }
  4913. }
  4914. return slots
  4915. }
  4916. function isWhitespace (node) {
  4917. return (node.isComment && !node.asyncFactory) || node.text === ' '
  4918. }
  4919. /* */
  4920. function normalizeScopedSlots (
  4921. slots,
  4922. normalSlots,
  4923. prevSlots
  4924. ) {
  4925. var res;
  4926. var hasNormalSlots = Object.keys(normalSlots).length > 0;
  4927. var isStable = slots ? !!slots.$stable : !hasNormalSlots;
  4928. var key = slots && slots.$key;
  4929. if (!slots) {
  4930. res = {};
  4931. } else if (slots._normalized) {
  4932. // fast path 1: child component re-render only, parent did not change
  4933. return slots._normalized
  4934. } else if (
  4935. isStable &&
  4936. prevSlots &&
  4937. prevSlots !== emptyObject &&
  4938. key === prevSlots.$key &&
  4939. !hasNormalSlots &&
  4940. !prevSlots.$hasNormal
  4941. ) {
  4942. // fast path 2: stable scoped slots w/ no normal slots to proxy,
  4943. // only need to normalize once
  4944. return prevSlots
  4945. } else {
  4946. res = {};
  4947. for (var key$1 in slots) {
  4948. if (slots[key$1] && key$1[0] !== '$') {
  4949. res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);
  4950. }
  4951. }
  4952. }
  4953. // expose normal slots on scopedSlots
  4954. for (var key$2 in normalSlots) {
  4955. if (!(key$2 in res)) {
  4956. res[key$2] = proxyNormalSlot(normalSlots, key$2);
  4957. }
  4958. }
  4959. // avoriaz seems to mock a non-extensible $scopedSlots object
  4960. // and when that is passed down this would cause an error
  4961. if (slots && Object.isExtensible(slots)) {
  4962. (slots)._normalized = res;
  4963. }
  4964. def(res, '$stable', isStable);
  4965. def(res, '$key', key);
  4966. def(res, '$hasNormal', hasNormalSlots);
  4967. return res
  4968. }
  4969. function normalizeScopedSlot(normalSlots, key, fn) {
  4970. var normalized = function () {
  4971. var res = arguments.length ? fn.apply(null, arguments) : fn({});
  4972. res = res && typeof res === 'object' && !Array.isArray(res)
  4973. ? [res] // single vnode
  4974. : normalizeChildren(res);
  4975. return res && (
  4976. res.length === 0 ||
  4977. (res.length === 1 && res[0].isComment) // #9658
  4978. ) ? undefined
  4979. : res
  4980. };
  4981. // this is a slot using the new v-slot syntax without scope. although it is
  4982. // compiled as a scoped slot, render fn users would expect it to be present
  4983. // on this.$slots because the usage is semantically a normal slot.
  4984. if (fn.proxy) {
  4985. Object.defineProperty(normalSlots, key, {
  4986. get: normalized,
  4987. enumerable: true,
  4988. configurable: true
  4989. });
  4990. }
  4991. return normalized
  4992. }
  4993. function proxyNormalSlot(slots, key) {
  4994. return function () { return slots[key]; }
  4995. }
  4996. /* */
  4997. /**
  4998. * Runtime helper for rendering v-for lists.
  4999. */
  5000. function renderList (
  5001. val,
  5002. render
  5003. ) {
  5004. var ret, i, l, keys, key;
  5005. if (Array.isArray(val) || typeof val === 'string') {
  5006. ret = new Array(val.length);
  5007. for (i = 0, l = val.length; i < l; i++) {
  5008. ret[i] = render(val[i], i, i, i); // fixed by xxxxxx
  5009. }
  5010. } else if (typeof val === 'number') {
  5011. ret = new Array(val);
  5012. for (i = 0; i < val; i++) {
  5013. ret[i] = render(i + 1, i, i, i); // fixed by xxxxxx
  5014. }
  5015. } else if (isObject(val)) {
  5016. if (hasSymbol && val[Symbol.iterator]) {
  5017. ret = [];
  5018. var iterator = val[Symbol.iterator]();
  5019. var result = iterator.next();
  5020. while (!result.done) {
  5021. ret.push(render(result.value, ret.length, i, i++)); // fixed by xxxxxx
  5022. result = iterator.next();
  5023. }
  5024. } else {
  5025. keys = Object.keys(val);
  5026. ret = new Array(keys.length);
  5027. for (i = 0, l = keys.length; i < l; i++) {
  5028. key = keys[i];
  5029. ret[i] = render(val[key], key, i, i); // fixed by xxxxxx
  5030. }
  5031. }
  5032. }
  5033. if (!isDef(ret)) {
  5034. ret = [];
  5035. }
  5036. (ret)._isVList = true;
  5037. return ret
  5038. }
  5039. /* */
  5040. /**
  5041. * Runtime helper for rendering <slot>
  5042. */
  5043. function renderSlot (
  5044. name,
  5045. fallback,
  5046. props,
  5047. bindObject
  5048. ) {
  5049. var scopedSlotFn = this.$scopedSlots[name];
  5050. var nodes;
  5051. if (scopedSlotFn) { // scoped slot
  5052. props = props || {};
  5053. if (bindObject) {
  5054. if ( true && !isObject(bindObject)) {
  5055. warn(
  5056. 'slot v-bind without argument expects an Object',
  5057. this
  5058. );
  5059. }
  5060. props = extend(extend({}, bindObject), props);
  5061. }
  5062. // fixed by xxxxxx app-plus scopedSlot
  5063. nodes = scopedSlotFn(props, this, props._i) || fallback;
  5064. } else {
  5065. nodes = this.$slots[name] || fallback;
  5066. }
  5067. var target = props && props.slot;
  5068. if (target) {
  5069. return this.$createElement('template', { slot: target }, nodes)
  5070. } else {
  5071. return nodes
  5072. }
  5073. }
  5074. /* */
  5075. /**
  5076. * Runtime helper for resolving filters
  5077. */
  5078. function resolveFilter (id) {
  5079. return resolveAsset(this.$options, 'filters', id, true) || identity
  5080. }
  5081. /* */
  5082. function isKeyNotMatch (expect, actual) {
  5083. if (Array.isArray(expect)) {
  5084. return expect.indexOf(actual) === -1
  5085. } else {
  5086. return expect !== actual
  5087. }
  5088. }
  5089. /**
  5090. * Runtime helper for checking keyCodes from config.
  5091. * exposed as Vue.prototype._k
  5092. * passing in eventKeyName as last argument separately for backwards compat
  5093. */
  5094. function checkKeyCodes (
  5095. eventKeyCode,
  5096. key,
  5097. builtInKeyCode,
  5098. eventKeyName,
  5099. builtInKeyName
  5100. ) {
  5101. var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;
  5102. if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {
  5103. return isKeyNotMatch(builtInKeyName, eventKeyName)
  5104. } else if (mappedKeyCode) {
  5105. return isKeyNotMatch(mappedKeyCode, eventKeyCode)
  5106. } else if (eventKeyName) {
  5107. return hyphenate(eventKeyName) !== key
  5108. }
  5109. }
  5110. /* */
  5111. /**
  5112. * Runtime helper for merging v-bind="object" into a VNode's data.
  5113. */
  5114. function bindObjectProps (
  5115. data,
  5116. tag,
  5117. value,
  5118. asProp,
  5119. isSync
  5120. ) {
  5121. if (value) {
  5122. if (!isObject(value)) {
  5123. true && warn(
  5124. 'v-bind without argument expects an Object or Array value',
  5125. this
  5126. );
  5127. } else {
  5128. if (Array.isArray(value)) {
  5129. value = toObject(value);
  5130. }
  5131. var hash;
  5132. var loop = function ( key ) {
  5133. if (
  5134. key === 'class' ||
  5135. key === 'style' ||
  5136. isReservedAttribute(key)
  5137. ) {
  5138. hash = data;
  5139. } else {
  5140. var type = data.attrs && data.attrs.type;
  5141. hash = asProp || config.mustUseProp(tag, type, key)
  5142. ? data.domProps || (data.domProps = {})
  5143. : data.attrs || (data.attrs = {});
  5144. }
  5145. var camelizedKey = camelize(key);
  5146. var hyphenatedKey = hyphenate(key);
  5147. if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {
  5148. hash[key] = value[key];
  5149. if (isSync) {
  5150. var on = data.on || (data.on = {});
  5151. on[("update:" + key)] = function ($event) {
  5152. value[key] = $event;
  5153. };
  5154. }
  5155. }
  5156. };
  5157. for (var key in value) loop( key );
  5158. }
  5159. }
  5160. return data
  5161. }
  5162. /* */
  5163. /**
  5164. * Runtime helper for rendering static trees.
  5165. */
  5166. function renderStatic (
  5167. index,
  5168. isInFor
  5169. ) {
  5170. var cached = this._staticTrees || (this._staticTrees = []);
  5171. var tree = cached[index];
  5172. // if has already-rendered static tree and not inside v-for,
  5173. // we can reuse the same tree.
  5174. if (tree && !isInFor) {
  5175. return tree
  5176. }
  5177. // otherwise, render a fresh tree.
  5178. tree = cached[index] = this.$options.staticRenderFns[index].call(
  5179. this._renderProxy,
  5180. null,
  5181. this // for render fns generated for functional component templates
  5182. );
  5183. markStatic(tree, ("__static__" + index), false);
  5184. return tree
  5185. }
  5186. /**
  5187. * Runtime helper for v-once.
  5188. * Effectively it means marking the node as static with a unique key.
  5189. */
  5190. function markOnce (
  5191. tree,
  5192. index,
  5193. key
  5194. ) {
  5195. markStatic(tree, ("__once__" + index + (key ? ("_" + key) : "")), true);
  5196. return tree
  5197. }
  5198. function markStatic (
  5199. tree,
  5200. key,
  5201. isOnce
  5202. ) {
  5203. if (Array.isArray(tree)) {
  5204. for (var i = 0; i < tree.length; i++) {
  5205. if (tree[i] && typeof tree[i] !== 'string') {
  5206. markStaticNode(tree[i], (key + "_" + i), isOnce);
  5207. }
  5208. }
  5209. } else {
  5210. markStaticNode(tree, key, isOnce);
  5211. }
  5212. }
  5213. function markStaticNode (node, key, isOnce) {
  5214. node.isStatic = true;
  5215. node.key = key;
  5216. node.isOnce = isOnce;
  5217. }
  5218. /* */
  5219. function bindObjectListeners (data, value) {
  5220. if (value) {
  5221. if (!isPlainObject(value)) {
  5222. true && warn(
  5223. 'v-on without argument expects an Object value',
  5224. this
  5225. );
  5226. } else {
  5227. var on = data.on = data.on ? extend({}, data.on) : {};
  5228. for (var key in value) {
  5229. var existing = on[key];
  5230. var ours = value[key];
  5231. on[key] = existing ? [].concat(existing, ours) : ours;
  5232. }
  5233. }
  5234. }
  5235. return data
  5236. }
  5237. /* */
  5238. function resolveScopedSlots (
  5239. fns, // see flow/vnode
  5240. res,
  5241. // the following are added in 2.6
  5242. hasDynamicKeys,
  5243. contentHashKey
  5244. ) {
  5245. res = res || { $stable: !hasDynamicKeys };
  5246. for (var i = 0; i < fns.length; i++) {
  5247. var slot = fns[i];
  5248. if (Array.isArray(slot)) {
  5249. resolveScopedSlots(slot, res, hasDynamicKeys);
  5250. } else if (slot) {
  5251. // marker for reverse proxying v-slot without scope on this.$slots
  5252. if (slot.proxy) {
  5253. slot.fn.proxy = true;
  5254. }
  5255. res[slot.key] = slot.fn;
  5256. }
  5257. }
  5258. if (contentHashKey) {
  5259. (res).$key = contentHashKey;
  5260. }
  5261. return res
  5262. }
  5263. /* */
  5264. function bindDynamicKeys (baseObj, values) {
  5265. for (var i = 0; i < values.length; i += 2) {
  5266. var key = values[i];
  5267. if (typeof key === 'string' && key) {
  5268. baseObj[values[i]] = values[i + 1];
  5269. } else if ( true && key !== '' && key !== null) {
  5270. // null is a special value for explicitly removing a binding
  5271. warn(
  5272. ("Invalid value for dynamic directive argument (expected string or null): " + key),
  5273. this
  5274. );
  5275. }
  5276. }
  5277. return baseObj
  5278. }
  5279. // helper to dynamically append modifier runtime markers to event names.
  5280. // ensure only append when value is already string, otherwise it will be cast
  5281. // to string and cause the type check to miss.
  5282. function prependModifier (value, symbol) {
  5283. return typeof value === 'string' ? symbol + value : value
  5284. }
  5285. /* */
  5286. function installRenderHelpers (target) {
  5287. target._o = markOnce;
  5288. target._n = toNumber;
  5289. target._s = toString;
  5290. target._l = renderList;
  5291. target._t = renderSlot;
  5292. target._q = looseEqual;
  5293. target._i = looseIndexOf;
  5294. target._m = renderStatic;
  5295. target._f = resolveFilter;
  5296. target._k = checkKeyCodes;
  5297. target._b = bindObjectProps;
  5298. target._v = createTextVNode;
  5299. target._e = createEmptyVNode;
  5300. target._u = resolveScopedSlots;
  5301. target._g = bindObjectListeners;
  5302. target._d = bindDynamicKeys;
  5303. target._p = prependModifier;
  5304. }
  5305. /* */
  5306. function FunctionalRenderContext (
  5307. data,
  5308. props,
  5309. children,
  5310. parent,
  5311. Ctor
  5312. ) {
  5313. var this$1 = this;
  5314. var options = Ctor.options;
  5315. // ensure the createElement function in functional components
  5316. // gets a unique context - this is necessary for correct named slot check
  5317. var contextVm;
  5318. if (hasOwn(parent, '_uid')) {
  5319. contextVm = Object.create(parent);
  5320. // $flow-disable-line
  5321. contextVm._original = parent;
  5322. } else {
  5323. // the context vm passed in is a functional context as well.
  5324. // in this case we want to make sure we are able to get a hold to the
  5325. // real context instance.
  5326. contextVm = parent;
  5327. // $flow-disable-line
  5328. parent = parent._original;
  5329. }
  5330. var isCompiled = isTrue(options._compiled);
  5331. var needNormalization = !isCompiled;
  5332. this.data = data;
  5333. this.props = props;
  5334. this.children = children;
  5335. this.parent = parent;
  5336. this.listeners = data.on || emptyObject;
  5337. this.injections = resolveInject(options.inject, parent);
  5338. this.slots = function () {
  5339. if (!this$1.$slots) {
  5340. normalizeScopedSlots(
  5341. data.scopedSlots,
  5342. this$1.$slots = resolveSlots(children, parent)
  5343. );
  5344. }
  5345. return this$1.$slots
  5346. };
  5347. Object.defineProperty(this, 'scopedSlots', ({
  5348. enumerable: true,
  5349. get: function get () {
  5350. return normalizeScopedSlots(data.scopedSlots, this.slots())
  5351. }
  5352. }));
  5353. // support for compiled functional template
  5354. if (isCompiled) {
  5355. // exposing $options for renderStatic()
  5356. this.$options = options;
  5357. // pre-resolve slots for renderSlot()
  5358. this.$slots = this.slots();
  5359. this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);
  5360. }
  5361. if (options._scopeId) {
  5362. this._c = function (a, b, c, d) {
  5363. var vnode = createElement(contextVm, a, b, c, d, needNormalization);
  5364. if (vnode && !Array.isArray(vnode)) {
  5365. vnode.fnScopeId = options._scopeId;
  5366. vnode.fnContext = parent;
  5367. }
  5368. return vnode
  5369. };
  5370. } else {
  5371. this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };
  5372. }
  5373. }
  5374. installRenderHelpers(FunctionalRenderContext.prototype);
  5375. function createFunctionalComponent (
  5376. Ctor,
  5377. propsData,
  5378. data,
  5379. contextVm,
  5380. children
  5381. ) {
  5382. var options = Ctor.options;
  5383. var props = {};
  5384. var propOptions = options.props;
  5385. if (isDef(propOptions)) {
  5386. for (var key in propOptions) {
  5387. props[key] = validateProp(key, propOptions, propsData || emptyObject);
  5388. }
  5389. } else {
  5390. if (isDef(data.attrs)) { mergeProps(props, data.attrs); }
  5391. if (isDef(data.props)) { mergeProps(props, data.props); }
  5392. }
  5393. var renderContext = new FunctionalRenderContext(
  5394. data,
  5395. props,
  5396. children,
  5397. contextVm,
  5398. Ctor
  5399. );
  5400. var vnode = options.render.call(null, renderContext._c, renderContext);
  5401. if (vnode instanceof VNode) {
  5402. return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)
  5403. } else if (Array.isArray(vnode)) {
  5404. var vnodes = normalizeChildren(vnode) || [];
  5405. var res = new Array(vnodes.length);
  5406. for (var i = 0; i < vnodes.length; i++) {
  5407. res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);
  5408. }
  5409. return res
  5410. }
  5411. }
  5412. function cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {
  5413. // #7817 clone node before setting fnContext, otherwise if the node is reused
  5414. // (e.g. it was from a cached normal slot) the fnContext causes named slots
  5415. // that should not be matched to match.
  5416. var clone = cloneVNode(vnode);
  5417. clone.fnContext = contextVm;
  5418. clone.fnOptions = options;
  5419. if (true) {
  5420. (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;
  5421. }
  5422. if (data.slot) {
  5423. (clone.data || (clone.data = {})).slot = data.slot;
  5424. }
  5425. return clone
  5426. }
  5427. function mergeProps (to, from) {
  5428. for (var key in from) {
  5429. to[camelize(key)] = from[key];
  5430. }
  5431. }
  5432. /* */
  5433. /* */
  5434. /* */
  5435. /* */
  5436. // inline hooks to be invoked on component VNodes during patch
  5437. var componentVNodeHooks = {
  5438. init: function init (vnode, hydrating) {
  5439. if (
  5440. vnode.componentInstance &&
  5441. !vnode.componentInstance._isDestroyed &&
  5442. vnode.data.keepAlive
  5443. ) {
  5444. // kept-alive components, treat as a patch
  5445. var mountedNode = vnode; // work around flow
  5446. componentVNodeHooks.prepatch(mountedNode, mountedNode);
  5447. } else {
  5448. var child = vnode.componentInstance = createComponentInstanceForVnode(
  5449. vnode,
  5450. activeInstance
  5451. );
  5452. child.$mount(hydrating ? vnode.elm : undefined, hydrating);
  5453. }
  5454. },
  5455. prepatch: function prepatch (oldVnode, vnode) {
  5456. var options = vnode.componentOptions;
  5457. var child = vnode.componentInstance = oldVnode.componentInstance;
  5458. updateChildComponent(
  5459. child,
  5460. options.propsData, // updated props
  5461. options.listeners, // updated listeners
  5462. vnode, // new parent vnode
  5463. options.children // new children
  5464. );
  5465. },
  5466. insert: function insert (vnode) {
  5467. var context = vnode.context;
  5468. var componentInstance = vnode.componentInstance;
  5469. if (!componentInstance._isMounted) {
  5470. callHook(componentInstance, 'onServiceCreated');
  5471. callHook(componentInstance, 'onServiceAttached');
  5472. componentInstance._isMounted = true;
  5473. callHook(componentInstance, 'mounted');
  5474. }
  5475. if (vnode.data.keepAlive) {
  5476. if (context._isMounted) {
  5477. // vue-router#1212
  5478. // During updates, a kept-alive component's child components may
  5479. // change, so directly walking the tree here may call activated hooks
  5480. // on incorrect children. Instead we push them into a queue which will
  5481. // be processed after the whole patch process ended.
  5482. queueActivatedComponent(componentInstance);
  5483. } else {
  5484. activateChildComponent(componentInstance, true /* direct */);
  5485. }
  5486. }
  5487. },
  5488. destroy: function destroy (vnode) {
  5489. var componentInstance = vnode.componentInstance;
  5490. if (!componentInstance._isDestroyed) {
  5491. if (!vnode.data.keepAlive) {
  5492. componentInstance.$destroy();
  5493. } else {
  5494. deactivateChildComponent(componentInstance, true /* direct */);
  5495. }
  5496. }
  5497. }
  5498. };
  5499. var hooksToMerge = Object.keys(componentVNodeHooks);
  5500. function createComponent (
  5501. Ctor,
  5502. data,
  5503. context,
  5504. children,
  5505. tag
  5506. ) {
  5507. if (isUndef(Ctor)) {
  5508. return
  5509. }
  5510. var baseCtor = context.$options._base;
  5511. // plain options object: turn it into a constructor
  5512. if (isObject(Ctor)) {
  5513. Ctor = baseCtor.extend(Ctor);
  5514. }
  5515. // if at this stage it's not a constructor or an async component factory,
  5516. // reject.
  5517. if (typeof Ctor !== 'function') {
  5518. if (true) {
  5519. warn(("Invalid Component definition: " + (String(Ctor))), context);
  5520. }
  5521. return
  5522. }
  5523. // async component
  5524. var asyncFactory;
  5525. if (isUndef(Ctor.cid)) {
  5526. asyncFactory = Ctor;
  5527. Ctor = resolveAsyncComponent(asyncFactory, baseCtor);
  5528. if (Ctor === undefined) {
  5529. // return a placeholder node for async component, which is rendered
  5530. // as a comment node but preserves all the raw information for the node.
  5531. // the information will be used for async server-rendering and hydration.
  5532. return createAsyncPlaceholder(
  5533. asyncFactory,
  5534. data,
  5535. context,
  5536. children,
  5537. tag
  5538. )
  5539. }
  5540. }
  5541. data = data || {};
  5542. // resolve constructor options in case global mixins are applied after
  5543. // component constructor creation
  5544. resolveConstructorOptions(Ctor);
  5545. // transform component v-model data into props & events
  5546. if (isDef(data.model)) {
  5547. transformModel(Ctor.options, data);
  5548. }
  5549. // extract props
  5550. var propsData = extractPropsFromVNodeData(data, Ctor, tag, context); // fixed by xxxxxx
  5551. // functional component
  5552. if (isTrue(Ctor.options.functional)) {
  5553. return createFunctionalComponent(Ctor, propsData, data, context, children)
  5554. }
  5555. // extract listeners, since these needs to be treated as
  5556. // child component listeners instead of DOM listeners
  5557. var listeners = data.on;
  5558. // replace with listeners with .native modifier
  5559. // so it gets processed during parent component patch.
  5560. data.on = data.nativeOn;
  5561. if (isTrue(Ctor.options.abstract)) {
  5562. // abstract components do not keep anything
  5563. // other than props & listeners & slot
  5564. // work around flow
  5565. var slot = data.slot;
  5566. data = {};
  5567. if (slot) {
  5568. data.slot = slot;
  5569. }
  5570. }
  5571. // install component management hooks onto the placeholder node
  5572. installComponentHooks(data);
  5573. // return a placeholder vnode
  5574. var name = Ctor.options.name || tag;
  5575. var vnode = new VNode(
  5576. ("vue-component-" + (Ctor.cid) + (name ? ("-" + name) : '')),
  5577. data, undefined, undefined, undefined, context,
  5578. { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },
  5579. asyncFactory
  5580. );
  5581. return vnode
  5582. }
  5583. function createComponentInstanceForVnode (
  5584. vnode, // we know it's MountedComponentVNode but flow doesn't
  5585. parent // activeInstance in lifecycle state
  5586. ) {
  5587. var options = {
  5588. _isComponent: true,
  5589. _parentVnode: vnode,
  5590. parent: parent
  5591. };
  5592. // check inline-template render functions
  5593. var inlineTemplate = vnode.data.inlineTemplate;
  5594. if (isDef(inlineTemplate)) {
  5595. options.render = inlineTemplate.render;
  5596. options.staticRenderFns = inlineTemplate.staticRenderFns;
  5597. }
  5598. return new vnode.componentOptions.Ctor(options)
  5599. }
  5600. function installComponentHooks (data) {
  5601. var hooks = data.hook || (data.hook = {});
  5602. for (var i = 0; i < hooksToMerge.length; i++) {
  5603. var key = hooksToMerge[i];
  5604. var existing = hooks[key];
  5605. var toMerge = componentVNodeHooks[key];
  5606. if (existing !== toMerge && !(existing && existing._merged)) {
  5607. hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;
  5608. }
  5609. }
  5610. }
  5611. function mergeHook$1 (f1, f2) {
  5612. var merged = function (a, b) {
  5613. // flow complains about extra args which is why we use any
  5614. f1(a, b);
  5615. f2(a, b);
  5616. };
  5617. merged._merged = true;
  5618. return merged
  5619. }
  5620. // transform component v-model info (value and callback) into
  5621. // prop and event handler respectively.
  5622. function transformModel (options, data) {
  5623. var prop = (options.model && options.model.prop) || 'value';
  5624. var event = (options.model && options.model.event) || 'input'
  5625. ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;
  5626. var on = data.on || (data.on = {});
  5627. var existing = on[event];
  5628. var callback = data.model.callback;
  5629. if (isDef(existing)) {
  5630. if (
  5631. Array.isArray(existing)
  5632. ? existing.indexOf(callback) === -1
  5633. : existing !== callback
  5634. ) {
  5635. on[event] = [callback].concat(existing);
  5636. }
  5637. } else {
  5638. on[event] = callback;
  5639. }
  5640. }
  5641. /* */
  5642. var SIMPLE_NORMALIZE = 1;
  5643. var ALWAYS_NORMALIZE = 2;
  5644. // wrapper function for providing a more flexible interface
  5645. // without getting yelled at by flow
  5646. function createElement (
  5647. context,
  5648. tag,
  5649. data,
  5650. children,
  5651. normalizationType,
  5652. alwaysNormalize
  5653. ) {
  5654. if (Array.isArray(data) || isPrimitive(data)) {
  5655. normalizationType = children;
  5656. children = data;
  5657. data = undefined;
  5658. }
  5659. if (isTrue(alwaysNormalize)) {
  5660. normalizationType = ALWAYS_NORMALIZE;
  5661. }
  5662. return _createElement(context, tag, data, children, normalizationType)
  5663. }
  5664. function _createElement (
  5665. context,
  5666. tag,
  5667. data,
  5668. children,
  5669. normalizationType
  5670. ) {
  5671. if (isDef(data) && isDef((data).__ob__)) {
  5672. true && warn(
  5673. "Avoid using observed data object as vnode data: " + (JSON.stringify(data)) + "\n" +
  5674. 'Always create fresh vnode data objects in each render!',
  5675. context
  5676. );
  5677. return createEmptyVNode()
  5678. }
  5679. // object syntax in v-bind
  5680. if (isDef(data) && isDef(data.is)) {
  5681. tag = data.is;
  5682. }
  5683. if (!tag) {
  5684. // in case of component :is set to falsy value
  5685. return createEmptyVNode()
  5686. }
  5687. // warn against non-primitive key
  5688. if ( true &&
  5689. isDef(data) && isDef(data.key) && !isPrimitive(data.key)
  5690. ) {
  5691. {
  5692. warn(
  5693. 'Avoid using non-primitive value as key, ' +
  5694. 'use string/number value instead.',
  5695. context
  5696. );
  5697. }
  5698. }
  5699. // support single function children as default scoped slot
  5700. if (Array.isArray(children) &&
  5701. typeof children[0] === 'function'
  5702. ) {
  5703. data = data || {};
  5704. data.scopedSlots = { default: children[0] };
  5705. children.length = 0;
  5706. }
  5707. if (normalizationType === ALWAYS_NORMALIZE) {
  5708. children = normalizeChildren(children);
  5709. } else if (normalizationType === SIMPLE_NORMALIZE) {
  5710. children = simpleNormalizeChildren(children);
  5711. }
  5712. var vnode, ns;
  5713. if (typeof tag === 'string') {
  5714. var Ctor;
  5715. ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);
  5716. if (config.isReservedTag(tag)) {
  5717. // platform built-in elements
  5718. if ( true && isDef(data) && isDef(data.nativeOn)) {
  5719. warn(
  5720. ("The .native modifier for v-on is only valid on components but it was used on <" + tag + ">."),
  5721. context
  5722. );
  5723. }
  5724. vnode = new VNode(
  5725. config.parsePlatformTagName(tag), data, children,
  5726. undefined, undefined, context
  5727. );
  5728. } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {
  5729. // component
  5730. vnode = createComponent(Ctor, data, context, children, tag);
  5731. } else {
  5732. // unknown or unlisted namespaced elements
  5733. // check at runtime because it may get assigned a namespace when its
  5734. // parent normalizes children
  5735. vnode = new VNode(
  5736. tag, data, children,
  5737. undefined, undefined, context
  5738. );
  5739. }
  5740. } else {
  5741. // direct component options / constructor
  5742. vnode = createComponent(tag, data, context, children);
  5743. }
  5744. if (Array.isArray(vnode)) {
  5745. return vnode
  5746. } else if (isDef(vnode)) {
  5747. if (isDef(ns)) { applyNS(vnode, ns); }
  5748. if (isDef(data)) { registerDeepBindings(data); }
  5749. return vnode
  5750. } else {
  5751. return createEmptyVNode()
  5752. }
  5753. }
  5754. function applyNS (vnode, ns, force) {
  5755. vnode.ns = ns;
  5756. if (vnode.tag === 'foreignObject') {
  5757. // use default namespace inside foreignObject
  5758. ns = undefined;
  5759. force = true;
  5760. }
  5761. if (isDef(vnode.children)) {
  5762. for (var i = 0, l = vnode.children.length; i < l; i++) {
  5763. var child = vnode.children[i];
  5764. if (isDef(child.tag) && (
  5765. isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {
  5766. applyNS(child, ns, force);
  5767. }
  5768. }
  5769. }
  5770. }
  5771. // ref #5318
  5772. // necessary to ensure parent re-render when deep bindings like :style and
  5773. // :class are used on slot nodes
  5774. function registerDeepBindings (data) {
  5775. if (isObject(data.style)) {
  5776. traverse(data.style);
  5777. }
  5778. if (isObject(data.class)) {
  5779. traverse(data.class);
  5780. }
  5781. }
  5782. /* */
  5783. function initRender (vm) {
  5784. vm._vnode = null; // the root of the child tree
  5785. vm._staticTrees = null; // v-once cached trees
  5786. var options = vm.$options;
  5787. var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree
  5788. var renderContext = parentVnode && parentVnode.context;
  5789. vm.$slots = resolveSlots(options._renderChildren, renderContext);
  5790. vm.$scopedSlots = emptyObject;
  5791. // bind the createElement fn to this instance
  5792. // so that we get proper render context inside it.
  5793. // args order: tag, data, children, normalizationType, alwaysNormalize
  5794. // internal version is used by render functions compiled from templates
  5795. vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };
  5796. // normalization is always applied for the public version, used in
  5797. // user-written render functions.
  5798. vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };
  5799. // $attrs & $listeners are exposed for easier HOC creation.
  5800. // they need to be reactive so that HOCs using them are always updated
  5801. var parentData = parentVnode && parentVnode.data;
  5802. /* istanbul ignore else */
  5803. if (true) {
  5804. defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {
  5805. !isUpdatingChildComponent && warn("$attrs is readonly.", vm);
  5806. }, true);
  5807. defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {
  5808. !isUpdatingChildComponent && warn("$listeners is readonly.", vm);
  5809. }, true);
  5810. } else {}
  5811. }
  5812. var currentRenderingInstance = null;
  5813. function renderMixin (Vue) {
  5814. // install runtime convenience helpers
  5815. installRenderHelpers(Vue.prototype);
  5816. Vue.prototype.$nextTick = function (fn) {
  5817. return nextTick(fn, this)
  5818. };
  5819. Vue.prototype._render = function () {
  5820. var vm = this;
  5821. var ref = vm.$options;
  5822. var render = ref.render;
  5823. var _parentVnode = ref._parentVnode;
  5824. if (_parentVnode) {
  5825. vm.$scopedSlots = normalizeScopedSlots(
  5826. _parentVnode.data.scopedSlots,
  5827. vm.$slots,
  5828. vm.$scopedSlots
  5829. );
  5830. }
  5831. // set parent vnode. this allows render functions to have access
  5832. // to the data on the placeholder node.
  5833. vm.$vnode = _parentVnode;
  5834. // render self
  5835. var vnode;
  5836. try {
  5837. // There's no need to maintain a stack because all render fns are called
  5838. // separately from one another. Nested component's render fns are called
  5839. // when parent component is patched.
  5840. currentRenderingInstance = vm;
  5841. vnode = render.call(vm._renderProxy, vm.$createElement);
  5842. } catch (e) {
  5843. handleError(e, vm, "render");
  5844. // return error render result,
  5845. // or previous vnode to prevent render error causing blank component
  5846. /* istanbul ignore else */
  5847. if ( true && vm.$options.renderError) {
  5848. try {
  5849. vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);
  5850. } catch (e) {
  5851. handleError(e, vm, "renderError");
  5852. vnode = vm._vnode;
  5853. }
  5854. } else {
  5855. vnode = vm._vnode;
  5856. }
  5857. } finally {
  5858. currentRenderingInstance = null;
  5859. }
  5860. // if the returned array contains only a single node, allow it
  5861. if (Array.isArray(vnode) && vnode.length === 1) {
  5862. vnode = vnode[0];
  5863. }
  5864. // return empty vnode in case the render function errored out
  5865. if (!(vnode instanceof VNode)) {
  5866. if ( true && Array.isArray(vnode)) {
  5867. warn(
  5868. 'Multiple root nodes returned from render function. Render function ' +
  5869. 'should return a single root node.',
  5870. vm
  5871. );
  5872. }
  5873. vnode = createEmptyVNode();
  5874. }
  5875. // set parent
  5876. vnode.parent = _parentVnode;
  5877. return vnode
  5878. };
  5879. }
  5880. /* */
  5881. function ensureCtor (comp, base) {
  5882. if (
  5883. comp.__esModule ||
  5884. (hasSymbol && comp[Symbol.toStringTag] === 'Module')
  5885. ) {
  5886. comp = comp.default;
  5887. }
  5888. return isObject(comp)
  5889. ? base.extend(comp)
  5890. : comp
  5891. }
  5892. function createAsyncPlaceholder (
  5893. factory,
  5894. data,
  5895. context,
  5896. children,
  5897. tag
  5898. ) {
  5899. var node = createEmptyVNode();
  5900. node.asyncFactory = factory;
  5901. node.asyncMeta = { data: data, context: context, children: children, tag: tag };
  5902. return node
  5903. }
  5904. function resolveAsyncComponent (
  5905. factory,
  5906. baseCtor
  5907. ) {
  5908. if (isTrue(factory.error) && isDef(factory.errorComp)) {
  5909. return factory.errorComp
  5910. }
  5911. if (isDef(factory.resolved)) {
  5912. return factory.resolved
  5913. }
  5914. var owner = currentRenderingInstance;
  5915. if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {
  5916. // already pending
  5917. factory.owners.push(owner);
  5918. }
  5919. if (isTrue(factory.loading) && isDef(factory.loadingComp)) {
  5920. return factory.loadingComp
  5921. }
  5922. if (owner && !isDef(factory.owners)) {
  5923. var owners = factory.owners = [owner];
  5924. var sync = true;
  5925. var timerLoading = null;
  5926. var timerTimeout = null
  5927. ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });
  5928. var forceRender = function (renderCompleted) {
  5929. for (var i = 0, l = owners.length; i < l; i++) {
  5930. (owners[i]).$forceUpdate();
  5931. }
  5932. if (renderCompleted) {
  5933. owners.length = 0;
  5934. if (timerLoading !== null) {
  5935. clearTimeout(timerLoading);
  5936. timerLoading = null;
  5937. }
  5938. if (timerTimeout !== null) {
  5939. clearTimeout(timerTimeout);
  5940. timerTimeout = null;
  5941. }
  5942. }
  5943. };
  5944. var resolve = once(function (res) {
  5945. // cache resolved
  5946. factory.resolved = ensureCtor(res, baseCtor);
  5947. // invoke callbacks only if this is not a synchronous resolve
  5948. // (async resolves are shimmed as synchronous during SSR)
  5949. if (!sync) {
  5950. forceRender(true);
  5951. } else {
  5952. owners.length = 0;
  5953. }
  5954. });
  5955. var reject = once(function (reason) {
  5956. true && warn(
  5957. "Failed to resolve async component: " + (String(factory)) +
  5958. (reason ? ("\nReason: " + reason) : '')
  5959. );
  5960. if (isDef(factory.errorComp)) {
  5961. factory.error = true;
  5962. forceRender(true);
  5963. }
  5964. });
  5965. var res = factory(resolve, reject);
  5966. if (isObject(res)) {
  5967. if (isPromise(res)) {
  5968. // () => Promise
  5969. if (isUndef(factory.resolved)) {
  5970. res.then(resolve, reject);
  5971. }
  5972. } else if (isPromise(res.component)) {
  5973. res.component.then(resolve, reject);
  5974. if (isDef(res.error)) {
  5975. factory.errorComp = ensureCtor(res.error, baseCtor);
  5976. }
  5977. if (isDef(res.loading)) {
  5978. factory.loadingComp = ensureCtor(res.loading, baseCtor);
  5979. if (res.delay === 0) {
  5980. factory.loading = true;
  5981. } else {
  5982. timerLoading = setTimeout(function () {
  5983. timerLoading = null;
  5984. if (isUndef(factory.resolved) && isUndef(factory.error)) {
  5985. factory.loading = true;
  5986. forceRender(false);
  5987. }
  5988. }, res.delay || 200);
  5989. }
  5990. }
  5991. if (isDef(res.timeout)) {
  5992. timerTimeout = setTimeout(function () {
  5993. timerTimeout = null;
  5994. if (isUndef(factory.resolved)) {
  5995. reject(
  5996. true
  5997. ? ("timeout (" + (res.timeout) + "ms)")
  5998. : undefined
  5999. );
  6000. }
  6001. }, res.timeout);
  6002. }
  6003. }
  6004. }
  6005. sync = false;
  6006. // return in case resolved synchronously
  6007. return factory.loading
  6008. ? factory.loadingComp
  6009. : factory.resolved
  6010. }
  6011. }
  6012. /* */
  6013. function isAsyncPlaceholder (node) {
  6014. return node.isComment && node.asyncFactory
  6015. }
  6016. /* */
  6017. function getFirstComponentChild (children) {
  6018. if (Array.isArray(children)) {
  6019. for (var i = 0; i < children.length; i++) {
  6020. var c = children[i];
  6021. if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {
  6022. return c
  6023. }
  6024. }
  6025. }
  6026. }
  6027. /* */
  6028. /* */
  6029. function initEvents (vm) {
  6030. vm._events = Object.create(null);
  6031. vm._hasHookEvent = false;
  6032. // init parent attached events
  6033. var listeners = vm.$options._parentListeners;
  6034. if (listeners) {
  6035. updateComponentListeners(vm, listeners);
  6036. }
  6037. }
  6038. var target;
  6039. function add (event, fn) {
  6040. target.$on(event, fn);
  6041. }
  6042. function remove$1 (event, fn) {
  6043. target.$off(event, fn);
  6044. }
  6045. function createOnceHandler (event, fn) {
  6046. var _target = target;
  6047. return function onceHandler () {
  6048. var res = fn.apply(null, arguments);
  6049. if (res !== null) {
  6050. _target.$off(event, onceHandler);
  6051. }
  6052. }
  6053. }
  6054. function updateComponentListeners (
  6055. vm,
  6056. listeners,
  6057. oldListeners
  6058. ) {
  6059. target = vm;
  6060. updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);
  6061. target = undefined;
  6062. }
  6063. function eventsMixin (Vue) {
  6064. var hookRE = /^hook:/;
  6065. Vue.prototype.$on = function (event, fn) {
  6066. var vm = this;
  6067. if (Array.isArray(event)) {
  6068. for (var i = 0, l = event.length; i < l; i++) {
  6069. vm.$on(event[i], fn);
  6070. }
  6071. } else {
  6072. (vm._events[event] || (vm._events[event] = [])).push(fn);
  6073. // optimize hook:event cost by using a boolean flag marked at registration
  6074. // instead of a hash lookup
  6075. if (hookRE.test(event)) {
  6076. vm._hasHookEvent = true;
  6077. }
  6078. }
  6079. return vm
  6080. };
  6081. Vue.prototype.$once = function (event, fn) {
  6082. var vm = this;
  6083. function on () {
  6084. vm.$off(event, on);
  6085. fn.apply(vm, arguments);
  6086. }
  6087. on.fn = fn;
  6088. vm.$on(event, on);
  6089. return vm
  6090. };
  6091. Vue.prototype.$off = function (event, fn) {
  6092. var vm = this;
  6093. // all
  6094. if (!arguments.length) {
  6095. vm._events = Object.create(null);
  6096. return vm
  6097. }
  6098. // array of events
  6099. if (Array.isArray(event)) {
  6100. for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {
  6101. vm.$off(event[i$1], fn);
  6102. }
  6103. return vm
  6104. }
  6105. // specific event
  6106. var cbs = vm._events[event];
  6107. if (!cbs) {
  6108. return vm
  6109. }
  6110. if (!fn) {
  6111. vm._events[event] = null;
  6112. return vm
  6113. }
  6114. // specific handler
  6115. var cb;
  6116. var i = cbs.length;
  6117. while (i--) {
  6118. cb = cbs[i];
  6119. if (cb === fn || cb.fn === fn) {
  6120. cbs.splice(i, 1);
  6121. break
  6122. }
  6123. }
  6124. return vm
  6125. };
  6126. Vue.prototype.$emit = function (event) {
  6127. var vm = this;
  6128. if (true) {
  6129. var lowerCaseEvent = event.toLowerCase();
  6130. if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {
  6131. tip(
  6132. "Event \"" + lowerCaseEvent + "\" is emitted in component " +
  6133. (formatComponentName(vm)) + " but the handler is registered for \"" + event + "\". " +
  6134. "Note that HTML attributes are case-insensitive and you cannot use " +
  6135. "v-on to listen to camelCase events when using in-DOM templates. " +
  6136. "You should probably use \"" + (hyphenate(event)) + "\" instead of \"" + event + "\"."
  6137. );
  6138. }
  6139. }
  6140. var cbs = vm._events[event];
  6141. if (cbs) {
  6142. cbs = cbs.length > 1 ? toArray(cbs) : cbs;
  6143. var args = toArray(arguments, 1);
  6144. var info = "event handler for \"" + event + "\"";
  6145. for (var i = 0, l = cbs.length; i < l; i++) {
  6146. invokeWithErrorHandling(cbs[i], vm, args, vm, info);
  6147. }
  6148. }
  6149. return vm
  6150. };
  6151. }
  6152. /* */
  6153. var activeInstance = null;
  6154. var isUpdatingChildComponent = false;
  6155. function setActiveInstance(vm) {
  6156. var prevActiveInstance = activeInstance;
  6157. activeInstance = vm;
  6158. return function () {
  6159. activeInstance = prevActiveInstance;
  6160. }
  6161. }
  6162. function initLifecycle (vm) {
  6163. var options = vm.$options;
  6164. // locate first non-abstract parent
  6165. var parent = options.parent;
  6166. if (parent && !options.abstract) {
  6167. while (parent.$options.abstract && parent.$parent) {
  6168. parent = parent.$parent;
  6169. }
  6170. parent.$children.push(vm);
  6171. }
  6172. vm.$parent = parent;
  6173. vm.$root = parent ? parent.$root : vm;
  6174. vm.$children = [];
  6175. vm.$refs = {};
  6176. vm._watcher = null;
  6177. vm._inactive = null;
  6178. vm._directInactive = false;
  6179. vm._isMounted = false;
  6180. vm._isDestroyed = false;
  6181. vm._isBeingDestroyed = false;
  6182. }
  6183. function lifecycleMixin (Vue) {
  6184. Vue.prototype._update = function (vnode, hydrating) {
  6185. var vm = this;
  6186. var prevEl = vm.$el;
  6187. var prevVnode = vm._vnode;
  6188. var restoreActiveInstance = setActiveInstance(vm);
  6189. vm._vnode = vnode;
  6190. // Vue.prototype.__patch__ is injected in entry points
  6191. // based on the rendering backend used.
  6192. if (!prevVnode) {
  6193. // initial render
  6194. vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);
  6195. } else {
  6196. // updates
  6197. vm.$el = vm.__patch__(prevVnode, vnode);
  6198. }
  6199. restoreActiveInstance();
  6200. // update __vue__ reference
  6201. if (prevEl) {
  6202. prevEl.__vue__ = null;
  6203. }
  6204. if (vm.$el) {
  6205. vm.$el.__vue__ = vm;
  6206. }
  6207. // if parent is an HOC, update its $el as well
  6208. if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {
  6209. vm.$parent.$el = vm.$el;
  6210. }
  6211. // updated hook is called by the scheduler to ensure that children are
  6212. // updated in a parent's updated hook.
  6213. };
  6214. Vue.prototype.$forceUpdate = function () {
  6215. var vm = this;
  6216. if (vm._watcher) {
  6217. vm._watcher.update();
  6218. }
  6219. };
  6220. Vue.prototype.$destroy = function () {
  6221. var vm = this;
  6222. if (vm._isBeingDestroyed) {
  6223. return
  6224. }
  6225. callHook(vm, 'beforeDestroy');
  6226. vm._isBeingDestroyed = true;
  6227. // remove self from parent
  6228. var parent = vm.$parent;
  6229. if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {
  6230. remove(parent.$children, vm);
  6231. }
  6232. // teardown watchers
  6233. if (vm._watcher) {
  6234. vm._watcher.teardown();
  6235. }
  6236. var i = vm._watchers.length;
  6237. while (i--) {
  6238. vm._watchers[i].teardown();
  6239. }
  6240. // remove reference from data ob
  6241. // frozen object may not have observer.
  6242. if (vm._data.__ob__) {
  6243. vm._data.__ob__.vmCount--;
  6244. }
  6245. // call the last hook...
  6246. vm._isDestroyed = true;
  6247. // invoke destroy hooks on current rendered tree
  6248. vm.__patch__(vm._vnode, null);
  6249. // fire destroyed hook
  6250. callHook(vm, 'destroyed');
  6251. // turn off all instance listeners.
  6252. vm.$off();
  6253. // remove __vue__ reference
  6254. if (vm.$el) {
  6255. vm.$el.__vue__ = null;
  6256. }
  6257. // release circular reference (#6759)
  6258. if (vm.$vnode) {
  6259. vm.$vnode.parent = null;
  6260. }
  6261. };
  6262. }
  6263. function updateChildComponent (
  6264. vm,
  6265. propsData,
  6266. listeners,
  6267. parentVnode,
  6268. renderChildren
  6269. ) {
  6270. if (true) {
  6271. isUpdatingChildComponent = true;
  6272. }
  6273. // determine whether component has slot children
  6274. // we need to do this before overwriting $options._renderChildren.
  6275. // check if there are dynamic scopedSlots (hand-written or compiled but with
  6276. // dynamic slot names). Static scoped slots compiled from template has the
  6277. // "$stable" marker.
  6278. var newScopedSlots = parentVnode.data.scopedSlots;
  6279. var oldScopedSlots = vm.$scopedSlots;
  6280. var hasDynamicScopedSlot = !!(
  6281. (newScopedSlots && !newScopedSlots.$stable) ||
  6282. (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||
  6283. (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key)
  6284. );
  6285. // Any static slot children from the parent may have changed during parent's
  6286. // update. Dynamic scoped slots may also have changed. In such cases, a forced
  6287. // update is necessary to ensure correctness.
  6288. var needsForceUpdate = !!(
  6289. renderChildren || // has new static slots
  6290. vm.$options._renderChildren || // has old static slots
  6291. hasDynamicScopedSlot
  6292. );
  6293. vm.$options._parentVnode = parentVnode;
  6294. vm.$vnode = parentVnode; // update vm's placeholder node without re-render
  6295. if (vm._vnode) { // update child tree's parent
  6296. vm._vnode.parent = parentVnode;
  6297. }
  6298. vm.$options._renderChildren = renderChildren;
  6299. // update $attrs and $listeners hash
  6300. // these are also reactive so they may trigger child update if the child
  6301. // used them during render
  6302. vm.$attrs = parentVnode.data.attrs || emptyObject;
  6303. vm.$listeners = listeners || emptyObject;
  6304. // update props
  6305. if (propsData && vm.$options.props) {
  6306. toggleObserving(false);
  6307. var props = vm._props;
  6308. var propKeys = vm.$options._propKeys || [];
  6309. for (var i = 0; i < propKeys.length; i++) {
  6310. var key = propKeys[i];
  6311. var propOptions = vm.$options.props; // wtf flow?
  6312. props[key] = validateProp(key, propOptions, propsData, vm);
  6313. }
  6314. toggleObserving(true);
  6315. // keep a copy of raw propsData
  6316. vm.$options.propsData = propsData;
  6317. }
  6318. // fixed by xxxxxx update properties(mp runtime)
  6319. vm._$updateProperties && vm._$updateProperties(vm);
  6320. // update listeners
  6321. listeners = listeners || emptyObject;
  6322. var oldListeners = vm.$options._parentListeners;
  6323. vm.$options._parentListeners = listeners;
  6324. updateComponentListeners(vm, listeners, oldListeners);
  6325. // resolve slots + force update if has children
  6326. if (needsForceUpdate) {
  6327. vm.$slots = resolveSlots(renderChildren, parentVnode.context);
  6328. vm.$forceUpdate();
  6329. }
  6330. if (true) {
  6331. isUpdatingChildComponent = false;
  6332. }
  6333. }
  6334. function isInInactiveTree (vm) {
  6335. while (vm && (vm = vm.$parent)) {
  6336. if (vm._inactive) { return true }
  6337. }
  6338. return false
  6339. }
  6340. function activateChildComponent (vm, direct) {
  6341. if (direct) {
  6342. vm._directInactive = false;
  6343. if (isInInactiveTree(vm)) {
  6344. return
  6345. }
  6346. } else if (vm._directInactive) {
  6347. return
  6348. }
  6349. if (vm._inactive || vm._inactive === null) {
  6350. vm._inactive = false;
  6351. for (var i = 0; i < vm.$children.length; i++) {
  6352. activateChildComponent(vm.$children[i]);
  6353. }
  6354. callHook(vm, 'activated');
  6355. }
  6356. }
  6357. function deactivateChildComponent (vm, direct) {
  6358. if (direct) {
  6359. vm._directInactive = true;
  6360. if (isInInactiveTree(vm)) {
  6361. return
  6362. }
  6363. }
  6364. if (!vm._inactive) {
  6365. vm._inactive = true;
  6366. for (var i = 0; i < vm.$children.length; i++) {
  6367. deactivateChildComponent(vm.$children[i]);
  6368. }
  6369. callHook(vm, 'deactivated');
  6370. }
  6371. }
  6372. function callHook (vm, hook) {
  6373. // #7573 disable dep collection when invoking lifecycle hooks
  6374. pushTarget();
  6375. var handlers = vm.$options[hook];
  6376. var info = hook + " hook";
  6377. if (handlers) {
  6378. for (var i = 0, j = handlers.length; i < j; i++) {
  6379. invokeWithErrorHandling(handlers[i], vm, null, vm, info);
  6380. }
  6381. }
  6382. if (vm._hasHookEvent) {
  6383. vm.$emit('hook:' + hook);
  6384. }
  6385. popTarget();
  6386. }
  6387. /* */
  6388. var MAX_UPDATE_COUNT = 100;
  6389. var queue = [];
  6390. var activatedChildren = [];
  6391. var has = {};
  6392. var circular = {};
  6393. var waiting = false;
  6394. var flushing = false;
  6395. var index = 0;
  6396. /**
  6397. * Reset the scheduler's state.
  6398. */
  6399. function resetSchedulerState () {
  6400. index = queue.length = activatedChildren.length = 0;
  6401. has = {};
  6402. if (true) {
  6403. circular = {};
  6404. }
  6405. waiting = flushing = false;
  6406. }
  6407. // Async edge case #6566 requires saving the timestamp when event listeners are
  6408. // attached. However, calling performance.now() has a perf overhead especially
  6409. // if the page has thousands of event listeners. Instead, we take a timestamp
  6410. // every time the scheduler flushes and use that for all event listeners
  6411. // attached during that flush.
  6412. var currentFlushTimestamp = 0;
  6413. // Async edge case fix requires storing an event listener's attach timestamp.
  6414. var getNow = Date.now;
  6415. // Determine what event timestamp the browser is using. Annoyingly, the
  6416. // timestamp can either be hi-res (relative to page load) or low-res
  6417. // (relative to UNIX epoch), so in order to compare time we have to use the
  6418. // same timestamp type when saving the flush timestamp.
  6419. // All IE versions use low-res event timestamps, and have problematic clock
  6420. // implementations (#9632)
  6421. if (inBrowser && !isIE) {
  6422. var performance = window.performance;
  6423. if (
  6424. performance &&
  6425. typeof performance.now === 'function' &&
  6426. getNow() > document.createEvent('Event').timeStamp
  6427. ) {
  6428. // if the event timestamp, although evaluated AFTER the Date.now(), is
  6429. // smaller than it, it means the event is using a hi-res timestamp,
  6430. // and we need to use the hi-res version for event listener timestamps as
  6431. // well.
  6432. getNow = function () { return performance.now(); };
  6433. }
  6434. }
  6435. /**
  6436. * Flush both queues and run the watchers.
  6437. */
  6438. function flushSchedulerQueue () {
  6439. currentFlushTimestamp = getNow();
  6440. flushing = true;
  6441. var watcher, id;
  6442. // Sort queue before flush.
  6443. // This ensures that:
  6444. // 1. Components are updated from parent to child. (because parent is always
  6445. // created before the child)
  6446. // 2. A component's user watchers are run before its render watcher (because
  6447. // user watchers are created before the render watcher)
  6448. // 3. If a component is destroyed during a parent component's watcher run,
  6449. // its watchers can be skipped.
  6450. queue.sort(function (a, b) { return a.id - b.id; });
  6451. // do not cache length because more watchers might be pushed
  6452. // as we run existing watchers
  6453. for (index = 0; index < queue.length; index++) {
  6454. watcher = queue[index];
  6455. if (watcher.before) {
  6456. watcher.before();
  6457. }
  6458. id = watcher.id;
  6459. has[id] = null;
  6460. watcher.run();
  6461. // in dev build, check and stop circular updates.
  6462. if ( true && has[id] != null) {
  6463. circular[id] = (circular[id] || 0) + 1;
  6464. if (circular[id] > MAX_UPDATE_COUNT) {
  6465. warn(
  6466. 'You may have an infinite update loop ' + (
  6467. watcher.user
  6468. ? ("in watcher with expression \"" + (watcher.expression) + "\"")
  6469. : "in a component render function."
  6470. ),
  6471. watcher.vm
  6472. );
  6473. break
  6474. }
  6475. }
  6476. }
  6477. // keep copies of post queues before resetting state
  6478. var activatedQueue = activatedChildren.slice();
  6479. var updatedQueue = queue.slice();
  6480. resetSchedulerState();
  6481. // call component updated and activated hooks
  6482. callActivatedHooks(activatedQueue);
  6483. callUpdatedHooks(updatedQueue);
  6484. // devtool hook
  6485. /* istanbul ignore if */
  6486. if (devtools && config.devtools) {
  6487. devtools.emit('flush');
  6488. }
  6489. }
  6490. function callUpdatedHooks (queue) {
  6491. var i = queue.length;
  6492. while (i--) {
  6493. var watcher = queue[i];
  6494. var vm = watcher.vm;
  6495. if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {
  6496. callHook(vm, 'updated');
  6497. }
  6498. }
  6499. }
  6500. /**
  6501. * Queue a kept-alive component that was activated during patch.
  6502. * The queue will be processed after the entire tree has been patched.
  6503. */
  6504. function queueActivatedComponent (vm) {
  6505. // setting _inactive to false here so that a render function can
  6506. // rely on checking whether it's in an inactive tree (e.g. router-view)
  6507. vm._inactive = false;
  6508. activatedChildren.push(vm);
  6509. }
  6510. function callActivatedHooks (queue) {
  6511. for (var i = 0; i < queue.length; i++) {
  6512. queue[i]._inactive = true;
  6513. activateChildComponent(queue[i], true /* true */);
  6514. }
  6515. }
  6516. /**
  6517. * Push a watcher into the watcher queue.
  6518. * Jobs with duplicate IDs will be skipped unless it's
  6519. * pushed when the queue is being flushed.
  6520. */
  6521. function queueWatcher (watcher) {
  6522. var id = watcher.id;
  6523. if (has[id] == null) {
  6524. has[id] = true;
  6525. if (!flushing) {
  6526. queue.push(watcher);
  6527. } else {
  6528. // if already flushing, splice the watcher based on its id
  6529. // if already past its id, it will be run next immediately.
  6530. var i = queue.length - 1;
  6531. while (i > index && queue[i].id > watcher.id) {
  6532. i--;
  6533. }
  6534. queue.splice(i + 1, 0, watcher);
  6535. }
  6536. // queue the flush
  6537. if (!waiting) {
  6538. waiting = true;
  6539. if ( true && !config.async) {
  6540. flushSchedulerQueue();
  6541. return
  6542. }
  6543. nextTick(flushSchedulerQueue);
  6544. }
  6545. }
  6546. }
  6547. /* */
  6548. var uid$2 = 0;
  6549. /**
  6550. * A watcher parses an expression, collects dependencies,
  6551. * and fires callback when the expression value changes.
  6552. * This is used for both the $watch() api and directives.
  6553. */
  6554. var Watcher = function Watcher (
  6555. vm,
  6556. expOrFn,
  6557. cb,
  6558. options,
  6559. isRenderWatcher
  6560. ) {
  6561. this.vm = vm;
  6562. if (isRenderWatcher) {
  6563. vm._watcher = this;
  6564. }
  6565. vm._watchers.push(this);
  6566. // options
  6567. if (options) {
  6568. this.deep = !!options.deep;
  6569. this.user = !!options.user;
  6570. this.lazy = !!options.lazy;
  6571. this.sync = !!options.sync;
  6572. this.before = options.before;
  6573. } else {
  6574. this.deep = this.user = this.lazy = this.sync = false;
  6575. }
  6576. this.cb = cb;
  6577. this.id = ++uid$2; // uid for batching
  6578. this.active = true;
  6579. this.dirty = this.lazy; // for lazy watchers
  6580. this.deps = [];
  6581. this.newDeps = [];
  6582. this.depIds = new _Set();
  6583. this.newDepIds = new _Set();
  6584. this.expression = true
  6585. ? expOrFn.toString()
  6586. : undefined;
  6587. // parse expression for getter
  6588. if (typeof expOrFn === 'function') {
  6589. this.getter = expOrFn;
  6590. } else {
  6591. this.getter = parsePath(expOrFn);
  6592. if (!this.getter) {
  6593. this.getter = noop;
  6594. true && warn(
  6595. "Failed watching path: \"" + expOrFn + "\" " +
  6596. 'Watcher only accepts simple dot-delimited paths. ' +
  6597. 'For full control, use a function instead.',
  6598. vm
  6599. );
  6600. }
  6601. }
  6602. this.value = this.lazy
  6603. ? undefined
  6604. : this.get();
  6605. };
  6606. /**
  6607. * Evaluate the getter, and re-collect dependencies.
  6608. */
  6609. Watcher.prototype.get = function get () {
  6610. pushTarget(this);
  6611. var value;
  6612. var vm = this.vm;
  6613. try {
  6614. value = this.getter.call(vm, vm);
  6615. } catch (e) {
  6616. if (this.user) {
  6617. handleError(e, vm, ("getter for watcher \"" + (this.expression) + "\""));
  6618. } else {
  6619. throw e
  6620. }
  6621. } finally {
  6622. // "touch" every property so they are all tracked as
  6623. // dependencies for deep watching
  6624. if (this.deep) {
  6625. traverse(value);
  6626. }
  6627. popTarget();
  6628. this.cleanupDeps();
  6629. }
  6630. return value
  6631. };
  6632. /**
  6633. * Add a dependency to this directive.
  6634. */
  6635. Watcher.prototype.addDep = function addDep (dep) {
  6636. var id = dep.id;
  6637. if (!this.newDepIds.has(id)) {
  6638. this.newDepIds.add(id);
  6639. this.newDeps.push(dep);
  6640. if (!this.depIds.has(id)) {
  6641. dep.addSub(this);
  6642. }
  6643. }
  6644. };
  6645. /**
  6646. * Clean up for dependency collection.
  6647. */
  6648. Watcher.prototype.cleanupDeps = function cleanupDeps () {
  6649. var i = this.deps.length;
  6650. while (i--) {
  6651. var dep = this.deps[i];
  6652. if (!this.newDepIds.has(dep.id)) {
  6653. dep.removeSub(this);
  6654. }
  6655. }
  6656. var tmp = this.depIds;
  6657. this.depIds = this.newDepIds;
  6658. this.newDepIds = tmp;
  6659. this.newDepIds.clear();
  6660. tmp = this.deps;
  6661. this.deps = this.newDeps;
  6662. this.newDeps = tmp;
  6663. this.newDeps.length = 0;
  6664. };
  6665. /**
  6666. * Subscriber interface.
  6667. * Will be called when a dependency changes.
  6668. */
  6669. Watcher.prototype.update = function update () {
  6670. /* istanbul ignore else */
  6671. if (this.lazy) {
  6672. this.dirty = true;
  6673. } else if (this.sync) {
  6674. this.run();
  6675. } else {
  6676. queueWatcher(this);
  6677. }
  6678. };
  6679. /**
  6680. * Scheduler job interface.
  6681. * Will be called by the scheduler.
  6682. */
  6683. Watcher.prototype.run = function run () {
  6684. if (this.active) {
  6685. var value = this.get();
  6686. if (
  6687. value !== this.value ||
  6688. // Deep watchers and watchers on Object/Arrays should fire even
  6689. // when the value is the same, because the value may
  6690. // have mutated.
  6691. isObject(value) ||
  6692. this.deep
  6693. ) {
  6694. // set new value
  6695. var oldValue = this.value;
  6696. this.value = value;
  6697. if (this.user) {
  6698. try {
  6699. this.cb.call(this.vm, value, oldValue);
  6700. } catch (e) {
  6701. handleError(e, this.vm, ("callback for watcher \"" + (this.expression) + "\""));
  6702. }
  6703. } else {
  6704. this.cb.call(this.vm, value, oldValue);
  6705. }
  6706. }
  6707. }
  6708. };
  6709. /**
  6710. * Evaluate the value of the watcher.
  6711. * This only gets called for lazy watchers.
  6712. */
  6713. Watcher.prototype.evaluate = function evaluate () {
  6714. this.value = this.get();
  6715. this.dirty = false;
  6716. };
  6717. /**
  6718. * Depend on all deps collected by this watcher.
  6719. */
  6720. Watcher.prototype.depend = function depend () {
  6721. var i = this.deps.length;
  6722. while (i--) {
  6723. this.deps[i].depend();
  6724. }
  6725. };
  6726. /**
  6727. * Remove self from all dependencies' subscriber list.
  6728. */
  6729. Watcher.prototype.teardown = function teardown () {
  6730. if (this.active) {
  6731. // remove self from vm's watcher list
  6732. // this is a somewhat expensive operation so we skip it
  6733. // if the vm is being destroyed.
  6734. if (!this.vm._isBeingDestroyed) {
  6735. remove(this.vm._watchers, this);
  6736. }
  6737. var i = this.deps.length;
  6738. while (i--) {
  6739. this.deps[i].removeSub(this);
  6740. }
  6741. this.active = false;
  6742. }
  6743. };
  6744. /* */
  6745. var sharedPropertyDefinition = {
  6746. enumerable: true,
  6747. configurable: true,
  6748. get: noop,
  6749. set: noop
  6750. };
  6751. function proxy (target, sourceKey, key) {
  6752. sharedPropertyDefinition.get = function proxyGetter () {
  6753. return this[sourceKey][key]
  6754. };
  6755. sharedPropertyDefinition.set = function proxySetter (val) {
  6756. this[sourceKey][key] = val;
  6757. };
  6758. Object.defineProperty(target, key, sharedPropertyDefinition);
  6759. }
  6760. function initState (vm) {
  6761. vm._watchers = [];
  6762. var opts = vm.$options;
  6763. if (opts.props) { initProps(vm, opts.props); }
  6764. if (opts.methods) { initMethods(vm, opts.methods); }
  6765. if (opts.data) {
  6766. initData(vm);
  6767. } else {
  6768. observe(vm._data = {}, true /* asRootData */);
  6769. }
  6770. if (opts.computed) { initComputed(vm, opts.computed); }
  6771. if (opts.watch && opts.watch !== nativeWatch) {
  6772. initWatch(vm, opts.watch);
  6773. }
  6774. }
  6775. function initProps (vm, propsOptions) {
  6776. var propsData = vm.$options.propsData || {};
  6777. var props = vm._props = {};
  6778. // cache prop keys so that future props updates can iterate using Array
  6779. // instead of dynamic object key enumeration.
  6780. var keys = vm.$options._propKeys = [];
  6781. var isRoot = !vm.$parent;
  6782. // root instance props should be converted
  6783. if (!isRoot) {
  6784. toggleObserving(false);
  6785. }
  6786. var loop = function ( key ) {
  6787. keys.push(key);
  6788. var value = validateProp(key, propsOptions, propsData, vm);
  6789. /* istanbul ignore else */
  6790. if (true) {
  6791. var hyphenatedKey = hyphenate(key);
  6792. if (isReservedAttribute(hyphenatedKey) ||
  6793. config.isReservedAttr(hyphenatedKey)) {
  6794. warn(
  6795. ("\"" + hyphenatedKey + "\" is a reserved attribute and cannot be used as component prop."),
  6796. vm
  6797. );
  6798. }
  6799. defineReactive$$1(props, key, value, function () {
  6800. if (!isRoot && !isUpdatingChildComponent) {
  6801. {
  6802. if(vm.mpHost === 'mp-baidu' || vm.mpHost === 'mp-kuaishou' || vm.mpHost === 'mp-xhs'){//百度、快手、小红书 observer 在 setData callback 之后触发,直接忽略该 warn
  6803. return
  6804. }
  6805. //fixed by xxxxxx __next_tick_pending,uni://form-field 时不告警
  6806. if(
  6807. key === 'value' &&
  6808. Array.isArray(vm.$options.behaviors) &&
  6809. vm.$options.behaviors.indexOf('uni://form-field') !== -1
  6810. ){
  6811. return
  6812. }
  6813. if(vm._getFormData){
  6814. return
  6815. }
  6816. var $parent = vm.$parent;
  6817. while($parent){
  6818. if($parent.__next_tick_pending){
  6819. return
  6820. }
  6821. $parent = $parent.$parent;
  6822. }
  6823. }
  6824. warn(
  6825. "Avoid mutating a prop directly since the value will be " +
  6826. "overwritten whenever the parent component re-renders. " +
  6827. "Instead, use a data or computed property based on the prop's " +
  6828. "value. Prop being mutated: \"" + key + "\"",
  6829. vm
  6830. );
  6831. }
  6832. });
  6833. } else {}
  6834. // static props are already proxied on the component's prototype
  6835. // during Vue.extend(). We only need to proxy props defined at
  6836. // instantiation here.
  6837. if (!(key in vm)) {
  6838. proxy(vm, "_props", key);
  6839. }
  6840. };
  6841. for (var key in propsOptions) loop( key );
  6842. toggleObserving(true);
  6843. }
  6844. function initData (vm) {
  6845. var data = vm.$options.data;
  6846. data = vm._data = typeof data === 'function'
  6847. ? getData(data, vm)
  6848. : data || {};
  6849. if (!isPlainObject(data)) {
  6850. data = {};
  6851. true && warn(
  6852. 'data functions should return an object:\n' +
  6853. 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',
  6854. vm
  6855. );
  6856. }
  6857. // proxy data on instance
  6858. var keys = Object.keys(data);
  6859. var props = vm.$options.props;
  6860. var methods = vm.$options.methods;
  6861. var i = keys.length;
  6862. while (i--) {
  6863. var key = keys[i];
  6864. if (true) {
  6865. if (methods && hasOwn(methods, key)) {
  6866. warn(
  6867. ("Method \"" + key + "\" has already been defined as a data property."),
  6868. vm
  6869. );
  6870. }
  6871. }
  6872. if (props && hasOwn(props, key)) {
  6873. true && warn(
  6874. "The data property \"" + key + "\" is already declared as a prop. " +
  6875. "Use prop default value instead.",
  6876. vm
  6877. );
  6878. } else if (!isReserved(key)) {
  6879. proxy(vm, "_data", key);
  6880. }
  6881. }
  6882. // observe data
  6883. observe(data, true /* asRootData */);
  6884. }
  6885. function getData (data, vm) {
  6886. // #7573 disable dep collection when invoking data getters
  6887. pushTarget();
  6888. try {
  6889. return data.call(vm, vm)
  6890. } catch (e) {
  6891. handleError(e, vm, "data()");
  6892. return {}
  6893. } finally {
  6894. popTarget();
  6895. }
  6896. }
  6897. var computedWatcherOptions = { lazy: true };
  6898. function initComputed (vm, computed) {
  6899. // $flow-disable-line
  6900. var watchers = vm._computedWatchers = Object.create(null);
  6901. // computed properties are just getters during SSR
  6902. var isSSR = isServerRendering();
  6903. for (var key in computed) {
  6904. var userDef = computed[key];
  6905. var getter = typeof userDef === 'function' ? userDef : userDef.get;
  6906. if ( true && getter == null) {
  6907. warn(
  6908. ("Getter is missing for computed property \"" + key + "\"."),
  6909. vm
  6910. );
  6911. }
  6912. if (!isSSR) {
  6913. // create internal watcher for the computed property.
  6914. watchers[key] = new Watcher(
  6915. vm,
  6916. getter || noop,
  6917. noop,
  6918. computedWatcherOptions
  6919. );
  6920. }
  6921. // component-defined computed properties are already defined on the
  6922. // component prototype. We only need to define computed properties defined
  6923. // at instantiation here.
  6924. if (!(key in vm)) {
  6925. defineComputed(vm, key, userDef);
  6926. } else if (true) {
  6927. if (key in vm.$data) {
  6928. warn(("The computed property \"" + key + "\" is already defined in data."), vm);
  6929. } else if (vm.$options.props && key in vm.$options.props) {
  6930. warn(("The computed property \"" + key + "\" is already defined as a prop."), vm);
  6931. }
  6932. }
  6933. }
  6934. }
  6935. function defineComputed (
  6936. target,
  6937. key,
  6938. userDef
  6939. ) {
  6940. var shouldCache = !isServerRendering();
  6941. if (typeof userDef === 'function') {
  6942. sharedPropertyDefinition.get = shouldCache
  6943. ? createComputedGetter(key)
  6944. : createGetterInvoker(userDef);
  6945. sharedPropertyDefinition.set = noop;
  6946. } else {
  6947. sharedPropertyDefinition.get = userDef.get
  6948. ? shouldCache && userDef.cache !== false
  6949. ? createComputedGetter(key)
  6950. : createGetterInvoker(userDef.get)
  6951. : noop;
  6952. sharedPropertyDefinition.set = userDef.set || noop;
  6953. }
  6954. if ( true &&
  6955. sharedPropertyDefinition.set === noop) {
  6956. sharedPropertyDefinition.set = function () {
  6957. warn(
  6958. ("Computed property \"" + key + "\" was assigned to but it has no setter."),
  6959. this
  6960. );
  6961. };
  6962. }
  6963. Object.defineProperty(target, key, sharedPropertyDefinition);
  6964. }
  6965. function createComputedGetter (key) {
  6966. return function computedGetter () {
  6967. var watcher = this._computedWatchers && this._computedWatchers[key];
  6968. if (watcher) {
  6969. if (watcher.dirty) {
  6970. watcher.evaluate();
  6971. }
  6972. if (Dep.SharedObject.target) {// fixed by xxxxxx
  6973. watcher.depend();
  6974. }
  6975. return watcher.value
  6976. }
  6977. }
  6978. }
  6979. function createGetterInvoker(fn) {
  6980. return function computedGetter () {
  6981. return fn.call(this, this)
  6982. }
  6983. }
  6984. function initMethods (vm, methods) {
  6985. var props = vm.$options.props;
  6986. for (var key in methods) {
  6987. if (true) {
  6988. if (typeof methods[key] !== 'function') {
  6989. warn(
  6990. "Method \"" + key + "\" has type \"" + (typeof methods[key]) + "\" in the component definition. " +
  6991. "Did you reference the function correctly?",
  6992. vm
  6993. );
  6994. }
  6995. if (props && hasOwn(props, key)) {
  6996. warn(
  6997. ("Method \"" + key + "\" has already been defined as a prop."),
  6998. vm
  6999. );
  7000. }
  7001. if ((key in vm) && isReserved(key)) {
  7002. warn(
  7003. "Method \"" + key + "\" conflicts with an existing Vue instance method. " +
  7004. "Avoid defining component methods that start with _ or $."
  7005. );
  7006. }
  7007. }
  7008. vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);
  7009. }
  7010. }
  7011. function initWatch (vm, watch) {
  7012. for (var key in watch) {
  7013. var handler = watch[key];
  7014. if (Array.isArray(handler)) {
  7015. for (var i = 0; i < handler.length; i++) {
  7016. createWatcher(vm, key, handler[i]);
  7017. }
  7018. } else {
  7019. createWatcher(vm, key, handler);
  7020. }
  7021. }
  7022. }
  7023. function createWatcher (
  7024. vm,
  7025. expOrFn,
  7026. handler,
  7027. options
  7028. ) {
  7029. if (isPlainObject(handler)) {
  7030. options = handler;
  7031. handler = handler.handler;
  7032. }
  7033. if (typeof handler === 'string') {
  7034. handler = vm[handler];
  7035. }
  7036. return vm.$watch(expOrFn, handler, options)
  7037. }
  7038. function stateMixin (Vue) {
  7039. // flow somehow has problems with directly declared definition object
  7040. // when using Object.defineProperty, so we have to procedurally build up
  7041. // the object here.
  7042. var dataDef = {};
  7043. dataDef.get = function () { return this._data };
  7044. var propsDef = {};
  7045. propsDef.get = function () { return this._props };
  7046. if (true) {
  7047. dataDef.set = function () {
  7048. warn(
  7049. 'Avoid replacing instance root $data. ' +
  7050. 'Use nested data properties instead.',
  7051. this
  7052. );
  7053. };
  7054. propsDef.set = function () {
  7055. warn("$props is readonly.", this);
  7056. };
  7057. }
  7058. Object.defineProperty(Vue.prototype, '$data', dataDef);
  7059. Object.defineProperty(Vue.prototype, '$props', propsDef);
  7060. Vue.prototype.$set = set;
  7061. Vue.prototype.$delete = del;
  7062. Vue.prototype.$watch = function (
  7063. expOrFn,
  7064. cb,
  7065. options
  7066. ) {
  7067. var vm = this;
  7068. if (isPlainObject(cb)) {
  7069. return createWatcher(vm, expOrFn, cb, options)
  7070. }
  7071. options = options || {};
  7072. options.user = true;
  7073. var watcher = new Watcher(vm, expOrFn, cb, options);
  7074. if (options.immediate) {
  7075. try {
  7076. cb.call(vm, watcher.value);
  7077. } catch (error) {
  7078. handleError(error, vm, ("callback for immediate watcher \"" + (watcher.expression) + "\""));
  7079. }
  7080. }
  7081. return function unwatchFn () {
  7082. watcher.teardown();
  7083. }
  7084. };
  7085. }
  7086. /* */
  7087. var uid$3 = 0;
  7088. function initMixin (Vue) {
  7089. Vue.prototype._init = function (options) {
  7090. var vm = this;
  7091. // a uid
  7092. vm._uid = uid$3++;
  7093. var startTag, endTag;
  7094. /* istanbul ignore if */
  7095. if ( true && config.performance && mark) {
  7096. startTag = "vue-perf-start:" + (vm._uid);
  7097. endTag = "vue-perf-end:" + (vm._uid);
  7098. mark(startTag);
  7099. }
  7100. // a flag to avoid this being observed
  7101. vm._isVue = true;
  7102. // merge options
  7103. if (options && options._isComponent) {
  7104. // optimize internal component instantiation
  7105. // since dynamic options merging is pretty slow, and none of the
  7106. // internal component options needs special treatment.
  7107. initInternalComponent(vm, options);
  7108. } else {
  7109. vm.$options = mergeOptions(
  7110. resolveConstructorOptions(vm.constructor),
  7111. options || {},
  7112. vm
  7113. );
  7114. }
  7115. /* istanbul ignore else */
  7116. if (true) {
  7117. initProxy(vm);
  7118. } else {}
  7119. // expose real self
  7120. vm._self = vm;
  7121. initLifecycle(vm);
  7122. initEvents(vm);
  7123. initRender(vm);
  7124. callHook(vm, 'beforeCreate');
  7125. !vm._$fallback && initInjections(vm); // resolve injections before data/props
  7126. initState(vm);
  7127. !vm._$fallback && initProvide(vm); // resolve provide after data/props
  7128. !vm._$fallback && callHook(vm, 'created');
  7129. /* istanbul ignore if */
  7130. if ( true && config.performance && mark) {
  7131. vm._name = formatComponentName(vm, false);
  7132. mark(endTag);
  7133. measure(("vue " + (vm._name) + " init"), startTag, endTag);
  7134. }
  7135. if (vm.$options.el) {
  7136. vm.$mount(vm.$options.el);
  7137. }
  7138. };
  7139. }
  7140. function initInternalComponent (vm, options) {
  7141. var opts = vm.$options = Object.create(vm.constructor.options);
  7142. // doing this because it's faster than dynamic enumeration.
  7143. var parentVnode = options._parentVnode;
  7144. opts.parent = options.parent;
  7145. opts._parentVnode = parentVnode;
  7146. var vnodeComponentOptions = parentVnode.componentOptions;
  7147. opts.propsData = vnodeComponentOptions.propsData;
  7148. opts._parentListeners = vnodeComponentOptions.listeners;
  7149. opts._renderChildren = vnodeComponentOptions.children;
  7150. opts._componentTag = vnodeComponentOptions.tag;
  7151. if (options.render) {
  7152. opts.render = options.render;
  7153. opts.staticRenderFns = options.staticRenderFns;
  7154. }
  7155. }
  7156. function resolveConstructorOptions (Ctor) {
  7157. var options = Ctor.options;
  7158. if (Ctor.super) {
  7159. var superOptions = resolveConstructorOptions(Ctor.super);
  7160. var cachedSuperOptions = Ctor.superOptions;
  7161. if (superOptions !== cachedSuperOptions) {
  7162. // super option changed,
  7163. // need to resolve new options.
  7164. Ctor.superOptions = superOptions;
  7165. // check if there are any late-modified/attached options (#4976)
  7166. var modifiedOptions = resolveModifiedOptions(Ctor);
  7167. // update base extend options
  7168. if (modifiedOptions) {
  7169. extend(Ctor.extendOptions, modifiedOptions);
  7170. }
  7171. options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);
  7172. if (options.name) {
  7173. options.components[options.name] = Ctor;
  7174. }
  7175. }
  7176. }
  7177. return options
  7178. }
  7179. function resolveModifiedOptions (Ctor) {
  7180. var modified;
  7181. var latest = Ctor.options;
  7182. var sealed = Ctor.sealedOptions;
  7183. for (var key in latest) {
  7184. if (latest[key] !== sealed[key]) {
  7185. if (!modified) { modified = {}; }
  7186. modified[key] = latest[key];
  7187. }
  7188. }
  7189. return modified
  7190. }
  7191. function Vue (options) {
  7192. if ( true &&
  7193. !(this instanceof Vue)
  7194. ) {
  7195. warn('Vue is a constructor and should be called with the `new` keyword');
  7196. }
  7197. this._init(options);
  7198. }
  7199. initMixin(Vue);
  7200. stateMixin(Vue);
  7201. eventsMixin(Vue);
  7202. lifecycleMixin(Vue);
  7203. renderMixin(Vue);
  7204. /* */
  7205. function initUse (Vue) {
  7206. Vue.use = function (plugin) {
  7207. var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));
  7208. if (installedPlugins.indexOf(plugin) > -1) {
  7209. return this
  7210. }
  7211. // additional parameters
  7212. var args = toArray(arguments, 1);
  7213. args.unshift(this);
  7214. if (typeof plugin.install === 'function') {
  7215. plugin.install.apply(plugin, args);
  7216. } else if (typeof plugin === 'function') {
  7217. plugin.apply(null, args);
  7218. }
  7219. installedPlugins.push(plugin);
  7220. return this
  7221. };
  7222. }
  7223. /* */
  7224. function initMixin$1 (Vue) {
  7225. Vue.mixin = function (mixin) {
  7226. this.options = mergeOptions(this.options, mixin);
  7227. return this
  7228. };
  7229. }
  7230. /* */
  7231. function initExtend (Vue) {
  7232. /**
  7233. * Each instance constructor, including Vue, has a unique
  7234. * cid. This enables us to create wrapped "child
  7235. * constructors" for prototypal inheritance and cache them.
  7236. */
  7237. Vue.cid = 0;
  7238. var cid = 1;
  7239. /**
  7240. * Class inheritance
  7241. */
  7242. Vue.extend = function (extendOptions) {
  7243. extendOptions = extendOptions || {};
  7244. var Super = this;
  7245. var SuperId = Super.cid;
  7246. var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});
  7247. if (cachedCtors[SuperId]) {
  7248. return cachedCtors[SuperId]
  7249. }
  7250. var name = extendOptions.name || Super.options.name;
  7251. if ( true && name) {
  7252. validateComponentName(name);
  7253. }
  7254. var Sub = function VueComponent (options) {
  7255. this._init(options);
  7256. };
  7257. Sub.prototype = Object.create(Super.prototype);
  7258. Sub.prototype.constructor = Sub;
  7259. Sub.cid = cid++;
  7260. Sub.options = mergeOptions(
  7261. Super.options,
  7262. extendOptions
  7263. );
  7264. Sub['super'] = Super;
  7265. // For props and computed properties, we define the proxy getters on
  7266. // the Vue instances at extension time, on the extended prototype. This
  7267. // avoids Object.defineProperty calls for each instance created.
  7268. if (Sub.options.props) {
  7269. initProps$1(Sub);
  7270. }
  7271. if (Sub.options.computed) {
  7272. initComputed$1(Sub);
  7273. }
  7274. // allow further extension/mixin/plugin usage
  7275. Sub.extend = Super.extend;
  7276. Sub.mixin = Super.mixin;
  7277. Sub.use = Super.use;
  7278. // create asset registers, so extended classes
  7279. // can have their private assets too.
  7280. ASSET_TYPES.forEach(function (type) {
  7281. Sub[type] = Super[type];
  7282. });
  7283. // enable recursive self-lookup
  7284. if (name) {
  7285. Sub.options.components[name] = Sub;
  7286. }
  7287. // keep a reference to the super options at extension time.
  7288. // later at instantiation we can check if Super's options have
  7289. // been updated.
  7290. Sub.superOptions = Super.options;
  7291. Sub.extendOptions = extendOptions;
  7292. Sub.sealedOptions = extend({}, Sub.options);
  7293. // cache constructor
  7294. cachedCtors[SuperId] = Sub;
  7295. return Sub
  7296. };
  7297. }
  7298. function initProps$1 (Comp) {
  7299. var props = Comp.options.props;
  7300. for (var key in props) {
  7301. proxy(Comp.prototype, "_props", key);
  7302. }
  7303. }
  7304. function initComputed$1 (Comp) {
  7305. var computed = Comp.options.computed;
  7306. for (var key in computed) {
  7307. defineComputed(Comp.prototype, key, computed[key]);
  7308. }
  7309. }
  7310. /* */
  7311. function initAssetRegisters (Vue) {
  7312. /**
  7313. * Create asset registration methods.
  7314. */
  7315. ASSET_TYPES.forEach(function (type) {
  7316. Vue[type] = function (
  7317. id,
  7318. definition
  7319. ) {
  7320. if (!definition) {
  7321. return this.options[type + 's'][id]
  7322. } else {
  7323. /* istanbul ignore if */
  7324. if ( true && type === 'component') {
  7325. validateComponentName(id);
  7326. }
  7327. if (type === 'component' && isPlainObject(definition)) {
  7328. definition.name = definition.name || id;
  7329. definition = this.options._base.extend(definition);
  7330. }
  7331. if (type === 'directive' && typeof definition === 'function') {
  7332. definition = { bind: definition, update: definition };
  7333. }
  7334. this.options[type + 's'][id] = definition;
  7335. return definition
  7336. }
  7337. };
  7338. });
  7339. }
  7340. /* */
  7341. function getComponentName (opts) {
  7342. return opts && (opts.Ctor.options.name || opts.tag)
  7343. }
  7344. function matches (pattern, name) {
  7345. if (Array.isArray(pattern)) {
  7346. return pattern.indexOf(name) > -1
  7347. } else if (typeof pattern === 'string') {
  7348. return pattern.split(',').indexOf(name) > -1
  7349. } else if (isRegExp(pattern)) {
  7350. return pattern.test(name)
  7351. }
  7352. /* istanbul ignore next */
  7353. return false
  7354. }
  7355. function pruneCache (keepAliveInstance, filter) {
  7356. var cache = keepAliveInstance.cache;
  7357. var keys = keepAliveInstance.keys;
  7358. var _vnode = keepAliveInstance._vnode;
  7359. for (var key in cache) {
  7360. var cachedNode = cache[key];
  7361. if (cachedNode) {
  7362. var name = getComponentName(cachedNode.componentOptions);
  7363. if (name && !filter(name)) {
  7364. pruneCacheEntry(cache, key, keys, _vnode);
  7365. }
  7366. }
  7367. }
  7368. }
  7369. function pruneCacheEntry (
  7370. cache,
  7371. key,
  7372. keys,
  7373. current
  7374. ) {
  7375. var cached$$1 = cache[key];
  7376. if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {
  7377. cached$$1.componentInstance.$destroy();
  7378. }
  7379. cache[key] = null;
  7380. remove(keys, key);
  7381. }
  7382. var patternTypes = [String, RegExp, Array];
  7383. var KeepAlive = {
  7384. name: 'keep-alive',
  7385. abstract: true,
  7386. props: {
  7387. include: patternTypes,
  7388. exclude: patternTypes,
  7389. max: [String, Number]
  7390. },
  7391. created: function created () {
  7392. this.cache = Object.create(null);
  7393. this.keys = [];
  7394. },
  7395. destroyed: function destroyed () {
  7396. for (var key in this.cache) {
  7397. pruneCacheEntry(this.cache, key, this.keys);
  7398. }
  7399. },
  7400. mounted: function mounted () {
  7401. var this$1 = this;
  7402. this.$watch('include', function (val) {
  7403. pruneCache(this$1, function (name) { return matches(val, name); });
  7404. });
  7405. this.$watch('exclude', function (val) {
  7406. pruneCache(this$1, function (name) { return !matches(val, name); });
  7407. });
  7408. },
  7409. render: function render () {
  7410. var slot = this.$slots.default;
  7411. var vnode = getFirstComponentChild(slot);
  7412. var componentOptions = vnode && vnode.componentOptions;
  7413. if (componentOptions) {
  7414. // check pattern
  7415. var name = getComponentName(componentOptions);
  7416. var ref = this;
  7417. var include = ref.include;
  7418. var exclude = ref.exclude;
  7419. if (
  7420. // not included
  7421. (include && (!name || !matches(include, name))) ||
  7422. // excluded
  7423. (exclude && name && matches(exclude, name))
  7424. ) {
  7425. return vnode
  7426. }
  7427. var ref$1 = this;
  7428. var cache = ref$1.cache;
  7429. var keys = ref$1.keys;
  7430. var key = vnode.key == null
  7431. // same constructor may get registered as different local components
  7432. // so cid alone is not enough (#3269)
  7433. ? componentOptions.Ctor.cid + (componentOptions.tag ? ("::" + (componentOptions.tag)) : '')
  7434. : vnode.key;
  7435. if (cache[key]) {
  7436. vnode.componentInstance = cache[key].componentInstance;
  7437. // make current key freshest
  7438. remove(keys, key);
  7439. keys.push(key);
  7440. } else {
  7441. cache[key] = vnode;
  7442. keys.push(key);
  7443. // prune oldest entry
  7444. if (this.max && keys.length > parseInt(this.max)) {
  7445. pruneCacheEntry(cache, keys[0], keys, this._vnode);
  7446. }
  7447. }
  7448. vnode.data.keepAlive = true;
  7449. }
  7450. return vnode || (slot && slot[0])
  7451. }
  7452. };
  7453. var builtInComponents = {
  7454. KeepAlive: KeepAlive
  7455. };
  7456. /* */
  7457. function initGlobalAPI (Vue) {
  7458. // config
  7459. var configDef = {};
  7460. configDef.get = function () { return config; };
  7461. if (true) {
  7462. configDef.set = function () {
  7463. warn(
  7464. 'Do not replace the Vue.config object, set individual fields instead.'
  7465. );
  7466. };
  7467. }
  7468. Object.defineProperty(Vue, 'config', configDef);
  7469. // exposed util methods.
  7470. // NOTE: these are not considered part of the public API - avoid relying on
  7471. // them unless you are aware of the risk.
  7472. Vue.util = {
  7473. warn: warn,
  7474. extend: extend,
  7475. mergeOptions: mergeOptions,
  7476. defineReactive: defineReactive$$1
  7477. };
  7478. Vue.set = set;
  7479. Vue.delete = del;
  7480. Vue.nextTick = nextTick;
  7481. // 2.6 explicit observable API
  7482. Vue.observable = function (obj) {
  7483. observe(obj);
  7484. return obj
  7485. };
  7486. Vue.options = Object.create(null);
  7487. ASSET_TYPES.forEach(function (type) {
  7488. Vue.options[type + 's'] = Object.create(null);
  7489. });
  7490. // this is used to identify the "base" constructor to extend all plain-object
  7491. // components with in Weex's multi-instance scenarios.
  7492. Vue.options._base = Vue;
  7493. extend(Vue.options.components, builtInComponents);
  7494. initUse(Vue);
  7495. initMixin$1(Vue);
  7496. initExtend(Vue);
  7497. initAssetRegisters(Vue);
  7498. }
  7499. initGlobalAPI(Vue);
  7500. Object.defineProperty(Vue.prototype, '$isServer', {
  7501. get: isServerRendering
  7502. });
  7503. Object.defineProperty(Vue.prototype, '$ssrContext', {
  7504. get: function get () {
  7505. /* istanbul ignore next */
  7506. return this.$vnode && this.$vnode.ssrContext
  7507. }
  7508. });
  7509. // expose FunctionalRenderContext for ssr runtime helper installation
  7510. Object.defineProperty(Vue, 'FunctionalRenderContext', {
  7511. value: FunctionalRenderContext
  7512. });
  7513. Vue.version = '2.6.11';
  7514. /**
  7515. * https://raw.githubusercontent.com/Tencent/westore/master/packages/westore/utils/diff.js
  7516. */
  7517. var ARRAYTYPE = '[object Array]';
  7518. var OBJECTTYPE = '[object Object]';
  7519. // const FUNCTIONTYPE = '[object Function]'
  7520. function diff(current, pre) {
  7521. var result = {};
  7522. syncKeys(current, pre);
  7523. _diff(current, pre, '', result);
  7524. return result
  7525. }
  7526. function syncKeys(current, pre) {
  7527. if (current === pre) { return }
  7528. var rootCurrentType = type(current);
  7529. var rootPreType = type(pre);
  7530. if (rootCurrentType == OBJECTTYPE && rootPreType == OBJECTTYPE) {
  7531. if(Object.keys(current).length >= Object.keys(pre).length){
  7532. for (var key in pre) {
  7533. var currentValue = current[key];
  7534. if (currentValue === undefined) {
  7535. current[key] = null;
  7536. } else {
  7537. syncKeys(currentValue, pre[key]);
  7538. }
  7539. }
  7540. }
  7541. } else if (rootCurrentType == ARRAYTYPE && rootPreType == ARRAYTYPE) {
  7542. if (current.length >= pre.length) {
  7543. pre.forEach(function (item, index) {
  7544. syncKeys(current[index], item);
  7545. });
  7546. }
  7547. }
  7548. }
  7549. function _diff(current, pre, path, result) {
  7550. if (current === pre) { return }
  7551. var rootCurrentType = type(current);
  7552. var rootPreType = type(pre);
  7553. if (rootCurrentType == OBJECTTYPE) {
  7554. if (rootPreType != OBJECTTYPE || Object.keys(current).length < Object.keys(pre).length) {
  7555. setResult(result, path, current);
  7556. } else {
  7557. var loop = function ( key ) {
  7558. var currentValue = current[key];
  7559. var preValue = pre[key];
  7560. var currentType = type(currentValue);
  7561. var preType = type(preValue);
  7562. if (currentType != ARRAYTYPE && currentType != OBJECTTYPE) {
  7563. if (currentValue !== pre[key]) {
  7564. setResult(result, (path == '' ? '' : path + ".") + key, currentValue);
  7565. }
  7566. } else if (currentType == ARRAYTYPE) {
  7567. if (preType != ARRAYTYPE) {
  7568. setResult(result, (path == '' ? '' : path + ".") + key, currentValue);
  7569. } else {
  7570. if (currentValue.length < preValue.length) {
  7571. setResult(result, (path == '' ? '' : path + ".") + key, currentValue);
  7572. } else {
  7573. currentValue.forEach(function (item, index) {
  7574. _diff(item, preValue[index], (path == '' ? '' : path + ".") + key + '[' + index + ']', result);
  7575. });
  7576. }
  7577. }
  7578. } else if (currentType == OBJECTTYPE) {
  7579. if (preType != OBJECTTYPE || Object.keys(currentValue).length < Object.keys(preValue).length) {
  7580. setResult(result, (path == '' ? '' : path + ".") + key, currentValue);
  7581. } else {
  7582. for (var subKey in currentValue) {
  7583. _diff(currentValue[subKey], preValue[subKey], (path == '' ? '' : path + ".") + key + '.' + subKey, result);
  7584. }
  7585. }
  7586. }
  7587. };
  7588. for (var key in current) loop( key );
  7589. }
  7590. } else if (rootCurrentType == ARRAYTYPE) {
  7591. if (rootPreType != ARRAYTYPE) {
  7592. setResult(result, path, current);
  7593. } else {
  7594. if (current.length < pre.length) {
  7595. setResult(result, path, current);
  7596. } else {
  7597. current.forEach(function (item, index) {
  7598. _diff(item, pre[index], path + '[' + index + ']', result);
  7599. });
  7600. }
  7601. }
  7602. } else {
  7603. setResult(result, path, current);
  7604. }
  7605. }
  7606. function setResult(result, k, v) {
  7607. // if (type(v) != FUNCTIONTYPE) {
  7608. result[k] = v;
  7609. // }
  7610. }
  7611. function type(obj) {
  7612. return Object.prototype.toString.call(obj)
  7613. }
  7614. /* */
  7615. function flushCallbacks$1(vm) {
  7616. if (vm.__next_tick_callbacks && vm.__next_tick_callbacks.length) {
  7617. if (Object({"NODE_ENV":"development","VUE_APP_NAME":"扫码点餐","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG) {
  7618. var mpInstance = vm.$scope;
  7619. console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +
  7620. ']:flushCallbacks[' + vm.__next_tick_callbacks.length + ']');
  7621. }
  7622. var copies = vm.__next_tick_callbacks.slice(0);
  7623. vm.__next_tick_callbacks.length = 0;
  7624. for (var i = 0; i < copies.length; i++) {
  7625. copies[i]();
  7626. }
  7627. }
  7628. }
  7629. function hasRenderWatcher(vm) {
  7630. return queue.find(function (watcher) { return vm._watcher === watcher; })
  7631. }
  7632. function nextTick$1(vm, cb) {
  7633. //1.nextTick 之前 已 setData 且 setData 还未回调完成
  7634. //2.nextTick 之前存在 render watcher
  7635. if (!vm.__next_tick_pending && !hasRenderWatcher(vm)) {
  7636. if(Object({"NODE_ENV":"development","VUE_APP_NAME":"扫码点餐","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG){
  7637. var mpInstance = vm.$scope;
  7638. console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +
  7639. ']:nextVueTick');
  7640. }
  7641. return nextTick(cb, vm)
  7642. }else{
  7643. if(Object({"NODE_ENV":"development","VUE_APP_NAME":"扫码点餐","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG){
  7644. var mpInstance$1 = vm.$scope;
  7645. console.log('[' + (+new Date) + '][' + (mpInstance$1.is || mpInstance$1.route) + '][' + vm._uid +
  7646. ']:nextMPTick');
  7647. }
  7648. }
  7649. var _resolve;
  7650. if (!vm.__next_tick_callbacks) {
  7651. vm.__next_tick_callbacks = [];
  7652. }
  7653. vm.__next_tick_callbacks.push(function () {
  7654. if (cb) {
  7655. try {
  7656. cb.call(vm);
  7657. } catch (e) {
  7658. handleError(e, vm, 'nextTick');
  7659. }
  7660. } else if (_resolve) {
  7661. _resolve(vm);
  7662. }
  7663. });
  7664. // $flow-disable-line
  7665. if (!cb && typeof Promise !== 'undefined') {
  7666. return new Promise(function (resolve) {
  7667. _resolve = resolve;
  7668. })
  7669. }
  7670. }
  7671. /* */
  7672. function cloneWithData(vm) {
  7673. // 确保当前 vm 所有数据被同步
  7674. var ret = Object.create(null);
  7675. var dataKeys = [].concat(
  7676. Object.keys(vm._data || {}),
  7677. Object.keys(vm._computedWatchers || {}));
  7678. dataKeys.reduce(function(ret, key) {
  7679. ret[key] = vm[key];
  7680. return ret
  7681. }, ret);
  7682. // vue-composition-api
  7683. var compositionApiState = vm.__composition_api_state__ || vm.__secret_vfa_state__;
  7684. var rawBindings = compositionApiState && compositionApiState.rawBindings;
  7685. if (rawBindings) {
  7686. Object.keys(rawBindings).forEach(function (key) {
  7687. ret[key] = vm[key];
  7688. });
  7689. }
  7690. //TODO 需要把无用数据处理掉,比如 list=>l0 则 list 需要移除,否则多传输一份数据
  7691. Object.assign(ret, vm.$mp.data || {});
  7692. if (
  7693. Array.isArray(vm.$options.behaviors) &&
  7694. vm.$options.behaviors.indexOf('uni://form-field') !== -1
  7695. ) { //form-field
  7696. ret['name'] = vm.name;
  7697. ret['value'] = vm.value;
  7698. }
  7699. return JSON.parse(JSON.stringify(ret))
  7700. }
  7701. var patch = function(oldVnode, vnode) {
  7702. var this$1 = this;
  7703. if (vnode === null) { //destroy
  7704. return
  7705. }
  7706. if (this.mpType === 'page' || this.mpType === 'component') {
  7707. var mpInstance = this.$scope;
  7708. var data = Object.create(null);
  7709. try {
  7710. data = cloneWithData(this);
  7711. } catch (err) {
  7712. console.error(err);
  7713. }
  7714. data.__webviewId__ = mpInstance.data.__webviewId__;
  7715. var mpData = Object.create(null);
  7716. Object.keys(data).forEach(function (key) { //仅同步 data 中有的数据
  7717. mpData[key] = mpInstance.data[key];
  7718. });
  7719. var diffData = this.$shouldDiffData === false ? data : diff(data, mpData);
  7720. if (Object.keys(diffData).length) {
  7721. if (Object({"NODE_ENV":"development","VUE_APP_NAME":"扫码点餐","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG) {
  7722. console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + this._uid +
  7723. ']差量更新',
  7724. JSON.stringify(diffData));
  7725. }
  7726. this.__next_tick_pending = true;
  7727. mpInstance.setData(diffData, function () {
  7728. this$1.__next_tick_pending = false;
  7729. flushCallbacks$1(this$1);
  7730. });
  7731. } else {
  7732. flushCallbacks$1(this);
  7733. }
  7734. }
  7735. };
  7736. /* */
  7737. function createEmptyRender() {
  7738. }
  7739. function mountComponent$1(
  7740. vm,
  7741. el,
  7742. hydrating
  7743. ) {
  7744. if (!vm.mpType) {//main.js 中的 new Vue
  7745. return vm
  7746. }
  7747. if (vm.mpType === 'app') {
  7748. vm.$options.render = createEmptyRender;
  7749. }
  7750. if (!vm.$options.render) {
  7751. vm.$options.render = createEmptyRender;
  7752. if (true) {
  7753. /* istanbul ignore if */
  7754. if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||
  7755. vm.$options.el || el) {
  7756. warn(
  7757. 'You are using the runtime-only build of Vue where the template ' +
  7758. 'compiler is not available. Either pre-compile the templates into ' +
  7759. 'render functions, or use the compiler-included build.',
  7760. vm
  7761. );
  7762. } else {
  7763. warn(
  7764. 'Failed to mount component: template or render function not defined.',
  7765. vm
  7766. );
  7767. }
  7768. }
  7769. }
  7770. !vm._$fallback && callHook(vm, 'beforeMount');
  7771. var updateComponent = function () {
  7772. vm._update(vm._render(), hydrating);
  7773. };
  7774. // we set this to vm._watcher inside the watcher's constructor
  7775. // since the watcher's initial patch may call $forceUpdate (e.g. inside child
  7776. // component's mounted hook), which relies on vm._watcher being already defined
  7777. new Watcher(vm, updateComponent, noop, {
  7778. before: function before() {
  7779. if (vm._isMounted && !vm._isDestroyed) {
  7780. callHook(vm, 'beforeUpdate');
  7781. }
  7782. }
  7783. }, true /* isRenderWatcher */);
  7784. hydrating = false;
  7785. return vm
  7786. }
  7787. /* */
  7788. function renderClass (
  7789. staticClass,
  7790. dynamicClass
  7791. ) {
  7792. if (isDef(staticClass) || isDef(dynamicClass)) {
  7793. return concat(staticClass, stringifyClass(dynamicClass))
  7794. }
  7795. /* istanbul ignore next */
  7796. return ''
  7797. }
  7798. function concat (a, b) {
  7799. return a ? b ? (a + ' ' + b) : a : (b || '')
  7800. }
  7801. function stringifyClass (value) {
  7802. if (Array.isArray(value)) {
  7803. return stringifyArray(value)
  7804. }
  7805. if (isObject(value)) {
  7806. return stringifyObject(value)
  7807. }
  7808. if (typeof value === 'string') {
  7809. return value
  7810. }
  7811. /* istanbul ignore next */
  7812. return ''
  7813. }
  7814. function stringifyArray (value) {
  7815. var res = '';
  7816. var stringified;
  7817. for (var i = 0, l = value.length; i < l; i++) {
  7818. if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {
  7819. if (res) { res += ' '; }
  7820. res += stringified;
  7821. }
  7822. }
  7823. return res
  7824. }
  7825. function stringifyObject (value) {
  7826. var res = '';
  7827. for (var key in value) {
  7828. if (value[key]) {
  7829. if (res) { res += ' '; }
  7830. res += key;
  7831. }
  7832. }
  7833. return res
  7834. }
  7835. /* */
  7836. var parseStyleText = cached(function (cssText) {
  7837. var res = {};
  7838. var listDelimiter = /;(?![^(]*\))/g;
  7839. var propertyDelimiter = /:(.+)/;
  7840. cssText.split(listDelimiter).forEach(function (item) {
  7841. if (item) {
  7842. var tmp = item.split(propertyDelimiter);
  7843. tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());
  7844. }
  7845. });
  7846. return res
  7847. });
  7848. // normalize possible array / string values into Object
  7849. function normalizeStyleBinding (bindingStyle) {
  7850. if (Array.isArray(bindingStyle)) {
  7851. return toObject(bindingStyle)
  7852. }
  7853. if (typeof bindingStyle === 'string') {
  7854. return parseStyleText(bindingStyle)
  7855. }
  7856. return bindingStyle
  7857. }
  7858. /* */
  7859. var MP_METHODS = ['createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', 'selectComponent'];
  7860. function getTarget(obj, path) {
  7861. var parts = path.split('.');
  7862. var key = parts[0];
  7863. if (key.indexOf('__$n') === 0) { //number index
  7864. key = parseInt(key.replace('__$n', ''));
  7865. }
  7866. if (parts.length === 1) {
  7867. return obj[key]
  7868. }
  7869. return getTarget(obj[key], parts.slice(1).join('.'))
  7870. }
  7871. function internalMixin(Vue) {
  7872. Vue.config.errorHandler = function(err, vm, info) {
  7873. Vue.util.warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm);
  7874. console.error(err);
  7875. /* eslint-disable no-undef */
  7876. var app = typeof getApp === 'function' && getApp();
  7877. if (app && app.onError) {
  7878. app.onError(err);
  7879. }
  7880. };
  7881. var oldEmit = Vue.prototype.$emit;
  7882. Vue.prototype.$emit = function(event) {
  7883. if (this.$scope && event) {
  7884. var triggerEvent = this.$scope['_triggerEvent'] || this.$scope['triggerEvent'];
  7885. if (triggerEvent) {
  7886. triggerEvent.call(this.$scope, event, {
  7887. __args__: toArray(arguments, 1)
  7888. });
  7889. }
  7890. }
  7891. return oldEmit.apply(this, arguments)
  7892. };
  7893. Vue.prototype.$nextTick = function(fn) {
  7894. return nextTick$1(this, fn)
  7895. };
  7896. MP_METHODS.forEach(function (method) {
  7897. Vue.prototype[method] = function(args) {
  7898. if (this.$scope && this.$scope[method]) {
  7899. return this.$scope[method](args)
  7900. }
  7901. // mp-alipay
  7902. if (typeof my === 'undefined') {
  7903. return
  7904. }
  7905. if (method === 'createSelectorQuery') {
  7906. /* eslint-disable no-undef */
  7907. return my.createSelectorQuery(args)
  7908. } else if (method === 'createIntersectionObserver') {
  7909. /* eslint-disable no-undef */
  7910. return my.createIntersectionObserver(args)
  7911. }
  7912. // TODO mp-alipay 暂不支持 selectAllComponents,selectComponent
  7913. };
  7914. });
  7915. Vue.prototype.__init_provide = initProvide;
  7916. Vue.prototype.__init_injections = initInjections;
  7917. Vue.prototype.__call_hook = function(hook, args) {
  7918. var vm = this;
  7919. // #7573 disable dep collection when invoking lifecycle hooks
  7920. pushTarget();
  7921. var handlers = vm.$options[hook];
  7922. var info = hook + " hook";
  7923. var ret;
  7924. if (handlers) {
  7925. for (var i = 0, j = handlers.length; i < j; i++) {
  7926. ret = invokeWithErrorHandling(handlers[i], vm, args ? [args] : null, vm, info);
  7927. }
  7928. }
  7929. if (vm._hasHookEvent) {
  7930. vm.$emit('hook:' + hook, args);
  7931. }
  7932. popTarget();
  7933. return ret
  7934. };
  7935. Vue.prototype.__set_model = function(target, key, value, modifiers) {
  7936. if (Array.isArray(modifiers)) {
  7937. if (modifiers.indexOf('trim') !== -1) {
  7938. value = value.trim();
  7939. }
  7940. if (modifiers.indexOf('number') !== -1) {
  7941. value = this._n(value);
  7942. }
  7943. }
  7944. if (!target) {
  7945. target = this;
  7946. }
  7947. // 解决动态属性添加
  7948. Vue.set(target, key, value);
  7949. };
  7950. Vue.prototype.__set_sync = function(target, key, value) {
  7951. if (!target) {
  7952. target = this;
  7953. }
  7954. // 解决动态属性添加
  7955. Vue.set(target, key, value);
  7956. };
  7957. Vue.prototype.__get_orig = function(item) {
  7958. if (isPlainObject(item)) {
  7959. return item['$orig'] || item
  7960. }
  7961. return item
  7962. };
  7963. Vue.prototype.__get_value = function(dataPath, target) {
  7964. return getTarget(target || this, dataPath)
  7965. };
  7966. Vue.prototype.__get_class = function(dynamicClass, staticClass) {
  7967. return renderClass(staticClass, dynamicClass)
  7968. };
  7969. Vue.prototype.__get_style = function(dynamicStyle, staticStyle) {
  7970. if (!dynamicStyle && !staticStyle) {
  7971. return ''
  7972. }
  7973. var dynamicStyleObj = normalizeStyleBinding(dynamicStyle);
  7974. var styleObj = staticStyle ? extend(staticStyle, dynamicStyleObj) : dynamicStyleObj;
  7975. return Object.keys(styleObj).map(function (name) { return ((hyphenate(name)) + ":" + (styleObj[name])); }).join(';')
  7976. };
  7977. Vue.prototype.__map = function(val, iteratee) {
  7978. //TODO 暂不考虑 string
  7979. var ret, i, l, keys, key;
  7980. if (Array.isArray(val)) {
  7981. ret = new Array(val.length);
  7982. for (i = 0, l = val.length; i < l; i++) {
  7983. ret[i] = iteratee(val[i], i);
  7984. }
  7985. return ret
  7986. } else if (isObject(val)) {
  7987. keys = Object.keys(val);
  7988. ret = Object.create(null);
  7989. for (i = 0, l = keys.length; i < l; i++) {
  7990. key = keys[i];
  7991. ret[key] = iteratee(val[key], key, i);
  7992. }
  7993. return ret
  7994. } else if (typeof val === 'number') {
  7995. ret = new Array(val);
  7996. for (i = 0, l = val; i < l; i++) {
  7997. // 第一个参数暂时仍和小程序一致
  7998. ret[i] = iteratee(i, i);
  7999. }
  8000. return ret
  8001. }
  8002. return []
  8003. };
  8004. }
  8005. /* */
  8006. var LIFECYCLE_HOOKS$1 = [
  8007. //App
  8008. 'onLaunch',
  8009. 'onShow',
  8010. 'onHide',
  8011. 'onUniNViewMessage',
  8012. 'onPageNotFound',
  8013. 'onThemeChange',
  8014. 'onError',
  8015. 'onUnhandledRejection',
  8016. //Page
  8017. 'onInit',
  8018. 'onLoad',
  8019. // 'onShow',
  8020. 'onReady',
  8021. // 'onHide',
  8022. 'onUnload',
  8023. 'onPullDownRefresh',
  8024. 'onReachBottom',
  8025. 'onTabItemTap',
  8026. 'onAddToFavorites',
  8027. 'onShareTimeline',
  8028. 'onShareAppMessage',
  8029. 'onResize',
  8030. 'onPageScroll',
  8031. 'onNavigationBarButtonTap',
  8032. 'onBackPress',
  8033. 'onNavigationBarSearchInputChanged',
  8034. 'onNavigationBarSearchInputConfirmed',
  8035. 'onNavigationBarSearchInputClicked',
  8036. //Component
  8037. // 'onReady', // 兼容旧版本,应该移除该事件
  8038. 'onPageShow',
  8039. 'onPageHide',
  8040. 'onPageResize',
  8041. 'onUploadDouyinVideo'
  8042. ];
  8043. function lifecycleMixin$1(Vue) {
  8044. //fixed vue-class-component
  8045. var oldExtend = Vue.extend;
  8046. Vue.extend = function(extendOptions) {
  8047. extendOptions = extendOptions || {};
  8048. var methods = extendOptions.methods;
  8049. if (methods) {
  8050. Object.keys(methods).forEach(function (methodName) {
  8051. if (LIFECYCLE_HOOKS$1.indexOf(methodName)!==-1) {
  8052. extendOptions[methodName] = methods[methodName];
  8053. delete methods[methodName];
  8054. }
  8055. });
  8056. }
  8057. return oldExtend.call(this, extendOptions)
  8058. };
  8059. var strategies = Vue.config.optionMergeStrategies;
  8060. var mergeHook = strategies.created;
  8061. LIFECYCLE_HOOKS$1.forEach(function (hook) {
  8062. strategies[hook] = mergeHook;
  8063. });
  8064. Vue.prototype.__lifecycle_hooks__ = LIFECYCLE_HOOKS$1;
  8065. }
  8066. /* */
  8067. // install platform patch function
  8068. Vue.prototype.__patch__ = patch;
  8069. // public mount method
  8070. Vue.prototype.$mount = function(
  8071. el ,
  8072. hydrating
  8073. ) {
  8074. return mountComponent$1(this, el, hydrating)
  8075. };
  8076. lifecycleMixin$1(Vue);
  8077. internalMixin(Vue);
  8078. /* */
  8079. /* harmony default export */ __webpack_exports__["default"] = (Vue);
  8080. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../../webpack/buildin/global.js */ 2)))
  8081. /***/ }),
  8082. /* 5 */
  8083. /*!*******************************************!*\
  8084. !*** D:/wxproject/项目模板/uniapp/pages.json ***!
  8085. \*******************************************/
  8086. /*! no static exports found */
  8087. /***/ (function(module, exports) {
  8088. /***/ }),
  8089. /* 6 */,
  8090. /* 7 */,
  8091. /* 8 */,
  8092. /* 9 */,
  8093. /* 10 */,
  8094. /* 11 */
  8095. /*!**********************************************************************************************************!*\
  8096. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js ***!
  8097. \**********************************************************************************************************/
  8098. /*! exports provided: default */
  8099. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8100. "use strict";
  8101. __webpack_require__.r(__webpack_exports__);
  8102. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return normalizeComponent; });
  8103. /* globals __VUE_SSR_CONTEXT__ */
  8104. // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
  8105. // This module is a runtime utility for cleaner component module output and will
  8106. // be included in the final webpack user bundle.
  8107. function normalizeComponent (
  8108. scriptExports,
  8109. render,
  8110. staticRenderFns,
  8111. functionalTemplate,
  8112. injectStyles,
  8113. scopeId,
  8114. moduleIdentifier, /* server only */
  8115. shadowMode, /* vue-cli only */
  8116. components, // fixed by xxxxxx auto components
  8117. renderjs // fixed by xxxxxx renderjs
  8118. ) {
  8119. // Vue.extend constructor export interop
  8120. var options = typeof scriptExports === 'function'
  8121. ? scriptExports.options
  8122. : scriptExports
  8123. // fixed by xxxxxx auto components
  8124. if (components) {
  8125. if (!options.components) {
  8126. options.components = {}
  8127. }
  8128. var hasOwn = Object.prototype.hasOwnProperty
  8129. for (var name in components) {
  8130. if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) {
  8131. options.components[name] = components[name]
  8132. }
  8133. }
  8134. }
  8135. // fixed by xxxxxx renderjs
  8136. if (renderjs) {
  8137. (renderjs.beforeCreate || (renderjs.beforeCreate = [])).unshift(function() {
  8138. this[renderjs.__module] = this
  8139. });
  8140. (options.mixins || (options.mixins = [])).push(renderjs)
  8141. }
  8142. // render functions
  8143. if (render) {
  8144. options.render = render
  8145. options.staticRenderFns = staticRenderFns
  8146. options._compiled = true
  8147. }
  8148. // functional template
  8149. if (functionalTemplate) {
  8150. options.functional = true
  8151. }
  8152. // scopedId
  8153. if (scopeId) {
  8154. options._scopeId = 'data-v-' + scopeId
  8155. }
  8156. var hook
  8157. if (moduleIdentifier) { // server build
  8158. hook = function (context) {
  8159. // 2.3 injection
  8160. context =
  8161. context || // cached call
  8162. (this.$vnode && this.$vnode.ssrContext) || // stateful
  8163. (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
  8164. // 2.2 with runInNewContext: true
  8165. if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
  8166. context = __VUE_SSR_CONTEXT__
  8167. }
  8168. // inject component styles
  8169. if (injectStyles) {
  8170. injectStyles.call(this, context)
  8171. }
  8172. // register component module identifier for async chunk inferrence
  8173. if (context && context._registeredComponents) {
  8174. context._registeredComponents.add(moduleIdentifier)
  8175. }
  8176. }
  8177. // used by ssr in case component is cached and beforeCreate
  8178. // never gets called
  8179. options._ssrRegister = hook
  8180. } else if (injectStyles) {
  8181. hook = shadowMode
  8182. ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }
  8183. : injectStyles
  8184. }
  8185. if (hook) {
  8186. if (options.functional) {
  8187. // for template-only hot-reload because in that case the render fn doesn't
  8188. // go through the normalizer
  8189. options._injectStyles = hook
  8190. // register for functioal component in vue file
  8191. var originalRender = options.render
  8192. options.render = function renderWithStyleInjection (h, context) {
  8193. hook.call(context)
  8194. return originalRender(h, context)
  8195. }
  8196. } else {
  8197. // inject component registration as beforeCreate hook
  8198. var existing = options.beforeCreate
  8199. options.beforeCreate = existing
  8200. ? [].concat(existing, hook)
  8201. : [hook]
  8202. }
  8203. }
  8204. return {
  8205. exports: scriptExports,
  8206. options: options
  8207. }
  8208. }
  8209. /***/ }),
  8210. /* 12 */
  8211. /*!*************************************************!*\
  8212. !*** D:/wxproject/项目模板/uniapp/common/config.js ***!
  8213. \*************************************************/
  8214. /*! no static exports found */
  8215. /***/ (function(module, exports, __webpack_require__) {
  8216. "use strict";
  8217. /* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _default = {
  8218. // 接口地址
  8219. serverUrl: "http://192.168.1.113:10102",
  8220. wechatUrl: "https://broadcast.waityou24.cn",
  8221. // 设备信息
  8222. system: uni.getSystemInfoSync(),
  8223. // 节目类型
  8224. pro_type: [//
  8225. {
  8226. dict_label: '电视节目',
  8227. dict_value: '0' },
  8228. {
  8229. dict_label: '电影节目',
  8230. dict_value: '1' }] };exports.default = _default;
  8231. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
  8232. /***/ }),
  8233. /* 13 */
  8234. /*!**********************************************!*\
  8235. !*** D:/wxproject/项目模板/uniapp/common/api.js ***!
  8236. \**********************************************/
  8237. /*! no static exports found */
  8238. /***/ (function(module, exports, __webpack_require__) {
  8239. "use strict";
  8240. /* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.requestFile = exports.requestBase = void 0;var _regenerator = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@babel/runtime/regenerator */ 14));var _config = _interopRequireDefault(__webpack_require__(/*! ../common/config */ 12));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {try {var info = gen[key](arg);var value = info.value;} catch (error) {reject(error);return;}if (info.done) {resolve(value);} else {Promise.resolve(value).then(_next, _throw);}}function _asyncToGenerator(fn) {return function () {var self = this,args = arguments;return new Promise(function (resolve, reject) {var gen = fn.apply(self, args);function _next(value) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);}function _throw(err) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);}_next(undefined);});};}
  8241. var getDomain = function getDomain(uri, type) {var
  8242. serverUrl =
  8243. _config.default.serverUrl,wechatUrl = _config.default.wechatUrl;
  8244. // 自定义
  8245. if (uri.includes("http")) return uri;
  8246. // 微信
  8247. if (uri.startsWith("/wechat/api")) return wechatUrl + uri;
  8248. // 地址前缀
  8249. else if (type) return serverUrl + "/projectadmin/".concat(type, "/api/") + uri;
  8250. // 常规
  8251. return serverUrl + "/projectadmin/api/" + uri;
  8252. };
  8253. // 常规请求
  8254. var requestBase = /*#__PURE__*/function () {var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator.default.mark(function _callee(uri) {var method,data,type,baseUrl,header,token,_args = arguments;return _regenerator.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:method = _args.length > 1 && _args[1] !== undefined ? _args[1] : "GET";data = _args.length > 2 ? _args[2] : undefined;type = _args.length > 3 ? _args[3] : undefined;
  8255. // 请求地址
  8256. baseUrl = getDomain(uri, type);
  8257. // 请求头
  8258. header = {};
  8259. // 用户信息
  8260. token = "";
  8261. if (token) header.token = token;return _context.abrupt("return",
  8262. new Promise(function (resolve, reject) {
  8263. uni.request({
  8264. url: baseUrl,
  8265. method: method,
  8266. data: data,
  8267. header: header,
  8268. success: function success(res) {return toResolve(resolve, res);},
  8269. fail: function fail(err) {
  8270. console.log(err);
  8271. } });
  8272. }));case 8:case "end":return _context.stop();}}}, _callee);}));return function requestBase(_x) {return _ref.apply(this, arguments);};}();
  8273. // 图片请求
  8274. exports.requestBase = requestBase;var requestFile = function requestFile(uri, method, data, type) {
  8275. // 请求地址
  8276. var baseUrl = getDomain(uri, type);
  8277. return new Promise(function (resolve, reject) {
  8278. uni.uploadFile({
  8279. url: "https://broadcast.waityou24.cn/".concat(uri),
  8280. filePath: data,
  8281. name: 'file',
  8282. formData: {},
  8283. success: function success(res) {return toResolve(resolve, res);},
  8284. error: function error(e) {return toReject(reject, e);} });
  8285. });
  8286. };exports.requestFile = requestFile;
  8287. var toResolve = function toResolve(resolve, result) {
  8288. if (result.statusCode === 200) resolve(result.data);
  8289. };
  8290. var toReject = function toReject(reject, result) {
  8291. reject(result);
  8292. };
  8293. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
  8294. /***/ }),
  8295. /* 14 */
  8296. /*!**********************************************************!*\
  8297. !*** ./node_modules/@babel/runtime/regenerator/index.js ***!
  8298. \**********************************************************/
  8299. /*! no static exports found */
  8300. /***/ (function(module, exports, __webpack_require__) {
  8301. module.exports = __webpack_require__(/*! regenerator-runtime */ 15);
  8302. /***/ }),
  8303. /* 15 */
  8304. /*!************************************************************!*\
  8305. !*** ./node_modules/regenerator-runtime/runtime-module.js ***!
  8306. \************************************************************/
  8307. /*! no static exports found */
  8308. /***/ (function(module, exports, __webpack_require__) {
  8309. /**
  8310. * Copyright (c) 2014-present, Facebook, Inc.
  8311. *
  8312. * This source code is licensed under the MIT license found in the
  8313. * LICENSE file in the root directory of this source tree.
  8314. */
  8315. // This method of obtaining a reference to the global object needs to be
  8316. // kept identical to the way it is obtained in runtime.js
  8317. var g = (function() {
  8318. return this || (typeof self === "object" && self);
  8319. })() || Function("return this")();
  8320. // Use `getOwnPropertyNames` because not all browsers support calling
  8321. // `hasOwnProperty` on the global `self` object in a worker. See #183.
  8322. var hadRuntime = g.regeneratorRuntime &&
  8323. Object.getOwnPropertyNames(g).indexOf("regeneratorRuntime") >= 0;
  8324. // Save the old regeneratorRuntime in case it needs to be restored later.
  8325. var oldRuntime = hadRuntime && g.regeneratorRuntime;
  8326. // Force reevalutation of runtime.js.
  8327. g.regeneratorRuntime = undefined;
  8328. module.exports = __webpack_require__(/*! ./runtime */ 16);
  8329. if (hadRuntime) {
  8330. // Restore the original runtime.
  8331. g.regeneratorRuntime = oldRuntime;
  8332. } else {
  8333. // Remove the global property added by runtime.js.
  8334. try {
  8335. delete g.regeneratorRuntime;
  8336. } catch(e) {
  8337. g.regeneratorRuntime = undefined;
  8338. }
  8339. }
  8340. /***/ }),
  8341. /* 16 */
  8342. /*!*****************************************************!*\
  8343. !*** ./node_modules/regenerator-runtime/runtime.js ***!
  8344. \*****************************************************/
  8345. /*! no static exports found */
  8346. /***/ (function(module, exports) {
  8347. /**
  8348. * Copyright (c) 2014-present, Facebook, Inc.
  8349. *
  8350. * This source code is licensed under the MIT license found in the
  8351. * LICENSE file in the root directory of this source tree.
  8352. */
  8353. !(function(global) {
  8354. "use strict";
  8355. var Op = Object.prototype;
  8356. var hasOwn = Op.hasOwnProperty;
  8357. var undefined; // More compressible than void 0.
  8358. var $Symbol = typeof Symbol === "function" ? Symbol : {};
  8359. var iteratorSymbol = $Symbol.iterator || "@@iterator";
  8360. var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
  8361. var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
  8362. var inModule = typeof module === "object";
  8363. var runtime = global.regeneratorRuntime;
  8364. if (runtime) {
  8365. if (inModule) {
  8366. // If regeneratorRuntime is defined globally and we're in a module,
  8367. // make the exports object identical to regeneratorRuntime.
  8368. module.exports = runtime;
  8369. }
  8370. // Don't bother evaluating the rest of this file if the runtime was
  8371. // already defined globally.
  8372. return;
  8373. }
  8374. // Define the runtime globally (as expected by generated code) as either
  8375. // module.exports (if we're in a module) or a new, empty object.
  8376. runtime = global.regeneratorRuntime = inModule ? module.exports : {};
  8377. function wrap(innerFn, outerFn, self, tryLocsList) {
  8378. // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
  8379. var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
  8380. var generator = Object.create(protoGenerator.prototype);
  8381. var context = new Context(tryLocsList || []);
  8382. // The ._invoke method unifies the implementations of the .next,
  8383. // .throw, and .return methods.
  8384. generator._invoke = makeInvokeMethod(innerFn, self, context);
  8385. return generator;
  8386. }
  8387. runtime.wrap = wrap;
  8388. // Try/catch helper to minimize deoptimizations. Returns a completion
  8389. // record like context.tryEntries[i].completion. This interface could
  8390. // have been (and was previously) designed to take a closure to be
  8391. // invoked without arguments, but in all the cases we care about we
  8392. // already have an existing method we want to call, so there's no need
  8393. // to create a new function object. We can even get away with assuming
  8394. // the method takes exactly one argument, since that happens to be true
  8395. // in every case, so we don't have to touch the arguments object. The
  8396. // only additional allocation required is the completion record, which
  8397. // has a stable shape and so hopefully should be cheap to allocate.
  8398. function tryCatch(fn, obj, arg) {
  8399. try {
  8400. return { type: "normal", arg: fn.call(obj, arg) };
  8401. } catch (err) {
  8402. return { type: "throw", arg: err };
  8403. }
  8404. }
  8405. var GenStateSuspendedStart = "suspendedStart";
  8406. var GenStateSuspendedYield = "suspendedYield";
  8407. var GenStateExecuting = "executing";
  8408. var GenStateCompleted = "completed";
  8409. // Returning this object from the innerFn has the same effect as
  8410. // breaking out of the dispatch switch statement.
  8411. var ContinueSentinel = {};
  8412. // Dummy constructor functions that we use as the .constructor and
  8413. // .constructor.prototype properties for functions that return Generator
  8414. // objects. For full spec compliance, you may wish to configure your
  8415. // minifier not to mangle the names of these two functions.
  8416. function Generator() {}
  8417. function GeneratorFunction() {}
  8418. function GeneratorFunctionPrototype() {}
  8419. // This is a polyfill for %IteratorPrototype% for environments that
  8420. // don't natively support it.
  8421. var IteratorPrototype = {};
  8422. IteratorPrototype[iteratorSymbol] = function () {
  8423. return this;
  8424. };
  8425. var getProto = Object.getPrototypeOf;
  8426. var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
  8427. if (NativeIteratorPrototype &&
  8428. NativeIteratorPrototype !== Op &&
  8429. hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
  8430. // This environment has a native %IteratorPrototype%; use it instead
  8431. // of the polyfill.
  8432. IteratorPrototype = NativeIteratorPrototype;
  8433. }
  8434. var Gp = GeneratorFunctionPrototype.prototype =
  8435. Generator.prototype = Object.create(IteratorPrototype);
  8436. GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
  8437. GeneratorFunctionPrototype.constructor = GeneratorFunction;
  8438. GeneratorFunctionPrototype[toStringTagSymbol] =
  8439. GeneratorFunction.displayName = "GeneratorFunction";
  8440. // Helper for defining the .next, .throw, and .return methods of the
  8441. // Iterator interface in terms of a single ._invoke method.
  8442. function defineIteratorMethods(prototype) {
  8443. ["next", "throw", "return"].forEach(function(method) {
  8444. prototype[method] = function(arg) {
  8445. return this._invoke(method, arg);
  8446. };
  8447. });
  8448. }
  8449. runtime.isGeneratorFunction = function(genFun) {
  8450. var ctor = typeof genFun === "function" && genFun.constructor;
  8451. return ctor
  8452. ? ctor === GeneratorFunction ||
  8453. // For the native GeneratorFunction constructor, the best we can
  8454. // do is to check its .name property.
  8455. (ctor.displayName || ctor.name) === "GeneratorFunction"
  8456. : false;
  8457. };
  8458. runtime.mark = function(genFun) {
  8459. if (Object.setPrototypeOf) {
  8460. Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
  8461. } else {
  8462. genFun.__proto__ = GeneratorFunctionPrototype;
  8463. if (!(toStringTagSymbol in genFun)) {
  8464. genFun[toStringTagSymbol] = "GeneratorFunction";
  8465. }
  8466. }
  8467. genFun.prototype = Object.create(Gp);
  8468. return genFun;
  8469. };
  8470. // Within the body of any async function, `await x` is transformed to
  8471. // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
  8472. // `hasOwn.call(value, "__await")` to determine if the yielded value is
  8473. // meant to be awaited.
  8474. runtime.awrap = function(arg) {
  8475. return { __await: arg };
  8476. };
  8477. function AsyncIterator(generator) {
  8478. function invoke(method, arg, resolve, reject) {
  8479. var record = tryCatch(generator[method], generator, arg);
  8480. if (record.type === "throw") {
  8481. reject(record.arg);
  8482. } else {
  8483. var result = record.arg;
  8484. var value = result.value;
  8485. if (value &&
  8486. typeof value === "object" &&
  8487. hasOwn.call(value, "__await")) {
  8488. return Promise.resolve(value.__await).then(function(value) {
  8489. invoke("next", value, resolve, reject);
  8490. }, function(err) {
  8491. invoke("throw", err, resolve, reject);
  8492. });
  8493. }
  8494. return Promise.resolve(value).then(function(unwrapped) {
  8495. // When a yielded Promise is resolved, its final value becomes
  8496. // the .value of the Promise<{value,done}> result for the
  8497. // current iteration.
  8498. result.value = unwrapped;
  8499. resolve(result);
  8500. }, function(error) {
  8501. // If a rejected Promise was yielded, throw the rejection back
  8502. // into the async generator function so it can be handled there.
  8503. return invoke("throw", error, resolve, reject);
  8504. });
  8505. }
  8506. }
  8507. var previousPromise;
  8508. function enqueue(method, arg) {
  8509. function callInvokeWithMethodAndArg() {
  8510. return new Promise(function(resolve, reject) {
  8511. invoke(method, arg, resolve, reject);
  8512. });
  8513. }
  8514. return previousPromise =
  8515. // If enqueue has been called before, then we want to wait until
  8516. // all previous Promises have been resolved before calling invoke,
  8517. // so that results are always delivered in the correct order. If
  8518. // enqueue has not been called before, then it is important to
  8519. // call invoke immediately, without waiting on a callback to fire,
  8520. // so that the async generator function has the opportunity to do
  8521. // any necessary setup in a predictable way. This predictability
  8522. // is why the Promise constructor synchronously invokes its
  8523. // executor callback, and why async functions synchronously
  8524. // execute code before the first await. Since we implement simple
  8525. // async functions in terms of async generators, it is especially
  8526. // important to get this right, even though it requires care.
  8527. previousPromise ? previousPromise.then(
  8528. callInvokeWithMethodAndArg,
  8529. // Avoid propagating failures to Promises returned by later
  8530. // invocations of the iterator.
  8531. callInvokeWithMethodAndArg
  8532. ) : callInvokeWithMethodAndArg();
  8533. }
  8534. // Define the unified helper method that is used to implement .next,
  8535. // .throw, and .return (see defineIteratorMethods).
  8536. this._invoke = enqueue;
  8537. }
  8538. defineIteratorMethods(AsyncIterator.prototype);
  8539. AsyncIterator.prototype[asyncIteratorSymbol] = function () {
  8540. return this;
  8541. };
  8542. runtime.AsyncIterator = AsyncIterator;
  8543. // Note that simple async functions are implemented on top of
  8544. // AsyncIterator objects; they just return a Promise for the value of
  8545. // the final result produced by the iterator.
  8546. runtime.async = function(innerFn, outerFn, self, tryLocsList) {
  8547. var iter = new AsyncIterator(
  8548. wrap(innerFn, outerFn, self, tryLocsList)
  8549. );
  8550. return runtime.isGeneratorFunction(outerFn)
  8551. ? iter // If outerFn is a generator, return the full iterator.
  8552. : iter.next().then(function(result) {
  8553. return result.done ? result.value : iter.next();
  8554. });
  8555. };
  8556. function makeInvokeMethod(innerFn, self, context) {
  8557. var state = GenStateSuspendedStart;
  8558. return function invoke(method, arg) {
  8559. if (state === GenStateExecuting) {
  8560. throw new Error("Generator is already running");
  8561. }
  8562. if (state === GenStateCompleted) {
  8563. if (method === "throw") {
  8564. throw arg;
  8565. }
  8566. // Be forgiving, per 25.3.3.3.3 of the spec:
  8567. // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
  8568. return doneResult();
  8569. }
  8570. context.method = method;
  8571. context.arg = arg;
  8572. while (true) {
  8573. var delegate = context.delegate;
  8574. if (delegate) {
  8575. var delegateResult = maybeInvokeDelegate(delegate, context);
  8576. if (delegateResult) {
  8577. if (delegateResult === ContinueSentinel) continue;
  8578. return delegateResult;
  8579. }
  8580. }
  8581. if (context.method === "next") {
  8582. // Setting context._sent for legacy support of Babel's
  8583. // function.sent implementation.
  8584. context.sent = context._sent = context.arg;
  8585. } else if (context.method === "throw") {
  8586. if (state === GenStateSuspendedStart) {
  8587. state = GenStateCompleted;
  8588. throw context.arg;
  8589. }
  8590. context.dispatchException(context.arg);
  8591. } else if (context.method === "return") {
  8592. context.abrupt("return", context.arg);
  8593. }
  8594. state = GenStateExecuting;
  8595. var record = tryCatch(innerFn, self, context);
  8596. if (record.type === "normal") {
  8597. // If an exception is thrown from innerFn, we leave state ===
  8598. // GenStateExecuting and loop back for another invocation.
  8599. state = context.done
  8600. ? GenStateCompleted
  8601. : GenStateSuspendedYield;
  8602. if (record.arg === ContinueSentinel) {
  8603. continue;
  8604. }
  8605. return {
  8606. value: record.arg,
  8607. done: context.done
  8608. };
  8609. } else if (record.type === "throw") {
  8610. state = GenStateCompleted;
  8611. // Dispatch the exception by looping back around to the
  8612. // context.dispatchException(context.arg) call above.
  8613. context.method = "throw";
  8614. context.arg = record.arg;
  8615. }
  8616. }
  8617. };
  8618. }
  8619. // Call delegate.iterator[context.method](context.arg) and handle the
  8620. // result, either by returning a { value, done } result from the
  8621. // delegate iterator, or by modifying context.method and context.arg,
  8622. // setting context.delegate to null, and returning the ContinueSentinel.
  8623. function maybeInvokeDelegate(delegate, context) {
  8624. var method = delegate.iterator[context.method];
  8625. if (method === undefined) {
  8626. // A .throw or .return when the delegate iterator has no .throw
  8627. // method always terminates the yield* loop.
  8628. context.delegate = null;
  8629. if (context.method === "throw") {
  8630. if (delegate.iterator.return) {
  8631. // If the delegate iterator has a return method, give it a
  8632. // chance to clean up.
  8633. context.method = "return";
  8634. context.arg = undefined;
  8635. maybeInvokeDelegate(delegate, context);
  8636. if (context.method === "throw") {
  8637. // If maybeInvokeDelegate(context) changed context.method from
  8638. // "return" to "throw", let that override the TypeError below.
  8639. return ContinueSentinel;
  8640. }
  8641. }
  8642. context.method = "throw";
  8643. context.arg = new TypeError(
  8644. "The iterator does not provide a 'throw' method");
  8645. }
  8646. return ContinueSentinel;
  8647. }
  8648. var record = tryCatch(method, delegate.iterator, context.arg);
  8649. if (record.type === "throw") {
  8650. context.method = "throw";
  8651. context.arg = record.arg;
  8652. context.delegate = null;
  8653. return ContinueSentinel;
  8654. }
  8655. var info = record.arg;
  8656. if (! info) {
  8657. context.method = "throw";
  8658. context.arg = new TypeError("iterator result is not an object");
  8659. context.delegate = null;
  8660. return ContinueSentinel;
  8661. }
  8662. if (info.done) {
  8663. // Assign the result of the finished delegate to the temporary
  8664. // variable specified by delegate.resultName (see delegateYield).
  8665. context[delegate.resultName] = info.value;
  8666. // Resume execution at the desired location (see delegateYield).
  8667. context.next = delegate.nextLoc;
  8668. // If context.method was "throw" but the delegate handled the
  8669. // exception, let the outer generator proceed normally. If
  8670. // context.method was "next", forget context.arg since it has been
  8671. // "consumed" by the delegate iterator. If context.method was
  8672. // "return", allow the original .return call to continue in the
  8673. // outer generator.
  8674. if (context.method !== "return") {
  8675. context.method = "next";
  8676. context.arg = undefined;
  8677. }
  8678. } else {
  8679. // Re-yield the result returned by the delegate method.
  8680. return info;
  8681. }
  8682. // The delegate iterator is finished, so forget it and continue with
  8683. // the outer generator.
  8684. context.delegate = null;
  8685. return ContinueSentinel;
  8686. }
  8687. // Define Generator.prototype.{next,throw,return} in terms of the
  8688. // unified ._invoke helper method.
  8689. defineIteratorMethods(Gp);
  8690. Gp[toStringTagSymbol] = "Generator";
  8691. // A Generator should always return itself as the iterator object when the
  8692. // @@iterator function is called on it. Some browsers' implementations of the
  8693. // iterator prototype chain incorrectly implement this, causing the Generator
  8694. // object to not be returned from this call. This ensures that doesn't happen.
  8695. // See https://github.com/facebook/regenerator/issues/274 for more details.
  8696. Gp[iteratorSymbol] = function() {
  8697. return this;
  8698. };
  8699. Gp.toString = function() {
  8700. return "[object Generator]";
  8701. };
  8702. function pushTryEntry(locs) {
  8703. var entry = { tryLoc: locs[0] };
  8704. if (1 in locs) {
  8705. entry.catchLoc = locs[1];
  8706. }
  8707. if (2 in locs) {
  8708. entry.finallyLoc = locs[2];
  8709. entry.afterLoc = locs[3];
  8710. }
  8711. this.tryEntries.push(entry);
  8712. }
  8713. function resetTryEntry(entry) {
  8714. var record = entry.completion || {};
  8715. record.type = "normal";
  8716. delete record.arg;
  8717. entry.completion = record;
  8718. }
  8719. function Context(tryLocsList) {
  8720. // The root entry object (effectively a try statement without a catch
  8721. // or a finally block) gives us a place to store values thrown from
  8722. // locations where there is no enclosing try statement.
  8723. this.tryEntries = [{ tryLoc: "root" }];
  8724. tryLocsList.forEach(pushTryEntry, this);
  8725. this.reset(true);
  8726. }
  8727. runtime.keys = function(object) {
  8728. var keys = [];
  8729. for (var key in object) {
  8730. keys.push(key);
  8731. }
  8732. keys.reverse();
  8733. // Rather than returning an object with a next method, we keep
  8734. // things simple and return the next function itself.
  8735. return function next() {
  8736. while (keys.length) {
  8737. var key = keys.pop();
  8738. if (key in object) {
  8739. next.value = key;
  8740. next.done = false;
  8741. return next;
  8742. }
  8743. }
  8744. // To avoid creating an additional object, we just hang the .value
  8745. // and .done properties off the next function object itself. This
  8746. // also ensures that the minifier will not anonymize the function.
  8747. next.done = true;
  8748. return next;
  8749. };
  8750. };
  8751. function values(iterable) {
  8752. if (iterable) {
  8753. var iteratorMethod = iterable[iteratorSymbol];
  8754. if (iteratorMethod) {
  8755. return iteratorMethod.call(iterable);
  8756. }
  8757. if (typeof iterable.next === "function") {
  8758. return iterable;
  8759. }
  8760. if (!isNaN(iterable.length)) {
  8761. var i = -1, next = function next() {
  8762. while (++i < iterable.length) {
  8763. if (hasOwn.call(iterable, i)) {
  8764. next.value = iterable[i];
  8765. next.done = false;
  8766. return next;
  8767. }
  8768. }
  8769. next.value = undefined;
  8770. next.done = true;
  8771. return next;
  8772. };
  8773. return next.next = next;
  8774. }
  8775. }
  8776. // Return an iterator with no values.
  8777. return { next: doneResult };
  8778. }
  8779. runtime.values = values;
  8780. function doneResult() {
  8781. return { value: undefined, done: true };
  8782. }
  8783. Context.prototype = {
  8784. constructor: Context,
  8785. reset: function(skipTempReset) {
  8786. this.prev = 0;
  8787. this.next = 0;
  8788. // Resetting context._sent for legacy support of Babel's
  8789. // function.sent implementation.
  8790. this.sent = this._sent = undefined;
  8791. this.done = false;
  8792. this.delegate = null;
  8793. this.method = "next";
  8794. this.arg = undefined;
  8795. this.tryEntries.forEach(resetTryEntry);
  8796. if (!skipTempReset) {
  8797. for (var name in this) {
  8798. // Not sure about the optimal order of these conditions:
  8799. if (name.charAt(0) === "t" &&
  8800. hasOwn.call(this, name) &&
  8801. !isNaN(+name.slice(1))) {
  8802. this[name] = undefined;
  8803. }
  8804. }
  8805. }
  8806. },
  8807. stop: function() {
  8808. this.done = true;
  8809. var rootEntry = this.tryEntries[0];
  8810. var rootRecord = rootEntry.completion;
  8811. if (rootRecord.type === "throw") {
  8812. throw rootRecord.arg;
  8813. }
  8814. return this.rval;
  8815. },
  8816. dispatchException: function(exception) {
  8817. if (this.done) {
  8818. throw exception;
  8819. }
  8820. var context = this;
  8821. function handle(loc, caught) {
  8822. record.type = "throw";
  8823. record.arg = exception;
  8824. context.next = loc;
  8825. if (caught) {
  8826. // If the dispatched exception was caught by a catch block,
  8827. // then let that catch block handle the exception normally.
  8828. context.method = "next";
  8829. context.arg = undefined;
  8830. }
  8831. return !! caught;
  8832. }
  8833. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  8834. var entry = this.tryEntries[i];
  8835. var record = entry.completion;
  8836. if (entry.tryLoc === "root") {
  8837. // Exception thrown outside of any try block that could handle
  8838. // it, so set the completion value of the entire function to
  8839. // throw the exception.
  8840. return handle("end");
  8841. }
  8842. if (entry.tryLoc <= this.prev) {
  8843. var hasCatch = hasOwn.call(entry, "catchLoc");
  8844. var hasFinally = hasOwn.call(entry, "finallyLoc");
  8845. if (hasCatch && hasFinally) {
  8846. if (this.prev < entry.catchLoc) {
  8847. return handle(entry.catchLoc, true);
  8848. } else if (this.prev < entry.finallyLoc) {
  8849. return handle(entry.finallyLoc);
  8850. }
  8851. } else if (hasCatch) {
  8852. if (this.prev < entry.catchLoc) {
  8853. return handle(entry.catchLoc, true);
  8854. }
  8855. } else if (hasFinally) {
  8856. if (this.prev < entry.finallyLoc) {
  8857. return handle(entry.finallyLoc);
  8858. }
  8859. } else {
  8860. throw new Error("try statement without catch or finally");
  8861. }
  8862. }
  8863. }
  8864. },
  8865. abrupt: function(type, arg) {
  8866. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  8867. var entry = this.tryEntries[i];
  8868. if (entry.tryLoc <= this.prev &&
  8869. hasOwn.call(entry, "finallyLoc") &&
  8870. this.prev < entry.finallyLoc) {
  8871. var finallyEntry = entry;
  8872. break;
  8873. }
  8874. }
  8875. if (finallyEntry &&
  8876. (type === "break" ||
  8877. type === "continue") &&
  8878. finallyEntry.tryLoc <= arg &&
  8879. arg <= finallyEntry.finallyLoc) {
  8880. // Ignore the finally entry if control is not jumping to a
  8881. // location outside the try/catch block.
  8882. finallyEntry = null;
  8883. }
  8884. var record = finallyEntry ? finallyEntry.completion : {};
  8885. record.type = type;
  8886. record.arg = arg;
  8887. if (finallyEntry) {
  8888. this.method = "next";
  8889. this.next = finallyEntry.finallyLoc;
  8890. return ContinueSentinel;
  8891. }
  8892. return this.complete(record);
  8893. },
  8894. complete: function(record, afterLoc) {
  8895. if (record.type === "throw") {
  8896. throw record.arg;
  8897. }
  8898. if (record.type === "break" ||
  8899. record.type === "continue") {
  8900. this.next = record.arg;
  8901. } else if (record.type === "return") {
  8902. this.rval = this.arg = record.arg;
  8903. this.method = "return";
  8904. this.next = "end";
  8905. } else if (record.type === "normal" && afterLoc) {
  8906. this.next = afterLoc;
  8907. }
  8908. return ContinueSentinel;
  8909. },
  8910. finish: function(finallyLoc) {
  8911. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  8912. var entry = this.tryEntries[i];
  8913. if (entry.finallyLoc === finallyLoc) {
  8914. this.complete(entry.completion, entry.afterLoc);
  8915. resetTryEntry(entry);
  8916. return ContinueSentinel;
  8917. }
  8918. }
  8919. },
  8920. "catch": function(tryLoc) {
  8921. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  8922. var entry = this.tryEntries[i];
  8923. if (entry.tryLoc === tryLoc) {
  8924. var record = entry.completion;
  8925. if (record.type === "throw") {
  8926. var thrown = record.arg;
  8927. resetTryEntry(entry);
  8928. }
  8929. return thrown;
  8930. }
  8931. }
  8932. // The context.catch method must only be called with a location
  8933. // argument that corresponds to a known catch block.
  8934. throw new Error("illegal catch attempt");
  8935. },
  8936. delegateYield: function(iterable, resultName, nextLoc) {
  8937. this.delegate = {
  8938. iterator: values(iterable),
  8939. resultName: resultName,
  8940. nextLoc: nextLoc
  8941. };
  8942. if (this.method === "next") {
  8943. // Deliberately forget the last sent value so that we don't
  8944. // accidentally pass it on to the delegate.
  8945. this.arg = undefined;
  8946. }
  8947. return ContinueSentinel;
  8948. }
  8949. };
  8950. })(
  8951. // In sloppy mode, unbound `this` refers to the global object, fallback to
  8952. // Function constructor if we're in global strict mode. That is sadly a form
  8953. // of indirect eval which violates Content Security Policy.
  8954. (function() {
  8955. return this || (typeof self === "object" && self);
  8956. })() || Function("return this")()
  8957. );
  8958. /***/ }),
  8959. /* 17 */
  8960. /*!***************************************************!*\
  8961. !*** D:/wxproject/项目模板/uniapp/common/computed.js ***!
  8962. \***************************************************/
  8963. /*! no static exports found */
  8964. /***/ (function(module, exports, __webpack_require__) {
  8965. "use strict";
  8966. var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 4));
  8967. var _decimal = _interopRequireDefault(__webpack_require__(/*! decimal.js */ 18));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
  8968. var toNumber = function toNumber(num) {
  8969. return new _decimal.default(num).toNumber();
  8970. };
  8971. var plus = function plus() {var n1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;var n2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
  8972. var number1 = new _decimal.default(n1);
  8973. var number2 = new _decimal.default(n2);
  8974. var result = number1.add(number2);
  8975. result = result.toFixed(2, _decimal.default.ROUND_DOWN);
  8976. return toNumber(result);
  8977. };
  8978. var minus = function minus() {var n1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;var n2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
  8979. var number1 = new _decimal.default(n1);
  8980. var number2 = new _decimal.default(n2);
  8981. var result = number1.minus(number2);
  8982. result = result.toFixed(2, _decimal.default.ROUND_DOWN);
  8983. return toNumber(result);
  8984. };
  8985. var multiply = function multiply() {var n1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;var n2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
  8986. var number1 = new _decimal.default(n1);
  8987. var number2 = new _decimal.default(n2);
  8988. var result = number1.mul(number2);
  8989. result = result.toFixed(2, _decimal.default.ROUND_DOWN);
  8990. return toNumber(result);
  8991. };
  8992. var divide = function divide() {var n1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;var n2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
  8993. var number1 = new _decimal.default(n1);
  8994. var number2 = new _decimal.default(n2);
  8995. var result = number1.div(number2);
  8996. result = result.toFixed(2, _decimal.default.ROUND_DOWN);
  8997. return toNumber(result);
  8998. };
  8999. _vue.default.prototype.$plus = plus;
  9000. _vue.default.prototype.$minus = minus;
  9001. _vue.default.prototype.$multiply = multiply;
  9002. _vue.default.prototype.$divide = divide;
  9003. /***/ }),
  9004. /* 18 */
  9005. /*!*******************************************************************!*\
  9006. !*** D:/wxproject/项目模板/uniapp/node_modules/decimal.js/decimal.js ***!
  9007. \*******************************************************************/
  9008. /*! no static exports found */
  9009. /***/ (function(module, exports, __webpack_require__) {
  9010. var __WEBPACK_AMD_DEFINE_RESULT__;;(function (globalScope) {
  9011. 'use strict';
  9012. /*!
  9013. * decimal.js v10.4.1
  9014. * An arbitrary-precision Decimal type for JavaScript.
  9015. * https://github.com/MikeMcl/decimal.js
  9016. * Copyright (c) 2022 Michael Mclaughlin <M8ch88l@gmail.com>
  9017. * MIT Licence
  9018. */
  9019. // ----------------------------------- EDITABLE DEFAULTS ------------------------------------ //
  9020. // The maximum exponent magnitude.
  9021. // The limit on the value of `toExpNeg`, `toExpPos`, `minE` and `maxE`.
  9022. var EXP_LIMIT = 9e15, // 0 to 9e15
  9023. // The limit on the value of `precision`, and on the value of the first argument to
  9024. // `toDecimalPlaces`, `toExponential`, `toFixed`, `toPrecision` and `toSignificantDigits`.
  9025. MAX_DIGITS = 1e9, // 0 to 1e9
  9026. // Base conversion alphabet.
  9027. NUMERALS = '0123456789abcdef',
  9028. // The natural logarithm of 10 (1025 digits).
  9029. LN10 = '2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058',
  9030. // Pi (1025 digits).
  9031. PI = '3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789',
  9032. // The initial configuration properties of the Decimal constructor.
  9033. DEFAULTS = {
  9034. // These values must be integers within the stated ranges (inclusive).
  9035. // Most of these values can be changed at run-time using the `Decimal.config` method.
  9036. // The maximum number of significant digits of the result of a calculation or base conversion.
  9037. // E.g. `Decimal.config({ precision: 20 });`
  9038. precision: 20, // 1 to MAX_DIGITS
  9039. // The rounding mode used when rounding to `precision`.
  9040. //
  9041. // ROUND_UP 0 Away from zero.
  9042. // ROUND_DOWN 1 Towards zero.
  9043. // ROUND_CEIL 2 Towards +Infinity.
  9044. // ROUND_FLOOR 3 Towards -Infinity.
  9045. // ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up.
  9046. // ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.
  9047. // ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.
  9048. // ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.
  9049. // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.
  9050. //
  9051. // E.g.
  9052. // `Decimal.rounding = 4;`
  9053. // `Decimal.rounding = Decimal.ROUND_HALF_UP;`
  9054. rounding: 4, // 0 to 8
  9055. // The modulo mode used when calculating the modulus: a mod n.
  9056. // The quotient (q = a / n) is calculated according to the corresponding rounding mode.
  9057. // The remainder (r) is calculated as: r = a - n * q.
  9058. //
  9059. // UP 0 The remainder is positive if the dividend is negative, else is negative.
  9060. // DOWN 1 The remainder has the same sign as the dividend (JavaScript %).
  9061. // FLOOR 3 The remainder has the same sign as the divisor (Python %).
  9062. // HALF_EVEN 6 The IEEE 754 remainder function.
  9063. // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)). Always positive.
  9064. //
  9065. // Truncated division (1), floored division (3), the IEEE 754 remainder (6), and Euclidian
  9066. // division (9) are commonly used for the modulus operation. The other rounding modes can also
  9067. // be used, but they may not give useful results.
  9068. modulo: 1, // 0 to 9
  9069. // The exponent value at and beneath which `toString` returns exponential notation.
  9070. // JavaScript numbers: -7
  9071. toExpNeg: -7, // 0 to -EXP_LIMIT
  9072. // The exponent value at and above which `toString` returns exponential notation.
  9073. // JavaScript numbers: 21
  9074. toExpPos: 21, // 0 to EXP_LIMIT
  9075. // The minimum exponent value, beneath which underflow to zero occurs.
  9076. // JavaScript numbers: -324 (5e-324)
  9077. minE: -EXP_LIMIT, // -1 to -EXP_LIMIT
  9078. // The maximum exponent value, above which overflow to Infinity occurs.
  9079. // JavaScript numbers: 308 (1.7976931348623157e+308)
  9080. maxE: EXP_LIMIT, // 1 to EXP_LIMIT
  9081. // Whether to use cryptographically-secure random number generation, if available.
  9082. crypto: false // true/false
  9083. },
  9084. // ----------------------------------- END OF EDITABLE DEFAULTS ------------------------------- //
  9085. Decimal,inexact,noConflict,quadrant,
  9086. external = true,
  9087. decimalError = '[DecimalError] ',
  9088. invalidArgument = decimalError + 'Invalid argument: ',
  9089. precisionLimitExceeded = decimalError + 'Precision limit exceeded',
  9090. cryptoUnavailable = decimalError + 'crypto unavailable',
  9091. tag = '[object Decimal]',
  9092. mathfloor = Math.floor,
  9093. mathpow = Math.pow,
  9094. isBinary = /^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,
  9095. isHex = /^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,
  9096. isOctal = /^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,
  9097. isDecimal = /^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,
  9098. BASE = 1e7,
  9099. LOG_BASE = 7,
  9100. MAX_SAFE_INTEGER = 9007199254740991,
  9101. LN10_PRECISION = LN10.length - 1,
  9102. PI_PRECISION = PI.length - 1,
  9103. // Decimal.prototype object
  9104. P = { toStringTag: tag };
  9105. // Decimal prototype methods
  9106. /*
  9107. * absoluteValue abs
  9108. * ceil
  9109. * clampedTo clamp
  9110. * comparedTo cmp
  9111. * cosine cos
  9112. * cubeRoot cbrt
  9113. * decimalPlaces dp
  9114. * dividedBy div
  9115. * dividedToIntegerBy divToInt
  9116. * equals eq
  9117. * floor
  9118. * greaterThan gt
  9119. * greaterThanOrEqualTo gte
  9120. * hyperbolicCosine cosh
  9121. * hyperbolicSine sinh
  9122. * hyperbolicTangent tanh
  9123. * inverseCosine acos
  9124. * inverseHyperbolicCosine acosh
  9125. * inverseHyperbolicSine asinh
  9126. * inverseHyperbolicTangent atanh
  9127. * inverseSine asin
  9128. * inverseTangent atan
  9129. * isFinite
  9130. * isInteger isInt
  9131. * isNaN
  9132. * isNegative isNeg
  9133. * isPositive isPos
  9134. * isZero
  9135. * lessThan lt
  9136. * lessThanOrEqualTo lte
  9137. * logarithm log
  9138. * [maximum] [max]
  9139. * [minimum] [min]
  9140. * minus sub
  9141. * modulo mod
  9142. * naturalExponential exp
  9143. * naturalLogarithm ln
  9144. * negated neg
  9145. * plus add
  9146. * precision sd
  9147. * round
  9148. * sine sin
  9149. * squareRoot sqrt
  9150. * tangent tan
  9151. * times mul
  9152. * toBinary
  9153. * toDecimalPlaces toDP
  9154. * toExponential
  9155. * toFixed
  9156. * toFraction
  9157. * toHexadecimal toHex
  9158. * toNearest
  9159. * toNumber
  9160. * toOctal
  9161. * toPower pow
  9162. * toPrecision
  9163. * toSignificantDigits toSD
  9164. * toString
  9165. * truncated trunc
  9166. * valueOf toJSON
  9167. */
  9168. /*
  9169. * Return a new Decimal whose value is the absolute value of this Decimal.
  9170. *
  9171. */
  9172. P.absoluteValue = P.abs = function () {
  9173. var x = new this.constructor(this);
  9174. if (x.s < 0) x.s = 1;
  9175. return finalise(x);
  9176. };
  9177. /*
  9178. * Return a new Decimal whose value is the value of this Decimal rounded to a whole number in the
  9179. * direction of positive Infinity.
  9180. *
  9181. */
  9182. P.ceil = function () {
  9183. return finalise(new this.constructor(this), this.e + 1, 2);
  9184. };
  9185. /*
  9186. * Return a new Decimal whose value is the value of this Decimal clamped to the range
  9187. * delineated by `min` and `max`.
  9188. *
  9189. * min {number|string|Decimal}
  9190. * max {number|string|Decimal}
  9191. *
  9192. */
  9193. P.clampedTo = P.clamp = function (min, max) {
  9194. var k,
  9195. x = this,
  9196. Ctor = x.constructor;
  9197. min = new Ctor(min);
  9198. max = new Ctor(max);
  9199. if (!min.s || !max.s) return new Ctor(NaN);
  9200. if (min.gt(max)) throw Error(invalidArgument + max);
  9201. k = x.cmp(min);
  9202. return k < 0 ? min : x.cmp(max) > 0 ? max : new Ctor(x);
  9203. };
  9204. /*
  9205. * Return
  9206. * 1 if the value of this Decimal is greater than the value of `y`,
  9207. * -1 if the value of this Decimal is less than the value of `y`,
  9208. * 0 if they have the same value,
  9209. * NaN if the value of either Decimal is NaN.
  9210. *
  9211. */
  9212. P.comparedTo = P.cmp = function (y) {
  9213. var i,j,xdL,ydL,
  9214. x = this,
  9215. xd = x.d,
  9216. yd = (y = new x.constructor(y)).d,
  9217. xs = x.s,
  9218. ys = y.s;
  9219. // Either NaN or ±Infinity?
  9220. if (!xd || !yd) {
  9221. return !xs || !ys ? NaN : xs !== ys ? xs : xd === yd ? 0 : !xd ^ xs < 0 ? 1 : -1;
  9222. }
  9223. // Either zero?
  9224. if (!xd[0] || !yd[0]) return xd[0] ? xs : yd[0] ? -ys : 0;
  9225. // Signs differ?
  9226. if (xs !== ys) return xs;
  9227. // Compare exponents.
  9228. if (x.e !== y.e) return x.e > y.e ^ xs < 0 ? 1 : -1;
  9229. xdL = xd.length;
  9230. ydL = yd.length;
  9231. // Compare digit by digit.
  9232. for (i = 0, j = xdL < ydL ? xdL : ydL; i < j; ++i) {
  9233. if (xd[i] !== yd[i]) return xd[i] > yd[i] ^ xs < 0 ? 1 : -1;
  9234. }
  9235. // Compare lengths.
  9236. return xdL === ydL ? 0 : xdL > ydL ^ xs < 0 ? 1 : -1;
  9237. };
  9238. /*
  9239. * Return a new Decimal whose value is the cosine of the value in radians of this Decimal.
  9240. *
  9241. * Domain: [-Infinity, Infinity]
  9242. * Range: [-1, 1]
  9243. *
  9244. * cos(0) = 1
  9245. * cos(-0) = 1
  9246. * cos(Infinity) = NaN
  9247. * cos(-Infinity) = NaN
  9248. * cos(NaN) = NaN
  9249. *
  9250. */
  9251. P.cosine = P.cos = function () {
  9252. var pr,rm,
  9253. x = this,
  9254. Ctor = x.constructor;
  9255. if (!x.d) return new Ctor(NaN);
  9256. // cos(0) = cos(-0) = 1
  9257. if (!x.d[0]) return new Ctor(1);
  9258. pr = Ctor.precision;
  9259. rm = Ctor.rounding;
  9260. Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE;
  9261. Ctor.rounding = 1;
  9262. x = cosine(Ctor, toLessThanHalfPi(Ctor, x));
  9263. Ctor.precision = pr;
  9264. Ctor.rounding = rm;
  9265. return finalise(quadrant == 2 || quadrant == 3 ? x.neg() : x, pr, rm, true);
  9266. };
  9267. /*
  9268. *
  9269. * Return a new Decimal whose value is the cube root of the value of this Decimal, rounded to
  9270. * `precision` significant digits using rounding mode `rounding`.
  9271. *
  9272. * cbrt(0) = 0
  9273. * cbrt(-0) = -0
  9274. * cbrt(1) = 1
  9275. * cbrt(-1) = -1
  9276. * cbrt(N) = N
  9277. * cbrt(-I) = -I
  9278. * cbrt(I) = I
  9279. *
  9280. * Math.cbrt(x) = (x < 0 ? -Math.pow(-x, 1/3) : Math.pow(x, 1/3))
  9281. *
  9282. */
  9283. P.cubeRoot = P.cbrt = function () {
  9284. var e,m,n,r,rep,s,sd,t,t3,t3plusx,
  9285. x = this,
  9286. Ctor = x.constructor;
  9287. if (!x.isFinite() || x.isZero()) return new Ctor(x);
  9288. external = false;
  9289. // Initial estimate.
  9290. s = x.s * mathpow(x.s * x, 1 / 3);
  9291. // Math.cbrt underflow/overflow?
  9292. // Pass x to Math.pow as integer, then adjust the exponent of the result.
  9293. if (!s || Math.abs(s) == 1 / 0) {
  9294. n = digitsToString(x.d);
  9295. e = x.e;
  9296. // Adjust n exponent so it is a multiple of 3 away from x exponent.
  9297. if (s = (e - n.length + 1) % 3) n += s == 1 || s == -2 ? '0' : '00';
  9298. s = mathpow(n, 1 / 3);
  9299. // Rarely, e may be one less than the result exponent value.
  9300. e = mathfloor((e + 1) / 3) - (e % 3 == (e < 0 ? -1 : 2));
  9301. if (s == 1 / 0) {
  9302. n = '5e' + e;
  9303. } else {
  9304. n = s.toExponential();
  9305. n = n.slice(0, n.indexOf('e') + 1) + e;
  9306. }
  9307. r = new Ctor(n);
  9308. r.s = x.s;
  9309. } else {
  9310. r = new Ctor(s.toString());
  9311. }
  9312. sd = (e = Ctor.precision) + 3;
  9313. // Halley's method.
  9314. // TODO? Compare Newton's method.
  9315. for (;;) {
  9316. t = r;
  9317. t3 = t.times(t).times(t);
  9318. t3plusx = t3.plus(x);
  9319. r = divide(t3plusx.plus(x).times(t), t3plusx.plus(t3), sd + 2, 1);
  9320. // TODO? Replace with for-loop and checkRoundingDigits.
  9321. if (digitsToString(t.d).slice(0, sd) === (n = digitsToString(r.d)).slice(0, sd)) {
  9322. n = n.slice(sd - 3, sd + 1);
  9323. // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or 4999
  9324. // , i.e. approaching a rounding boundary, continue the iteration.
  9325. if (n == '9999' || !rep && n == '4999') {
  9326. // On the first iteration only, check to see if rounding up gives the exact result as the
  9327. // nines may infinitely repeat.
  9328. if (!rep) {
  9329. finalise(t, e + 1, 0);
  9330. if (t.times(t).times(t).eq(x)) {
  9331. r = t;
  9332. break;
  9333. }
  9334. }
  9335. sd += 4;
  9336. rep = 1;
  9337. } else {
  9338. // If the rounding digits are null, 0{0,4} or 50{0,3}, check for an exact result.
  9339. // If not, then there are further digits and m will be truthy.
  9340. if (!+n || !+n.slice(1) && n.charAt(0) == '5') {
  9341. // Truncate to the first rounding digit.
  9342. finalise(r, e + 1, 1);
  9343. m = !r.times(r).times(r).eq(x);
  9344. }
  9345. break;
  9346. }
  9347. }
  9348. }
  9349. external = true;
  9350. return finalise(r, e, Ctor.rounding, m);
  9351. };
  9352. /*
  9353. * Return the number of decimal places of the value of this Decimal.
  9354. *
  9355. */
  9356. P.decimalPlaces = P.dp = function () {
  9357. var w,
  9358. d = this.d,
  9359. n = NaN;
  9360. if (d) {
  9361. w = d.length - 1;
  9362. n = (w - mathfloor(this.e / LOG_BASE)) * LOG_BASE;
  9363. // Subtract the number of trailing zeros of the last word.
  9364. w = d[w];
  9365. if (w) for (; w % 10 == 0; w /= 10) {n--;}
  9366. if (n < 0) n = 0;
  9367. }
  9368. return n;
  9369. };
  9370. /*
  9371. * n / 0 = I
  9372. * n / N = N
  9373. * n / I = 0
  9374. * 0 / n = 0
  9375. * 0 / 0 = N
  9376. * 0 / N = N
  9377. * 0 / I = 0
  9378. * N / n = N
  9379. * N / 0 = N
  9380. * N / N = N
  9381. * N / I = N
  9382. * I / n = I
  9383. * I / 0 = I
  9384. * I / N = N
  9385. * I / I = N
  9386. *
  9387. * Return a new Decimal whose value is the value of this Decimal divided by `y`, rounded to
  9388. * `precision` significant digits using rounding mode `rounding`.
  9389. *
  9390. */
  9391. P.dividedBy = P.div = function (y) {
  9392. return divide(this, new this.constructor(y));
  9393. };
  9394. /*
  9395. * Return a new Decimal whose value is the integer part of dividing the value of this Decimal
  9396. * by the value of `y`, rounded to `precision` significant digits using rounding mode `rounding`.
  9397. *
  9398. */
  9399. P.dividedToIntegerBy = P.divToInt = function (y) {
  9400. var x = this,
  9401. Ctor = x.constructor;
  9402. return finalise(divide(x, new Ctor(y), 0, 1, 1), Ctor.precision, Ctor.rounding);
  9403. };
  9404. /*
  9405. * Return true if the value of this Decimal is equal to the value of `y`, otherwise return false.
  9406. *
  9407. */
  9408. P.equals = P.eq = function (y) {
  9409. return this.cmp(y) === 0;
  9410. };
  9411. /*
  9412. * Return a new Decimal whose value is the value of this Decimal rounded to a whole number in the
  9413. * direction of negative Infinity.
  9414. *
  9415. */
  9416. P.floor = function () {
  9417. return finalise(new this.constructor(this), this.e + 1, 3);
  9418. };
  9419. /*
  9420. * Return true if the value of this Decimal is greater than the value of `y`, otherwise return
  9421. * false.
  9422. *
  9423. */
  9424. P.greaterThan = P.gt = function (y) {
  9425. return this.cmp(y) > 0;
  9426. };
  9427. /*
  9428. * Return true if the value of this Decimal is greater than or equal to the value of `y`,
  9429. * otherwise return false.
  9430. *
  9431. */
  9432. P.greaterThanOrEqualTo = P.gte = function (y) {
  9433. var k = this.cmp(y);
  9434. return k == 1 || k === 0;
  9435. };
  9436. /*
  9437. * Return a new Decimal whose value is the hyperbolic cosine of the value in radians of this
  9438. * Decimal.
  9439. *
  9440. * Domain: [-Infinity, Infinity]
  9441. * Range: [1, Infinity]
  9442. *
  9443. * cosh(x) = 1 + x^2/2! + x^4/4! + x^6/6! + ...
  9444. *
  9445. * cosh(0) = 1
  9446. * cosh(-0) = 1
  9447. * cosh(Infinity) = Infinity
  9448. * cosh(-Infinity) = Infinity
  9449. * cosh(NaN) = NaN
  9450. *
  9451. * x time taken (ms) result
  9452. * 1000 9 9.8503555700852349694e+433
  9453. * 10000 25 4.4034091128314607936e+4342
  9454. * 100000 171 1.4033316802130615897e+43429
  9455. * 1000000 3817 1.5166076984010437725e+434294
  9456. * 10000000 abandoned after 2 minute wait
  9457. *
  9458. * TODO? Compare performance of cosh(x) = 0.5 * (exp(x) + exp(-x))
  9459. *
  9460. */
  9461. P.hyperbolicCosine = P.cosh = function () {
  9462. var k,n,pr,rm,len,
  9463. x = this,
  9464. Ctor = x.constructor,
  9465. one = new Ctor(1);
  9466. if (!x.isFinite()) return new Ctor(x.s ? 1 / 0 : NaN);
  9467. if (x.isZero()) return one;
  9468. pr = Ctor.precision;
  9469. rm = Ctor.rounding;
  9470. Ctor.precision = pr + Math.max(x.e, x.sd()) + 4;
  9471. Ctor.rounding = 1;
  9472. len = x.d.length;
  9473. // Argument reduction: cos(4x) = 1 - 8cos^2(x) + 8cos^4(x) + 1
  9474. // i.e. cos(x) = 1 - cos^2(x/4)(8 - 8cos^2(x/4))
  9475. // Estimate the optimum number of times to use the argument reduction.
  9476. // TODO? Estimation reused from cosine() and may not be optimal here.
  9477. if (len < 32) {
  9478. k = Math.ceil(len / 3);
  9479. n = (1 / tinyPow(4, k)).toString();
  9480. } else {
  9481. k = 16;
  9482. n = '2.3283064365386962890625e-10';
  9483. }
  9484. x = taylorSeries(Ctor, 1, x.times(n), new Ctor(1), true);
  9485. // Reverse argument reduction
  9486. var cosh2_x,
  9487. i = k,
  9488. d8 = new Ctor(8);
  9489. for (; i--;) {
  9490. cosh2_x = x.times(x);
  9491. x = one.minus(cosh2_x.times(d8.minus(cosh2_x.times(d8))));
  9492. }
  9493. return finalise(x, Ctor.precision = pr, Ctor.rounding = rm, true);
  9494. };
  9495. /*
  9496. * Return a new Decimal whose value is the hyperbolic sine of the value in radians of this
  9497. * Decimal.
  9498. *
  9499. * Domain: [-Infinity, Infinity]
  9500. * Range: [-Infinity, Infinity]
  9501. *
  9502. * sinh(x) = x + x^3/3! + x^5/5! + x^7/7! + ...
  9503. *
  9504. * sinh(0) = 0
  9505. * sinh(-0) = -0
  9506. * sinh(Infinity) = Infinity
  9507. * sinh(-Infinity) = -Infinity
  9508. * sinh(NaN) = NaN
  9509. *
  9510. * x time taken (ms)
  9511. * 10 2 ms
  9512. * 100 5 ms
  9513. * 1000 14 ms
  9514. * 10000 82 ms
  9515. * 100000 886 ms 1.4033316802130615897e+43429
  9516. * 200000 2613 ms
  9517. * 300000 5407 ms
  9518. * 400000 8824 ms
  9519. * 500000 13026 ms 8.7080643612718084129e+217146
  9520. * 1000000 48543 ms
  9521. *
  9522. * TODO? Compare performance of sinh(x) = 0.5 * (exp(x) - exp(-x))
  9523. *
  9524. */
  9525. P.hyperbolicSine = P.sinh = function () {
  9526. var k,pr,rm,len,
  9527. x = this,
  9528. Ctor = x.constructor;
  9529. if (!x.isFinite() || x.isZero()) return new Ctor(x);
  9530. pr = Ctor.precision;
  9531. rm = Ctor.rounding;
  9532. Ctor.precision = pr + Math.max(x.e, x.sd()) + 4;
  9533. Ctor.rounding = 1;
  9534. len = x.d.length;
  9535. if (len < 3) {
  9536. x = taylorSeries(Ctor, 2, x, x, true);
  9537. } else {
  9538. // Alternative argument reduction: sinh(3x) = sinh(x)(3 + 4sinh^2(x))
  9539. // i.e. sinh(x) = sinh(x/3)(3 + 4sinh^2(x/3))
  9540. // 3 multiplications and 1 addition
  9541. // Argument reduction: sinh(5x) = sinh(x)(5 + sinh^2(x)(20 + 16sinh^2(x)))
  9542. // i.e. sinh(x) = sinh(x/5)(5 + sinh^2(x/5)(20 + 16sinh^2(x/5)))
  9543. // 4 multiplications and 2 additions
  9544. // Estimate the optimum number of times to use the argument reduction.
  9545. k = 1.4 * Math.sqrt(len);
  9546. k = k > 16 ? 16 : k | 0;
  9547. x = x.times(1 / tinyPow(5, k));
  9548. x = taylorSeries(Ctor, 2, x, x, true);
  9549. // Reverse argument reduction
  9550. var sinh2_x,
  9551. d5 = new Ctor(5),
  9552. d16 = new Ctor(16),
  9553. d20 = new Ctor(20);
  9554. for (; k--;) {
  9555. sinh2_x = x.times(x);
  9556. x = x.times(d5.plus(sinh2_x.times(d16.times(sinh2_x).plus(d20))));
  9557. }
  9558. }
  9559. Ctor.precision = pr;
  9560. Ctor.rounding = rm;
  9561. return finalise(x, pr, rm, true);
  9562. };
  9563. /*
  9564. * Return a new Decimal whose value is the hyperbolic tangent of the value in radians of this
  9565. * Decimal.
  9566. *
  9567. * Domain: [-Infinity, Infinity]
  9568. * Range: [-1, 1]
  9569. *
  9570. * tanh(x) = sinh(x) / cosh(x)
  9571. *
  9572. * tanh(0) = 0
  9573. * tanh(-0) = -0
  9574. * tanh(Infinity) = 1
  9575. * tanh(-Infinity) = -1
  9576. * tanh(NaN) = NaN
  9577. *
  9578. */
  9579. P.hyperbolicTangent = P.tanh = function () {
  9580. var pr,rm,
  9581. x = this,
  9582. Ctor = x.constructor;
  9583. if (!x.isFinite()) return new Ctor(x.s);
  9584. if (x.isZero()) return new Ctor(x);
  9585. pr = Ctor.precision;
  9586. rm = Ctor.rounding;
  9587. Ctor.precision = pr + 7;
  9588. Ctor.rounding = 1;
  9589. return divide(x.sinh(), x.cosh(), Ctor.precision = pr, Ctor.rounding = rm);
  9590. };
  9591. /*
  9592. * Return a new Decimal whose value is the arccosine (inverse cosine) in radians of the value of
  9593. * this Decimal.
  9594. *
  9595. * Domain: [-1, 1]
  9596. * Range: [0, pi]
  9597. *
  9598. * acos(x) = pi/2 - asin(x)
  9599. *
  9600. * acos(0) = pi/2
  9601. * acos(-0) = pi/2
  9602. * acos(1) = 0
  9603. * acos(-1) = pi
  9604. * acos(1/2) = pi/3
  9605. * acos(-1/2) = 2*pi/3
  9606. * acos(|x| > 1) = NaN
  9607. * acos(NaN) = NaN
  9608. *
  9609. */
  9610. P.inverseCosine = P.acos = function () {
  9611. var halfPi,
  9612. x = this,
  9613. Ctor = x.constructor,
  9614. k = x.abs().cmp(1),
  9615. pr = Ctor.precision,
  9616. rm = Ctor.rounding;
  9617. if (k !== -1) {
  9618. return k === 0
  9619. // |x| is 1
  9620. ? x.isNeg() ? getPi(Ctor, pr, rm) : new Ctor(0)
  9621. // |x| > 1 or x is NaN
  9622. : new Ctor(NaN);
  9623. }
  9624. if (x.isZero()) return getPi(Ctor, pr + 4, rm).times(0.5);
  9625. // TODO? Special case acos(0.5) = pi/3 and acos(-0.5) = 2*pi/3
  9626. Ctor.precision = pr + 6;
  9627. Ctor.rounding = 1;
  9628. x = x.asin();
  9629. halfPi = getPi(Ctor, pr + 4, rm).times(0.5);
  9630. Ctor.precision = pr;
  9631. Ctor.rounding = rm;
  9632. return halfPi.minus(x);
  9633. };
  9634. /*
  9635. * Return a new Decimal whose value is the inverse of the hyperbolic cosine in radians of the
  9636. * value of this Decimal.
  9637. *
  9638. * Domain: [1, Infinity]
  9639. * Range: [0, Infinity]
  9640. *
  9641. * acosh(x) = ln(x + sqrt(x^2 - 1))
  9642. *
  9643. * acosh(x < 1) = NaN
  9644. * acosh(NaN) = NaN
  9645. * acosh(Infinity) = Infinity
  9646. * acosh(-Infinity) = NaN
  9647. * acosh(0) = NaN
  9648. * acosh(-0) = NaN
  9649. * acosh(1) = 0
  9650. * acosh(-1) = NaN
  9651. *
  9652. */
  9653. P.inverseHyperbolicCosine = P.acosh = function () {
  9654. var pr,rm,
  9655. x = this,
  9656. Ctor = x.constructor;
  9657. if (x.lte(1)) return new Ctor(x.eq(1) ? 0 : NaN);
  9658. if (!x.isFinite()) return new Ctor(x);
  9659. pr = Ctor.precision;
  9660. rm = Ctor.rounding;
  9661. Ctor.precision = pr + Math.max(Math.abs(x.e), x.sd()) + 4;
  9662. Ctor.rounding = 1;
  9663. external = false;
  9664. x = x.times(x).minus(1).sqrt().plus(x);
  9665. external = true;
  9666. Ctor.precision = pr;
  9667. Ctor.rounding = rm;
  9668. return x.ln();
  9669. };
  9670. /*
  9671. * Return a new Decimal whose value is the inverse of the hyperbolic sine in radians of the value
  9672. * of this Decimal.
  9673. *
  9674. * Domain: [-Infinity, Infinity]
  9675. * Range: [-Infinity, Infinity]
  9676. *
  9677. * asinh(x) = ln(x + sqrt(x^2 + 1))
  9678. *
  9679. * asinh(NaN) = NaN
  9680. * asinh(Infinity) = Infinity
  9681. * asinh(-Infinity) = -Infinity
  9682. * asinh(0) = 0
  9683. * asinh(-0) = -0
  9684. *
  9685. */
  9686. P.inverseHyperbolicSine = P.asinh = function () {
  9687. var pr,rm,
  9688. x = this,
  9689. Ctor = x.constructor;
  9690. if (!x.isFinite() || x.isZero()) return new Ctor(x);
  9691. pr = Ctor.precision;
  9692. rm = Ctor.rounding;
  9693. Ctor.precision = pr + 2 * Math.max(Math.abs(x.e), x.sd()) + 6;
  9694. Ctor.rounding = 1;
  9695. external = false;
  9696. x = x.times(x).plus(1).sqrt().plus(x);
  9697. external = true;
  9698. Ctor.precision = pr;
  9699. Ctor.rounding = rm;
  9700. return x.ln();
  9701. };
  9702. /*
  9703. * Return a new Decimal whose value is the inverse of the hyperbolic tangent in radians of the
  9704. * value of this Decimal.
  9705. *
  9706. * Domain: [-1, 1]
  9707. * Range: [-Infinity, Infinity]
  9708. *
  9709. * atanh(x) = 0.5 * ln((1 + x) / (1 - x))
  9710. *
  9711. * atanh(|x| > 1) = NaN
  9712. * atanh(NaN) = NaN
  9713. * atanh(Infinity) = NaN
  9714. * atanh(-Infinity) = NaN
  9715. * atanh(0) = 0
  9716. * atanh(-0) = -0
  9717. * atanh(1) = Infinity
  9718. * atanh(-1) = -Infinity
  9719. *
  9720. */
  9721. P.inverseHyperbolicTangent = P.atanh = function () {
  9722. var pr,rm,wpr,xsd,
  9723. x = this,
  9724. Ctor = x.constructor;
  9725. if (!x.isFinite()) return new Ctor(NaN);
  9726. if (x.e >= 0) return new Ctor(x.abs().eq(1) ? x.s / 0 : x.isZero() ? x : NaN);
  9727. pr = Ctor.precision;
  9728. rm = Ctor.rounding;
  9729. xsd = x.sd();
  9730. if (Math.max(xsd, pr) < 2 * -x.e - 1) return finalise(new Ctor(x), pr, rm, true);
  9731. Ctor.precision = wpr = xsd - x.e;
  9732. x = divide(x.plus(1), new Ctor(1).minus(x), wpr + pr, 1);
  9733. Ctor.precision = pr + 4;
  9734. Ctor.rounding = 1;
  9735. x = x.ln();
  9736. Ctor.precision = pr;
  9737. Ctor.rounding = rm;
  9738. return x.times(0.5);
  9739. };
  9740. /*
  9741. * Return a new Decimal whose value is the arcsine (inverse sine) in radians of the value of this
  9742. * Decimal.
  9743. *
  9744. * Domain: [-Infinity, Infinity]
  9745. * Range: [-pi/2, pi/2]
  9746. *
  9747. * asin(x) = 2*atan(x/(1 + sqrt(1 - x^2)))
  9748. *
  9749. * asin(0) = 0
  9750. * asin(-0) = -0
  9751. * asin(1/2) = pi/6
  9752. * asin(-1/2) = -pi/6
  9753. * asin(1) = pi/2
  9754. * asin(-1) = -pi/2
  9755. * asin(|x| > 1) = NaN
  9756. * asin(NaN) = NaN
  9757. *
  9758. * TODO? Compare performance of Taylor series.
  9759. *
  9760. */
  9761. P.inverseSine = P.asin = function () {
  9762. var halfPi,k,
  9763. pr,rm,
  9764. x = this,
  9765. Ctor = x.constructor;
  9766. if (x.isZero()) return new Ctor(x);
  9767. k = x.abs().cmp(1);
  9768. pr = Ctor.precision;
  9769. rm = Ctor.rounding;
  9770. if (k !== -1) {
  9771. // |x| is 1
  9772. if (k === 0) {
  9773. halfPi = getPi(Ctor, pr + 4, rm).times(0.5);
  9774. halfPi.s = x.s;
  9775. return halfPi;
  9776. }
  9777. // |x| > 1 or x is NaN
  9778. return new Ctor(NaN);
  9779. }
  9780. // TODO? Special case asin(1/2) = pi/6 and asin(-1/2) = -pi/6
  9781. Ctor.precision = pr + 6;
  9782. Ctor.rounding = 1;
  9783. x = x.div(new Ctor(1).minus(x.times(x)).sqrt().plus(1)).atan();
  9784. Ctor.precision = pr;
  9785. Ctor.rounding = rm;
  9786. return x.times(2);
  9787. };
  9788. /*
  9789. * Return a new Decimal whose value is the arctangent (inverse tangent) in radians of the value
  9790. * of this Decimal.
  9791. *
  9792. * Domain: [-Infinity, Infinity]
  9793. * Range: [-pi/2, pi/2]
  9794. *
  9795. * atan(x) = x - x^3/3 + x^5/5 - x^7/7 + ...
  9796. *
  9797. * atan(0) = 0
  9798. * atan(-0) = -0
  9799. * atan(1) = pi/4
  9800. * atan(-1) = -pi/4
  9801. * atan(Infinity) = pi/2
  9802. * atan(-Infinity) = -pi/2
  9803. * atan(NaN) = NaN
  9804. *
  9805. */
  9806. P.inverseTangent = P.atan = function () {
  9807. var i,j,k,n,px,t,r,wpr,x2,
  9808. x = this,
  9809. Ctor = x.constructor,
  9810. pr = Ctor.precision,
  9811. rm = Ctor.rounding;
  9812. if (!x.isFinite()) {
  9813. if (!x.s) return new Ctor(NaN);
  9814. if (pr + 4 <= PI_PRECISION) {
  9815. r = getPi(Ctor, pr + 4, rm).times(0.5);
  9816. r.s = x.s;
  9817. return r;
  9818. }
  9819. } else if (x.isZero()) {
  9820. return new Ctor(x);
  9821. } else if (x.abs().eq(1) && pr + 4 <= PI_PRECISION) {
  9822. r = getPi(Ctor, pr + 4, rm).times(0.25);
  9823. r.s = x.s;
  9824. return r;
  9825. }
  9826. Ctor.precision = wpr = pr + 10;
  9827. Ctor.rounding = 1;
  9828. // TODO? if (x >= 1 && pr <= PI_PRECISION) atan(x) = halfPi * x.s - atan(1 / x);
  9829. // Argument reduction
  9830. // Ensure |x| < 0.42
  9831. // atan(x) = 2 * atan(x / (1 + sqrt(1 + x^2)))
  9832. k = Math.min(28, wpr / LOG_BASE + 2 | 0);
  9833. for (i = k; i; --i) {x = x.div(x.times(x).plus(1).sqrt().plus(1));}
  9834. external = false;
  9835. j = Math.ceil(wpr / LOG_BASE);
  9836. n = 1;
  9837. x2 = x.times(x);
  9838. r = new Ctor(x);
  9839. px = x;
  9840. // atan(x) = x - x^3/3 + x^5/5 - x^7/7 + ...
  9841. for (; i !== -1;) {
  9842. px = px.times(x2);
  9843. t = r.minus(px.div(n += 2));
  9844. px = px.times(x2);
  9845. r = t.plus(px.div(n += 2));
  9846. if (r.d[j] !== void 0) for (i = j; r.d[i] === t.d[i] && i--;) {;}
  9847. }
  9848. if (k) r = r.times(2 << k - 1);
  9849. external = true;
  9850. return finalise(r, Ctor.precision = pr, Ctor.rounding = rm, true);
  9851. };
  9852. /*
  9853. * Return true if the value of this Decimal is a finite number, otherwise return false.
  9854. *
  9855. */
  9856. P.isFinite = function () {
  9857. return !!this.d;
  9858. };
  9859. /*
  9860. * Return true if the value of this Decimal is an integer, otherwise return false.
  9861. *
  9862. */
  9863. P.isInteger = P.isInt = function () {
  9864. return !!this.d && mathfloor(this.e / LOG_BASE) > this.d.length - 2;
  9865. };
  9866. /*
  9867. * Return true if the value of this Decimal is NaN, otherwise return false.
  9868. *
  9869. */
  9870. P.isNaN = function () {
  9871. return !this.s;
  9872. };
  9873. /*
  9874. * Return true if the value of this Decimal is negative, otherwise return false.
  9875. *
  9876. */
  9877. P.isNegative = P.isNeg = function () {
  9878. return this.s < 0;
  9879. };
  9880. /*
  9881. * Return true if the value of this Decimal is positive, otherwise return false.
  9882. *
  9883. */
  9884. P.isPositive = P.isPos = function () {
  9885. return this.s > 0;
  9886. };
  9887. /*
  9888. * Return true if the value of this Decimal is 0 or -0, otherwise return false.
  9889. *
  9890. */
  9891. P.isZero = function () {
  9892. return !!this.d && this.d[0] === 0;
  9893. };
  9894. /*
  9895. * Return true if the value of this Decimal is less than `y`, otherwise return false.
  9896. *
  9897. */
  9898. P.lessThan = P.lt = function (y) {
  9899. return this.cmp(y) < 0;
  9900. };
  9901. /*
  9902. * Return true if the value of this Decimal is less than or equal to `y`, otherwise return false.
  9903. *
  9904. */
  9905. P.lessThanOrEqualTo = P.lte = function (y) {
  9906. return this.cmp(y) < 1;
  9907. };
  9908. /*
  9909. * Return the logarithm of the value of this Decimal to the specified base, rounded to `precision`
  9910. * significant digits using rounding mode `rounding`.
  9911. *
  9912. * If no base is specified, return log[10](arg).
  9913. *
  9914. * log[base](arg) = ln(arg) / ln(base)
  9915. *
  9916. * The result will always be correctly rounded if the base of the log is 10, and 'almost always'
  9917. * otherwise:
  9918. *
  9919. * Depending on the rounding mode, the result may be incorrectly rounded if the first fifteen
  9920. * rounding digits are [49]99999999999999 or [50]00000000000000. In that case, the maximum error
  9921. * between the result and the correctly rounded result will be one ulp (unit in the last place).
  9922. *
  9923. * log[-b](a) = NaN
  9924. * log[0](a) = NaN
  9925. * log[1](a) = NaN
  9926. * log[NaN](a) = NaN
  9927. * log[Infinity](a) = NaN
  9928. * log[b](0) = -Infinity
  9929. * log[b](-0) = -Infinity
  9930. * log[b](-a) = NaN
  9931. * log[b](1) = 0
  9932. * log[b](Infinity) = Infinity
  9933. * log[b](NaN) = NaN
  9934. *
  9935. * [base] {number|string|Decimal} The base of the logarithm.
  9936. *
  9937. */
  9938. P.logarithm = P.log = function (base) {
  9939. var isBase10,d,denominator,k,inf,num,sd,r,
  9940. arg = this,
  9941. Ctor = arg.constructor,
  9942. pr = Ctor.precision,
  9943. rm = Ctor.rounding,
  9944. guard = 5;
  9945. // Default base is 10.
  9946. if (base == null) {
  9947. base = new Ctor(10);
  9948. isBase10 = true;
  9949. } else {
  9950. base = new Ctor(base);
  9951. d = base.d;
  9952. // Return NaN if base is negative, or non-finite, or is 0 or 1.
  9953. if (base.s < 0 || !d || !d[0] || base.eq(1)) return new Ctor(NaN);
  9954. isBase10 = base.eq(10);
  9955. }
  9956. d = arg.d;
  9957. // Is arg negative, non-finite, 0 or 1?
  9958. if (arg.s < 0 || !d || !d[0] || arg.eq(1)) {
  9959. return new Ctor(d && !d[0] ? -1 / 0 : arg.s != 1 ? NaN : d ? 0 : 1 / 0);
  9960. }
  9961. // The result will have a non-terminating decimal expansion if base is 10 and arg is not an
  9962. // integer power of 10.
  9963. if (isBase10) {
  9964. if (d.length > 1) {
  9965. inf = true;
  9966. } else {
  9967. for (k = d[0]; k % 10 === 0;) {k /= 10;}
  9968. inf = k !== 1;
  9969. }
  9970. }
  9971. external = false;
  9972. sd = pr + guard;
  9973. num = naturalLogarithm(arg, sd);
  9974. denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd);
  9975. // The result will have 5 rounding digits.
  9976. r = divide(num, denominator, sd, 1);
  9977. // If at a rounding boundary, i.e. the result's rounding digits are [49]9999 or [50]0000,
  9978. // calculate 10 further digits.
  9979. //
  9980. // If the result is known to have an infinite decimal expansion, repeat this until it is clear
  9981. // that the result is above or below the boundary. Otherwise, if after calculating the 10
  9982. // further digits, the last 14 are nines, round up and assume the result is exact.
  9983. // Also assume the result is exact if the last 14 are zero.
  9984. //
  9985. // Example of a result that will be incorrectly rounded:
  9986. // log[1048576](4503599627370502) = 2.60000000000000009610279511444746...
  9987. // The above result correctly rounded using ROUND_CEIL to 1 decimal place should be 2.7, but it
  9988. // will be given as 2.6 as there are 15 zeros immediately after the requested decimal place, so
  9989. // the exact result would be assumed to be 2.6, which rounded using ROUND_CEIL to 1 decimal
  9990. // place is still 2.6.
  9991. if (checkRoundingDigits(r.d, k = pr, rm)) {
  9992. do {
  9993. sd += 10;
  9994. num = naturalLogarithm(arg, sd);
  9995. denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd);
  9996. r = divide(num, denominator, sd, 1);
  9997. if (!inf) {
  9998. // Check for 14 nines from the 2nd rounding digit, as the first may be 4.
  9999. if (+digitsToString(r.d).slice(k + 1, k + 15) + 1 == 1e14) {
  10000. r = finalise(r, pr + 1, 0);
  10001. }
  10002. break;
  10003. }
  10004. } while (checkRoundingDigits(r.d, k += 10, rm));
  10005. }
  10006. external = true;
  10007. return finalise(r, pr, rm);
  10008. };
  10009. /*
  10010. * Return a new Decimal whose value is the maximum of the arguments and the value of this Decimal.
  10011. *
  10012. * arguments {number|string|Decimal}
  10013. *
  10014. P.max = function () {
  10015. Array.prototype.push.call(arguments, this);
  10016. return maxOrMin(this.constructor, arguments, 'lt');
  10017. };
  10018. */
  10019. /*
  10020. * Return a new Decimal whose value is the minimum of the arguments and the value of this Decimal.
  10021. *
  10022. * arguments {number|string|Decimal}
  10023. *
  10024. P.min = function () {
  10025. Array.prototype.push.call(arguments, this);
  10026. return maxOrMin(this.constructor, arguments, 'gt');
  10027. };
  10028. */
  10029. /*
  10030. * n - 0 = n
  10031. * n - N = N
  10032. * n - I = -I
  10033. * 0 - n = -n
  10034. * 0 - 0 = 0
  10035. * 0 - N = N
  10036. * 0 - I = -I
  10037. * N - n = N
  10038. * N - 0 = N
  10039. * N - N = N
  10040. * N - I = N
  10041. * I - n = I
  10042. * I - 0 = I
  10043. * I - N = N
  10044. * I - I = N
  10045. *
  10046. * Return a new Decimal whose value is the value of this Decimal minus `y`, rounded to `precision`
  10047. * significant digits using rounding mode `rounding`.
  10048. *
  10049. */
  10050. P.minus = P.sub = function (y) {
  10051. var d,e,i,j,k,len,pr,rm,xd,xe,xLTy,yd,
  10052. x = this,
  10053. Ctor = x.constructor;
  10054. y = new Ctor(y);
  10055. // If either is not finite...
  10056. if (!x.d || !y.d) {
  10057. // Return NaN if either is NaN.
  10058. if (!x.s || !y.s) y = new Ctor(NaN);
  10059. // Return y negated if x is finite and y is ±Infinity.
  10060. else if (x.d) y.s = -y.s;
  10061. // Return x if y is finite and x is ±Infinity.
  10062. // Return x if both are ±Infinity with different signs.
  10063. // Return NaN if both are ±Infinity with the same sign.
  10064. else y = new Ctor(y.d || x.s !== y.s ? x : NaN);
  10065. return y;
  10066. }
  10067. // If signs differ...
  10068. if (x.s != y.s) {
  10069. y.s = -y.s;
  10070. return x.plus(y);
  10071. }
  10072. xd = x.d;
  10073. yd = y.d;
  10074. pr = Ctor.precision;
  10075. rm = Ctor.rounding;
  10076. // If either is zero...
  10077. if (!xd[0] || !yd[0]) {
  10078. // Return y negated if x is zero and y is non-zero.
  10079. if (yd[0]) y.s = -y.s;
  10080. // Return x if y is zero and x is non-zero.
  10081. else if (xd[0]) y = new Ctor(x);
  10082. // Return zero if both are zero.
  10083. // From IEEE 754 (2008) 6.3: 0 - 0 = -0 - -0 = -0 when rounding to -Infinity.
  10084. else return new Ctor(rm === 3 ? -0 : 0);
  10085. return external ? finalise(y, pr, rm) : y;
  10086. }
  10087. // x and y are finite, non-zero numbers with the same sign.
  10088. // Calculate base 1e7 exponents.
  10089. e = mathfloor(y.e / LOG_BASE);
  10090. xe = mathfloor(x.e / LOG_BASE);
  10091. xd = xd.slice();
  10092. k = xe - e;
  10093. // If base 1e7 exponents differ...
  10094. if (k) {
  10095. xLTy = k < 0;
  10096. if (xLTy) {
  10097. d = xd;
  10098. k = -k;
  10099. len = yd.length;
  10100. } else {
  10101. d = yd;
  10102. e = xe;
  10103. len = xd.length;
  10104. }
  10105. // Numbers with massively different exponents would result in a very high number of
  10106. // zeros needing to be prepended, but this can be avoided while still ensuring correct
  10107. // rounding by limiting the number of zeros to `Math.ceil(pr / LOG_BASE) + 2`.
  10108. i = Math.max(Math.ceil(pr / LOG_BASE), len) + 2;
  10109. if (k > i) {
  10110. k = i;
  10111. d.length = 1;
  10112. }
  10113. // Prepend zeros to equalise exponents.
  10114. d.reverse();
  10115. for (i = k; i--;) {d.push(0);}
  10116. d.reverse();
  10117. // Base 1e7 exponents equal.
  10118. } else {
  10119. // Check digits to determine which is the bigger number.
  10120. i = xd.length;
  10121. len = yd.length;
  10122. xLTy = i < len;
  10123. if (xLTy) len = i;
  10124. for (i = 0; i < len; i++) {
  10125. if (xd[i] != yd[i]) {
  10126. xLTy = xd[i] < yd[i];
  10127. break;
  10128. }
  10129. }
  10130. k = 0;
  10131. }
  10132. if (xLTy) {
  10133. d = xd;
  10134. xd = yd;
  10135. yd = d;
  10136. y.s = -y.s;
  10137. }
  10138. len = xd.length;
  10139. // Append zeros to `xd` if shorter.
  10140. // Don't add zeros to `yd` if shorter as subtraction only needs to start at `yd` length.
  10141. for (i = yd.length - len; i > 0; --i) {xd[len++] = 0;}
  10142. // Subtract yd from xd.
  10143. for (i = yd.length; i > k;) {
  10144. if (xd[--i] < yd[i]) {
  10145. for (j = i; j && xd[--j] === 0;) {xd[j] = BASE - 1;}
  10146. --xd[j];
  10147. xd[i] += BASE;
  10148. }
  10149. xd[i] -= yd[i];
  10150. }
  10151. // Remove trailing zeros.
  10152. for (; xd[--len] === 0;) {xd.pop();}
  10153. // Remove leading zeros and adjust exponent accordingly.
  10154. for (; xd[0] === 0; xd.shift()) {--e;}
  10155. // Zero?
  10156. if (!xd[0]) return new Ctor(rm === 3 ? -0 : 0);
  10157. y.d = xd;
  10158. y.e = getBase10Exponent(xd, e);
  10159. return external ? finalise(y, pr, rm) : y;
  10160. };
  10161. /*
  10162. * n % 0 = N
  10163. * n % N = N
  10164. * n % I = n
  10165. * 0 % n = 0
  10166. * -0 % n = -0
  10167. * 0 % 0 = N
  10168. * 0 % N = N
  10169. * 0 % I = 0
  10170. * N % n = N
  10171. * N % 0 = N
  10172. * N % N = N
  10173. * N % I = N
  10174. * I % n = N
  10175. * I % 0 = N
  10176. * I % N = N
  10177. * I % I = N
  10178. *
  10179. * Return a new Decimal whose value is the value of this Decimal modulo `y`, rounded to
  10180. * `precision` significant digits using rounding mode `rounding`.
  10181. *
  10182. * The result depends on the modulo mode.
  10183. *
  10184. */
  10185. P.modulo = P.mod = function (y) {
  10186. var q,
  10187. x = this,
  10188. Ctor = x.constructor;
  10189. y = new Ctor(y);
  10190. // Return NaN if x is ±Infinity or NaN, or y is NaN or ±0.
  10191. if (!x.d || !y.s || y.d && !y.d[0]) return new Ctor(NaN);
  10192. // Return x if y is ±Infinity or x is ±0.
  10193. if (!y.d || x.d && !x.d[0]) {
  10194. return finalise(new Ctor(x), Ctor.precision, Ctor.rounding);
  10195. }
  10196. // Prevent rounding of intermediate calculations.
  10197. external = false;
  10198. if (Ctor.modulo == 9) {
  10199. // Euclidian division: q = sign(y) * floor(x / abs(y))
  10200. // result = x - q * y where 0 <= result < abs(y)
  10201. q = divide(x, y.abs(), 0, 3, 1);
  10202. q.s *= y.s;
  10203. } else {
  10204. q = divide(x, y, 0, Ctor.modulo, 1);
  10205. }
  10206. q = q.times(y);
  10207. external = true;
  10208. return x.minus(q);
  10209. };
  10210. /*
  10211. * Return a new Decimal whose value is the natural exponential of the value of this Decimal,
  10212. * i.e. the base e raised to the power the value of this Decimal, rounded to `precision`
  10213. * significant digits using rounding mode `rounding`.
  10214. *
  10215. */
  10216. P.naturalExponential = P.exp = function () {
  10217. return naturalExponential(this);
  10218. };
  10219. /*
  10220. * Return a new Decimal whose value is the natural logarithm of the value of this Decimal,
  10221. * rounded to `precision` significant digits using rounding mode `rounding`.
  10222. *
  10223. */
  10224. P.naturalLogarithm = P.ln = function () {
  10225. return naturalLogarithm(this);
  10226. };
  10227. /*
  10228. * Return a new Decimal whose value is the value of this Decimal negated, i.e. as if multiplied by
  10229. * -1.
  10230. *
  10231. */
  10232. P.negated = P.neg = function () {
  10233. var x = new this.constructor(this);
  10234. x.s = -x.s;
  10235. return finalise(x);
  10236. };
  10237. /*
  10238. * n + 0 = n
  10239. * n + N = N
  10240. * n + I = I
  10241. * 0 + n = n
  10242. * 0 + 0 = 0
  10243. * 0 + N = N
  10244. * 0 + I = I
  10245. * N + n = N
  10246. * N + 0 = N
  10247. * N + N = N
  10248. * N + I = N
  10249. * I + n = I
  10250. * I + 0 = I
  10251. * I + N = N
  10252. * I + I = I
  10253. *
  10254. * Return a new Decimal whose value is the value of this Decimal plus `y`, rounded to `precision`
  10255. * significant digits using rounding mode `rounding`.
  10256. *
  10257. */
  10258. P.plus = P.add = function (y) {
  10259. var carry,d,e,i,k,len,pr,rm,xd,yd,
  10260. x = this,
  10261. Ctor = x.constructor;
  10262. y = new Ctor(y);
  10263. // If either is not finite...
  10264. if (!x.d || !y.d) {
  10265. // Return NaN if either is NaN.
  10266. if (!x.s || !y.s) y = new Ctor(NaN);
  10267. // Return x if y is finite and x is ±Infinity.
  10268. // Return x if both are ±Infinity with the same sign.
  10269. // Return NaN if both are ±Infinity with different signs.
  10270. // Return y if x is finite and y is ±Infinity.
  10271. else if (!x.d) y = new Ctor(y.d || x.s === y.s ? x : NaN);
  10272. return y;
  10273. }
  10274. // If signs differ...
  10275. if (x.s != y.s) {
  10276. y.s = -y.s;
  10277. return x.minus(y);
  10278. }
  10279. xd = x.d;
  10280. yd = y.d;
  10281. pr = Ctor.precision;
  10282. rm = Ctor.rounding;
  10283. // If either is zero...
  10284. if (!xd[0] || !yd[0]) {
  10285. // Return x if y is zero.
  10286. // Return y if y is non-zero.
  10287. if (!yd[0]) y = new Ctor(x);
  10288. return external ? finalise(y, pr, rm) : y;
  10289. }
  10290. // x and y are finite, non-zero numbers with the same sign.
  10291. // Calculate base 1e7 exponents.
  10292. k = mathfloor(x.e / LOG_BASE);
  10293. e = mathfloor(y.e / LOG_BASE);
  10294. xd = xd.slice();
  10295. i = k - e;
  10296. // If base 1e7 exponents differ...
  10297. if (i) {
  10298. if (i < 0) {
  10299. d = xd;
  10300. i = -i;
  10301. len = yd.length;
  10302. } else {
  10303. d = yd;
  10304. e = k;
  10305. len = xd.length;
  10306. }
  10307. // Limit number of zeros prepended to max(ceil(pr / LOG_BASE), len) + 1.
  10308. k = Math.ceil(pr / LOG_BASE);
  10309. len = k > len ? k + 1 : len + 1;
  10310. if (i > len) {
  10311. i = len;
  10312. d.length = 1;
  10313. }
  10314. // Prepend zeros to equalise exponents. Note: Faster to use reverse then do unshifts.
  10315. d.reverse();
  10316. for (; i--;) {d.push(0);}
  10317. d.reverse();
  10318. }
  10319. len = xd.length;
  10320. i = yd.length;
  10321. // If yd is longer than xd, swap xd and yd so xd points to the longer array.
  10322. if (len - i < 0) {
  10323. i = len;
  10324. d = yd;
  10325. yd = xd;
  10326. xd = d;
  10327. }
  10328. // Only start adding at yd.length - 1 as the further digits of xd can be left as they are.
  10329. for (carry = 0; i;) {
  10330. carry = (xd[--i] = xd[i] + yd[i] + carry) / BASE | 0;
  10331. xd[i] %= BASE;
  10332. }
  10333. if (carry) {
  10334. xd.unshift(carry);
  10335. ++e;
  10336. }
  10337. // Remove trailing zeros.
  10338. // No need to check for zero, as +x + +y != 0 && -x + -y != 0
  10339. for (len = xd.length; xd[--len] == 0;) {xd.pop();}
  10340. y.d = xd;
  10341. y.e = getBase10Exponent(xd, e);
  10342. return external ? finalise(y, pr, rm) : y;
  10343. };
  10344. /*
  10345. * Return the number of significant digits of the value of this Decimal.
  10346. *
  10347. * [z] {boolean|number} Whether to count integer-part trailing zeros: true, false, 1 or 0.
  10348. *
  10349. */
  10350. P.precision = P.sd = function (z) {
  10351. var k,
  10352. x = this;
  10353. if (z !== void 0 && z !== !!z && z !== 1 && z !== 0) throw Error(invalidArgument + z);
  10354. if (x.d) {
  10355. k = getPrecision(x.d);
  10356. if (z && x.e + 1 > k) k = x.e + 1;
  10357. } else {
  10358. k = NaN;
  10359. }
  10360. return k;
  10361. };
  10362. /*
  10363. * Return a new Decimal whose value is the value of this Decimal rounded to a whole number using
  10364. * rounding mode `rounding`.
  10365. *
  10366. */
  10367. P.round = function () {
  10368. var x = this,
  10369. Ctor = x.constructor;
  10370. return finalise(new Ctor(x), x.e + 1, Ctor.rounding);
  10371. };
  10372. /*
  10373. * Return a new Decimal whose value is the sine of the value in radians of this Decimal.
  10374. *
  10375. * Domain: [-Infinity, Infinity]
  10376. * Range: [-1, 1]
  10377. *
  10378. * sin(x) = x - x^3/3! + x^5/5! - ...
  10379. *
  10380. * sin(0) = 0
  10381. * sin(-0) = -0
  10382. * sin(Infinity) = NaN
  10383. * sin(-Infinity) = NaN
  10384. * sin(NaN) = NaN
  10385. *
  10386. */
  10387. P.sine = P.sin = function () {
  10388. var pr,rm,
  10389. x = this,
  10390. Ctor = x.constructor;
  10391. if (!x.isFinite()) return new Ctor(NaN);
  10392. if (x.isZero()) return new Ctor(x);
  10393. pr = Ctor.precision;
  10394. rm = Ctor.rounding;
  10395. Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE;
  10396. Ctor.rounding = 1;
  10397. x = sine(Ctor, toLessThanHalfPi(Ctor, x));
  10398. Ctor.precision = pr;
  10399. Ctor.rounding = rm;
  10400. return finalise(quadrant > 2 ? x.neg() : x, pr, rm, true);
  10401. };
  10402. /*
  10403. * Return a new Decimal whose value is the square root of this Decimal, rounded to `precision`
  10404. * significant digits using rounding mode `rounding`.
  10405. *
  10406. * sqrt(-n) = N
  10407. * sqrt(N) = N
  10408. * sqrt(-I) = N
  10409. * sqrt(I) = I
  10410. * sqrt(0) = 0
  10411. * sqrt(-0) = -0
  10412. *
  10413. */
  10414. P.squareRoot = P.sqrt = function () {
  10415. var m,n,sd,r,rep,t,
  10416. x = this,
  10417. d = x.d,
  10418. e = x.e,
  10419. s = x.s,
  10420. Ctor = x.constructor;
  10421. // Negative/NaN/Infinity/zero?
  10422. if (s !== 1 || !d || !d[0]) {
  10423. return new Ctor(!s || s < 0 && (!d || d[0]) ? NaN : d ? x : 1 / 0);
  10424. }
  10425. external = false;
  10426. // Initial estimate.
  10427. s = Math.sqrt(+x);
  10428. // Math.sqrt underflow/overflow?
  10429. // Pass x to Math.sqrt as integer, then adjust the exponent of the result.
  10430. if (s == 0 || s == 1 / 0) {
  10431. n = digitsToString(d);
  10432. if ((n.length + e) % 2 == 0) n += '0';
  10433. s = Math.sqrt(n);
  10434. e = mathfloor((e + 1) / 2) - (e < 0 || e % 2);
  10435. if (s == 1 / 0) {
  10436. n = '5e' + e;
  10437. } else {
  10438. n = s.toExponential();
  10439. n = n.slice(0, n.indexOf('e') + 1) + e;
  10440. }
  10441. r = new Ctor(n);
  10442. } else {
  10443. r = new Ctor(s.toString());
  10444. }
  10445. sd = (e = Ctor.precision) + 3;
  10446. // Newton-Raphson iteration.
  10447. for (;;) {
  10448. t = r;
  10449. r = t.plus(divide(x, t, sd + 2, 1)).times(0.5);
  10450. // TODO? Replace with for-loop and checkRoundingDigits.
  10451. if (digitsToString(t.d).slice(0, sd) === (n = digitsToString(r.d)).slice(0, sd)) {
  10452. n = n.slice(sd - 3, sd + 1);
  10453. // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or
  10454. // 4999, i.e. approaching a rounding boundary, continue the iteration.
  10455. if (n == '9999' || !rep && n == '4999') {
  10456. // On the first iteration only, check to see if rounding up gives the exact result as the
  10457. // nines may infinitely repeat.
  10458. if (!rep) {
  10459. finalise(t, e + 1, 0);
  10460. if (t.times(t).eq(x)) {
  10461. r = t;
  10462. break;
  10463. }
  10464. }
  10465. sd += 4;
  10466. rep = 1;
  10467. } else {
  10468. // If the rounding digits are null, 0{0,4} or 50{0,3}, check for an exact result.
  10469. // If not, then there are further digits and m will be truthy.
  10470. if (!+n || !+n.slice(1) && n.charAt(0) == '5') {
  10471. // Truncate to the first rounding digit.
  10472. finalise(r, e + 1, 1);
  10473. m = !r.times(r).eq(x);
  10474. }
  10475. break;
  10476. }
  10477. }
  10478. }
  10479. external = true;
  10480. return finalise(r, e, Ctor.rounding, m);
  10481. };
  10482. /*
  10483. * Return a new Decimal whose value is the tangent of the value in radians of this Decimal.
  10484. *
  10485. * Domain: [-Infinity, Infinity]
  10486. * Range: [-Infinity, Infinity]
  10487. *
  10488. * tan(0) = 0
  10489. * tan(-0) = -0
  10490. * tan(Infinity) = NaN
  10491. * tan(-Infinity) = NaN
  10492. * tan(NaN) = NaN
  10493. *
  10494. */
  10495. P.tangent = P.tan = function () {
  10496. var pr,rm,
  10497. x = this,
  10498. Ctor = x.constructor;
  10499. if (!x.isFinite()) return new Ctor(NaN);
  10500. if (x.isZero()) return new Ctor(x);
  10501. pr = Ctor.precision;
  10502. rm = Ctor.rounding;
  10503. Ctor.precision = pr + 10;
  10504. Ctor.rounding = 1;
  10505. x = x.sin();
  10506. x.s = 1;
  10507. x = divide(x, new Ctor(1).minus(x.times(x)).sqrt(), pr + 10, 0);
  10508. Ctor.precision = pr;
  10509. Ctor.rounding = rm;
  10510. return finalise(quadrant == 2 || quadrant == 4 ? x.neg() : x, pr, rm, true);
  10511. };
  10512. /*
  10513. * n * 0 = 0
  10514. * n * N = N
  10515. * n * I = I
  10516. * 0 * n = 0
  10517. * 0 * 0 = 0
  10518. * 0 * N = N
  10519. * 0 * I = N
  10520. * N * n = N
  10521. * N * 0 = N
  10522. * N * N = N
  10523. * N * I = N
  10524. * I * n = I
  10525. * I * 0 = N
  10526. * I * N = N
  10527. * I * I = I
  10528. *
  10529. * Return a new Decimal whose value is this Decimal times `y`, rounded to `precision` significant
  10530. * digits using rounding mode `rounding`.
  10531. *
  10532. */
  10533. P.times = P.mul = function (y) {
  10534. var carry,e,i,k,r,rL,t,xdL,ydL,
  10535. x = this,
  10536. Ctor = x.constructor,
  10537. xd = x.d,
  10538. yd = (y = new Ctor(y)).d;
  10539. y.s *= x.s;
  10540. // If either is NaN, ±Infinity or ±0...
  10541. if (!xd || !xd[0] || !yd || !yd[0]) {
  10542. return new Ctor(!y.s || xd && !xd[0] && !yd || yd && !yd[0] && !xd
  10543. // Return NaN if either is NaN.
  10544. // Return NaN if x is ±0 and y is ±Infinity, or y is ±0 and x is ±Infinity.
  10545. ? NaN
  10546. // Return ±Infinity if either is ±Infinity.
  10547. // Return ±0 if either is ±0.
  10548. : !xd || !yd ? y.s / 0 : y.s * 0);
  10549. }
  10550. e = mathfloor(x.e / LOG_BASE) + mathfloor(y.e / LOG_BASE);
  10551. xdL = xd.length;
  10552. ydL = yd.length;
  10553. // Ensure xd points to the longer array.
  10554. if (xdL < ydL) {
  10555. r = xd;
  10556. xd = yd;
  10557. yd = r;
  10558. rL = xdL;
  10559. xdL = ydL;
  10560. ydL = rL;
  10561. }
  10562. // Initialise the result array with zeros.
  10563. r = [];
  10564. rL = xdL + ydL;
  10565. for (i = rL; i--;) {r.push(0);}
  10566. // Multiply!
  10567. for (i = ydL; --i >= 0;) {
  10568. carry = 0;
  10569. for (k = xdL + i; k > i;) {
  10570. t = r[k] + yd[i] * xd[k - i - 1] + carry;
  10571. r[k--] = t % BASE | 0;
  10572. carry = t / BASE | 0;
  10573. }
  10574. r[k] = (r[k] + carry) % BASE | 0;
  10575. }
  10576. // Remove trailing zeros.
  10577. for (; !r[--rL];) {r.pop();}
  10578. if (carry) ++e;else
  10579. r.shift();
  10580. y.d = r;
  10581. y.e = getBase10Exponent(r, e);
  10582. return external ? finalise(y, Ctor.precision, Ctor.rounding) : y;
  10583. };
  10584. /*
  10585. * Return a string representing the value of this Decimal in base 2, round to `sd` significant
  10586. * digits using rounding mode `rm`.
  10587. *
  10588. * If the optional `sd` argument is present then return binary exponential notation.
  10589. *
  10590. * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.
  10591. * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.
  10592. *
  10593. */
  10594. P.toBinary = function (sd, rm) {
  10595. return toStringBinary(this, 2, sd, rm);
  10596. };
  10597. /*
  10598. * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `dp`
  10599. * decimal places using rounding mode `rm` or `rounding` if `rm` is omitted.
  10600. *
  10601. * If `dp` is omitted, return a new Decimal whose value is the value of this Decimal.
  10602. *
  10603. * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.
  10604. * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.
  10605. *
  10606. */
  10607. P.toDecimalPlaces = P.toDP = function (dp, rm) {
  10608. var x = this,
  10609. Ctor = x.constructor;
  10610. x = new Ctor(x);
  10611. if (dp === void 0) return x;
  10612. checkInt32(dp, 0, MAX_DIGITS);
  10613. if (rm === void 0) rm = Ctor.rounding;else
  10614. checkInt32(rm, 0, 8);
  10615. return finalise(x, dp + x.e + 1, rm);
  10616. };
  10617. /*
  10618. * Return a string representing the value of this Decimal in exponential notation rounded to
  10619. * `dp` fixed decimal places using rounding mode `rounding`.
  10620. *
  10621. * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.
  10622. * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.
  10623. *
  10624. */
  10625. P.toExponential = function (dp, rm) {
  10626. var str,
  10627. x = this,
  10628. Ctor = x.constructor;
  10629. if (dp === void 0) {
  10630. str = finiteToString(x, true);
  10631. } else {
  10632. checkInt32(dp, 0, MAX_DIGITS);
  10633. if (rm === void 0) rm = Ctor.rounding;else
  10634. checkInt32(rm, 0, 8);
  10635. x = finalise(new Ctor(x), dp + 1, rm);
  10636. str = finiteToString(x, true, dp + 1);
  10637. }
  10638. return x.isNeg() && !x.isZero() ? '-' + str : str;
  10639. };
  10640. /*
  10641. * Return a string representing the value of this Decimal in normal (fixed-point) notation to
  10642. * `dp` fixed decimal places and rounded using rounding mode `rm` or `rounding` if `rm` is
  10643. * omitted.
  10644. *
  10645. * As with JavaScript numbers, (-0).toFixed(0) is '0', but e.g. (-0.00001).toFixed(0) is '-0'.
  10646. *
  10647. * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.
  10648. * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.
  10649. *
  10650. * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.
  10651. * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.
  10652. * (-0).toFixed(3) is '0.000'.
  10653. * (-0.5).toFixed(0) is '-0'.
  10654. *
  10655. */
  10656. P.toFixed = function (dp, rm) {
  10657. var str,y,
  10658. x = this,
  10659. Ctor = x.constructor;
  10660. if (dp === void 0) {
  10661. str = finiteToString(x);
  10662. } else {
  10663. checkInt32(dp, 0, MAX_DIGITS);
  10664. if (rm === void 0) rm = Ctor.rounding;else
  10665. checkInt32(rm, 0, 8);
  10666. y = finalise(new Ctor(x), dp + x.e + 1, rm);
  10667. str = finiteToString(y, false, dp + y.e + 1);
  10668. }
  10669. // To determine whether to add the minus sign look at the value before it was rounded,
  10670. // i.e. look at `x` rather than `y`.
  10671. return x.isNeg() && !x.isZero() ? '-' + str : str;
  10672. };
  10673. /*
  10674. * Return an array representing the value of this Decimal as a simple fraction with an integer
  10675. * numerator and an integer denominator.
  10676. *
  10677. * The denominator will be a positive non-zero value less than or equal to the specified maximum
  10678. * denominator. If a maximum denominator is not specified, the denominator will be the lowest
  10679. * value necessary to represent the number exactly.
  10680. *
  10681. * [maxD] {number|string|Decimal} Maximum denominator. Integer >= 1 and < Infinity.
  10682. *
  10683. */
  10684. P.toFraction = function (maxD) {
  10685. var d,d0,d1,d2,e,k,n,n0,n1,pr,q,r,
  10686. x = this,
  10687. xd = x.d,
  10688. Ctor = x.constructor;
  10689. if (!xd) return new Ctor(x);
  10690. n1 = d0 = new Ctor(1);
  10691. d1 = n0 = new Ctor(0);
  10692. d = new Ctor(d1);
  10693. e = d.e = getPrecision(xd) - x.e - 1;
  10694. k = e % LOG_BASE;
  10695. d.d[0] = mathpow(10, k < 0 ? LOG_BASE + k : k);
  10696. if (maxD == null) {
  10697. // d is 10**e, the minimum max-denominator needed.
  10698. maxD = e > 0 ? d : n1;
  10699. } else {
  10700. n = new Ctor(maxD);
  10701. if (!n.isInt() || n.lt(n1)) throw Error(invalidArgument + n);
  10702. maxD = n.gt(d) ? e > 0 ? d : n1 : n;
  10703. }
  10704. external = false;
  10705. n = new Ctor(digitsToString(xd));
  10706. pr = Ctor.precision;
  10707. Ctor.precision = e = xd.length * LOG_BASE * 2;
  10708. for (;;) {
  10709. q = divide(n, d, 0, 1, 1);
  10710. d2 = d0.plus(q.times(d1));
  10711. if (d2.cmp(maxD) == 1) break;
  10712. d0 = d1;
  10713. d1 = d2;
  10714. d2 = n1;
  10715. n1 = n0.plus(q.times(d2));
  10716. n0 = d2;
  10717. d2 = d;
  10718. d = n.minus(q.times(d2));
  10719. n = d2;
  10720. }
  10721. d2 = divide(maxD.minus(d0), d1, 0, 1, 1);
  10722. n0 = n0.plus(d2.times(n1));
  10723. d0 = d0.plus(d2.times(d1));
  10724. n0.s = n1.s = x.s;
  10725. // Determine which fraction is closer to x, n0/d0 or n1/d1?
  10726. r = divide(n1, d1, e, 1).minus(x).abs().cmp(divide(n0, d0, e, 1).minus(x).abs()) < 1 ?
  10727. [n1, d1] : [n0, d0];
  10728. Ctor.precision = pr;
  10729. external = true;
  10730. return r;
  10731. };
  10732. /*
  10733. * Return a string representing the value of this Decimal in base 16, round to `sd` significant
  10734. * digits using rounding mode `rm`.
  10735. *
  10736. * If the optional `sd` argument is present then return binary exponential notation.
  10737. *
  10738. * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.
  10739. * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.
  10740. *
  10741. */
  10742. P.toHexadecimal = P.toHex = function (sd, rm) {
  10743. return toStringBinary(this, 16, sd, rm);
  10744. };
  10745. /*
  10746. * Returns a new Decimal whose value is the nearest multiple of `y` in the direction of rounding
  10747. * mode `rm`, or `Decimal.rounding` if `rm` is omitted, to the value of this Decimal.
  10748. *
  10749. * The return value will always have the same sign as this Decimal, unless either this Decimal
  10750. * or `y` is NaN, in which case the return value will be also be NaN.
  10751. *
  10752. * The return value is not affected by the value of `precision`.
  10753. *
  10754. * y {number|string|Decimal} The magnitude to round to a multiple of.
  10755. * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.
  10756. *
  10757. * 'toNearest() rounding mode not an integer: {rm}'
  10758. * 'toNearest() rounding mode out of range: {rm}'
  10759. *
  10760. */
  10761. P.toNearest = function (y, rm) {
  10762. var x = this,
  10763. Ctor = x.constructor;
  10764. x = new Ctor(x);
  10765. if (y == null) {
  10766. // If x is not finite, return x.
  10767. if (!x.d) return x;
  10768. y = new Ctor(1);
  10769. rm = Ctor.rounding;
  10770. } else {
  10771. y = new Ctor(y);
  10772. if (rm === void 0) {
  10773. rm = Ctor.rounding;
  10774. } else {
  10775. checkInt32(rm, 0, 8);
  10776. }
  10777. // If x is not finite, return x if y is not NaN, else NaN.
  10778. if (!x.d) return y.s ? x : y;
  10779. // If y is not finite, return Infinity with the sign of x if y is Infinity, else NaN.
  10780. if (!y.d) {
  10781. if (y.s) y.s = x.s;
  10782. return y;
  10783. }
  10784. }
  10785. // If y is not zero, calculate the nearest multiple of y to x.
  10786. if (y.d[0]) {
  10787. external = false;
  10788. x = divide(x, y, 0, rm, 1).times(y);
  10789. external = true;
  10790. finalise(x);
  10791. // If y is zero, return zero with the sign of x.
  10792. } else {
  10793. y.s = x.s;
  10794. x = y;
  10795. }
  10796. return x;
  10797. };
  10798. /*
  10799. * Return the value of this Decimal converted to a number primitive.
  10800. * Zero keeps its sign.
  10801. *
  10802. */
  10803. P.toNumber = function () {
  10804. return +this;
  10805. };
  10806. /*
  10807. * Return a string representing the value of this Decimal in base 8, round to `sd` significant
  10808. * digits using rounding mode `rm`.
  10809. *
  10810. * If the optional `sd` argument is present then return binary exponential notation.
  10811. *
  10812. * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.
  10813. * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.
  10814. *
  10815. */
  10816. P.toOctal = function (sd, rm) {
  10817. return toStringBinary(this, 8, sd, rm);
  10818. };
  10819. /*
  10820. * Return a new Decimal whose value is the value of this Decimal raised to the power `y`, rounded
  10821. * to `precision` significant digits using rounding mode `rounding`.
  10822. *
  10823. * ECMAScript compliant.
  10824. *
  10825. * pow(x, NaN) = NaN
  10826. * pow(x, ±0) = 1
  10827. * pow(NaN, non-zero) = NaN
  10828. * pow(abs(x) > 1, +Infinity) = +Infinity
  10829. * pow(abs(x) > 1, -Infinity) = +0
  10830. * pow(abs(x) == 1, ±Infinity) = NaN
  10831. * pow(abs(x) < 1, +Infinity) = +0
  10832. * pow(abs(x) < 1, -Infinity) = +Infinity
  10833. * pow(+Infinity, y > 0) = +Infinity
  10834. * pow(+Infinity, y < 0) = +0
  10835. * pow(-Infinity, odd integer > 0) = -Infinity
  10836. * pow(-Infinity, even integer > 0) = +Infinity
  10837. * pow(-Infinity, odd integer < 0) = -0
  10838. * pow(-Infinity, even integer < 0) = +0
  10839. * pow(+0, y > 0) = +0
  10840. * pow(+0, y < 0) = +Infinity
  10841. * pow(-0, odd integer > 0) = -0
  10842. * pow(-0, even integer > 0) = +0
  10843. * pow(-0, odd integer < 0) = -Infinity
  10844. * pow(-0, even integer < 0) = +Infinity
  10845. * pow(finite x < 0, finite non-integer) = NaN
  10846. *
  10847. * For non-integer or very large exponents pow(x, y) is calculated using
  10848. *
  10849. * x^y = exp(y*ln(x))
  10850. *
  10851. * Assuming the first 15 rounding digits are each equally likely to be any digit 0-9, the
  10852. * probability of an incorrectly rounded result
  10853. * P([49]9{14} | [50]0{14}) = 2 * 0.2 * 10^-14 = 4e-15 = 1/2.5e+14
  10854. * i.e. 1 in 250,000,000,000,000
  10855. *
  10856. * If a result is incorrectly rounded the maximum error will be 1 ulp (unit in last place).
  10857. *
  10858. * y {number|string|Decimal} The power to which to raise this Decimal.
  10859. *
  10860. */
  10861. P.toPower = P.pow = function (y) {
  10862. var e,k,pr,r,rm,s,
  10863. x = this,
  10864. Ctor = x.constructor,
  10865. yn = +(y = new Ctor(y));
  10866. // Either ±Infinity, NaN or ±0?
  10867. if (!x.d || !y.d || !x.d[0] || !y.d[0]) return new Ctor(mathpow(+x, yn));
  10868. x = new Ctor(x);
  10869. if (x.eq(1)) return x;
  10870. pr = Ctor.precision;
  10871. rm = Ctor.rounding;
  10872. if (y.eq(1)) return finalise(x, pr, rm);
  10873. // y exponent
  10874. e = mathfloor(y.e / LOG_BASE);
  10875. // If y is a small integer use the 'exponentiation by squaring' algorithm.
  10876. if (e >= y.d.length - 1 && (k = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) {
  10877. r = intPow(Ctor, x, k, pr);
  10878. return y.s < 0 ? new Ctor(1).div(r) : finalise(r, pr, rm);
  10879. }
  10880. s = x.s;
  10881. // if x is negative
  10882. if (s < 0) {
  10883. // if y is not an integer
  10884. if (e < y.d.length - 1) return new Ctor(NaN);
  10885. // Result is positive if x is negative and the last digit of integer y is even.
  10886. if ((y.d[e] & 1) == 0) s = 1;
  10887. // if x.eq(-1)
  10888. if (x.e == 0 && x.d[0] == 1 && x.d.length == 1) {
  10889. x.s = s;
  10890. return x;
  10891. }
  10892. }
  10893. // Estimate result exponent.
  10894. // x^y = 10^e, where e = y * log10(x)
  10895. // log10(x) = log10(x_significand) + x_exponent
  10896. // log10(x_significand) = ln(x_significand) / ln(10)
  10897. k = mathpow(+x, yn);
  10898. e = k == 0 || !isFinite(k) ?
  10899. mathfloor(yn * (Math.log('0.' + digitsToString(x.d)) / Math.LN10 + x.e + 1)) :
  10900. new Ctor(k + '').e;
  10901. // Exponent estimate may be incorrect e.g. x: 0.999999999999999999, y: 2.29, e: 0, r.e: -1.
  10902. // Overflow/underflow?
  10903. if (e > Ctor.maxE + 1 || e < Ctor.minE - 1) return new Ctor(e > 0 ? s / 0 : 0);
  10904. external = false;
  10905. Ctor.rounding = x.s = 1;
  10906. // Estimate the extra guard digits needed to ensure five correct rounding digits from
  10907. // naturalLogarithm(x). Example of failure without these extra digits (precision: 10):
  10908. // new Decimal(2.32456).pow('2087987436534566.46411')
  10909. // should be 1.162377823e+764914905173815, but is 1.162355823e+764914905173815
  10910. k = Math.min(12, (e + '').length);
  10911. // r = x^y = exp(y*ln(x))
  10912. r = naturalExponential(y.times(naturalLogarithm(x, pr + k)), pr);
  10913. // r may be Infinity, e.g. (0.9999999999999999).pow(-1e+40)
  10914. if (r.d) {
  10915. // Truncate to the required precision plus five rounding digits.
  10916. r = finalise(r, pr + 5, 1);
  10917. // If the rounding digits are [49]9999 or [50]0000 increase the precision by 10 and recalculate
  10918. // the result.
  10919. if (checkRoundingDigits(r.d, pr, rm)) {
  10920. e = pr + 10;
  10921. // Truncate to the increased precision plus five rounding digits.
  10922. r = finalise(naturalExponential(y.times(naturalLogarithm(x, e + k)), e), e + 5, 1);
  10923. // Check for 14 nines from the 2nd rounding digit (the first rounding digit may be 4 or 9).
  10924. if (+digitsToString(r.d).slice(pr + 1, pr + 15) + 1 == 1e14) {
  10925. r = finalise(r, pr + 1, 0);
  10926. }
  10927. }
  10928. }
  10929. r.s = s;
  10930. external = true;
  10931. Ctor.rounding = rm;
  10932. return finalise(r, pr, rm);
  10933. };
  10934. /*
  10935. * Return a string representing the value of this Decimal rounded to `sd` significant digits
  10936. * using rounding mode `rounding`.
  10937. *
  10938. * Return exponential notation if `sd` is less than the number of digits necessary to represent
  10939. * the integer part of the value in normal notation.
  10940. *
  10941. * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.
  10942. * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.
  10943. *
  10944. */
  10945. P.toPrecision = function (sd, rm) {
  10946. var str,
  10947. x = this,
  10948. Ctor = x.constructor;
  10949. if (sd === void 0) {
  10950. str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);
  10951. } else {
  10952. checkInt32(sd, 1, MAX_DIGITS);
  10953. if (rm === void 0) rm = Ctor.rounding;else
  10954. checkInt32(rm, 0, 8);
  10955. x = finalise(new Ctor(x), sd, rm);
  10956. str = finiteToString(x, sd <= x.e || x.e <= Ctor.toExpNeg, sd);
  10957. }
  10958. return x.isNeg() && !x.isZero() ? '-' + str : str;
  10959. };
  10960. /*
  10961. * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `sd`
  10962. * significant digits using rounding mode `rm`, or to `precision` and `rounding` respectively if
  10963. * omitted.
  10964. *
  10965. * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.
  10966. * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.
  10967. *
  10968. * 'toSD() digits out of range: {sd}'
  10969. * 'toSD() digits not an integer: {sd}'
  10970. * 'toSD() rounding mode not an integer: {rm}'
  10971. * 'toSD() rounding mode out of range: {rm}'
  10972. *
  10973. */
  10974. P.toSignificantDigits = P.toSD = function (sd, rm) {
  10975. var x = this,
  10976. Ctor = x.constructor;
  10977. if (sd === void 0) {
  10978. sd = Ctor.precision;
  10979. rm = Ctor.rounding;
  10980. } else {
  10981. checkInt32(sd, 1, MAX_DIGITS);
  10982. if (rm === void 0) rm = Ctor.rounding;else
  10983. checkInt32(rm, 0, 8);
  10984. }
  10985. return finalise(new Ctor(x), sd, rm);
  10986. };
  10987. /*
  10988. * Return a string representing the value of this Decimal.
  10989. *
  10990. * Return exponential notation if this Decimal has a positive exponent equal to or greater than
  10991. * `toExpPos`, or a negative exponent equal to or less than `toExpNeg`.
  10992. *
  10993. */
  10994. P.toString = function () {
  10995. var x = this,
  10996. Ctor = x.constructor,
  10997. str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);
  10998. return x.isNeg() && !x.isZero() ? '-' + str : str;
  10999. };
  11000. /*
  11001. * Return a new Decimal whose value is the value of this Decimal truncated to a whole number.
  11002. *
  11003. */
  11004. P.truncated = P.trunc = function () {
  11005. return finalise(new this.constructor(this), this.e + 1, 1);
  11006. };
  11007. /*
  11008. * Return a string representing the value of this Decimal.
  11009. * Unlike `toString`, negative zero will include the minus sign.
  11010. *
  11011. */
  11012. P.valueOf = P.toJSON = function () {
  11013. var x = this,
  11014. Ctor = x.constructor,
  11015. str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);
  11016. return x.isNeg() ? '-' + str : str;
  11017. };
  11018. // Helper functions for Decimal.prototype (P) and/or Decimal methods, and their callers.
  11019. /*
  11020. * digitsToString P.cubeRoot, P.logarithm, P.squareRoot, P.toFraction, P.toPower,
  11021. * finiteToString, naturalExponential, naturalLogarithm
  11022. * checkInt32 P.toDecimalPlaces, P.toExponential, P.toFixed, P.toNearest,
  11023. * P.toPrecision, P.toSignificantDigits, toStringBinary, random
  11024. * checkRoundingDigits P.logarithm, P.toPower, naturalExponential, naturalLogarithm
  11025. * convertBase toStringBinary, parseOther
  11026. * cos P.cos
  11027. * divide P.atanh, P.cubeRoot, P.dividedBy, P.dividedToIntegerBy,
  11028. * P.logarithm, P.modulo, P.squareRoot, P.tan, P.tanh, P.toFraction,
  11029. * P.toNearest, toStringBinary, naturalExponential, naturalLogarithm,
  11030. * taylorSeries, atan2, parseOther
  11031. * finalise P.absoluteValue, P.atan, P.atanh, P.ceil, P.cos, P.cosh,
  11032. * P.cubeRoot, P.dividedToIntegerBy, P.floor, P.logarithm, P.minus,
  11033. * P.modulo, P.negated, P.plus, P.round, P.sin, P.sinh, P.squareRoot,
  11034. * P.tan, P.times, P.toDecimalPlaces, P.toExponential, P.toFixed,
  11035. * P.toNearest, P.toPower, P.toPrecision, P.toSignificantDigits,
  11036. * P.truncated, divide, getLn10, getPi, naturalExponential,
  11037. * naturalLogarithm, ceil, floor, round, trunc
  11038. * finiteToString P.toExponential, P.toFixed, P.toPrecision, P.toString, P.valueOf,
  11039. * toStringBinary
  11040. * getBase10Exponent P.minus, P.plus, P.times, parseOther
  11041. * getLn10 P.logarithm, naturalLogarithm
  11042. * getPi P.acos, P.asin, P.atan, toLessThanHalfPi, atan2
  11043. * getPrecision P.precision, P.toFraction
  11044. * getZeroString digitsToString, finiteToString
  11045. * intPow P.toPower, parseOther
  11046. * isOdd toLessThanHalfPi
  11047. * maxOrMin max, min
  11048. * naturalExponential P.naturalExponential, P.toPower
  11049. * naturalLogarithm P.acosh, P.asinh, P.atanh, P.logarithm, P.naturalLogarithm,
  11050. * P.toPower, naturalExponential
  11051. * nonFiniteToString finiteToString, toStringBinary
  11052. * parseDecimal Decimal
  11053. * parseOther Decimal
  11054. * sin P.sin
  11055. * taylorSeries P.cosh, P.sinh, cos, sin
  11056. * toLessThanHalfPi P.cos, P.sin
  11057. * toStringBinary P.toBinary, P.toHexadecimal, P.toOctal
  11058. * truncate intPow
  11059. *
  11060. * Throws: P.logarithm, P.precision, P.toFraction, checkInt32, getLn10, getPi,
  11061. * naturalLogarithm, config, parseOther, random, Decimal
  11062. */
  11063. function digitsToString(d) {
  11064. var i,k,ws,
  11065. indexOfLastWord = d.length - 1,
  11066. str = '',
  11067. w = d[0];
  11068. if (indexOfLastWord > 0) {
  11069. str += w;
  11070. for (i = 1; i < indexOfLastWord; i++) {
  11071. ws = d[i] + '';
  11072. k = LOG_BASE - ws.length;
  11073. if (k) str += getZeroString(k);
  11074. str += ws;
  11075. }
  11076. w = d[i];
  11077. ws = w + '';
  11078. k = LOG_BASE - ws.length;
  11079. if (k) str += getZeroString(k);
  11080. } else if (w === 0) {
  11081. return '0';
  11082. }
  11083. // Remove trailing zeros of last w.
  11084. for (; w % 10 === 0;) {w /= 10;}
  11085. return str + w;
  11086. }
  11087. function checkInt32(i, min, max) {
  11088. if (i !== ~~i || i < min || i > max) {
  11089. throw Error(invalidArgument + i);
  11090. }
  11091. }
  11092. /*
  11093. * Check 5 rounding digits if `repeating` is null, 4 otherwise.
  11094. * `repeating == null` if caller is `log` or `pow`,
  11095. * `repeating != null` if caller is `naturalLogarithm` or `naturalExponential`.
  11096. */
  11097. function checkRoundingDigits(d, i, rm, repeating) {
  11098. var di, k, r, rd;
  11099. // Get the length of the first word of the array d.
  11100. for (k = d[0]; k >= 10; k /= 10) {--i;}
  11101. // Is the rounding digit in the first word of d?
  11102. if (--i < 0) {
  11103. i += LOG_BASE;
  11104. di = 0;
  11105. } else {
  11106. di = Math.ceil((i + 1) / LOG_BASE);
  11107. i %= LOG_BASE;
  11108. }
  11109. // i is the index (0 - 6) of the rounding digit.
  11110. // E.g. if within the word 3487563 the first rounding digit is 5,
  11111. // then i = 4, k = 1000, rd = 3487563 % 1000 = 563
  11112. k = mathpow(10, LOG_BASE - i);
  11113. rd = d[di] % k | 0;
  11114. if (repeating == null) {
  11115. if (i < 3) {
  11116. if (i == 0) rd = rd / 100 | 0;else
  11117. if (i == 1) rd = rd / 10 | 0;
  11118. r = rm < 4 && rd == 99999 || rm > 3 && rd == 49999 || rd == 50000 || rd == 0;
  11119. } else {
  11120. r = (rm < 4 && rd + 1 == k || rm > 3 && rd + 1 == k / 2) &&
  11121. (d[di + 1] / k / 100 | 0) == mathpow(10, i - 2) - 1 ||
  11122. (rd == k / 2 || rd == 0) && (d[di + 1] / k / 100 | 0) == 0;
  11123. }
  11124. } else {
  11125. if (i < 4) {
  11126. if (i == 0) rd = rd / 1000 | 0;else
  11127. if (i == 1) rd = rd / 100 | 0;else
  11128. if (i == 2) rd = rd / 10 | 0;
  11129. r = (repeating || rm < 4) && rd == 9999 || !repeating && rm > 3 && rd == 4999;
  11130. } else {
  11131. r = ((repeating || rm < 4) && rd + 1 == k ||
  11132. !repeating && rm > 3 && rd + 1 == k / 2) &&
  11133. (d[di + 1] / k / 1000 | 0) == mathpow(10, i - 3) - 1;
  11134. }
  11135. }
  11136. return r;
  11137. }
  11138. // Convert string of `baseIn` to an array of numbers of `baseOut`.
  11139. // Eg. convertBase('255', 10, 16) returns [15, 15].
  11140. // Eg. convertBase('ff', 16, 10) returns [2, 5, 5].
  11141. function convertBase(str, baseIn, baseOut) {
  11142. var j,
  11143. arr = [0],
  11144. arrL,
  11145. i = 0,
  11146. strL = str.length;
  11147. for (; i < strL;) {
  11148. for (arrL = arr.length; arrL--;) {arr[arrL] *= baseIn;}
  11149. arr[0] += NUMERALS.indexOf(str.charAt(i++));
  11150. for (j = 0; j < arr.length; j++) {
  11151. if (arr[j] > baseOut - 1) {
  11152. if (arr[j + 1] === void 0) arr[j + 1] = 0;
  11153. arr[j + 1] += arr[j] / baseOut | 0;
  11154. arr[j] %= baseOut;
  11155. }
  11156. }
  11157. }
  11158. return arr.reverse();
  11159. }
  11160. /*
  11161. * cos(x) = 1 - x^2/2! + x^4/4! - ...
  11162. * |x| < pi/2
  11163. *
  11164. */
  11165. function cosine(Ctor, x) {
  11166. var k, len, y;
  11167. if (x.isZero()) return x;
  11168. // Argument reduction: cos(4x) = 8*(cos^4(x) - cos^2(x)) + 1
  11169. // i.e. cos(x) = 8*(cos^4(x/4) - cos^2(x/4)) + 1
  11170. // Estimate the optimum number of times to use the argument reduction.
  11171. len = x.d.length;
  11172. if (len < 32) {
  11173. k = Math.ceil(len / 3);
  11174. y = (1 / tinyPow(4, k)).toString();
  11175. } else {
  11176. k = 16;
  11177. y = '2.3283064365386962890625e-10';
  11178. }
  11179. Ctor.precision += k;
  11180. x = taylorSeries(Ctor, 1, x.times(y), new Ctor(1));
  11181. // Reverse argument reduction
  11182. for (var i = k; i--;) {
  11183. var cos2x = x.times(x);
  11184. x = cos2x.times(cos2x).minus(cos2x).times(8).plus(1);
  11185. }
  11186. Ctor.precision -= k;
  11187. return x;
  11188. }
  11189. /*
  11190. * Perform division in the specified base.
  11191. */
  11192. var divide = function () {
  11193. // Assumes non-zero x and k, and hence non-zero result.
  11194. function multiplyInteger(x, k, base) {
  11195. var temp,
  11196. carry = 0,
  11197. i = x.length;
  11198. for (x = x.slice(); i--;) {
  11199. temp = x[i] * k + carry;
  11200. x[i] = temp % base | 0;
  11201. carry = temp / base | 0;
  11202. }
  11203. if (carry) x.unshift(carry);
  11204. return x;
  11205. }
  11206. function compare(a, b, aL, bL) {
  11207. var i, r;
  11208. if (aL != bL) {
  11209. r = aL > bL ? 1 : -1;
  11210. } else {
  11211. for (i = r = 0; i < aL; i++) {
  11212. if (a[i] != b[i]) {
  11213. r = a[i] > b[i] ? 1 : -1;
  11214. break;
  11215. }
  11216. }
  11217. }
  11218. return r;
  11219. }
  11220. function subtract(a, b, aL, base) {
  11221. var i = 0;
  11222. // Subtract b from a.
  11223. for (; aL--;) {
  11224. a[aL] -= i;
  11225. i = a[aL] < b[aL] ? 1 : 0;
  11226. a[aL] = i * base + a[aL] - b[aL];
  11227. }
  11228. // Remove leading zeros.
  11229. for (; !a[0] && a.length > 1;) {a.shift();}
  11230. }
  11231. return function (x, y, pr, rm, dp, base) {
  11232. var cmp,e,i,k,logBase,more,prod,prodL,q,qd,rem,remL,rem0,sd,t,xi,xL,yd0,
  11233. yL,yz,
  11234. Ctor = x.constructor,
  11235. sign = x.s == y.s ? 1 : -1,
  11236. xd = x.d,
  11237. yd = y.d;
  11238. // Either NaN, Infinity or 0?
  11239. if (!xd || !xd[0] || !yd || !yd[0]) {
  11240. return new Ctor( // Return NaN if either NaN, or both Infinity or 0.
  11241. !x.s || !y.s || (xd ? yd && xd[0] == yd[0] : !yd) ? NaN :
  11242. // Return ±0 if x is 0 or y is ±Infinity, or return ±Infinity as y is 0.
  11243. xd && xd[0] == 0 || !yd ? sign * 0 : sign / 0);
  11244. }
  11245. if (base) {
  11246. logBase = 1;
  11247. e = x.e - y.e;
  11248. } else {
  11249. base = BASE;
  11250. logBase = LOG_BASE;
  11251. e = mathfloor(x.e / logBase) - mathfloor(y.e / logBase);
  11252. }
  11253. yL = yd.length;
  11254. xL = xd.length;
  11255. q = new Ctor(sign);
  11256. qd = q.d = [];
  11257. // Result exponent may be one less than e.
  11258. // The digit array of a Decimal from toStringBinary may have trailing zeros.
  11259. for (i = 0; yd[i] == (xd[i] || 0); i++) {;}
  11260. if (yd[i] > (xd[i] || 0)) e--;
  11261. if (pr == null) {
  11262. sd = pr = Ctor.precision;
  11263. rm = Ctor.rounding;
  11264. } else if (dp) {
  11265. sd = pr + (x.e - y.e) + 1;
  11266. } else {
  11267. sd = pr;
  11268. }
  11269. if (sd < 0) {
  11270. qd.push(1);
  11271. more = true;
  11272. } else {
  11273. // Convert precision in number of base 10 digits to base 1e7 digits.
  11274. sd = sd / logBase + 2 | 0;
  11275. i = 0;
  11276. // divisor < 1e7
  11277. if (yL == 1) {
  11278. k = 0;
  11279. yd = yd[0];
  11280. sd++;
  11281. // k is the carry.
  11282. for (; (i < xL || k) && sd--; i++) {
  11283. t = k * base + (xd[i] || 0);
  11284. qd[i] = t / yd | 0;
  11285. k = t % yd | 0;
  11286. }
  11287. more = k || i < xL;
  11288. // divisor >= 1e7
  11289. } else {
  11290. // Normalise xd and yd so highest order digit of yd is >= base/2
  11291. k = base / (yd[0] + 1) | 0;
  11292. if (k > 1) {
  11293. yd = multiplyInteger(yd, k, base);
  11294. xd = multiplyInteger(xd, k, base);
  11295. yL = yd.length;
  11296. xL = xd.length;
  11297. }
  11298. xi = yL;
  11299. rem = xd.slice(0, yL);
  11300. remL = rem.length;
  11301. // Add zeros to make remainder as long as divisor.
  11302. for (; remL < yL;) {rem[remL++] = 0;}
  11303. yz = yd.slice();
  11304. yz.unshift(0);
  11305. yd0 = yd[0];
  11306. if (yd[1] >= base / 2) ++yd0;
  11307. do {
  11308. k = 0;
  11309. // Compare divisor and remainder.
  11310. cmp = compare(yd, rem, yL, remL);
  11311. // If divisor < remainder.
  11312. if (cmp < 0) {
  11313. // Calculate trial digit, k.
  11314. rem0 = rem[0];
  11315. if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);
  11316. // k will be how many times the divisor goes into the current remainder.
  11317. k = rem0 / yd0 | 0;
  11318. // Algorithm:
  11319. // 1. product = divisor * trial digit (k)
  11320. // 2. if product > remainder: product -= divisor, k--
  11321. // 3. remainder -= product
  11322. // 4. if product was < remainder at 2:
  11323. // 5. compare new remainder and divisor
  11324. // 6. If remainder > divisor: remainder -= divisor, k++
  11325. if (k > 1) {
  11326. if (k >= base) k = base - 1;
  11327. // product = divisor * trial digit.
  11328. prod = multiplyInteger(yd, k, base);
  11329. prodL = prod.length;
  11330. remL = rem.length;
  11331. // Compare product and remainder.
  11332. cmp = compare(prod, rem, prodL, remL);
  11333. // product > remainder.
  11334. if (cmp == 1) {
  11335. k--;
  11336. // Subtract divisor from product.
  11337. subtract(prod, yL < prodL ? yz : yd, prodL, base);
  11338. }
  11339. } else {
  11340. // cmp is -1.
  11341. // If k is 0, there is no need to compare yd and rem again below, so change cmp to 1
  11342. // to avoid it. If k is 1 there is a need to compare yd and rem again below.
  11343. if (k == 0) cmp = k = 1;
  11344. prod = yd.slice();
  11345. }
  11346. prodL = prod.length;
  11347. if (prodL < remL) prod.unshift(0);
  11348. // Subtract product from remainder.
  11349. subtract(rem, prod, remL, base);
  11350. // If product was < previous remainder.
  11351. if (cmp == -1) {
  11352. remL = rem.length;
  11353. // Compare divisor and new remainder.
  11354. cmp = compare(yd, rem, yL, remL);
  11355. // If divisor < new remainder, subtract divisor from remainder.
  11356. if (cmp < 1) {
  11357. k++;
  11358. // Subtract divisor from remainder.
  11359. subtract(rem, yL < remL ? yz : yd, remL, base);
  11360. }
  11361. }
  11362. remL = rem.length;
  11363. } else if (cmp === 0) {
  11364. k++;
  11365. rem = [0];
  11366. } // if cmp === 1, k will be 0
  11367. // Add the next digit, k, to the result array.
  11368. qd[i++] = k;
  11369. // Update the remainder.
  11370. if (cmp && rem[0]) {
  11371. rem[remL++] = xd[xi] || 0;
  11372. } else {
  11373. rem = [xd[xi]];
  11374. remL = 1;
  11375. }
  11376. } while ((xi++ < xL || rem[0] !== void 0) && sd--);
  11377. more = rem[0] !== void 0;
  11378. }
  11379. // Leading zero?
  11380. if (!qd[0]) qd.shift();
  11381. }
  11382. // logBase is 1 when divide is being used for base conversion.
  11383. if (logBase == 1) {
  11384. q.e = e;
  11385. inexact = more;
  11386. } else {
  11387. // To calculate q.e, first get the number of digits of qd[0].
  11388. for (i = 1, k = qd[0]; k >= 10; k /= 10) {i++;}
  11389. q.e = i + e * logBase - 1;
  11390. finalise(q, dp ? pr + q.e + 1 : pr, rm, more);
  11391. }
  11392. return q;
  11393. };
  11394. }();
  11395. /*
  11396. * Round `x` to `sd` significant digits using rounding mode `rm`.
  11397. * Check for over/under-flow.
  11398. */
  11399. function finalise(x, sd, rm, isTruncated) {
  11400. var digits,i,j,k,rd,roundUp,w,xd,xdi,
  11401. Ctor = x.constructor;
  11402. // Don't round if sd is null or undefined.
  11403. out: if (sd != null) {
  11404. xd = x.d;
  11405. // Infinity/NaN.
  11406. if (!xd) return x;
  11407. // rd: the rounding digit, i.e. the digit after the digit that may be rounded up.
  11408. // w: the word of xd containing rd, a base 1e7 number.
  11409. // xdi: the index of w within xd.
  11410. // digits: the number of digits of w.
  11411. // i: what would be the index of rd within w if all the numbers were 7 digits long (i.e. if
  11412. // they had leading zeros)
  11413. // j: if > 0, the actual index of rd within w (if < 0, rd is a leading zero).
  11414. // Get the length of the first word of the digits array xd.
  11415. for (digits = 1, k = xd[0]; k >= 10; k /= 10) {digits++;}
  11416. i = sd - digits;
  11417. // Is the rounding digit in the first word of xd?
  11418. if (i < 0) {
  11419. i += LOG_BASE;
  11420. j = sd;
  11421. w = xd[xdi = 0];
  11422. // Get the rounding digit at index j of w.
  11423. rd = w / mathpow(10, digits - j - 1) % 10 | 0;
  11424. } else {
  11425. xdi = Math.ceil((i + 1) / LOG_BASE);
  11426. k = xd.length;
  11427. if (xdi >= k) {
  11428. if (isTruncated) {
  11429. // Needed by `naturalExponential`, `naturalLogarithm` and `squareRoot`.
  11430. for (; k++ <= xdi;) {xd.push(0);}
  11431. w = rd = 0;
  11432. digits = 1;
  11433. i %= LOG_BASE;
  11434. j = i - LOG_BASE + 1;
  11435. } else {
  11436. break out;
  11437. }
  11438. } else {
  11439. w = k = xd[xdi];
  11440. // Get the number of digits of w.
  11441. for (digits = 1; k >= 10; k /= 10) {digits++;}
  11442. // Get the index of rd within w.
  11443. i %= LOG_BASE;
  11444. // Get the index of rd within w, adjusted for leading zeros.
  11445. // The number of leading zeros of w is given by LOG_BASE - digits.
  11446. j = i - LOG_BASE + digits;
  11447. // Get the rounding digit at index j of w.
  11448. rd = j < 0 ? 0 : w / mathpow(10, digits - j - 1) % 10 | 0;
  11449. }
  11450. }
  11451. // Are there any non-zero digits after the rounding digit?
  11452. isTruncated = isTruncated || sd < 0 ||
  11453. xd[xdi + 1] !== void 0 || (j < 0 ? w : w % mathpow(10, digits - j - 1));
  11454. // The expression `w % mathpow(10, digits - j - 1)` returns all the digits of w to the right
  11455. // of the digit at (left-to-right) index j, e.g. if w is 908714 and j is 2, the expression
  11456. // will give 714.
  11457. roundUp = rm < 4 ?
  11458. (rd || isTruncated) && (rm == 0 || rm == (x.s < 0 ? 3 : 2)) :
  11459. rd > 5 || rd == 5 && (rm == 4 || isTruncated || rm == 6 &&
  11460. // Check whether the digit to the left of the rounding digit is odd.
  11461. (i > 0 ? j > 0 ? w / mathpow(10, digits - j) : 0 : xd[xdi - 1]) % 10 & 1 ||
  11462. rm == (x.s < 0 ? 8 : 7));
  11463. if (sd < 1 || !xd[0]) {
  11464. xd.length = 0;
  11465. if (roundUp) {
  11466. // Convert sd to decimal places.
  11467. sd -= x.e + 1;
  11468. // 1, 0.1, 0.01, 0.001, 0.0001 etc.
  11469. xd[0] = mathpow(10, (LOG_BASE - sd % LOG_BASE) % LOG_BASE);
  11470. x.e = -sd || 0;
  11471. } else {
  11472. // Zero.
  11473. xd[0] = x.e = 0;
  11474. }
  11475. return x;
  11476. }
  11477. // Remove excess digits.
  11478. if (i == 0) {
  11479. xd.length = xdi;
  11480. k = 1;
  11481. xdi--;
  11482. } else {
  11483. xd.length = xdi + 1;
  11484. k = mathpow(10, LOG_BASE - i);
  11485. // E.g. 56700 becomes 56000 if 7 is the rounding digit.
  11486. // j > 0 means i > number of leading zeros of w.
  11487. xd[xdi] = j > 0 ? (w / mathpow(10, digits - j) % mathpow(10, j) | 0) * k : 0;
  11488. }
  11489. if (roundUp) {
  11490. for (;;) {
  11491. // Is the digit to be rounded up in the first word of xd?
  11492. if (xdi == 0) {
  11493. // i will be the length of xd[0] before k is added.
  11494. for (i = 1, j = xd[0]; j >= 10; j /= 10) {i++;}
  11495. j = xd[0] += k;
  11496. for (k = 1; j >= 10; j /= 10) {k++;}
  11497. // if i != k the length has increased.
  11498. if (i != k) {
  11499. x.e++;
  11500. if (xd[0] == BASE) xd[0] = 1;
  11501. }
  11502. break;
  11503. } else {
  11504. xd[xdi] += k;
  11505. if (xd[xdi] != BASE) break;
  11506. xd[xdi--] = 0;
  11507. k = 1;
  11508. }
  11509. }
  11510. }
  11511. // Remove trailing zeros.
  11512. for (i = xd.length; xd[--i] === 0;) {xd.pop();}
  11513. }
  11514. if (external) {
  11515. // Overflow?
  11516. if (x.e > Ctor.maxE) {
  11517. // Infinity.
  11518. x.d = null;
  11519. x.e = NaN;
  11520. // Underflow?
  11521. } else if (x.e < Ctor.minE) {
  11522. // Zero.
  11523. x.e = 0;
  11524. x.d = [0];
  11525. // Ctor.underflow = true;
  11526. } // else Ctor.underflow = false;
  11527. }
  11528. return x;
  11529. }
  11530. function finiteToString(x, isExp, sd) {
  11531. if (!x.isFinite()) return nonFiniteToString(x);
  11532. var k,
  11533. e = x.e,
  11534. str = digitsToString(x.d),
  11535. len = str.length;
  11536. if (isExp) {
  11537. if (sd && (k = sd - len) > 0) {
  11538. str = str.charAt(0) + '.' + str.slice(1) + getZeroString(k);
  11539. } else if (len > 1) {
  11540. str = str.charAt(0) + '.' + str.slice(1);
  11541. }
  11542. str = str + (x.e < 0 ? 'e' : 'e+') + x.e;
  11543. } else if (e < 0) {
  11544. str = '0.' + getZeroString(-e - 1) + str;
  11545. if (sd && (k = sd - len) > 0) str += getZeroString(k);
  11546. } else if (e >= len) {
  11547. str += getZeroString(e + 1 - len);
  11548. if (sd && (k = sd - e - 1) > 0) str = str + '.' + getZeroString(k);
  11549. } else {
  11550. if ((k = e + 1) < len) str = str.slice(0, k) + '.' + str.slice(k);
  11551. if (sd && (k = sd - len) > 0) {
  11552. if (e + 1 === len) str += '.';
  11553. str += getZeroString(k);
  11554. }
  11555. }
  11556. return str;
  11557. }
  11558. // Calculate the base 10 exponent from the base 1e7 exponent.
  11559. function getBase10Exponent(digits, e) {
  11560. var w = digits[0];
  11561. // Add the number of digits of the first word of the digits array.
  11562. for (e *= LOG_BASE; w >= 10; w /= 10) {e++;}
  11563. return e;
  11564. }
  11565. function getLn10(Ctor, sd, pr) {
  11566. if (sd > LN10_PRECISION) {
  11567. // Reset global state in case the exception is caught.
  11568. external = true;
  11569. if (pr) Ctor.precision = pr;
  11570. throw Error(precisionLimitExceeded);
  11571. }
  11572. return finalise(new Ctor(LN10), sd, 1, true);
  11573. }
  11574. function getPi(Ctor, sd, rm) {
  11575. if (sd > PI_PRECISION) throw Error(precisionLimitExceeded);
  11576. return finalise(new Ctor(PI), sd, rm, true);
  11577. }
  11578. function getPrecision(digits) {
  11579. var w = digits.length - 1,
  11580. len = w * LOG_BASE + 1;
  11581. w = digits[w];
  11582. // If non-zero...
  11583. if (w) {
  11584. // Subtract the number of trailing zeros of the last word.
  11585. for (; w % 10 == 0; w /= 10) {len--;}
  11586. // Add the number of digits of the first word.
  11587. for (w = digits[0]; w >= 10; w /= 10) {len++;}
  11588. }
  11589. return len;
  11590. }
  11591. function getZeroString(k) {
  11592. var zs = '';
  11593. for (; k--;) {zs += '0';}
  11594. return zs;
  11595. }
  11596. /*
  11597. * Return a new Decimal whose value is the value of Decimal `x` to the power `n`, where `n` is an
  11598. * integer of type number.
  11599. *
  11600. * Implements 'exponentiation by squaring'. Called by `pow` and `parseOther`.
  11601. *
  11602. */
  11603. function intPow(Ctor, x, n, pr) {
  11604. var isTruncated,
  11605. r = new Ctor(1),
  11606. // Max n of 9007199254740991 takes 53 loop iterations.
  11607. // Maximum digits array length; leaves [28, 34] guard digits.
  11608. k = Math.ceil(pr / LOG_BASE + 4);
  11609. external = false;
  11610. for (;;) {
  11611. if (n % 2) {
  11612. r = r.times(x);
  11613. if (truncate(r.d, k)) isTruncated = true;
  11614. }
  11615. n = mathfloor(n / 2);
  11616. if (n === 0) {
  11617. // To ensure correct rounding when r.d is truncated, increment the last word if it is zero.
  11618. n = r.d.length - 1;
  11619. if (isTruncated && r.d[n] === 0) ++r.d[n];
  11620. break;
  11621. }
  11622. x = x.times(x);
  11623. truncate(x.d, k);
  11624. }
  11625. external = true;
  11626. return r;
  11627. }
  11628. function isOdd(n) {
  11629. return n.d[n.d.length - 1] & 1;
  11630. }
  11631. /*
  11632. * Handle `max` and `min`. `ltgt` is 'lt' or 'gt'.
  11633. */
  11634. function maxOrMin(Ctor, args, ltgt) {
  11635. var y,
  11636. x = new Ctor(args[0]),
  11637. i = 0;
  11638. for (; ++i < args.length;) {
  11639. y = new Ctor(args[i]);
  11640. if (!y.s) {
  11641. x = y;
  11642. break;
  11643. } else if (x[ltgt](y)) {
  11644. x = y;
  11645. }
  11646. }
  11647. return x;
  11648. }
  11649. /*
  11650. * Return a new Decimal whose value is the natural exponential of `x` rounded to `sd` significant
  11651. * digits.
  11652. *
  11653. * Taylor/Maclaurin series.
  11654. *
  11655. * exp(x) = x^0/0! + x^1/1! + x^2/2! + x^3/3! + ...
  11656. *
  11657. * Argument reduction:
  11658. * Repeat x = x / 32, k += 5, until |x| < 0.1
  11659. * exp(x) = exp(x / 2^k)^(2^k)
  11660. *
  11661. * Previously, the argument was initially reduced by
  11662. * exp(x) = exp(r) * 10^k where r = x - k * ln10, k = floor(x / ln10)
  11663. * to first put r in the range [0, ln10], before dividing by 32 until |x| < 0.1, but this was
  11664. * found to be slower than just dividing repeatedly by 32 as above.
  11665. *
  11666. * Max integer argument: exp('20723265836946413') = 6.3e+9000000000000000
  11667. * Min integer argument: exp('-20723265836946411') = 1.2e-9000000000000000
  11668. * (Math object integer min/max: Math.exp(709) = 8.2e+307, Math.exp(-745) = 5e-324)
  11669. *
  11670. * exp(Infinity) = Infinity
  11671. * exp(-Infinity) = 0
  11672. * exp(NaN) = NaN
  11673. * exp(±0) = 1
  11674. *
  11675. * exp(x) is non-terminating for any finite, non-zero x.
  11676. *
  11677. * The result will always be correctly rounded.
  11678. *
  11679. */
  11680. function naturalExponential(x, sd) {
  11681. var denominator,guard,j,pow,sum,t,wpr,
  11682. rep = 0,
  11683. i = 0,
  11684. k = 0,
  11685. Ctor = x.constructor,
  11686. rm = Ctor.rounding,
  11687. pr = Ctor.precision;
  11688. // 0/NaN/Infinity?
  11689. if (!x.d || !x.d[0] || x.e > 17) {
  11690. return new Ctor(x.d ?
  11691. !x.d[0] ? 1 : x.s < 0 ? 0 : 1 / 0 :
  11692. x.s ? x.s < 0 ? 0 : x : 0 / 0);
  11693. }
  11694. if (sd == null) {
  11695. external = false;
  11696. wpr = pr;
  11697. } else {
  11698. wpr = sd;
  11699. }
  11700. t = new Ctor(0.03125);
  11701. // while abs(x) >= 0.1
  11702. while (x.e > -2) {
  11703. // x = x / 2^5
  11704. x = x.times(t);
  11705. k += 5;
  11706. }
  11707. // Use 2 * log10(2^k) + 5 (empirically derived) to estimate the increase in precision
  11708. // necessary to ensure the first 4 rounding digits are correct.
  11709. guard = Math.log(mathpow(2, k)) / Math.LN10 * 2 + 5 | 0;
  11710. wpr += guard;
  11711. denominator = pow = sum = new Ctor(1);
  11712. Ctor.precision = wpr;
  11713. for (;;) {
  11714. pow = finalise(pow.times(x), wpr, 1);
  11715. denominator = denominator.times(++i);
  11716. t = sum.plus(divide(pow, denominator, wpr, 1));
  11717. if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {
  11718. j = k;
  11719. while (j--) {sum = finalise(sum.times(sum), wpr, 1);}
  11720. // Check to see if the first 4 rounding digits are [49]999.
  11721. // If so, repeat the summation with a higher precision, otherwise
  11722. // e.g. with precision: 18, rounding: 1
  11723. // exp(18.404272462595034083567793919843761) = 98372560.1229999999 (should be 98372560.123)
  11724. // `wpr - guard` is the index of first rounding digit.
  11725. if (sd == null) {
  11726. if (rep < 3 && checkRoundingDigits(sum.d, wpr - guard, rm, rep)) {
  11727. Ctor.precision = wpr += 10;
  11728. denominator = pow = t = new Ctor(1);
  11729. i = 0;
  11730. rep++;
  11731. } else {
  11732. return finalise(sum, Ctor.precision = pr, rm, external = true);
  11733. }
  11734. } else {
  11735. Ctor.precision = pr;
  11736. return sum;
  11737. }
  11738. }
  11739. sum = t;
  11740. }
  11741. }
  11742. /*
  11743. * Return a new Decimal whose value is the natural logarithm of `x` rounded to `sd` significant
  11744. * digits.
  11745. *
  11746. * ln(-n) = NaN
  11747. * ln(0) = -Infinity
  11748. * ln(-0) = -Infinity
  11749. * ln(1) = 0
  11750. * ln(Infinity) = Infinity
  11751. * ln(-Infinity) = NaN
  11752. * ln(NaN) = NaN
  11753. *
  11754. * ln(n) (n != 1) is non-terminating.
  11755. *
  11756. */
  11757. function naturalLogarithm(y, sd) {
  11758. var c,c0,denominator,e,numerator,rep,sum,t,wpr,x1,x2,
  11759. n = 1,
  11760. guard = 10,
  11761. x = y,
  11762. xd = x.d,
  11763. Ctor = x.constructor,
  11764. rm = Ctor.rounding,
  11765. pr = Ctor.precision;
  11766. // Is x negative or Infinity, NaN, 0 or 1?
  11767. if (x.s < 0 || !xd || !xd[0] || !x.e && xd[0] == 1 && xd.length == 1) {
  11768. return new Ctor(xd && !xd[0] ? -1 / 0 : x.s != 1 ? NaN : xd ? 0 : x);
  11769. }
  11770. if (sd == null) {
  11771. external = false;
  11772. wpr = pr;
  11773. } else {
  11774. wpr = sd;
  11775. }
  11776. Ctor.precision = wpr += guard;
  11777. c = digitsToString(xd);
  11778. c0 = c.charAt(0);
  11779. if (Math.abs(e = x.e) < 1.5e15) {
  11780. // Argument reduction.
  11781. // The series converges faster the closer the argument is to 1, so using
  11782. // ln(a^b) = b * ln(a), ln(a) = ln(a^b) / b
  11783. // multiply the argument by itself until the leading digits of the significand are 7, 8, 9,
  11784. // 10, 11, 12 or 13, recording the number of multiplications so the sum of the series can
  11785. // later be divided by this number, then separate out the power of 10 using
  11786. // ln(a*10^b) = ln(a) + b*ln(10).
  11787. // max n is 21 (gives 0.9, 1.0 or 1.1) (9e15 / 21 = 4.2e14).
  11788. //while (c0 < 9 && c0 != 1 || c0 == 1 && c.charAt(1) > 1) {
  11789. // max n is 6 (gives 0.7 - 1.3)
  11790. while (c0 < 7 && c0 != 1 || c0 == 1 && c.charAt(1) > 3) {
  11791. x = x.times(y);
  11792. c = digitsToString(x.d);
  11793. c0 = c.charAt(0);
  11794. n++;
  11795. }
  11796. e = x.e;
  11797. if (c0 > 1) {
  11798. x = new Ctor('0.' + c);
  11799. e++;
  11800. } else {
  11801. x = new Ctor(c0 + '.' + c.slice(1));
  11802. }
  11803. } else {
  11804. // The argument reduction method above may result in overflow if the argument y is a massive
  11805. // number with exponent >= 1500000000000000 (9e15 / 6 = 1.5e15), so instead recall this
  11806. // function using ln(x*10^e) = ln(x) + e*ln(10).
  11807. t = getLn10(Ctor, wpr + 2, pr).times(e + '');
  11808. x = naturalLogarithm(new Ctor(c0 + '.' + c.slice(1)), wpr - guard).plus(t);
  11809. Ctor.precision = pr;
  11810. return sd == null ? finalise(x, pr, rm, external = true) : x;
  11811. }
  11812. // x1 is x reduced to a value near 1.
  11813. x1 = x;
  11814. // Taylor series.
  11815. // ln(y) = ln((1 + x)/(1 - x)) = 2(x + x^3/3 + x^5/5 + x^7/7 + ...)
  11816. // where x = (y - 1)/(y + 1) (|x| < 1)
  11817. sum = numerator = x = divide(x.minus(1), x.plus(1), wpr, 1);
  11818. x2 = finalise(x.times(x), wpr, 1);
  11819. denominator = 3;
  11820. for (;;) {
  11821. numerator = finalise(numerator.times(x2), wpr, 1);
  11822. t = sum.plus(divide(numerator, new Ctor(denominator), wpr, 1));
  11823. if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {
  11824. sum = sum.times(2);
  11825. // Reverse the argument reduction. Check that e is not 0 because, besides preventing an
  11826. // unnecessary calculation, -0 + 0 = +0 and to ensure correct rounding -0 needs to stay -0.
  11827. if (e !== 0) sum = sum.plus(getLn10(Ctor, wpr + 2, pr).times(e + ''));
  11828. sum = divide(sum, new Ctor(n), wpr, 1);
  11829. // Is rm > 3 and the first 4 rounding digits 4999, or rm < 4 (or the summation has
  11830. // been repeated previously) and the first 4 rounding digits 9999?
  11831. // If so, restart the summation with a higher precision, otherwise
  11832. // e.g. with precision: 12, rounding: 1
  11833. // ln(135520028.6126091714265381533) = 18.7246299999 when it should be 18.72463.
  11834. // `wpr - guard` is the index of first rounding digit.
  11835. if (sd == null) {
  11836. if (checkRoundingDigits(sum.d, wpr - guard, rm, rep)) {
  11837. Ctor.precision = wpr += guard;
  11838. t = numerator = x = divide(x1.minus(1), x1.plus(1), wpr, 1);
  11839. x2 = finalise(x.times(x), wpr, 1);
  11840. denominator = rep = 1;
  11841. } else {
  11842. return finalise(sum, Ctor.precision = pr, rm, external = true);
  11843. }
  11844. } else {
  11845. Ctor.precision = pr;
  11846. return sum;
  11847. }
  11848. }
  11849. sum = t;
  11850. denominator += 2;
  11851. }
  11852. }
  11853. // ±Infinity, NaN.
  11854. function nonFiniteToString(x) {
  11855. // Unsigned.
  11856. return String(x.s * x.s / 0);
  11857. }
  11858. /*
  11859. * Parse the value of a new Decimal `x` from string `str`.
  11860. */
  11861. function parseDecimal(x, str) {
  11862. var e, i, len;
  11863. // Decimal point?
  11864. if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');
  11865. // Exponential form?
  11866. if ((i = str.search(/e/i)) > 0) {
  11867. // Determine exponent.
  11868. if (e < 0) e = i;
  11869. e += +str.slice(i + 1);
  11870. str = str.substring(0, i);
  11871. } else if (e < 0) {
  11872. // Integer.
  11873. e = str.length;
  11874. }
  11875. // Determine leading zeros.
  11876. for (i = 0; str.charCodeAt(i) === 48; i++) {;}
  11877. // Determine trailing zeros.
  11878. for (len = str.length; str.charCodeAt(len - 1) === 48; --len) {;}
  11879. str = str.slice(i, len);
  11880. if (str) {
  11881. len -= i;
  11882. x.e = e = e - i - 1;
  11883. x.d = [];
  11884. // Transform base
  11885. // e is the base 10 exponent.
  11886. // i is where to slice str to get the first word of the digits array.
  11887. i = (e + 1) % LOG_BASE;
  11888. if (e < 0) i += LOG_BASE;
  11889. if (i < len) {
  11890. if (i) x.d.push(+str.slice(0, i));
  11891. for (len -= LOG_BASE; i < len;) {x.d.push(+str.slice(i, i += LOG_BASE));}
  11892. str = str.slice(i);
  11893. i = LOG_BASE - str.length;
  11894. } else {
  11895. i -= len;
  11896. }
  11897. for (; i--;) {str += '0';}
  11898. x.d.push(+str);
  11899. if (external) {
  11900. // Overflow?
  11901. if (x.e > x.constructor.maxE) {
  11902. // Infinity.
  11903. x.d = null;
  11904. x.e = NaN;
  11905. // Underflow?
  11906. } else if (x.e < x.constructor.minE) {
  11907. // Zero.
  11908. x.e = 0;
  11909. x.d = [0];
  11910. // x.constructor.underflow = true;
  11911. } // else x.constructor.underflow = false;
  11912. }
  11913. } else {
  11914. // Zero.
  11915. x.e = 0;
  11916. x.d = [0];
  11917. }
  11918. return x;
  11919. }
  11920. /*
  11921. * Parse the value of a new Decimal `x` from a string `str`, which is not a decimal value.
  11922. */
  11923. function parseOther(x, str) {
  11924. var base, Ctor, divisor, i, isFloat, len, p, xd, xe;
  11925. if (str.indexOf('_') > -1) {
  11926. str = str.replace(/(\d)_(?=\d)/g, '$1');
  11927. if (isDecimal.test(str)) return parseDecimal(x, str);
  11928. } else if (str === 'Infinity' || str === 'NaN') {
  11929. if (!+str) x.s = NaN;
  11930. x.e = NaN;
  11931. x.d = null;
  11932. return x;
  11933. }
  11934. if (isHex.test(str)) {
  11935. base = 16;
  11936. str = str.toLowerCase();
  11937. } else if (isBinary.test(str)) {
  11938. base = 2;
  11939. } else if (isOctal.test(str)) {
  11940. base = 8;
  11941. } else {
  11942. throw Error(invalidArgument + str);
  11943. }
  11944. // Is there a binary exponent part?
  11945. i = str.search(/p/i);
  11946. if (i > 0) {
  11947. p = +str.slice(i + 1);
  11948. str = str.substring(2, i);
  11949. } else {
  11950. str = str.slice(2);
  11951. }
  11952. // Convert `str` as an integer then divide the result by `base` raised to a power such that the
  11953. // fraction part will be restored.
  11954. i = str.indexOf('.');
  11955. isFloat = i >= 0;
  11956. Ctor = x.constructor;
  11957. if (isFloat) {
  11958. str = str.replace('.', '');
  11959. len = str.length;
  11960. i = len - i;
  11961. // log[10](16) = 1.2041... , log[10](88) = 1.9444....
  11962. divisor = intPow(Ctor, new Ctor(base), i, i * 2);
  11963. }
  11964. xd = convertBase(str, base, BASE);
  11965. xe = xd.length - 1;
  11966. // Remove trailing zeros.
  11967. for (i = xe; xd[i] === 0; --i) {xd.pop();}
  11968. if (i < 0) return new Ctor(x.s * 0);
  11969. x.e = getBase10Exponent(xd, xe);
  11970. x.d = xd;
  11971. external = false;
  11972. // At what precision to perform the division to ensure exact conversion?
  11973. // maxDecimalIntegerPartDigitCount = ceil(log[10](b) * otherBaseIntegerPartDigitCount)
  11974. // log[10](2) = 0.30103, log[10](8) = 0.90309, log[10](16) = 1.20412
  11975. // E.g. ceil(1.2 * 3) = 4, so up to 4 decimal digits are needed to represent 3 hex int digits.
  11976. // maxDecimalFractionPartDigitCount = {Hex:4|Oct:3|Bin:1} * otherBaseFractionPartDigitCount
  11977. // Therefore using 4 * the number of digits of str will always be enough.
  11978. if (isFloat) x = divide(x, divisor, len * 4);
  11979. // Multiply by the binary exponent part if present.
  11980. if (p) x = x.times(Math.abs(p) < 54 ? mathpow(2, p) : Decimal.pow(2, p));
  11981. external = true;
  11982. return x;
  11983. }
  11984. /*
  11985. * sin(x) = x - x^3/3! + x^5/5! - ...
  11986. * |x| < pi/2
  11987. *
  11988. */
  11989. function sine(Ctor, x) {
  11990. var k,
  11991. len = x.d.length;
  11992. if (len < 3) {
  11993. return x.isZero() ? x : taylorSeries(Ctor, 2, x, x);
  11994. }
  11995. // Argument reduction: sin(5x) = 16*sin^5(x) - 20*sin^3(x) + 5*sin(x)
  11996. // i.e. sin(x) = 16*sin^5(x/5) - 20*sin^3(x/5) + 5*sin(x/5)
  11997. // and sin(x) = sin(x/5)(5 + sin^2(x/5)(16sin^2(x/5) - 20))
  11998. // Estimate the optimum number of times to use the argument reduction.
  11999. k = 1.4 * Math.sqrt(len);
  12000. k = k > 16 ? 16 : k | 0;
  12001. x = x.times(1 / tinyPow(5, k));
  12002. x = taylorSeries(Ctor, 2, x, x);
  12003. // Reverse argument reduction
  12004. var sin2_x,
  12005. d5 = new Ctor(5),
  12006. d16 = new Ctor(16),
  12007. d20 = new Ctor(20);
  12008. for (; k--;) {
  12009. sin2_x = x.times(x);
  12010. x = x.times(d5.plus(sin2_x.times(d16.times(sin2_x).minus(d20))));
  12011. }
  12012. return x;
  12013. }
  12014. // Calculate Taylor series for `cos`, `cosh`, `sin` and `sinh`.
  12015. function taylorSeries(Ctor, n, x, y, isHyperbolic) {
  12016. var j,t,u,x2,
  12017. i = 1,
  12018. pr = Ctor.precision,
  12019. k = Math.ceil(pr / LOG_BASE);
  12020. external = false;
  12021. x2 = x.times(x);
  12022. u = new Ctor(y);
  12023. for (;;) {
  12024. t = divide(u.times(x2), new Ctor(n++ * n++), pr, 1);
  12025. u = isHyperbolic ? y.plus(t) : y.minus(t);
  12026. y = divide(t.times(x2), new Ctor(n++ * n++), pr, 1);
  12027. t = u.plus(y);
  12028. if (t.d[k] !== void 0) {
  12029. for (j = k; t.d[j] === u.d[j] && j--;) {;}
  12030. if (j == -1) break;
  12031. }
  12032. j = u;
  12033. u = y;
  12034. y = t;
  12035. t = j;
  12036. i++;
  12037. }
  12038. external = true;
  12039. t.d.length = k + 1;
  12040. return t;
  12041. }
  12042. // Exponent e must be positive and non-zero.
  12043. function tinyPow(b, e) {
  12044. var n = b;
  12045. while (--e) {n *= b;}
  12046. return n;
  12047. }
  12048. // Return the absolute value of `x` reduced to less than or equal to half pi.
  12049. function toLessThanHalfPi(Ctor, x) {
  12050. var t,
  12051. isNeg = x.s < 0,
  12052. pi = getPi(Ctor, Ctor.precision, 1),
  12053. halfPi = pi.times(0.5);
  12054. x = x.abs();
  12055. if (x.lte(halfPi)) {
  12056. quadrant = isNeg ? 4 : 1;
  12057. return x;
  12058. }
  12059. t = x.divToInt(pi);
  12060. if (t.isZero()) {
  12061. quadrant = isNeg ? 3 : 2;
  12062. } else {
  12063. x = x.minus(t.times(pi));
  12064. // 0 <= x < pi
  12065. if (x.lte(halfPi)) {
  12066. quadrant = isOdd(t) ? isNeg ? 2 : 3 : isNeg ? 4 : 1;
  12067. return x;
  12068. }
  12069. quadrant = isOdd(t) ? isNeg ? 1 : 4 : isNeg ? 3 : 2;
  12070. }
  12071. return x.minus(pi).abs();
  12072. }
  12073. /*
  12074. * Return the value of Decimal `x` as a string in base `baseOut`.
  12075. *
  12076. * If the optional `sd` argument is present include a binary exponent suffix.
  12077. */
  12078. function toStringBinary(x, baseOut, sd, rm) {
  12079. var base,e,i,k,len,roundUp,str,xd,y,
  12080. Ctor = x.constructor,
  12081. isExp = sd !== void 0;
  12082. if (isExp) {
  12083. checkInt32(sd, 1, MAX_DIGITS);
  12084. if (rm === void 0) rm = Ctor.rounding;else
  12085. checkInt32(rm, 0, 8);
  12086. } else {
  12087. sd = Ctor.precision;
  12088. rm = Ctor.rounding;
  12089. }
  12090. if (!x.isFinite()) {
  12091. str = nonFiniteToString(x);
  12092. } else {
  12093. str = finiteToString(x);
  12094. i = str.indexOf('.');
  12095. // Use exponential notation according to `toExpPos` and `toExpNeg`? No, but if required:
  12096. // maxBinaryExponent = floor((decimalExponent + 1) * log[2](10))
  12097. // minBinaryExponent = floor(decimalExponent * log[2](10))
  12098. // log[2](10) = 3.321928094887362347870319429489390175864
  12099. if (isExp) {
  12100. base = 2;
  12101. if (baseOut == 16) {
  12102. sd = sd * 4 - 3;
  12103. } else if (baseOut == 8) {
  12104. sd = sd * 3 - 2;
  12105. }
  12106. } else {
  12107. base = baseOut;
  12108. }
  12109. // Convert the number as an integer then divide the result by its base raised to a power such
  12110. // that the fraction part will be restored.
  12111. // Non-integer.
  12112. if (i >= 0) {
  12113. str = str.replace('.', '');
  12114. y = new Ctor(1);
  12115. y.e = str.length - i;
  12116. y.d = convertBase(finiteToString(y), 10, base);
  12117. y.e = y.d.length;
  12118. }
  12119. xd = convertBase(str, 10, base);
  12120. e = len = xd.length;
  12121. // Remove trailing zeros.
  12122. for (; xd[--len] == 0;) {xd.pop();}
  12123. if (!xd[0]) {
  12124. str = isExp ? '0p+0' : '0';
  12125. } else {
  12126. if (i < 0) {
  12127. e--;
  12128. } else {
  12129. x = new Ctor(x);
  12130. x.d = xd;
  12131. x.e = e;
  12132. x = divide(x, y, sd, rm, 0, base);
  12133. xd = x.d;
  12134. e = x.e;
  12135. roundUp = inexact;
  12136. }
  12137. // The rounding digit, i.e. the digit after the digit that may be rounded up.
  12138. i = xd[sd];
  12139. k = base / 2;
  12140. roundUp = roundUp || xd[sd + 1] !== void 0;
  12141. roundUp = rm < 4 ?
  12142. (i !== void 0 || roundUp) && (rm === 0 || rm === (x.s < 0 ? 3 : 2)) :
  12143. i > k || i === k && (rm === 4 || roundUp || rm === 6 && xd[sd - 1] & 1 ||
  12144. rm === (x.s < 0 ? 8 : 7));
  12145. xd.length = sd;
  12146. if (roundUp) {
  12147. // Rounding up may mean the previous digit has to be rounded up and so on.
  12148. for (; ++xd[--sd] > base - 1;) {
  12149. xd[sd] = 0;
  12150. if (!sd) {
  12151. ++e;
  12152. xd.unshift(1);
  12153. }
  12154. }
  12155. }
  12156. // Determine trailing zeros.
  12157. for (len = xd.length; !xd[len - 1]; --len) {;}
  12158. // E.g. [4, 11, 15] becomes 4bf.
  12159. for (i = 0, str = ''; i < len; i++) {str += NUMERALS.charAt(xd[i]);}
  12160. // Add binary exponent suffix?
  12161. if (isExp) {
  12162. if (len > 1) {
  12163. if (baseOut == 16 || baseOut == 8) {
  12164. i = baseOut == 16 ? 4 : 3;
  12165. for (--len; len % i; len++) {str += '0';}
  12166. xd = convertBase(str, base, baseOut);
  12167. for (len = xd.length; !xd[len - 1]; --len) {;}
  12168. // xd[0] will always be be 1
  12169. for (i = 1, str = '1.'; i < len; i++) {str += NUMERALS.charAt(xd[i]);}
  12170. } else {
  12171. str = str.charAt(0) + '.' + str.slice(1);
  12172. }
  12173. }
  12174. str = str + (e < 0 ? 'p' : 'p+') + e;
  12175. } else if (e < 0) {
  12176. for (; ++e;) {str = '0' + str;}
  12177. str = '0.' + str;
  12178. } else {
  12179. if (++e > len) for (e -= len; e--;) {str += '0';} else
  12180. if (e < len) str = str.slice(0, e) + '.' + str.slice(e);
  12181. }
  12182. }
  12183. str = (baseOut == 16 ? '0x' : baseOut == 2 ? '0b' : baseOut == 8 ? '0o' : '') + str;
  12184. }
  12185. return x.s < 0 ? '-' + str : str;
  12186. }
  12187. // Does not strip trailing zeros.
  12188. function truncate(arr, len) {
  12189. if (arr.length > len) {
  12190. arr.length = len;
  12191. return true;
  12192. }
  12193. }
  12194. // Decimal methods
  12195. /*
  12196. * abs
  12197. * acos
  12198. * acosh
  12199. * add
  12200. * asin
  12201. * asinh
  12202. * atan
  12203. * atanh
  12204. * atan2
  12205. * cbrt
  12206. * ceil
  12207. * clamp
  12208. * clone
  12209. * config
  12210. * cos
  12211. * cosh
  12212. * div
  12213. * exp
  12214. * floor
  12215. * hypot
  12216. * ln
  12217. * log
  12218. * log2
  12219. * log10
  12220. * max
  12221. * min
  12222. * mod
  12223. * mul
  12224. * pow
  12225. * random
  12226. * round
  12227. * set
  12228. * sign
  12229. * sin
  12230. * sinh
  12231. * sqrt
  12232. * sub
  12233. * sum
  12234. * tan
  12235. * tanh
  12236. * trunc
  12237. */
  12238. /*
  12239. * Return a new Decimal whose value is the absolute value of `x`.
  12240. *
  12241. * x {number|string|Decimal}
  12242. *
  12243. */
  12244. function abs(x) {
  12245. return new this(x).abs();
  12246. }
  12247. /*
  12248. * Return a new Decimal whose value is the arccosine in radians of `x`.
  12249. *
  12250. * x {number|string|Decimal}
  12251. *
  12252. */
  12253. function acos(x) {
  12254. return new this(x).acos();
  12255. }
  12256. /*
  12257. * Return a new Decimal whose value is the inverse of the hyperbolic cosine of `x`, rounded to
  12258. * `precision` significant digits using rounding mode `rounding`.
  12259. *
  12260. * x {number|string|Decimal} A value in radians.
  12261. *
  12262. */
  12263. function acosh(x) {
  12264. return new this(x).acosh();
  12265. }
  12266. /*
  12267. * Return a new Decimal whose value is the sum of `x` and `y`, rounded to `precision` significant
  12268. * digits using rounding mode `rounding`.
  12269. *
  12270. * x {number|string|Decimal}
  12271. * y {number|string|Decimal}
  12272. *
  12273. */
  12274. function add(x, y) {
  12275. return new this(x).plus(y);
  12276. }
  12277. /*
  12278. * Return a new Decimal whose value is the arcsine in radians of `x`, rounded to `precision`
  12279. * significant digits using rounding mode `rounding`.
  12280. *
  12281. * x {number|string|Decimal}
  12282. *
  12283. */
  12284. function asin(x) {
  12285. return new this(x).asin();
  12286. }
  12287. /*
  12288. * Return a new Decimal whose value is the inverse of the hyperbolic sine of `x`, rounded to
  12289. * `precision` significant digits using rounding mode `rounding`.
  12290. *
  12291. * x {number|string|Decimal} A value in radians.
  12292. *
  12293. */
  12294. function asinh(x) {
  12295. return new this(x).asinh();
  12296. }
  12297. /*
  12298. * Return a new Decimal whose value is the arctangent in radians of `x`, rounded to `precision`
  12299. * significant digits using rounding mode `rounding`.
  12300. *
  12301. * x {number|string|Decimal}
  12302. *
  12303. */
  12304. function atan(x) {
  12305. return new this(x).atan();
  12306. }
  12307. /*
  12308. * Return a new Decimal whose value is the inverse of the hyperbolic tangent of `x`, rounded to
  12309. * `precision` significant digits using rounding mode `rounding`.
  12310. *
  12311. * x {number|string|Decimal} A value in radians.
  12312. *
  12313. */
  12314. function atanh(x) {
  12315. return new this(x).atanh();
  12316. }
  12317. /*
  12318. * Return a new Decimal whose value is the arctangent in radians of `y/x` in the range -pi to pi
  12319. * (inclusive), rounded to `precision` significant digits using rounding mode `rounding`.
  12320. *
  12321. * Domain: [-Infinity, Infinity]
  12322. * Range: [-pi, pi]
  12323. *
  12324. * y {number|string|Decimal} The y-coordinate.
  12325. * x {number|string|Decimal} The x-coordinate.
  12326. *
  12327. * atan2(±0, -0) = ±pi
  12328. * atan2(±0, +0) = ±0
  12329. * atan2(±0, -x) = ±pi for x > 0
  12330. * atan2(±0, x) = ±0 for x > 0
  12331. * atan2(-y, ±0) = -pi/2 for y > 0
  12332. * atan2(y, ±0) = pi/2 for y > 0
  12333. * atan2(±y, -Infinity) = ±pi for finite y > 0
  12334. * atan2(±y, +Infinity) = ±0 for finite y > 0
  12335. * atan2(±Infinity, x) = ±pi/2 for finite x
  12336. * atan2(±Infinity, -Infinity) = ±3*pi/4
  12337. * atan2(±Infinity, +Infinity) = ±pi/4
  12338. * atan2(NaN, x) = NaN
  12339. * atan2(y, NaN) = NaN
  12340. *
  12341. */
  12342. function atan2(y, x) {
  12343. y = new this(y);
  12344. x = new this(x);
  12345. var r,
  12346. pr = this.precision,
  12347. rm = this.rounding,
  12348. wpr = pr + 4;
  12349. // Either NaN
  12350. if (!y.s || !x.s) {
  12351. r = new this(NaN);
  12352. // Both ±Infinity
  12353. } else if (!y.d && !x.d) {
  12354. r = getPi(this, wpr, 1).times(x.s > 0 ? 0.25 : 0.75);
  12355. r.s = y.s;
  12356. // x is ±Infinity or y is ±0
  12357. } else if (!x.d || y.isZero()) {
  12358. r = x.s < 0 ? getPi(this, pr, rm) : new this(0);
  12359. r.s = y.s;
  12360. // y is ±Infinity or x is ±0
  12361. } else if (!y.d || x.isZero()) {
  12362. r = getPi(this, wpr, 1).times(0.5);
  12363. r.s = y.s;
  12364. // Both non-zero and finite
  12365. } else if (x.s < 0) {
  12366. this.precision = wpr;
  12367. this.rounding = 1;
  12368. r = this.atan(divide(y, x, wpr, 1));
  12369. x = getPi(this, wpr, 1);
  12370. this.precision = pr;
  12371. this.rounding = rm;
  12372. r = y.s < 0 ? r.minus(x) : r.plus(x);
  12373. } else {
  12374. r = this.atan(divide(y, x, wpr, 1));
  12375. }
  12376. return r;
  12377. }
  12378. /*
  12379. * Return a new Decimal whose value is the cube root of `x`, rounded to `precision` significant
  12380. * digits using rounding mode `rounding`.
  12381. *
  12382. * x {number|string|Decimal}
  12383. *
  12384. */
  12385. function cbrt(x) {
  12386. return new this(x).cbrt();
  12387. }
  12388. /*
  12389. * Return a new Decimal whose value is `x` rounded to an integer using `ROUND_CEIL`.
  12390. *
  12391. * x {number|string|Decimal}
  12392. *
  12393. */
  12394. function ceil(x) {
  12395. return finalise(x = new this(x), x.e + 1, 2);
  12396. }
  12397. /*
  12398. * Return a new Decimal whose value is `x` clamped to the range delineated by `min` and `max`.
  12399. *
  12400. * x {number|string|Decimal}
  12401. * min {number|string|Decimal}
  12402. * max {number|string|Decimal}
  12403. *
  12404. */
  12405. function clamp(x, min, max) {
  12406. return new this(x).clamp(min, max);
  12407. }
  12408. /*
  12409. * Configure global settings for a Decimal constructor.
  12410. *
  12411. * `obj` is an object with one or more of the following properties,
  12412. *
  12413. * precision {number}
  12414. * rounding {number}
  12415. * toExpNeg {number}
  12416. * toExpPos {number}
  12417. * maxE {number}
  12418. * minE {number}
  12419. * modulo {number}
  12420. * crypto {boolean|number}
  12421. * defaults {true}
  12422. *
  12423. * E.g. Decimal.config({ precision: 20, rounding: 4 })
  12424. *
  12425. */
  12426. function config(obj) {
  12427. if (!obj || typeof obj !== 'object') throw Error(decimalError + 'Object expected');
  12428. var i,p,v,
  12429. useDefaults = obj.defaults === true,
  12430. ps = [
  12431. 'precision', 1, MAX_DIGITS,
  12432. 'rounding', 0, 8,
  12433. 'toExpNeg', -EXP_LIMIT, 0,
  12434. 'toExpPos', 0, EXP_LIMIT,
  12435. 'maxE', 0, EXP_LIMIT,
  12436. 'minE', -EXP_LIMIT, 0,
  12437. 'modulo', 0, 9];
  12438. for (i = 0; i < ps.length; i += 3) {
  12439. if (p = ps[i], useDefaults) this[p] = DEFAULTS[p];
  12440. if ((v = obj[p]) !== void 0) {
  12441. if (mathfloor(v) === v && v >= ps[i + 1] && v <= ps[i + 2]) this[p] = v;else
  12442. throw Error(invalidArgument + p + ': ' + v);
  12443. }
  12444. }
  12445. if (p = 'crypto', useDefaults) this[p] = DEFAULTS[p];
  12446. if ((v = obj[p]) !== void 0) {
  12447. if (v === true || v === false || v === 0 || v === 1) {
  12448. if (v) {
  12449. if (typeof crypto != 'undefined' && crypto && (
  12450. crypto.getRandomValues || crypto.randomBytes)) {
  12451. this[p] = true;
  12452. } else {
  12453. throw Error(cryptoUnavailable);
  12454. }
  12455. } else {
  12456. this[p] = false;
  12457. }
  12458. } else {
  12459. throw Error(invalidArgument + p + ': ' + v);
  12460. }
  12461. }
  12462. return this;
  12463. }
  12464. /*
  12465. * Return a new Decimal whose value is the cosine of `x`, rounded to `precision` significant
  12466. * digits using rounding mode `rounding`.
  12467. *
  12468. * x {number|string|Decimal} A value in radians.
  12469. *
  12470. */
  12471. function cos(x) {
  12472. return new this(x).cos();
  12473. }
  12474. /*
  12475. * Return a new Decimal whose value is the hyperbolic cosine of `x`, rounded to precision
  12476. * significant digits using rounding mode `rounding`.
  12477. *
  12478. * x {number|string|Decimal} A value in radians.
  12479. *
  12480. */
  12481. function cosh(x) {
  12482. return new this(x).cosh();
  12483. }
  12484. /*
  12485. * Create and return a Decimal constructor with the same configuration properties as this Decimal
  12486. * constructor.
  12487. *
  12488. */
  12489. function clone(obj) {
  12490. var i, p, ps;
  12491. /*
  12492. * The Decimal constructor and exported function.
  12493. * Return a new Decimal instance.
  12494. *
  12495. * v {number|string|Decimal} A numeric value.
  12496. *
  12497. */
  12498. function Decimal(v) {
  12499. var e,i,t,
  12500. x = this;
  12501. // Decimal called without new.
  12502. if (!(x instanceof Decimal)) return new Decimal(v);
  12503. // Retain a reference to this Decimal constructor, and shadow Decimal.prototype.constructor
  12504. // which points to Object.
  12505. x.constructor = Decimal;
  12506. // Duplicate.
  12507. if (isDecimalInstance(v)) {
  12508. x.s = v.s;
  12509. if (external) {
  12510. if (!v.d || v.e > Decimal.maxE) {
  12511. // Infinity.
  12512. x.e = NaN;
  12513. x.d = null;
  12514. } else if (v.e < Decimal.minE) {
  12515. // Zero.
  12516. x.e = 0;
  12517. x.d = [0];
  12518. } else {
  12519. x.e = v.e;
  12520. x.d = v.d.slice();
  12521. }
  12522. } else {
  12523. x.e = v.e;
  12524. x.d = v.d ? v.d.slice() : v.d;
  12525. }
  12526. return;
  12527. }
  12528. t = typeof v;
  12529. if (t === 'number') {
  12530. if (v === 0) {
  12531. x.s = 1 / v < 0 ? -1 : 1;
  12532. x.e = 0;
  12533. x.d = [0];
  12534. return;
  12535. }
  12536. if (v < 0) {
  12537. v = -v;
  12538. x.s = -1;
  12539. } else {
  12540. x.s = 1;
  12541. }
  12542. // Fast path for small integers.
  12543. if (v === ~~v && v < 1e7) {
  12544. for (e = 0, i = v; i >= 10; i /= 10) {e++;}
  12545. if (external) {
  12546. if (e > Decimal.maxE) {
  12547. x.e = NaN;
  12548. x.d = null;
  12549. } else if (e < Decimal.minE) {
  12550. x.e = 0;
  12551. x.d = [0];
  12552. } else {
  12553. x.e = e;
  12554. x.d = [v];
  12555. }
  12556. } else {
  12557. x.e = e;
  12558. x.d = [v];
  12559. }
  12560. return;
  12561. // Infinity, NaN.
  12562. } else if (v * 0 !== 0) {
  12563. if (!v) x.s = NaN;
  12564. x.e = NaN;
  12565. x.d = null;
  12566. return;
  12567. }
  12568. return parseDecimal(x, v.toString());
  12569. } else if (t !== 'string') {
  12570. throw Error(invalidArgument + v);
  12571. }
  12572. // Minus sign?
  12573. if ((i = v.charCodeAt(0)) === 45) {
  12574. v = v.slice(1);
  12575. x.s = -1;
  12576. } else {
  12577. // Plus sign?
  12578. if (i === 43) v = v.slice(1);
  12579. x.s = 1;
  12580. }
  12581. return isDecimal.test(v) ? parseDecimal(x, v) : parseOther(x, v);
  12582. }
  12583. Decimal.prototype = P;
  12584. Decimal.ROUND_UP = 0;
  12585. Decimal.ROUND_DOWN = 1;
  12586. Decimal.ROUND_CEIL = 2;
  12587. Decimal.ROUND_FLOOR = 3;
  12588. Decimal.ROUND_HALF_UP = 4;
  12589. Decimal.ROUND_HALF_DOWN = 5;
  12590. Decimal.ROUND_HALF_EVEN = 6;
  12591. Decimal.ROUND_HALF_CEIL = 7;
  12592. Decimal.ROUND_HALF_FLOOR = 8;
  12593. Decimal.EUCLID = 9;
  12594. Decimal.config = Decimal.set = config;
  12595. Decimal.clone = clone;
  12596. Decimal.isDecimal = isDecimalInstance;
  12597. Decimal.abs = abs;
  12598. Decimal.acos = acos;
  12599. Decimal.acosh = acosh; // ES6
  12600. Decimal.add = add;
  12601. Decimal.asin = asin;
  12602. Decimal.asinh = asinh; // ES6
  12603. Decimal.atan = atan;
  12604. Decimal.atanh = atanh; // ES6
  12605. Decimal.atan2 = atan2;
  12606. Decimal.cbrt = cbrt; // ES6
  12607. Decimal.ceil = ceil;
  12608. Decimal.clamp = clamp;
  12609. Decimal.cos = cos;
  12610. Decimal.cosh = cosh; // ES6
  12611. Decimal.div = div;
  12612. Decimal.exp = exp;
  12613. Decimal.floor = floor;
  12614. Decimal.hypot = hypot; // ES6
  12615. Decimal.ln = ln;
  12616. Decimal.log = log;
  12617. Decimal.log10 = log10; // ES6
  12618. Decimal.log2 = log2; // ES6
  12619. Decimal.max = max;
  12620. Decimal.min = min;
  12621. Decimal.mod = mod;
  12622. Decimal.mul = mul;
  12623. Decimal.pow = pow;
  12624. Decimal.random = random;
  12625. Decimal.round = round;
  12626. Decimal.sign = sign; // ES6
  12627. Decimal.sin = sin;
  12628. Decimal.sinh = sinh; // ES6
  12629. Decimal.sqrt = sqrt;
  12630. Decimal.sub = sub;
  12631. Decimal.sum = sum;
  12632. Decimal.tan = tan;
  12633. Decimal.tanh = tanh; // ES6
  12634. Decimal.trunc = trunc; // ES6
  12635. if (obj === void 0) obj = {};
  12636. if (obj) {
  12637. if (obj.defaults !== true) {
  12638. ps = ['precision', 'rounding', 'toExpNeg', 'toExpPos', 'maxE', 'minE', 'modulo', 'crypto'];
  12639. for (i = 0; i < ps.length;) {if (!obj.hasOwnProperty(p = ps[i++])) obj[p] = this[p];}
  12640. }
  12641. }
  12642. Decimal.config(obj);
  12643. return Decimal;
  12644. }
  12645. /*
  12646. * Return a new Decimal whose value is `x` divided by `y`, rounded to `precision` significant
  12647. * digits using rounding mode `rounding`.
  12648. *
  12649. * x {number|string|Decimal}
  12650. * y {number|string|Decimal}
  12651. *
  12652. */
  12653. function div(x, y) {
  12654. return new this(x).div(y);
  12655. }
  12656. /*
  12657. * Return a new Decimal whose value is the natural exponential of `x`, rounded to `precision`
  12658. * significant digits using rounding mode `rounding`.
  12659. *
  12660. * x {number|string|Decimal} The power to which to raise the base of the natural log.
  12661. *
  12662. */
  12663. function exp(x) {
  12664. return new this(x).exp();
  12665. }
  12666. /*
  12667. * Return a new Decimal whose value is `x` round to an integer using `ROUND_FLOOR`.
  12668. *
  12669. * x {number|string|Decimal}
  12670. *
  12671. */
  12672. function floor(x) {
  12673. return finalise(x = new this(x), x.e + 1, 3);
  12674. }
  12675. /*
  12676. * Return a new Decimal whose value is the square root of the sum of the squares of the arguments,
  12677. * rounded to `precision` significant digits using rounding mode `rounding`.
  12678. *
  12679. * hypot(a, b, ...) = sqrt(a^2 + b^2 + ...)
  12680. *
  12681. * arguments {number|string|Decimal}
  12682. *
  12683. */
  12684. function hypot() {
  12685. var i,n,
  12686. t = new this(0);
  12687. external = false;
  12688. for (i = 0; i < arguments.length;) {
  12689. n = new this(arguments[i++]);
  12690. if (!n.d) {
  12691. if (n.s) {
  12692. external = true;
  12693. return new this(1 / 0);
  12694. }
  12695. t = n;
  12696. } else if (t.d) {
  12697. t = t.plus(n.times(n));
  12698. }
  12699. }
  12700. external = true;
  12701. return t.sqrt();
  12702. }
  12703. /*
  12704. * Return true if object is a Decimal instance (where Decimal is any Decimal constructor),
  12705. * otherwise return false.
  12706. *
  12707. */
  12708. function isDecimalInstance(obj) {
  12709. return obj instanceof Decimal || obj && obj.toStringTag === tag || false;
  12710. }
  12711. /*
  12712. * Return a new Decimal whose value is the natural logarithm of `x`, rounded to `precision`
  12713. * significant digits using rounding mode `rounding`.
  12714. *
  12715. * x {number|string|Decimal}
  12716. *
  12717. */
  12718. function ln(x) {
  12719. return new this(x).ln();
  12720. }
  12721. /*
  12722. * Return a new Decimal whose value is the log of `x` to the base `y`, or to base 10 if no base
  12723. * is specified, rounded to `precision` significant digits using rounding mode `rounding`.
  12724. *
  12725. * log[y](x)
  12726. *
  12727. * x {number|string|Decimal} The argument of the logarithm.
  12728. * y {number|string|Decimal} The base of the logarithm.
  12729. *
  12730. */
  12731. function log(x, y) {
  12732. return new this(x).log(y);
  12733. }
  12734. /*
  12735. * Return a new Decimal whose value is the base 2 logarithm of `x`, rounded to `precision`
  12736. * significant digits using rounding mode `rounding`.
  12737. *
  12738. * x {number|string|Decimal}
  12739. *
  12740. */
  12741. function log2(x) {
  12742. return new this(x).log(2);
  12743. }
  12744. /*
  12745. * Return a new Decimal whose value is the base 10 logarithm of `x`, rounded to `precision`
  12746. * significant digits using rounding mode `rounding`.
  12747. *
  12748. * x {number|string|Decimal}
  12749. *
  12750. */
  12751. function log10(x) {
  12752. return new this(x).log(10);
  12753. }
  12754. /*
  12755. * Return a new Decimal whose value is the maximum of the arguments.
  12756. *
  12757. * arguments {number|string|Decimal}
  12758. *
  12759. */
  12760. function max() {
  12761. return maxOrMin(this, arguments, 'lt');
  12762. }
  12763. /*
  12764. * Return a new Decimal whose value is the minimum of the arguments.
  12765. *
  12766. * arguments {number|string|Decimal}
  12767. *
  12768. */
  12769. function min() {
  12770. return maxOrMin(this, arguments, 'gt');
  12771. }
  12772. /*
  12773. * Return a new Decimal whose value is `x` modulo `y`, rounded to `precision` significant digits
  12774. * using rounding mode `rounding`.
  12775. *
  12776. * x {number|string|Decimal}
  12777. * y {number|string|Decimal}
  12778. *
  12779. */
  12780. function mod(x, y) {
  12781. return new this(x).mod(y);
  12782. }
  12783. /*
  12784. * Return a new Decimal whose value is `x` multiplied by `y`, rounded to `precision` significant
  12785. * digits using rounding mode `rounding`.
  12786. *
  12787. * x {number|string|Decimal}
  12788. * y {number|string|Decimal}
  12789. *
  12790. */
  12791. function mul(x, y) {
  12792. return new this(x).mul(y);
  12793. }
  12794. /*
  12795. * Return a new Decimal whose value is `x` raised to the power `y`, rounded to precision
  12796. * significant digits using rounding mode `rounding`.
  12797. *
  12798. * x {number|string|Decimal} The base.
  12799. * y {number|string|Decimal} The exponent.
  12800. *
  12801. */
  12802. function pow(x, y) {
  12803. return new this(x).pow(y);
  12804. }
  12805. /*
  12806. * Returns a new Decimal with a random value equal to or greater than 0 and less than 1, and with
  12807. * `sd`, or `Decimal.precision` if `sd` is omitted, significant digits (or less if trailing zeros
  12808. * are produced).
  12809. *
  12810. * [sd] {number} Significant digits. Integer, 0 to MAX_DIGITS inclusive.
  12811. *
  12812. */
  12813. function random(sd) {
  12814. var d,e,k,n,
  12815. i = 0,
  12816. r = new this(1),
  12817. rd = [];
  12818. if (sd === void 0) sd = this.precision;else
  12819. checkInt32(sd, 1, MAX_DIGITS);
  12820. k = Math.ceil(sd / LOG_BASE);
  12821. if (!this.crypto) {
  12822. for (; i < k;) {rd[i++] = Math.random() * 1e7 | 0;}
  12823. // Browsers supporting crypto.getRandomValues.
  12824. } else if (crypto.getRandomValues) {
  12825. d = crypto.getRandomValues(new Uint32Array(k));
  12826. for (; i < k;) {
  12827. n = d[i];
  12828. // 0 <= n < 4294967296
  12829. // Probability n >= 4.29e9, is 4967296 / 4294967296 = 0.00116 (1 in 865).
  12830. if (n >= 4.29e9) {
  12831. d[i] = crypto.getRandomValues(new Uint32Array(1))[0];
  12832. } else {
  12833. // 0 <= n <= 4289999999
  12834. // 0 <= (n % 1e7) <= 9999999
  12835. rd[i++] = n % 1e7;
  12836. }
  12837. }
  12838. // Node.js supporting crypto.randomBytes.
  12839. } else if (crypto.randomBytes) {
  12840. // buffer
  12841. d = crypto.randomBytes(k *= 4);
  12842. for (; i < k;) {
  12843. // 0 <= n < 2147483648
  12844. n = d[i] + (d[i + 1] << 8) + (d[i + 2] << 16) + ((d[i + 3] & 0x7f) << 24);
  12845. // Probability n >= 2.14e9, is 7483648 / 2147483648 = 0.0035 (1 in 286).
  12846. if (n >= 2.14e9) {
  12847. crypto.randomBytes(4).copy(d, i);
  12848. } else {
  12849. // 0 <= n <= 2139999999
  12850. // 0 <= (n % 1e7) <= 9999999
  12851. rd.push(n % 1e7);
  12852. i += 4;
  12853. }
  12854. }
  12855. i = k / 4;
  12856. } else {
  12857. throw Error(cryptoUnavailable);
  12858. }
  12859. k = rd[--i];
  12860. sd %= LOG_BASE;
  12861. // Convert trailing digits to zeros according to sd.
  12862. if (k && sd) {
  12863. n = mathpow(10, LOG_BASE - sd);
  12864. rd[i] = (k / n | 0) * n;
  12865. }
  12866. // Remove trailing words which are zero.
  12867. for (; rd[i] === 0; i--) {rd.pop();}
  12868. // Zero?
  12869. if (i < 0) {
  12870. e = 0;
  12871. rd = [0];
  12872. } else {
  12873. e = -1;
  12874. // Remove leading words which are zero and adjust exponent accordingly.
  12875. for (; rd[0] === 0; e -= LOG_BASE) {rd.shift();}
  12876. // Count the digits of the first word of rd to determine leading zeros.
  12877. for (k = 1, n = rd[0]; n >= 10; n /= 10) {k++;}
  12878. // Adjust the exponent for leading zeros of the first word of rd.
  12879. if (k < LOG_BASE) e -= LOG_BASE - k;
  12880. }
  12881. r.e = e;
  12882. r.d = rd;
  12883. return r;
  12884. }
  12885. /*
  12886. * Return a new Decimal whose value is `x` rounded to an integer using rounding mode `rounding`.
  12887. *
  12888. * To emulate `Math.round`, set rounding to 7 (ROUND_HALF_CEIL).
  12889. *
  12890. * x {number|string|Decimal}
  12891. *
  12892. */
  12893. function round(x) {
  12894. return finalise(x = new this(x), x.e + 1, this.rounding);
  12895. }
  12896. /*
  12897. * Return
  12898. * 1 if x > 0,
  12899. * -1 if x < 0,
  12900. * 0 if x is 0,
  12901. * -0 if x is -0,
  12902. * NaN otherwise
  12903. *
  12904. * x {number|string|Decimal}
  12905. *
  12906. */
  12907. function sign(x) {
  12908. x = new this(x);
  12909. return x.d ? x.d[0] ? x.s : 0 * x.s : x.s || NaN;
  12910. }
  12911. /*
  12912. * Return a new Decimal whose value is the sine of `x`, rounded to `precision` significant digits
  12913. * using rounding mode `rounding`.
  12914. *
  12915. * x {number|string|Decimal} A value in radians.
  12916. *
  12917. */
  12918. function sin(x) {
  12919. return new this(x).sin();
  12920. }
  12921. /*
  12922. * Return a new Decimal whose value is the hyperbolic sine of `x`, rounded to `precision`
  12923. * significant digits using rounding mode `rounding`.
  12924. *
  12925. * x {number|string|Decimal} A value in radians.
  12926. *
  12927. */
  12928. function sinh(x) {
  12929. return new this(x).sinh();
  12930. }
  12931. /*
  12932. * Return a new Decimal whose value is the square root of `x`, rounded to `precision` significant
  12933. * digits using rounding mode `rounding`.
  12934. *
  12935. * x {number|string|Decimal}
  12936. *
  12937. */
  12938. function sqrt(x) {
  12939. return new this(x).sqrt();
  12940. }
  12941. /*
  12942. * Return a new Decimal whose value is `x` minus `y`, rounded to `precision` significant digits
  12943. * using rounding mode `rounding`.
  12944. *
  12945. * x {number|string|Decimal}
  12946. * y {number|string|Decimal}
  12947. *
  12948. */
  12949. function sub(x, y) {
  12950. return new this(x).sub(y);
  12951. }
  12952. /*
  12953. * Return a new Decimal whose value is the sum of the arguments, rounded to `precision`
  12954. * significant digits using rounding mode `rounding`.
  12955. *
  12956. * Only the result is rounded, not the intermediate calculations.
  12957. *
  12958. * arguments {number|string|Decimal}
  12959. *
  12960. */
  12961. function sum() {
  12962. var i = 0,
  12963. args = arguments,
  12964. x = new this(args[i]);
  12965. external = false;
  12966. for (; x.s && ++i < args.length;) {x = x.plus(args[i]);}
  12967. external = true;
  12968. return finalise(x, this.precision, this.rounding);
  12969. }
  12970. /*
  12971. * Return a new Decimal whose value is the tangent of `x`, rounded to `precision` significant
  12972. * digits using rounding mode `rounding`.
  12973. *
  12974. * x {number|string|Decimal} A value in radians.
  12975. *
  12976. */
  12977. function tan(x) {
  12978. return new this(x).tan();
  12979. }
  12980. /*
  12981. * Return a new Decimal whose value is the hyperbolic tangent of `x`, rounded to `precision`
  12982. * significant digits using rounding mode `rounding`.
  12983. *
  12984. * x {number|string|Decimal} A value in radians.
  12985. *
  12986. */
  12987. function tanh(x) {
  12988. return new this(x).tanh();
  12989. }
  12990. /*
  12991. * Return a new Decimal whose value is `x` truncated to an integer.
  12992. *
  12993. * x {number|string|Decimal}
  12994. *
  12995. */
  12996. function trunc(x) {
  12997. return finalise(x = new this(x), x.e + 1, 1);
  12998. }
  12999. // Create and configure initial Decimal constructor.
  13000. Decimal = clone(DEFAULTS);
  13001. Decimal.prototype.constructor = Decimal;
  13002. Decimal['default'] = Decimal.Decimal = Decimal;
  13003. // Create the internal constants from their string values.
  13004. LN10 = new Decimal(LN10);
  13005. PI = new Decimal(PI);
  13006. // Export.
  13007. // AMD.
  13008. if (true) {
  13009. !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {
  13010. return Decimal;
  13011. }).call(exports, __webpack_require__, exports, module),
  13012. __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
  13013. // Node and other environments that support module.exports.
  13014. } else {}
  13015. })(this);
  13016. /***/ }),
  13017. /* 19 */,
  13018. /* 20 */,
  13019. /* 21 */,
  13020. /* 22 */,
  13021. /* 23 */,
  13022. /* 24 */,
  13023. /* 25 */
  13024. /*!****************************************************!*\
  13025. !*** D:/wxproject/项目模板/uniapp/static/foods_2.webp ***!
  13026. \****************************************************/
  13027. /*! no static exports found */
  13028. /***/ (function(module, exports) {
  13029. module.exports = "/static/foods_2.webp";
  13030. /***/ }),
  13031. /* 26 */,
  13032. /* 27 */,
  13033. /* 28 */,
  13034. /* 29 */,
  13035. /* 30 */,
  13036. /* 31 */,
  13037. /* 32 */,
  13038. /* 33 */,
  13039. /* 34 */,
  13040. /* 35 */,
  13041. /* 36 */,
  13042. /* 37 */,
  13043. /* 38 */,
  13044. /* 39 */,
  13045. /* 40 */,
  13046. /* 41 */,
  13047. /* 42 */,
  13048. /* 43 */,
  13049. /* 44 */,
  13050. /* 45 */,
  13051. /* 46 */,
  13052. /* 47 */,
  13053. /* 48 */,
  13054. /* 49 */,
  13055. /* 50 */,
  13056. /* 51 */,
  13057. /* 52 */,
  13058. /* 53 */,
  13059. /* 54 */,
  13060. /* 55 */,
  13061. /* 56 */,
  13062. /* 57 */,
  13063. /* 58 */,
  13064. /* 59 */,
  13065. /* 60 */,
  13066. /* 61 */,
  13067. /* 62 */,
  13068. /* 63 */,
  13069. /* 64 */,
  13070. /* 65 */,
  13071. /* 66 */,
  13072. /* 67 */,
  13073. /* 68 */,
  13074. /* 69 */,
  13075. /* 70 */,
  13076. /* 71 */,
  13077. /* 72 */,
  13078. /* 73 */,
  13079. /* 74 */,
  13080. /* 75 */
  13081. /*!************************************************************************************!*\
  13082. !*** D:/wxproject/项目模板/uniapp/uni_modules/uni-icons/components/uni-icons/icons.js ***!
  13083. \************************************************************************************/
  13084. /*! no static exports found */
  13085. /***/ (function(module, exports, __webpack_require__) {
  13086. "use strict";
  13087. Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _default = {
  13088. "id": "2852637",
  13089. "name": "uniui图标库",
  13090. "font_family": "uniicons",
  13091. "css_prefix_text": "uniui-",
  13092. "description": "",
  13093. "glyphs": [
  13094. {
  13095. "icon_id": "25027049",
  13096. "name": "yanse",
  13097. "font_class": "color",
  13098. "unicode": "e6cf",
  13099. "unicode_decimal": 59087 },
  13100. {
  13101. "icon_id": "25027048",
  13102. "name": "wallet",
  13103. "font_class": "wallet",
  13104. "unicode": "e6b1",
  13105. "unicode_decimal": 59057 },
  13106. {
  13107. "icon_id": "25015720",
  13108. "name": "settings-filled",
  13109. "font_class": "settings-filled",
  13110. "unicode": "e6ce",
  13111. "unicode_decimal": 59086 },
  13112. {
  13113. "icon_id": "25015434",
  13114. "name": "shimingrenzheng-filled",
  13115. "font_class": "auth-filled",
  13116. "unicode": "e6cc",
  13117. "unicode_decimal": 59084 },
  13118. {
  13119. "icon_id": "24934246",
  13120. "name": "shop-filled",
  13121. "font_class": "shop-filled",
  13122. "unicode": "e6cd",
  13123. "unicode_decimal": 59085 },
  13124. {
  13125. "icon_id": "24934159",
  13126. "name": "staff-filled-01",
  13127. "font_class": "staff-filled",
  13128. "unicode": "e6cb",
  13129. "unicode_decimal": 59083 },
  13130. {
  13131. "icon_id": "24932461",
  13132. "name": "VIP-filled",
  13133. "font_class": "vip-filled",
  13134. "unicode": "e6c6",
  13135. "unicode_decimal": 59078 },
  13136. {
  13137. "icon_id": "24932462",
  13138. "name": "plus_circle_fill",
  13139. "font_class": "plus-filled",
  13140. "unicode": "e6c7",
  13141. "unicode_decimal": 59079 },
  13142. {
  13143. "icon_id": "24932463",
  13144. "name": "folder_add-filled",
  13145. "font_class": "folder-add-filled",
  13146. "unicode": "e6c8",
  13147. "unicode_decimal": 59080 },
  13148. {
  13149. "icon_id": "24932464",
  13150. "name": "yanse-filled",
  13151. "font_class": "color-filled",
  13152. "unicode": "e6c9",
  13153. "unicode_decimal": 59081 },
  13154. {
  13155. "icon_id": "24932465",
  13156. "name": "tune-filled",
  13157. "font_class": "tune-filled",
  13158. "unicode": "e6ca",
  13159. "unicode_decimal": 59082 },
  13160. {
  13161. "icon_id": "24932455",
  13162. "name": "a-rilidaka-filled",
  13163. "font_class": "calendar-filled",
  13164. "unicode": "e6c0",
  13165. "unicode_decimal": 59072 },
  13166. {
  13167. "icon_id": "24932456",
  13168. "name": "notification-filled",
  13169. "font_class": "notification-filled",
  13170. "unicode": "e6c1",
  13171. "unicode_decimal": 59073 },
  13172. {
  13173. "icon_id": "24932457",
  13174. "name": "wallet-filled",
  13175. "font_class": "wallet-filled",
  13176. "unicode": "e6c2",
  13177. "unicode_decimal": 59074 },
  13178. {
  13179. "icon_id": "24932458",
  13180. "name": "paihangbang-filled",
  13181. "font_class": "medal-filled",
  13182. "unicode": "e6c3",
  13183. "unicode_decimal": 59075 },
  13184. {
  13185. "icon_id": "24932459",
  13186. "name": "gift-filled",
  13187. "font_class": "gift-filled",
  13188. "unicode": "e6c4",
  13189. "unicode_decimal": 59076 },
  13190. {
  13191. "icon_id": "24932460",
  13192. "name": "fire-filled",
  13193. "font_class": "fire-filled",
  13194. "unicode": "e6c5",
  13195. "unicode_decimal": 59077 },
  13196. {
  13197. "icon_id": "24928001",
  13198. "name": "refreshempty",
  13199. "font_class": "refreshempty",
  13200. "unicode": "e6bf",
  13201. "unicode_decimal": 59071 },
  13202. {
  13203. "icon_id": "24926853",
  13204. "name": "location-ellipse",
  13205. "font_class": "location-filled",
  13206. "unicode": "e6af",
  13207. "unicode_decimal": 59055 },
  13208. {
  13209. "icon_id": "24926735",
  13210. "name": "person-filled",
  13211. "font_class": "person-filled",
  13212. "unicode": "e69d",
  13213. "unicode_decimal": 59037 },
  13214. {
  13215. "icon_id": "24926703",
  13216. "name": "personadd-filled",
  13217. "font_class": "personadd-filled",
  13218. "unicode": "e698",
  13219. "unicode_decimal": 59032 },
  13220. {
  13221. "icon_id": "24923351",
  13222. "name": "back",
  13223. "font_class": "back",
  13224. "unicode": "e6b9",
  13225. "unicode_decimal": 59065 },
  13226. {
  13227. "icon_id": "24923352",
  13228. "name": "forward",
  13229. "font_class": "forward",
  13230. "unicode": "e6ba",
  13231. "unicode_decimal": 59066 },
  13232. {
  13233. "icon_id": "24923353",
  13234. "name": "arrowthinright",
  13235. "font_class": "arrow-right",
  13236. "unicode": "e6bb",
  13237. "unicode_decimal": 59067 },
  13238. {
  13239. "icon_id": "24923353",
  13240. "name": "arrowthinright",
  13241. "font_class": "arrowthinright",
  13242. "unicode": "e6bb",
  13243. "unicode_decimal": 59067 },
  13244. {
  13245. "icon_id": "24923354",
  13246. "name": "arrowthinleft",
  13247. "font_class": "arrow-left",
  13248. "unicode": "e6bc",
  13249. "unicode_decimal": 59068 },
  13250. {
  13251. "icon_id": "24923354",
  13252. "name": "arrowthinleft",
  13253. "font_class": "arrowthinleft",
  13254. "unicode": "e6bc",
  13255. "unicode_decimal": 59068 },
  13256. {
  13257. "icon_id": "24923355",
  13258. "name": "arrowthinup",
  13259. "font_class": "arrow-up",
  13260. "unicode": "e6bd",
  13261. "unicode_decimal": 59069 },
  13262. {
  13263. "icon_id": "24923355",
  13264. "name": "arrowthinup",
  13265. "font_class": "arrowthinup",
  13266. "unicode": "e6bd",
  13267. "unicode_decimal": 59069 },
  13268. {
  13269. "icon_id": "24923356",
  13270. "name": "arrowthindown",
  13271. "font_class": "arrow-down",
  13272. "unicode": "e6be",
  13273. "unicode_decimal": 59070 },
  13274. {
  13275. "icon_id": "24923356",
  13276. "name": "arrowthindown",
  13277. "font_class": "arrowthindown",
  13278. "unicode": "e6be",
  13279. "unicode_decimal": 59070 },
  13280. {
  13281. "icon_id": "24923349",
  13282. "name": "arrowdown",
  13283. "font_class": "bottom",
  13284. "unicode": "e6b8",
  13285. "unicode_decimal": 59064 },
  13286. {
  13287. "icon_id": "24923349",
  13288. "name": "arrowdown",
  13289. "font_class": "arrowdown",
  13290. "unicode": "e6b8",
  13291. "unicode_decimal": 59064 },
  13292. {
  13293. "icon_id": "24923346",
  13294. "name": "arrowright",
  13295. "font_class": "right",
  13296. "unicode": "e6b5",
  13297. "unicode_decimal": 59061 },
  13298. {
  13299. "icon_id": "24923346",
  13300. "name": "arrowright",
  13301. "font_class": "arrowright",
  13302. "unicode": "e6b5",
  13303. "unicode_decimal": 59061 },
  13304. {
  13305. "icon_id": "24923347",
  13306. "name": "arrowup",
  13307. "font_class": "top",
  13308. "unicode": "e6b6",
  13309. "unicode_decimal": 59062 },
  13310. {
  13311. "icon_id": "24923347",
  13312. "name": "arrowup",
  13313. "font_class": "arrowup",
  13314. "unicode": "e6b6",
  13315. "unicode_decimal": 59062 },
  13316. {
  13317. "icon_id": "24923348",
  13318. "name": "arrowleft",
  13319. "font_class": "left",
  13320. "unicode": "e6b7",
  13321. "unicode_decimal": 59063 },
  13322. {
  13323. "icon_id": "24923348",
  13324. "name": "arrowleft",
  13325. "font_class": "arrowleft",
  13326. "unicode": "e6b7",
  13327. "unicode_decimal": 59063 },
  13328. {
  13329. "icon_id": "24923334",
  13330. "name": "eye",
  13331. "font_class": "eye",
  13332. "unicode": "e651",
  13333. "unicode_decimal": 58961 },
  13334. {
  13335. "icon_id": "24923335",
  13336. "name": "eye-filled",
  13337. "font_class": "eye-filled",
  13338. "unicode": "e66a",
  13339. "unicode_decimal": 58986 },
  13340. {
  13341. "icon_id": "24923336",
  13342. "name": "eye-slash",
  13343. "font_class": "eye-slash",
  13344. "unicode": "e6b3",
  13345. "unicode_decimal": 59059 },
  13346. {
  13347. "icon_id": "24923337",
  13348. "name": "eye-slash-filled",
  13349. "font_class": "eye-slash-filled",
  13350. "unicode": "e6b4",
  13351. "unicode_decimal": 59060 },
  13352. {
  13353. "icon_id": "24923305",
  13354. "name": "info-filled",
  13355. "font_class": "info-filled",
  13356. "unicode": "e649",
  13357. "unicode_decimal": 58953 },
  13358. {
  13359. "icon_id": "24923299",
  13360. "name": "reload-01",
  13361. "font_class": "reload",
  13362. "unicode": "e6b2",
  13363. "unicode_decimal": 59058 },
  13364. {
  13365. "icon_id": "24923195",
  13366. "name": "mic_slash_fill",
  13367. "font_class": "micoff-filled",
  13368. "unicode": "e6b0",
  13369. "unicode_decimal": 59056 },
  13370. {
  13371. "icon_id": "24923165",
  13372. "name": "map-pin-ellipse",
  13373. "font_class": "map-pin-ellipse",
  13374. "unicode": "e6ac",
  13375. "unicode_decimal": 59052 },
  13376. {
  13377. "icon_id": "24923166",
  13378. "name": "map-pin",
  13379. "font_class": "map-pin",
  13380. "unicode": "e6ad",
  13381. "unicode_decimal": 59053 },
  13382. {
  13383. "icon_id": "24923167",
  13384. "name": "location",
  13385. "font_class": "location",
  13386. "unicode": "e6ae",
  13387. "unicode_decimal": 59054 },
  13388. {
  13389. "icon_id": "24923064",
  13390. "name": "starhalf",
  13391. "font_class": "starhalf",
  13392. "unicode": "e683",
  13393. "unicode_decimal": 59011 },
  13394. {
  13395. "icon_id": "24923065",
  13396. "name": "star",
  13397. "font_class": "star",
  13398. "unicode": "e688",
  13399. "unicode_decimal": 59016 },
  13400. {
  13401. "icon_id": "24923066",
  13402. "name": "star-filled",
  13403. "font_class": "star-filled",
  13404. "unicode": "e68f",
  13405. "unicode_decimal": 59023 },
  13406. {
  13407. "icon_id": "24899646",
  13408. "name": "a-rilidaka",
  13409. "font_class": "calendar",
  13410. "unicode": "e6a0",
  13411. "unicode_decimal": 59040 },
  13412. {
  13413. "icon_id": "24899647",
  13414. "name": "fire",
  13415. "font_class": "fire",
  13416. "unicode": "e6a1",
  13417. "unicode_decimal": 59041 },
  13418. {
  13419. "icon_id": "24899648",
  13420. "name": "paihangbang",
  13421. "font_class": "medal",
  13422. "unicode": "e6a2",
  13423. "unicode_decimal": 59042 },
  13424. {
  13425. "icon_id": "24899649",
  13426. "name": "font",
  13427. "font_class": "font",
  13428. "unicode": "e6a3",
  13429. "unicode_decimal": 59043 },
  13430. {
  13431. "icon_id": "24899650",
  13432. "name": "gift",
  13433. "font_class": "gift",
  13434. "unicode": "e6a4",
  13435. "unicode_decimal": 59044 },
  13436. {
  13437. "icon_id": "24899651",
  13438. "name": "link",
  13439. "font_class": "link",
  13440. "unicode": "e6a5",
  13441. "unicode_decimal": 59045 },
  13442. {
  13443. "icon_id": "24899652",
  13444. "name": "notification",
  13445. "font_class": "notification",
  13446. "unicode": "e6a6",
  13447. "unicode_decimal": 59046 },
  13448. {
  13449. "icon_id": "24899653",
  13450. "name": "staff",
  13451. "font_class": "staff",
  13452. "unicode": "e6a7",
  13453. "unicode_decimal": 59047 },
  13454. {
  13455. "icon_id": "24899654",
  13456. "name": "VIP",
  13457. "font_class": "vip",
  13458. "unicode": "e6a8",
  13459. "unicode_decimal": 59048 },
  13460. {
  13461. "icon_id": "24899655",
  13462. "name": "folder_add",
  13463. "font_class": "folder-add",
  13464. "unicode": "e6a9",
  13465. "unicode_decimal": 59049 },
  13466. {
  13467. "icon_id": "24899656",
  13468. "name": "tune",
  13469. "font_class": "tune",
  13470. "unicode": "e6aa",
  13471. "unicode_decimal": 59050 },
  13472. {
  13473. "icon_id": "24899657",
  13474. "name": "shimingrenzheng",
  13475. "font_class": "auth",
  13476. "unicode": "e6ab",
  13477. "unicode_decimal": 59051 },
  13478. {
  13479. "icon_id": "24899565",
  13480. "name": "person",
  13481. "font_class": "person",
  13482. "unicode": "e699",
  13483. "unicode_decimal": 59033 },
  13484. {
  13485. "icon_id": "24899566",
  13486. "name": "email-filled",
  13487. "font_class": "email-filled",
  13488. "unicode": "e69a",
  13489. "unicode_decimal": 59034 },
  13490. {
  13491. "icon_id": "24899567",
  13492. "name": "phone-filled",
  13493. "font_class": "phone-filled",
  13494. "unicode": "e69b",
  13495. "unicode_decimal": 59035 },
  13496. {
  13497. "icon_id": "24899568",
  13498. "name": "phone",
  13499. "font_class": "phone",
  13500. "unicode": "e69c",
  13501. "unicode_decimal": 59036 },
  13502. {
  13503. "icon_id": "24899570",
  13504. "name": "email",
  13505. "font_class": "email",
  13506. "unicode": "e69e",
  13507. "unicode_decimal": 59038 },
  13508. {
  13509. "icon_id": "24899571",
  13510. "name": "personadd",
  13511. "font_class": "personadd",
  13512. "unicode": "e69f",
  13513. "unicode_decimal": 59039 },
  13514. {
  13515. "icon_id": "24899558",
  13516. "name": "chatboxes-filled",
  13517. "font_class": "chatboxes-filled",
  13518. "unicode": "e692",
  13519. "unicode_decimal": 59026 },
  13520. {
  13521. "icon_id": "24899559",
  13522. "name": "contact",
  13523. "font_class": "contact",
  13524. "unicode": "e693",
  13525. "unicode_decimal": 59027 },
  13526. {
  13527. "icon_id": "24899560",
  13528. "name": "chatbubble-filled",
  13529. "font_class": "chatbubble-filled",
  13530. "unicode": "e694",
  13531. "unicode_decimal": 59028 },
  13532. {
  13533. "icon_id": "24899561",
  13534. "name": "contact-filled",
  13535. "font_class": "contact-filled",
  13536. "unicode": "e695",
  13537. "unicode_decimal": 59029 },
  13538. {
  13539. "icon_id": "24899562",
  13540. "name": "chatboxes",
  13541. "font_class": "chatboxes",
  13542. "unicode": "e696",
  13543. "unicode_decimal": 59030 },
  13544. {
  13545. "icon_id": "24899563",
  13546. "name": "chatbubble",
  13547. "font_class": "chatbubble",
  13548. "unicode": "e697",
  13549. "unicode_decimal": 59031 },
  13550. {
  13551. "icon_id": "24881290",
  13552. "name": "upload-filled",
  13553. "font_class": "upload-filled",
  13554. "unicode": "e68e",
  13555. "unicode_decimal": 59022 },
  13556. {
  13557. "icon_id": "24881292",
  13558. "name": "upload",
  13559. "font_class": "upload",
  13560. "unicode": "e690",
  13561. "unicode_decimal": 59024 },
  13562. {
  13563. "icon_id": "24881293",
  13564. "name": "weixin",
  13565. "font_class": "weixin",
  13566. "unicode": "e691",
  13567. "unicode_decimal": 59025 },
  13568. {
  13569. "icon_id": "24881274",
  13570. "name": "compose",
  13571. "font_class": "compose",
  13572. "unicode": "e67f",
  13573. "unicode_decimal": 59007 },
  13574. {
  13575. "icon_id": "24881275",
  13576. "name": "qq",
  13577. "font_class": "qq",
  13578. "unicode": "e680",
  13579. "unicode_decimal": 59008 },
  13580. {
  13581. "icon_id": "24881276",
  13582. "name": "download-filled",
  13583. "font_class": "download-filled",
  13584. "unicode": "e681",
  13585. "unicode_decimal": 59009 },
  13586. {
  13587. "icon_id": "24881277",
  13588. "name": "pengyouquan",
  13589. "font_class": "pyq",
  13590. "unicode": "e682",
  13591. "unicode_decimal": 59010 },
  13592. {
  13593. "icon_id": "24881279",
  13594. "name": "sound",
  13595. "font_class": "sound",
  13596. "unicode": "e684",
  13597. "unicode_decimal": 59012 },
  13598. {
  13599. "icon_id": "24881280",
  13600. "name": "trash-filled",
  13601. "font_class": "trash-filled",
  13602. "unicode": "e685",
  13603. "unicode_decimal": 59013 },
  13604. {
  13605. "icon_id": "24881281",
  13606. "name": "sound-filled",
  13607. "font_class": "sound-filled",
  13608. "unicode": "e686",
  13609. "unicode_decimal": 59014 },
  13610. {
  13611. "icon_id": "24881282",
  13612. "name": "trash",
  13613. "font_class": "trash",
  13614. "unicode": "e687",
  13615. "unicode_decimal": 59015 },
  13616. {
  13617. "icon_id": "24881284",
  13618. "name": "videocam-filled",
  13619. "font_class": "videocam-filled",
  13620. "unicode": "e689",
  13621. "unicode_decimal": 59017 },
  13622. {
  13623. "icon_id": "24881285",
  13624. "name": "spinner-cycle",
  13625. "font_class": "spinner-cycle",
  13626. "unicode": "e68a",
  13627. "unicode_decimal": 59018 },
  13628. {
  13629. "icon_id": "24881286",
  13630. "name": "weibo",
  13631. "font_class": "weibo",
  13632. "unicode": "e68b",
  13633. "unicode_decimal": 59019 },
  13634. {
  13635. "icon_id": "24881288",
  13636. "name": "videocam",
  13637. "font_class": "videocam",
  13638. "unicode": "e68c",
  13639. "unicode_decimal": 59020 },
  13640. {
  13641. "icon_id": "24881289",
  13642. "name": "download",
  13643. "font_class": "download",
  13644. "unicode": "e68d",
  13645. "unicode_decimal": 59021 },
  13646. {
  13647. "icon_id": "24879601",
  13648. "name": "help",
  13649. "font_class": "help",
  13650. "unicode": "e679",
  13651. "unicode_decimal": 59001 },
  13652. {
  13653. "icon_id": "24879602",
  13654. "name": "navigate-filled",
  13655. "font_class": "navigate-filled",
  13656. "unicode": "e67a",
  13657. "unicode_decimal": 59002 },
  13658. {
  13659. "icon_id": "24879603",
  13660. "name": "plusempty",
  13661. "font_class": "plusempty",
  13662. "unicode": "e67b",
  13663. "unicode_decimal": 59003 },
  13664. {
  13665. "icon_id": "24879604",
  13666. "name": "smallcircle",
  13667. "font_class": "smallcircle",
  13668. "unicode": "e67c",
  13669. "unicode_decimal": 59004 },
  13670. {
  13671. "icon_id": "24879605",
  13672. "name": "minus-filled",
  13673. "font_class": "minus-filled",
  13674. "unicode": "e67d",
  13675. "unicode_decimal": 59005 },
  13676. {
  13677. "icon_id": "24879606",
  13678. "name": "micoff",
  13679. "font_class": "micoff",
  13680. "unicode": "e67e",
  13681. "unicode_decimal": 59006 },
  13682. {
  13683. "icon_id": "24879588",
  13684. "name": "closeempty",
  13685. "font_class": "closeempty",
  13686. "unicode": "e66c",
  13687. "unicode_decimal": 58988 },
  13688. {
  13689. "icon_id": "24879589",
  13690. "name": "clear",
  13691. "font_class": "clear",
  13692. "unicode": "e66d",
  13693. "unicode_decimal": 58989 },
  13694. {
  13695. "icon_id": "24879590",
  13696. "name": "navigate",
  13697. "font_class": "navigate",
  13698. "unicode": "e66e",
  13699. "unicode_decimal": 58990 },
  13700. {
  13701. "icon_id": "24879591",
  13702. "name": "minus",
  13703. "font_class": "minus",
  13704. "unicode": "e66f",
  13705. "unicode_decimal": 58991 },
  13706. {
  13707. "icon_id": "24879592",
  13708. "name": "image",
  13709. "font_class": "image",
  13710. "unicode": "e670",
  13711. "unicode_decimal": 58992 },
  13712. {
  13713. "icon_id": "24879593",
  13714. "name": "mic",
  13715. "font_class": "mic",
  13716. "unicode": "e671",
  13717. "unicode_decimal": 58993 },
  13718. {
  13719. "icon_id": "24879594",
  13720. "name": "paperplane",
  13721. "font_class": "paperplane",
  13722. "unicode": "e672",
  13723. "unicode_decimal": 58994 },
  13724. {
  13725. "icon_id": "24879595",
  13726. "name": "close",
  13727. "font_class": "close",
  13728. "unicode": "e673",
  13729. "unicode_decimal": 58995 },
  13730. {
  13731. "icon_id": "24879596",
  13732. "name": "help-filled",
  13733. "font_class": "help-filled",
  13734. "unicode": "e674",
  13735. "unicode_decimal": 58996 },
  13736. {
  13737. "icon_id": "24879597",
  13738. "name": "plus-filled",
  13739. "font_class": "paperplane-filled",
  13740. "unicode": "e675",
  13741. "unicode_decimal": 58997 },
  13742. {
  13743. "icon_id": "24879598",
  13744. "name": "plus",
  13745. "font_class": "plus",
  13746. "unicode": "e676",
  13747. "unicode_decimal": 58998 },
  13748. {
  13749. "icon_id": "24879599",
  13750. "name": "mic-filled",
  13751. "font_class": "mic-filled",
  13752. "unicode": "e677",
  13753. "unicode_decimal": 58999 },
  13754. {
  13755. "icon_id": "24879600",
  13756. "name": "image-filled",
  13757. "font_class": "image-filled",
  13758. "unicode": "e678",
  13759. "unicode_decimal": 59000 },
  13760. {
  13761. "icon_id": "24855900",
  13762. "name": "locked-filled",
  13763. "font_class": "locked-filled",
  13764. "unicode": "e668",
  13765. "unicode_decimal": 58984 },
  13766. {
  13767. "icon_id": "24855901",
  13768. "name": "info",
  13769. "font_class": "info",
  13770. "unicode": "e669",
  13771. "unicode_decimal": 58985 },
  13772. {
  13773. "icon_id": "24855903",
  13774. "name": "locked",
  13775. "font_class": "locked",
  13776. "unicode": "e66b",
  13777. "unicode_decimal": 58987 },
  13778. {
  13779. "icon_id": "24855884",
  13780. "name": "camera-filled",
  13781. "font_class": "camera-filled",
  13782. "unicode": "e658",
  13783. "unicode_decimal": 58968 },
  13784. {
  13785. "icon_id": "24855885",
  13786. "name": "chat-filled",
  13787. "font_class": "chat-filled",
  13788. "unicode": "e659",
  13789. "unicode_decimal": 58969 },
  13790. {
  13791. "icon_id": "24855886",
  13792. "name": "camera",
  13793. "font_class": "camera",
  13794. "unicode": "e65a",
  13795. "unicode_decimal": 58970 },
  13796. {
  13797. "icon_id": "24855887",
  13798. "name": "circle",
  13799. "font_class": "circle",
  13800. "unicode": "e65b",
  13801. "unicode_decimal": 58971 },
  13802. {
  13803. "icon_id": "24855888",
  13804. "name": "checkmarkempty",
  13805. "font_class": "checkmarkempty",
  13806. "unicode": "e65c",
  13807. "unicode_decimal": 58972 },
  13808. {
  13809. "icon_id": "24855889",
  13810. "name": "chat",
  13811. "font_class": "chat",
  13812. "unicode": "e65d",
  13813. "unicode_decimal": 58973 },
  13814. {
  13815. "icon_id": "24855890",
  13816. "name": "circle-filled",
  13817. "font_class": "circle-filled",
  13818. "unicode": "e65e",
  13819. "unicode_decimal": 58974 },
  13820. {
  13821. "icon_id": "24855891",
  13822. "name": "flag",
  13823. "font_class": "flag",
  13824. "unicode": "e65f",
  13825. "unicode_decimal": 58975 },
  13826. {
  13827. "icon_id": "24855892",
  13828. "name": "flag-filled",
  13829. "font_class": "flag-filled",
  13830. "unicode": "e660",
  13831. "unicode_decimal": 58976 },
  13832. {
  13833. "icon_id": "24855893",
  13834. "name": "gear-filled",
  13835. "font_class": "gear-filled",
  13836. "unicode": "e661",
  13837. "unicode_decimal": 58977 },
  13838. {
  13839. "icon_id": "24855894",
  13840. "name": "home",
  13841. "font_class": "home",
  13842. "unicode": "e662",
  13843. "unicode_decimal": 58978 },
  13844. {
  13845. "icon_id": "24855895",
  13846. "name": "home-filled",
  13847. "font_class": "home-filled",
  13848. "unicode": "e663",
  13849. "unicode_decimal": 58979 },
  13850. {
  13851. "icon_id": "24855896",
  13852. "name": "gear",
  13853. "font_class": "gear",
  13854. "unicode": "e664",
  13855. "unicode_decimal": 58980 },
  13856. {
  13857. "icon_id": "24855897",
  13858. "name": "smallcircle-filled",
  13859. "font_class": "smallcircle-filled",
  13860. "unicode": "e665",
  13861. "unicode_decimal": 58981 },
  13862. {
  13863. "icon_id": "24855898",
  13864. "name": "map-filled",
  13865. "font_class": "map-filled",
  13866. "unicode": "e666",
  13867. "unicode_decimal": 58982 },
  13868. {
  13869. "icon_id": "24855899",
  13870. "name": "map",
  13871. "font_class": "map",
  13872. "unicode": "e667",
  13873. "unicode_decimal": 58983 },
  13874. {
  13875. "icon_id": "24855825",
  13876. "name": "refresh-filled",
  13877. "font_class": "refresh-filled",
  13878. "unicode": "e656",
  13879. "unicode_decimal": 58966 },
  13880. {
  13881. "icon_id": "24855826",
  13882. "name": "refresh",
  13883. "font_class": "refresh",
  13884. "unicode": "e657",
  13885. "unicode_decimal": 58967 },
  13886. {
  13887. "icon_id": "24855808",
  13888. "name": "cloud-upload",
  13889. "font_class": "cloud-upload",
  13890. "unicode": "e645",
  13891. "unicode_decimal": 58949 },
  13892. {
  13893. "icon_id": "24855809",
  13894. "name": "cloud-download-filled",
  13895. "font_class": "cloud-download-filled",
  13896. "unicode": "e646",
  13897. "unicode_decimal": 58950 },
  13898. {
  13899. "icon_id": "24855810",
  13900. "name": "cloud-download",
  13901. "font_class": "cloud-download",
  13902. "unicode": "e647",
  13903. "unicode_decimal": 58951 },
  13904. {
  13905. "icon_id": "24855811",
  13906. "name": "cloud-upload-filled",
  13907. "font_class": "cloud-upload-filled",
  13908. "unicode": "e648",
  13909. "unicode_decimal": 58952 },
  13910. {
  13911. "icon_id": "24855813",
  13912. "name": "redo",
  13913. "font_class": "redo",
  13914. "unicode": "e64a",
  13915. "unicode_decimal": 58954 },
  13916. {
  13917. "icon_id": "24855814",
  13918. "name": "images-filled",
  13919. "font_class": "images-filled",
  13920. "unicode": "e64b",
  13921. "unicode_decimal": 58955 },
  13922. {
  13923. "icon_id": "24855815",
  13924. "name": "undo-filled",
  13925. "font_class": "undo-filled",
  13926. "unicode": "e64c",
  13927. "unicode_decimal": 58956 },
  13928. {
  13929. "icon_id": "24855816",
  13930. "name": "more",
  13931. "font_class": "more",
  13932. "unicode": "e64d",
  13933. "unicode_decimal": 58957 },
  13934. {
  13935. "icon_id": "24855817",
  13936. "name": "more-filled",
  13937. "font_class": "more-filled",
  13938. "unicode": "e64e",
  13939. "unicode_decimal": 58958 },
  13940. {
  13941. "icon_id": "24855818",
  13942. "name": "undo",
  13943. "font_class": "undo",
  13944. "unicode": "e64f",
  13945. "unicode_decimal": 58959 },
  13946. {
  13947. "icon_id": "24855819",
  13948. "name": "images",
  13949. "font_class": "images",
  13950. "unicode": "e650",
  13951. "unicode_decimal": 58960 },
  13952. {
  13953. "icon_id": "24855821",
  13954. "name": "paperclip",
  13955. "font_class": "paperclip",
  13956. "unicode": "e652",
  13957. "unicode_decimal": 58962 },
  13958. {
  13959. "icon_id": "24855822",
  13960. "name": "settings",
  13961. "font_class": "settings",
  13962. "unicode": "e653",
  13963. "unicode_decimal": 58963 },
  13964. {
  13965. "icon_id": "24855823",
  13966. "name": "search",
  13967. "font_class": "search",
  13968. "unicode": "e654",
  13969. "unicode_decimal": 58964 },
  13970. {
  13971. "icon_id": "24855824",
  13972. "name": "redo-filled",
  13973. "font_class": "redo-filled",
  13974. "unicode": "e655",
  13975. "unicode_decimal": 58965 },
  13976. {
  13977. "icon_id": "24841702",
  13978. "name": "list",
  13979. "font_class": "list",
  13980. "unicode": "e644",
  13981. "unicode_decimal": 58948 },
  13982. {
  13983. "icon_id": "24841489",
  13984. "name": "mail-open-filled",
  13985. "font_class": "mail-open-filled",
  13986. "unicode": "e63a",
  13987. "unicode_decimal": 58938 },
  13988. {
  13989. "icon_id": "24841491",
  13990. "name": "hand-thumbsdown-filled",
  13991. "font_class": "hand-down-filled",
  13992. "unicode": "e63c",
  13993. "unicode_decimal": 58940 },
  13994. {
  13995. "icon_id": "24841492",
  13996. "name": "hand-thumbsdown",
  13997. "font_class": "hand-down",
  13998. "unicode": "e63d",
  13999. "unicode_decimal": 58941 },
  14000. {
  14001. "icon_id": "24841493",
  14002. "name": "hand-thumbsup-filled",
  14003. "font_class": "hand-up-filled",
  14004. "unicode": "e63e",
  14005. "unicode_decimal": 58942 },
  14006. {
  14007. "icon_id": "24841494",
  14008. "name": "hand-thumbsup",
  14009. "font_class": "hand-up",
  14010. "unicode": "e63f",
  14011. "unicode_decimal": 58943 },
  14012. {
  14013. "icon_id": "24841496",
  14014. "name": "heart-filled",
  14015. "font_class": "heart-filled",
  14016. "unicode": "e641",
  14017. "unicode_decimal": 58945 },
  14018. {
  14019. "icon_id": "24841498",
  14020. "name": "mail-open",
  14021. "font_class": "mail-open",
  14022. "unicode": "e643",
  14023. "unicode_decimal": 58947 },
  14024. {
  14025. "icon_id": "24841488",
  14026. "name": "heart",
  14027. "font_class": "heart",
  14028. "unicode": "e639",
  14029. "unicode_decimal": 58937 },
  14030. {
  14031. "icon_id": "24839963",
  14032. "name": "loop",
  14033. "font_class": "loop",
  14034. "unicode": "e633",
  14035. "unicode_decimal": 58931 },
  14036. {
  14037. "icon_id": "24839866",
  14038. "name": "pulldown",
  14039. "font_class": "pulldown",
  14040. "unicode": "e632",
  14041. "unicode_decimal": 58930 },
  14042. {
  14043. "icon_id": "24813798",
  14044. "name": "scan",
  14045. "font_class": "scan",
  14046. "unicode": "e62a",
  14047. "unicode_decimal": 58922 },
  14048. {
  14049. "icon_id": "24813786",
  14050. "name": "bars",
  14051. "font_class": "bars",
  14052. "unicode": "e627",
  14053. "unicode_decimal": 58919 },
  14054. {
  14055. "icon_id": "24813788",
  14056. "name": "cart-filled",
  14057. "font_class": "cart-filled",
  14058. "unicode": "e629",
  14059. "unicode_decimal": 58921 },
  14060. {
  14061. "icon_id": "24813790",
  14062. "name": "checkbox",
  14063. "font_class": "checkbox",
  14064. "unicode": "e62b",
  14065. "unicode_decimal": 58923 },
  14066. {
  14067. "icon_id": "24813791",
  14068. "name": "checkbox-filled",
  14069. "font_class": "checkbox-filled",
  14070. "unicode": "e62c",
  14071. "unicode_decimal": 58924 },
  14072. {
  14073. "icon_id": "24813794",
  14074. "name": "shop",
  14075. "font_class": "shop",
  14076. "unicode": "e62f",
  14077. "unicode_decimal": 58927 },
  14078. {
  14079. "icon_id": "24813795",
  14080. "name": "headphones",
  14081. "font_class": "headphones",
  14082. "unicode": "e630",
  14083. "unicode_decimal": 58928 },
  14084. {
  14085. "icon_id": "24813796",
  14086. "name": "cart",
  14087. "font_class": "cart",
  14088. "unicode": "e631",
  14089. "unicode_decimal": 58929 }] };exports.default = _default;
  14090. /***/ }),
  14091. /* 76 */,
  14092. /* 77 */,
  14093. /* 78 */,
  14094. /* 79 */,
  14095. /* 80 */,
  14096. /* 81 */,
  14097. /* 82 */,
  14098. /* 83 */,
  14099. /* 84 */,
  14100. /* 85 */,
  14101. /* 86 */,
  14102. /* 87 */,
  14103. /* 88 */,
  14104. /* 89 */,
  14105. /* 90 */,
  14106. /* 91 */,
  14107. /* 92 */,
  14108. /* 93 */,
  14109. /* 94 */,
  14110. /* 95 */,
  14111. /* 96 */,
  14112. /* 97 */
  14113. /*!********************************************************************************************************!*\
  14114. !*** D:/wxproject/项目模板/uniapp/uni_modules/uni-transition/components/uni-transition/createAnimation.js ***!
  14115. \********************************************************************************************************/
  14116. /*! no static exports found */
  14117. /***/ (function(module, exports, __webpack_require__) {
  14118. "use strict";
  14119. /* 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 = {
  14120. // duration: 300,
  14121. // timingFunction: 'linear',
  14122. // delay: 0,
  14123. // transformOrigin: '50% 50% 0'
  14124. // }
  14125. var
  14126. MPAnimation = /*#__PURE__*/function () {
  14127. function MPAnimation(options, _this) {_classCallCheck(this, MPAnimation);
  14128. this.options = options;
  14129. this.animation = uni.createAnimation(options);
  14130. this.currentStepAnimates = {};
  14131. this.next = 0;
  14132. this.$ = _this;
  14133. }_createClass(MPAnimation, [{ key: "_nvuePushAnimates", value: function _nvuePushAnimates(
  14134. type, args) {
  14135. var aniObj = this.currentStepAnimates[this.next];
  14136. var styles = {};
  14137. if (!aniObj) {
  14138. styles = {
  14139. styles: {},
  14140. config: {} };
  14141. } else {
  14142. styles = aniObj;
  14143. }
  14144. if (animateTypes1.includes(type)) {
  14145. if (!styles.styles.transform) {
  14146. styles.styles.transform = '';
  14147. }
  14148. var unit = '';
  14149. if (type === 'rotate') {
  14150. unit = 'deg';
  14151. }
  14152. styles.styles.transform += "".concat(type, "(").concat(args + unit, ") ");
  14153. } else {
  14154. styles.styles[type] = "".concat(args);
  14155. }
  14156. this.currentStepAnimates[this.next] = styles;
  14157. } }, { key: "_animateRun", value: function _animateRun()
  14158. {var styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  14159. var ref = this.$.$refs['ani'].ref;
  14160. if (!ref) return;
  14161. return new Promise(function (resolve, reject) {
  14162. nvueAnimation.transition(ref, _objectSpread({
  14163. styles: styles },
  14164. config),
  14165. function (res) {
  14166. resolve();
  14167. });
  14168. });
  14169. } }, { key: "_nvueNextAnimate", value: function _nvueNextAnimate(
  14170. animates) {var _this2 = this;var step = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;var fn = arguments.length > 2 ? arguments[2] : undefined;
  14171. var obj = animates[step];
  14172. if (obj) {var
  14173. styles =
  14174. obj.styles,config = obj.config;
  14175. this._animateRun(styles, config).then(function () {
  14176. step += 1;
  14177. _this2._nvueNextAnimate(animates, step, fn);
  14178. });
  14179. } else {
  14180. this.currentStepAnimates = {};
  14181. typeof fn === 'function' && fn();
  14182. this.isEnd = true;
  14183. }
  14184. } }, { key: "step", value: function step()
  14185. {var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  14186. this.animation.step(config);
  14187. return this;
  14188. } }, { key: "run", value: function run(
  14189. fn) {
  14190. this.$.animationData = this.animation.export();
  14191. this.$.timer = setTimeout(function () {
  14192. typeof fn === 'function' && fn();
  14193. }, this.$.durationTime);
  14194. } }]);return MPAnimation;}();
  14195. var animateTypes1 = ['matrix', 'matrix3d', 'rotate', 'rotate3d', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scale3d',
  14196. 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'translate', 'translate3d', 'translateX', 'translateY',
  14197. 'translateZ'];
  14198. var animateTypes2 = ['opacity', 'backgroundColor'];
  14199. var animateTypes3 = ['width', 'height', 'left', 'right', 'top', 'bottom'];
  14200. animateTypes1.concat(animateTypes2, animateTypes3).forEach(function (type) {
  14201. MPAnimation.prototype[type] = function () {var _this$animation;
  14202. (_this$animation = this.animation)[type].apply(_this$animation, arguments);
  14203. return this;
  14204. };
  14205. });
  14206. function createAnimation(option, _this) {
  14207. if (!_this) return;
  14208. clearTimeout(_this.timer);
  14209. return new MPAnimation(option, _this);
  14210. }
  14211. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
  14212. /***/ }),
  14213. /* 98 */,
  14214. /* 99 */,
  14215. /* 100 */,
  14216. /* 101 */,
  14217. /* 102 */,
  14218. /* 103 */,
  14219. /* 104 */,
  14220. /* 105 */,
  14221. /* 106 */,
  14222. /* 107 */,
  14223. /* 108 */
  14224. /*!**************************************************************!*\
  14225. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/moment.js ***!
  14226. \**************************************************************/
  14227. /*! no static exports found */
  14228. /***/ (function(module, exports, __webpack_require__) {
  14229. /* WEBPACK VAR INJECTION */(function(module) {var require;//! moment.js
  14230. //! version : 2.29.4
  14231. //! authors : Tim Wood, Iskren Chernev, Moment.js contributors
  14232. //! license : MIT
  14233. //! momentjs.com
  14234. ;(function (global, factory) {
  14235. true ? module.exports = factory() :
  14236. undefined;
  14237. })(this, function () {'use strict';
  14238. var hookCallback;
  14239. function hooks() {
  14240. return hookCallback.apply(null, arguments);
  14241. }
  14242. // This is done to register the method called with moment()
  14243. // without creating circular dependencies.
  14244. function setHookCallback(callback) {
  14245. hookCallback = callback;
  14246. }
  14247. function isArray(input) {
  14248. return (
  14249. input instanceof Array ||
  14250. Object.prototype.toString.call(input) === '[object Array]');
  14251. }
  14252. function isObject(input) {
  14253. // IE8 will treat undefined and null as object if it wasn't for
  14254. // input != null
  14255. return (
  14256. input != null &&
  14257. Object.prototype.toString.call(input) === '[object Object]');
  14258. }
  14259. function hasOwnProp(a, b) {
  14260. return Object.prototype.hasOwnProperty.call(a, b);
  14261. }
  14262. function isObjectEmpty(obj) {
  14263. if (Object.getOwnPropertyNames) {
  14264. return Object.getOwnPropertyNames(obj).length === 0;
  14265. } else {
  14266. var k;
  14267. for (k in obj) {
  14268. if (hasOwnProp(obj, k)) {
  14269. return false;
  14270. }
  14271. }
  14272. return true;
  14273. }
  14274. }
  14275. function isUndefined(input) {
  14276. return input === void 0;
  14277. }
  14278. function isNumber(input) {
  14279. return (
  14280. typeof input === 'number' ||
  14281. Object.prototype.toString.call(input) === '[object Number]');
  14282. }
  14283. function isDate(input) {
  14284. return (
  14285. input instanceof Date ||
  14286. Object.prototype.toString.call(input) === '[object Date]');
  14287. }
  14288. function map(arr, fn) {
  14289. var res = [],
  14290. i,
  14291. arrLen = arr.length;
  14292. for (i = 0; i < arrLen; ++i) {
  14293. res.push(fn(arr[i], i));
  14294. }
  14295. return res;
  14296. }
  14297. function extend(a, b) {
  14298. for (var i in b) {
  14299. if (hasOwnProp(b, i)) {
  14300. a[i] = b[i];
  14301. }
  14302. }
  14303. if (hasOwnProp(b, 'toString')) {
  14304. a.toString = b.toString;
  14305. }
  14306. if (hasOwnProp(b, 'valueOf')) {
  14307. a.valueOf = b.valueOf;
  14308. }
  14309. return a;
  14310. }
  14311. function createUTC(input, format, locale, strict) {
  14312. return createLocalOrUTC(input, format, locale, strict, true).utc();
  14313. }
  14314. function defaultParsingFlags() {
  14315. // We need to deep clone this object.
  14316. return {
  14317. empty: false,
  14318. unusedTokens: [],
  14319. unusedInput: [],
  14320. overflow: -2,
  14321. charsLeftOver: 0,
  14322. nullInput: false,
  14323. invalidEra: null,
  14324. invalidMonth: null,
  14325. invalidFormat: false,
  14326. userInvalidated: false,
  14327. iso: false,
  14328. parsedDateParts: [],
  14329. era: null,
  14330. meridiem: null,
  14331. rfc2822: false,
  14332. weekdayMismatch: false };
  14333. }
  14334. function getParsingFlags(m) {
  14335. if (m._pf == null) {
  14336. m._pf = defaultParsingFlags();
  14337. }
  14338. return m._pf;
  14339. }
  14340. var some;
  14341. if (Array.prototype.some) {
  14342. some = Array.prototype.some;
  14343. } else {
  14344. some = function some(fun) {
  14345. var t = Object(this),
  14346. len = t.length >>> 0,
  14347. i;
  14348. for (i = 0; i < len; i++) {
  14349. if (i in t && fun.call(this, t[i], i, t)) {
  14350. return true;
  14351. }
  14352. }
  14353. return false;
  14354. };
  14355. }
  14356. function isValid(m) {
  14357. if (m._isValid == null) {
  14358. var flags = getParsingFlags(m),
  14359. parsedParts = some.call(flags.parsedDateParts, function (i) {
  14360. return i != null;
  14361. }),
  14362. isNowValid =
  14363. !isNaN(m._d.getTime()) &&
  14364. flags.overflow < 0 &&
  14365. !flags.empty &&
  14366. !flags.invalidEra &&
  14367. !flags.invalidMonth &&
  14368. !flags.invalidWeekday &&
  14369. !flags.weekdayMismatch &&
  14370. !flags.nullInput &&
  14371. !flags.invalidFormat &&
  14372. !flags.userInvalidated && (
  14373. !flags.meridiem || flags.meridiem && parsedParts);
  14374. if (m._strict) {
  14375. isNowValid =
  14376. isNowValid &&
  14377. flags.charsLeftOver === 0 &&
  14378. flags.unusedTokens.length === 0 &&
  14379. flags.bigHour === undefined;
  14380. }
  14381. if (Object.isFrozen == null || !Object.isFrozen(m)) {
  14382. m._isValid = isNowValid;
  14383. } else {
  14384. return isNowValid;
  14385. }
  14386. }
  14387. return m._isValid;
  14388. }
  14389. function createInvalid(flags) {
  14390. var m = createUTC(NaN);
  14391. if (flags != null) {
  14392. extend(getParsingFlags(m), flags);
  14393. } else {
  14394. getParsingFlags(m).userInvalidated = true;
  14395. }
  14396. return m;
  14397. }
  14398. // Plugins that add properties should also add the key here (null value),
  14399. // so we can properly clone ourselves.
  14400. var momentProperties = hooks.momentProperties = [],
  14401. updateInProgress = false;
  14402. function copyConfig(to, from) {
  14403. var i,
  14404. prop,
  14405. val,
  14406. momentPropertiesLen = momentProperties.length;
  14407. if (!isUndefined(from._isAMomentObject)) {
  14408. to._isAMomentObject = from._isAMomentObject;
  14409. }
  14410. if (!isUndefined(from._i)) {
  14411. to._i = from._i;
  14412. }
  14413. if (!isUndefined(from._f)) {
  14414. to._f = from._f;
  14415. }
  14416. if (!isUndefined(from._l)) {
  14417. to._l = from._l;
  14418. }
  14419. if (!isUndefined(from._strict)) {
  14420. to._strict = from._strict;
  14421. }
  14422. if (!isUndefined(from._tzm)) {
  14423. to._tzm = from._tzm;
  14424. }
  14425. if (!isUndefined(from._isUTC)) {
  14426. to._isUTC = from._isUTC;
  14427. }
  14428. if (!isUndefined(from._offset)) {
  14429. to._offset = from._offset;
  14430. }
  14431. if (!isUndefined(from._pf)) {
  14432. to._pf = getParsingFlags(from);
  14433. }
  14434. if (!isUndefined(from._locale)) {
  14435. to._locale = from._locale;
  14436. }
  14437. if (momentPropertiesLen > 0) {
  14438. for (i = 0; i < momentPropertiesLen; i++) {
  14439. prop = momentProperties[i];
  14440. val = from[prop];
  14441. if (!isUndefined(val)) {
  14442. to[prop] = val;
  14443. }
  14444. }
  14445. }
  14446. return to;
  14447. }
  14448. // Moment prototype object
  14449. function Moment(config) {
  14450. copyConfig(this, config);
  14451. this._d = new Date(config._d != null ? config._d.getTime() : NaN);
  14452. if (!this.isValid()) {
  14453. this._d = new Date(NaN);
  14454. }
  14455. // Prevent infinite loop in case updateOffset creates new moment
  14456. // objects.
  14457. if (updateInProgress === false) {
  14458. updateInProgress = true;
  14459. hooks.updateOffset(this);
  14460. updateInProgress = false;
  14461. }
  14462. }
  14463. function isMoment(obj) {
  14464. return (
  14465. obj instanceof Moment || obj != null && obj._isAMomentObject != null);
  14466. }
  14467. function warn(msg) {
  14468. if (
  14469. hooks.suppressDeprecationWarnings === false &&
  14470. typeof console !== 'undefined' &&
  14471. console.warn)
  14472. {
  14473. console.warn('Deprecation warning: ' + msg);
  14474. }
  14475. }
  14476. function deprecate(msg, fn) {
  14477. var firstTime = true;
  14478. return extend(function () {
  14479. if (hooks.deprecationHandler != null) {
  14480. hooks.deprecationHandler(null, msg);
  14481. }
  14482. if (firstTime) {
  14483. var args = [],
  14484. arg,
  14485. i,
  14486. key,
  14487. argLen = arguments.length;
  14488. for (i = 0; i < argLen; i++) {
  14489. arg = '';
  14490. if (typeof arguments[i] === 'object') {
  14491. arg += '\n[' + i + '] ';
  14492. for (key in arguments[0]) {
  14493. if (hasOwnProp(arguments[0], key)) {
  14494. arg += key + ': ' + arguments[0][key] + ', ';
  14495. }
  14496. }
  14497. arg = arg.slice(0, -2); // Remove trailing comma and space
  14498. } else {
  14499. arg = arguments[i];
  14500. }
  14501. args.push(arg);
  14502. }
  14503. warn(
  14504. msg +
  14505. '\nArguments: ' +
  14506. Array.prototype.slice.call(args).join('') +
  14507. '\n' +
  14508. new Error().stack);
  14509. firstTime = false;
  14510. }
  14511. return fn.apply(this, arguments);
  14512. }, fn);
  14513. }
  14514. var deprecations = {};
  14515. function deprecateSimple(name, msg) {
  14516. if (hooks.deprecationHandler != null) {
  14517. hooks.deprecationHandler(name, msg);
  14518. }
  14519. if (!deprecations[name]) {
  14520. warn(msg);
  14521. deprecations[name] = true;
  14522. }
  14523. }
  14524. hooks.suppressDeprecationWarnings = false;
  14525. hooks.deprecationHandler = null;
  14526. function isFunction(input) {
  14527. return (
  14528. typeof Function !== 'undefined' && input instanceof Function ||
  14529. Object.prototype.toString.call(input) === '[object Function]');
  14530. }
  14531. function set(config) {
  14532. var prop, i;
  14533. for (i in config) {
  14534. if (hasOwnProp(config, i)) {
  14535. prop = config[i];
  14536. if (isFunction(prop)) {
  14537. this[i] = prop;
  14538. } else {
  14539. this['_' + i] = prop;
  14540. }
  14541. }
  14542. }
  14543. this._config = config;
  14544. // Lenient ordinal parsing accepts just a number in addition to
  14545. // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.
  14546. // TODO: Remove "ordinalParse" fallback in next major release.
  14547. this._dayOfMonthOrdinalParseLenient = new RegExp(
  14548. (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +
  14549. '|' +
  14550. /\d{1,2}/.source);
  14551. }
  14552. function mergeConfigs(parentConfig, childConfig) {
  14553. var res = extend({}, parentConfig),
  14554. prop;
  14555. for (prop in childConfig) {
  14556. if (hasOwnProp(childConfig, prop)) {
  14557. if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {
  14558. res[prop] = {};
  14559. extend(res[prop], parentConfig[prop]);
  14560. extend(res[prop], childConfig[prop]);
  14561. } else if (childConfig[prop] != null) {
  14562. res[prop] = childConfig[prop];
  14563. } else {
  14564. delete res[prop];
  14565. }
  14566. }
  14567. }
  14568. for (prop in parentConfig) {
  14569. if (
  14570. hasOwnProp(parentConfig, prop) &&
  14571. !hasOwnProp(childConfig, prop) &&
  14572. isObject(parentConfig[prop]))
  14573. {
  14574. // make sure changes to properties don't modify parent config
  14575. res[prop] = extend({}, res[prop]);
  14576. }
  14577. }
  14578. return res;
  14579. }
  14580. function Locale(config) {
  14581. if (config != null) {
  14582. this.set(config);
  14583. }
  14584. }
  14585. var keys;
  14586. if (Object.keys) {
  14587. keys = Object.keys;
  14588. } else {
  14589. keys = function keys(obj) {
  14590. var i,
  14591. res = [];
  14592. for (i in obj) {
  14593. if (hasOwnProp(obj, i)) {
  14594. res.push(i);
  14595. }
  14596. }
  14597. return res;
  14598. };
  14599. }
  14600. var defaultCalendar = {
  14601. sameDay: '[Today at] LT',
  14602. nextDay: '[Tomorrow at] LT',
  14603. nextWeek: 'dddd [at] LT',
  14604. lastDay: '[Yesterday at] LT',
  14605. lastWeek: '[Last] dddd [at] LT',
  14606. sameElse: 'L' };
  14607. function calendar(key, mom, now) {
  14608. var output = this._calendar[key] || this._calendar['sameElse'];
  14609. return isFunction(output) ? output.call(mom, now) : output;
  14610. }
  14611. function zeroFill(number, targetLength, forceSign) {
  14612. var absNumber = '' + Math.abs(number),
  14613. zerosToFill = targetLength - absNumber.length,
  14614. sign = number >= 0;
  14615. return (
  14616. (sign ? forceSign ? '+' : '' : '-') +
  14617. Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +
  14618. absNumber);
  14619. }
  14620. var formattingTokens =
  14621. /(\[[^\[]*\])|(\\)?([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,
  14622. localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,
  14623. formatFunctions = {},
  14624. formatTokenFunctions = {};
  14625. // token: 'M'
  14626. // padded: ['MM', 2]
  14627. // ordinal: 'Mo'
  14628. // callback: function () { this.month() + 1 }
  14629. function addFormatToken(token, padded, ordinal, callback) {
  14630. var func = callback;
  14631. if (typeof callback === 'string') {
  14632. func = function func() {
  14633. return this[callback]();
  14634. };
  14635. }
  14636. if (token) {
  14637. formatTokenFunctions[token] = func;
  14638. }
  14639. if (padded) {
  14640. formatTokenFunctions[padded[0]] = function () {
  14641. return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
  14642. };
  14643. }
  14644. if (ordinal) {
  14645. formatTokenFunctions[ordinal] = function () {
  14646. return this.localeData().ordinal(
  14647. func.apply(this, arguments),
  14648. token);
  14649. };
  14650. }
  14651. }
  14652. function removeFormattingTokens(input) {
  14653. if (input.match(/\[[\s\S]/)) {
  14654. return input.replace(/^\[|\]$/g, '');
  14655. }
  14656. return input.replace(/\\/g, '');
  14657. }
  14658. function makeFormatFunction(format) {
  14659. var array = format.match(formattingTokens),
  14660. i,
  14661. length;
  14662. for (i = 0, length = array.length; i < length; i++) {
  14663. if (formatTokenFunctions[array[i]]) {
  14664. array[i] = formatTokenFunctions[array[i]];
  14665. } else {
  14666. array[i] = removeFormattingTokens(array[i]);
  14667. }
  14668. }
  14669. return function (mom) {
  14670. var output = '',
  14671. i;
  14672. for (i = 0; i < length; i++) {
  14673. output += isFunction(array[i]) ?
  14674. array[i].call(mom, format) :
  14675. array[i];
  14676. }
  14677. return output;
  14678. };
  14679. }
  14680. // format date using native date object
  14681. function formatMoment(m, format) {
  14682. if (!m.isValid()) {
  14683. return m.localeData().invalidDate();
  14684. }
  14685. format = expandFormat(format, m.localeData());
  14686. formatFunctions[format] =
  14687. formatFunctions[format] || makeFormatFunction(format);
  14688. return formatFunctions[format](m);
  14689. }
  14690. function expandFormat(format, locale) {
  14691. var i = 5;
  14692. function replaceLongDateFormatTokens(input) {
  14693. return locale.longDateFormat(input) || input;
  14694. }
  14695. localFormattingTokens.lastIndex = 0;
  14696. while (i >= 0 && localFormattingTokens.test(format)) {
  14697. format = format.replace(
  14698. localFormattingTokens,
  14699. replaceLongDateFormatTokens);
  14700. localFormattingTokens.lastIndex = 0;
  14701. i -= 1;
  14702. }
  14703. return format;
  14704. }
  14705. var defaultLongDateFormat = {
  14706. LTS: 'h:mm:ss A',
  14707. LT: 'h:mm A',
  14708. L: 'MM/DD/YYYY',
  14709. LL: 'MMMM D, YYYY',
  14710. LLL: 'MMMM D, YYYY h:mm A',
  14711. LLLL: 'dddd, MMMM D, YYYY h:mm A' };
  14712. function longDateFormat(key) {
  14713. var format = this._longDateFormat[key],
  14714. formatUpper = this._longDateFormat[key.toUpperCase()];
  14715. if (format || !formatUpper) {
  14716. return format;
  14717. }
  14718. this._longDateFormat[key] = formatUpper.
  14719. match(formattingTokens).
  14720. map(function (tok) {
  14721. if (
  14722. tok === 'MMMM' ||
  14723. tok === 'MM' ||
  14724. tok === 'DD' ||
  14725. tok === 'dddd')
  14726. {
  14727. return tok.slice(1);
  14728. }
  14729. return tok;
  14730. }).
  14731. join('');
  14732. return this._longDateFormat[key];
  14733. }
  14734. var defaultInvalidDate = 'Invalid date';
  14735. function invalidDate() {
  14736. return this._invalidDate;
  14737. }
  14738. var defaultOrdinal = '%d',
  14739. defaultDayOfMonthOrdinalParse = /\d{1,2}/;
  14740. function ordinal(number) {
  14741. return this._ordinal.replace('%d', number);
  14742. }
  14743. var defaultRelativeTime = {
  14744. future: 'in %s',
  14745. past: '%s ago',
  14746. s: 'a few seconds',
  14747. ss: '%d seconds',
  14748. m: 'a minute',
  14749. mm: '%d minutes',
  14750. h: 'an hour',
  14751. hh: '%d hours',
  14752. d: 'a day',
  14753. dd: '%d days',
  14754. w: 'a week',
  14755. ww: '%d weeks',
  14756. M: 'a month',
  14757. MM: '%d months',
  14758. y: 'a year',
  14759. yy: '%d years' };
  14760. function relativeTime(number, withoutSuffix, string, isFuture) {
  14761. var output = this._relativeTime[string];
  14762. return isFunction(output) ?
  14763. output(number, withoutSuffix, string, isFuture) :
  14764. output.replace(/%d/i, number);
  14765. }
  14766. function pastFuture(diff, output) {
  14767. var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
  14768. return isFunction(format) ? format(output) : format.replace(/%s/i, output);
  14769. }
  14770. var aliases = {};
  14771. function addUnitAlias(unit, shorthand) {
  14772. var lowerCase = unit.toLowerCase();
  14773. aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
  14774. }
  14775. function normalizeUnits(units) {
  14776. return typeof units === 'string' ?
  14777. aliases[units] || aliases[units.toLowerCase()] :
  14778. undefined;
  14779. }
  14780. function normalizeObjectUnits(inputObject) {
  14781. var normalizedInput = {},
  14782. normalizedProp,
  14783. prop;
  14784. for (prop in inputObject) {
  14785. if (hasOwnProp(inputObject, prop)) {
  14786. normalizedProp = normalizeUnits(prop);
  14787. if (normalizedProp) {
  14788. normalizedInput[normalizedProp] = inputObject[prop];
  14789. }
  14790. }
  14791. }
  14792. return normalizedInput;
  14793. }
  14794. var priorities = {};
  14795. function addUnitPriority(unit, priority) {
  14796. priorities[unit] = priority;
  14797. }
  14798. function getPrioritizedUnits(unitsObj) {
  14799. var units = [],
  14800. u;
  14801. for (u in unitsObj) {
  14802. if (hasOwnProp(unitsObj, u)) {
  14803. units.push({ unit: u, priority: priorities[u] });
  14804. }
  14805. }
  14806. units.sort(function (a, b) {
  14807. return a.priority - b.priority;
  14808. });
  14809. return units;
  14810. }
  14811. function isLeapYear(year) {
  14812. return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
  14813. }
  14814. function absFloor(number) {
  14815. if (number < 0) {
  14816. // -0 -> 0
  14817. return Math.ceil(number) || 0;
  14818. } else {
  14819. return Math.floor(number);
  14820. }
  14821. }
  14822. function toInt(argumentForCoercion) {
  14823. var coercedNumber = +argumentForCoercion,
  14824. value = 0;
  14825. if (coercedNumber !== 0 && isFinite(coercedNumber)) {
  14826. value = absFloor(coercedNumber);
  14827. }
  14828. return value;
  14829. }
  14830. function makeGetSet(unit, keepTime) {
  14831. return function (value) {
  14832. if (value != null) {
  14833. set$1(this, unit, value);
  14834. hooks.updateOffset(this, keepTime);
  14835. return this;
  14836. } else {
  14837. return get(this, unit);
  14838. }
  14839. };
  14840. }
  14841. function get(mom, unit) {
  14842. return mom.isValid() ?
  14843. mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() :
  14844. NaN;
  14845. }
  14846. function set$1(mom, unit, value) {
  14847. if (mom.isValid() && !isNaN(value)) {
  14848. if (
  14849. unit === 'FullYear' &&
  14850. isLeapYear(mom.year()) &&
  14851. mom.month() === 1 &&
  14852. mom.date() === 29)
  14853. {
  14854. value = toInt(value);
  14855. mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](
  14856. value,
  14857. mom.month(),
  14858. daysInMonth(value, mom.month()));
  14859. } else {
  14860. mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
  14861. }
  14862. }
  14863. }
  14864. // MOMENTS
  14865. function stringGet(units) {
  14866. units = normalizeUnits(units);
  14867. if (isFunction(this[units])) {
  14868. return this[units]();
  14869. }
  14870. return this;
  14871. }
  14872. function stringSet(units, value) {
  14873. if (typeof units === 'object') {
  14874. units = normalizeObjectUnits(units);
  14875. var prioritized = getPrioritizedUnits(units),
  14876. i,
  14877. prioritizedLen = prioritized.length;
  14878. for (i = 0; i < prioritizedLen; i++) {
  14879. this[prioritized[i].unit](units[prioritized[i].unit]);
  14880. }
  14881. } else {
  14882. units = normalizeUnits(units);
  14883. if (isFunction(this[units])) {
  14884. return this[units](value);
  14885. }
  14886. }
  14887. return this;
  14888. }
  14889. var match1 = /\d/, // 0 - 9
  14890. match2 = /\d\d/, // 00 - 99
  14891. match3 = /\d{3}/, // 000 - 999
  14892. match4 = /\d{4}/, // 0000 - 9999
  14893. match6 = /[+-]?\d{6}/, // -999999 - 999999
  14894. match1to2 = /\d\d?/, // 0 - 99
  14895. match3to4 = /\d\d\d\d?/, // 999 - 9999
  14896. match5to6 = /\d\d\d\d\d\d?/, // 99999 - 999999
  14897. match1to3 = /\d{1,3}/, // 0 - 999
  14898. match1to4 = /\d{1,4}/, // 0 - 9999
  14899. match1to6 = /[+-]?\d{1,6}/, // -999999 - 999999
  14900. matchUnsigned = /\d+/, // 0 - inf
  14901. matchSigned = /[+-]?\d+/, // -inf - inf
  14902. matchOffset = /Z|[+-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z
  14903. matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z
  14904. matchTimestamp = /[+-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123
  14905. // any word (or two) characters or numbers including two/three word month in arabic.
  14906. // includes scottish gaelic two word and hyphenated months
  14907. matchWord =
  14908. /[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,
  14909. regexes;
  14910. regexes = {};
  14911. function addRegexToken(token, regex, strictRegex) {
  14912. regexes[token] = isFunction(regex) ?
  14913. regex :
  14914. function (isStrict, localeData) {
  14915. return isStrict && strictRegex ? strictRegex : regex;
  14916. };
  14917. }
  14918. function getParseRegexForToken(token, config) {
  14919. if (!hasOwnProp(regexes, token)) {
  14920. return new RegExp(unescapeFormat(token));
  14921. }
  14922. return regexes[token](config._strict, config._locale);
  14923. }
  14924. // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
  14925. function unescapeFormat(s) {
  14926. return regexEscape(
  14927. s.
  14928. replace('\\', '').
  14929. replace(
  14930. /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,
  14931. function (matched, p1, p2, p3, p4) {
  14932. return p1 || p2 || p3 || p4;
  14933. }));
  14934. }
  14935. function regexEscape(s) {
  14936. return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
  14937. }
  14938. var tokens = {};
  14939. function addParseToken(token, callback) {
  14940. var i,
  14941. func = callback,
  14942. tokenLen;
  14943. if (typeof token === 'string') {
  14944. token = [token];
  14945. }
  14946. if (isNumber(callback)) {
  14947. func = function func(input, array) {
  14948. array[callback] = toInt(input);
  14949. };
  14950. }
  14951. tokenLen = token.length;
  14952. for (i = 0; i < tokenLen; i++) {
  14953. tokens[token[i]] = func;
  14954. }
  14955. }
  14956. function addWeekParseToken(token, callback) {
  14957. addParseToken(token, function (input, array, config, token) {
  14958. config._w = config._w || {};
  14959. callback(input, config._w, config, token);
  14960. });
  14961. }
  14962. function addTimeToArrayFromToken(token, input, config) {
  14963. if (input != null && hasOwnProp(tokens, token)) {
  14964. tokens[token](input, config._a, config, token);
  14965. }
  14966. }
  14967. var YEAR = 0,
  14968. MONTH = 1,
  14969. DATE = 2,
  14970. HOUR = 3,
  14971. MINUTE = 4,
  14972. SECOND = 5,
  14973. MILLISECOND = 6,
  14974. WEEK = 7,
  14975. WEEKDAY = 8;
  14976. function mod(n, x) {
  14977. return (n % x + x) % x;
  14978. }
  14979. var indexOf;
  14980. if (Array.prototype.indexOf) {
  14981. indexOf = Array.prototype.indexOf;
  14982. } else {
  14983. indexOf = function indexOf(o) {
  14984. // I know
  14985. var i;
  14986. for (i = 0; i < this.length; ++i) {
  14987. if (this[i] === o) {
  14988. return i;
  14989. }
  14990. }
  14991. return -1;
  14992. };
  14993. }
  14994. function daysInMonth(year, month) {
  14995. if (isNaN(year) || isNaN(month)) {
  14996. return NaN;
  14997. }
  14998. var modMonth = mod(month, 12);
  14999. year += (month - modMonth) / 12;
  15000. return modMonth === 1 ?
  15001. isLeapYear(year) ?
  15002. 29 :
  15003. 28 :
  15004. 31 - modMonth % 7 % 2;
  15005. }
  15006. // FORMATTING
  15007. addFormatToken('M', ['MM', 2], 'Mo', function () {
  15008. return this.month() + 1;
  15009. });
  15010. addFormatToken('MMM', 0, 0, function (format) {
  15011. return this.localeData().monthsShort(this, format);
  15012. });
  15013. addFormatToken('MMMM', 0, 0, function (format) {
  15014. return this.localeData().months(this, format);
  15015. });
  15016. // ALIASES
  15017. addUnitAlias('month', 'M');
  15018. // PRIORITY
  15019. addUnitPriority('month', 8);
  15020. // PARSING
  15021. addRegexToken('M', match1to2);
  15022. addRegexToken('MM', match1to2, match2);
  15023. addRegexToken('MMM', function (isStrict, locale) {
  15024. return locale.monthsShortRegex(isStrict);
  15025. });
  15026. addRegexToken('MMMM', function (isStrict, locale) {
  15027. return locale.monthsRegex(isStrict);
  15028. });
  15029. addParseToken(['M', 'MM'], function (input, array) {
  15030. array[MONTH] = toInt(input) - 1;
  15031. });
  15032. addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {
  15033. var month = config._locale.monthsParse(input, token, config._strict);
  15034. // if we didn't find a month name, mark the date as invalid.
  15035. if (month != null) {
  15036. array[MONTH] = month;
  15037. } else {
  15038. getParsingFlags(config).invalidMonth = input;
  15039. }
  15040. });
  15041. // LOCALES
  15042. var defaultLocaleMonths =
  15043. 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
  15044. '_'),
  15045. defaultLocaleMonthsShort =
  15046. 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
  15047. MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,
  15048. defaultMonthsShortRegex = matchWord,
  15049. defaultMonthsRegex = matchWord;
  15050. function localeMonths(m, format) {
  15051. if (!m) {
  15052. return isArray(this._months) ?
  15053. this._months :
  15054. this._months['standalone'];
  15055. }
  15056. return isArray(this._months) ?
  15057. this._months[m.month()] :
  15058. this._months[
  15059. (this._months.isFormat || MONTHS_IN_FORMAT).test(format) ?
  15060. 'format' :
  15061. 'standalone'][
  15062. m.month()];
  15063. }
  15064. function localeMonthsShort(m, format) {
  15065. if (!m) {
  15066. return isArray(this._monthsShort) ?
  15067. this._monthsShort :
  15068. this._monthsShort['standalone'];
  15069. }
  15070. return isArray(this._monthsShort) ?
  15071. this._monthsShort[m.month()] :
  15072. this._monthsShort[
  15073. MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][
  15074. m.month()];
  15075. }
  15076. function handleStrictParse(monthName, format, strict) {
  15077. var i,
  15078. ii,
  15079. mom,
  15080. llc = monthName.toLocaleLowerCase();
  15081. if (!this._monthsParse) {
  15082. // this is not used
  15083. this._monthsParse = [];
  15084. this._longMonthsParse = [];
  15085. this._shortMonthsParse = [];
  15086. for (i = 0; i < 12; ++i) {
  15087. mom = createUTC([2000, i]);
  15088. this._shortMonthsParse[i] = this.monthsShort(
  15089. mom,
  15090. '').
  15091. toLocaleLowerCase();
  15092. this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();
  15093. }
  15094. }
  15095. if (strict) {
  15096. if (format === 'MMM') {
  15097. ii = indexOf.call(this._shortMonthsParse, llc);
  15098. return ii !== -1 ? ii : null;
  15099. } else {
  15100. ii = indexOf.call(this._longMonthsParse, llc);
  15101. return ii !== -1 ? ii : null;
  15102. }
  15103. } else {
  15104. if (format === 'MMM') {
  15105. ii = indexOf.call(this._shortMonthsParse, llc);
  15106. if (ii !== -1) {
  15107. return ii;
  15108. }
  15109. ii = indexOf.call(this._longMonthsParse, llc);
  15110. return ii !== -1 ? ii : null;
  15111. } else {
  15112. ii = indexOf.call(this._longMonthsParse, llc);
  15113. if (ii !== -1) {
  15114. return ii;
  15115. }
  15116. ii = indexOf.call(this._shortMonthsParse, llc);
  15117. return ii !== -1 ? ii : null;
  15118. }
  15119. }
  15120. }
  15121. function localeMonthsParse(monthName, format, strict) {
  15122. var i, mom, regex;
  15123. if (this._monthsParseExact) {
  15124. return handleStrictParse.call(this, monthName, format, strict);
  15125. }
  15126. if (!this._monthsParse) {
  15127. this._monthsParse = [];
  15128. this._longMonthsParse = [];
  15129. this._shortMonthsParse = [];
  15130. }
  15131. // TODO: add sorting
  15132. // Sorting makes sure if one month (or abbr) is a prefix of another
  15133. // see sorting in computeMonthsParse
  15134. for (i = 0; i < 12; i++) {
  15135. // make the regex if we don't have it already
  15136. mom = createUTC([2000, i]);
  15137. if (strict && !this._longMonthsParse[i]) {
  15138. this._longMonthsParse[i] = new RegExp(
  15139. '^' + this.months(mom, '').replace('.', '') + '$',
  15140. 'i');
  15141. this._shortMonthsParse[i] = new RegExp(
  15142. '^' + this.monthsShort(mom, '').replace('.', '') + '$',
  15143. 'i');
  15144. }
  15145. if (!strict && !this._monthsParse[i]) {
  15146. regex =
  15147. '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
  15148. this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
  15149. }
  15150. // test the regex
  15151. if (
  15152. strict &&
  15153. format === 'MMMM' &&
  15154. this._longMonthsParse[i].test(monthName))
  15155. {
  15156. return i;
  15157. } else if (
  15158. strict &&
  15159. format === 'MMM' &&
  15160. this._shortMonthsParse[i].test(monthName))
  15161. {
  15162. return i;
  15163. } else if (!strict && this._monthsParse[i].test(monthName)) {
  15164. return i;
  15165. }
  15166. }
  15167. }
  15168. // MOMENTS
  15169. function setMonth(mom, value) {
  15170. var dayOfMonth;
  15171. if (!mom.isValid()) {
  15172. // No op
  15173. return mom;
  15174. }
  15175. if (typeof value === 'string') {
  15176. if (/^\d+$/.test(value)) {
  15177. value = toInt(value);
  15178. } else {
  15179. value = mom.localeData().monthsParse(value);
  15180. // TODO: Another silent failure?
  15181. if (!isNumber(value)) {
  15182. return mom;
  15183. }
  15184. }
  15185. }
  15186. dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
  15187. mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
  15188. return mom;
  15189. }
  15190. function getSetMonth(value) {
  15191. if (value != null) {
  15192. setMonth(this, value);
  15193. hooks.updateOffset(this, true);
  15194. return this;
  15195. } else {
  15196. return get(this, 'Month');
  15197. }
  15198. }
  15199. function getDaysInMonth() {
  15200. return daysInMonth(this.year(), this.month());
  15201. }
  15202. function monthsShortRegex(isStrict) {
  15203. if (this._monthsParseExact) {
  15204. if (!hasOwnProp(this, '_monthsRegex')) {
  15205. computeMonthsParse.call(this);
  15206. }
  15207. if (isStrict) {
  15208. return this._monthsShortStrictRegex;
  15209. } else {
  15210. return this._monthsShortRegex;
  15211. }
  15212. } else {
  15213. if (!hasOwnProp(this, '_monthsShortRegex')) {
  15214. this._monthsShortRegex = defaultMonthsShortRegex;
  15215. }
  15216. return this._monthsShortStrictRegex && isStrict ?
  15217. this._monthsShortStrictRegex :
  15218. this._monthsShortRegex;
  15219. }
  15220. }
  15221. function monthsRegex(isStrict) {
  15222. if (this._monthsParseExact) {
  15223. if (!hasOwnProp(this, '_monthsRegex')) {
  15224. computeMonthsParse.call(this);
  15225. }
  15226. if (isStrict) {
  15227. return this._monthsStrictRegex;
  15228. } else {
  15229. return this._monthsRegex;
  15230. }
  15231. } else {
  15232. if (!hasOwnProp(this, '_monthsRegex')) {
  15233. this._monthsRegex = defaultMonthsRegex;
  15234. }
  15235. return this._monthsStrictRegex && isStrict ?
  15236. this._monthsStrictRegex :
  15237. this._monthsRegex;
  15238. }
  15239. }
  15240. function computeMonthsParse() {
  15241. function cmpLenRev(a, b) {
  15242. return b.length - a.length;
  15243. }
  15244. var shortPieces = [],
  15245. longPieces = [],
  15246. mixedPieces = [],
  15247. i,
  15248. mom;
  15249. for (i = 0; i < 12; i++) {
  15250. // make the regex if we don't have it already
  15251. mom = createUTC([2000, i]);
  15252. shortPieces.push(this.monthsShort(mom, ''));
  15253. longPieces.push(this.months(mom, ''));
  15254. mixedPieces.push(this.months(mom, ''));
  15255. mixedPieces.push(this.monthsShort(mom, ''));
  15256. }
  15257. // Sorting makes sure if one month (or abbr) is a prefix of another it
  15258. // will match the longer piece.
  15259. shortPieces.sort(cmpLenRev);
  15260. longPieces.sort(cmpLenRev);
  15261. mixedPieces.sort(cmpLenRev);
  15262. for (i = 0; i < 12; i++) {
  15263. shortPieces[i] = regexEscape(shortPieces[i]);
  15264. longPieces[i] = regexEscape(longPieces[i]);
  15265. }
  15266. for (i = 0; i < 24; i++) {
  15267. mixedPieces[i] = regexEscape(mixedPieces[i]);
  15268. }
  15269. this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
  15270. this._monthsShortRegex = this._monthsRegex;
  15271. this._monthsStrictRegex = new RegExp(
  15272. '^(' + longPieces.join('|') + ')',
  15273. 'i');
  15274. this._monthsShortStrictRegex = new RegExp(
  15275. '^(' + shortPieces.join('|') + ')',
  15276. 'i');
  15277. }
  15278. // FORMATTING
  15279. addFormatToken('Y', 0, 0, function () {
  15280. var y = this.year();
  15281. return y <= 9999 ? zeroFill(y, 4) : '+' + y;
  15282. });
  15283. addFormatToken(0, ['YY', 2], 0, function () {
  15284. return this.year() % 100;
  15285. });
  15286. addFormatToken(0, ['YYYY', 4], 0, 'year');
  15287. addFormatToken(0, ['YYYYY', 5], 0, 'year');
  15288. addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
  15289. // ALIASES
  15290. addUnitAlias('year', 'y');
  15291. // PRIORITIES
  15292. addUnitPriority('year', 1);
  15293. // PARSING
  15294. addRegexToken('Y', matchSigned);
  15295. addRegexToken('YY', match1to2, match2);
  15296. addRegexToken('YYYY', match1to4, match4);
  15297. addRegexToken('YYYYY', match1to6, match6);
  15298. addRegexToken('YYYYYY', match1to6, match6);
  15299. addParseToken(['YYYYY', 'YYYYYY'], YEAR);
  15300. addParseToken('YYYY', function (input, array) {
  15301. array[YEAR] =
  15302. input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
  15303. });
  15304. addParseToken('YY', function (input, array) {
  15305. array[YEAR] = hooks.parseTwoDigitYear(input);
  15306. });
  15307. addParseToken('Y', function (input, array) {
  15308. array[YEAR] = parseInt(input, 10);
  15309. });
  15310. // HELPERS
  15311. function daysInYear(year) {
  15312. return isLeapYear(year) ? 366 : 365;
  15313. }
  15314. // HOOKS
  15315. hooks.parseTwoDigitYear = function (input) {
  15316. return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
  15317. };
  15318. // MOMENTS
  15319. var getSetYear = makeGetSet('FullYear', true);
  15320. function getIsLeapYear() {
  15321. return isLeapYear(this.year());
  15322. }
  15323. function createDate(y, m, d, h, M, s, ms) {
  15324. // can't just apply() to create a date:
  15325. // https://stackoverflow.com/q/181348
  15326. var date;
  15327. // the date constructor remaps years 0-99 to 1900-1999
  15328. if (y < 100 && y >= 0) {
  15329. // preserve leap years using a full 400 year cycle, then reset
  15330. date = new Date(y + 400, m, d, h, M, s, ms);
  15331. if (isFinite(date.getFullYear())) {
  15332. date.setFullYear(y);
  15333. }
  15334. } else {
  15335. date = new Date(y, m, d, h, M, s, ms);
  15336. }
  15337. return date;
  15338. }
  15339. function createUTCDate(y) {
  15340. var date, args;
  15341. // the Date.UTC function remaps years 0-99 to 1900-1999
  15342. if (y < 100 && y >= 0) {
  15343. args = Array.prototype.slice.call(arguments);
  15344. // preserve leap years using a full 400 year cycle, then reset
  15345. args[0] = y + 400;
  15346. date = new Date(Date.UTC.apply(null, args));
  15347. if (isFinite(date.getUTCFullYear())) {
  15348. date.setUTCFullYear(y);
  15349. }
  15350. } else {
  15351. date = new Date(Date.UTC.apply(null, arguments));
  15352. }
  15353. return date;
  15354. }
  15355. // start-of-first-week - start-of-year
  15356. function firstWeekOffset(year, dow, doy) {
  15357. var // first-week day -- which january is always in the first week (4 for iso, 1 for other)
  15358. fwd = 7 + dow - doy,
  15359. // first-week day local weekday -- which local weekday is fwd
  15360. fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;
  15361. return -fwdlw + fwd - 1;
  15362. }
  15363. // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
  15364. function dayOfYearFromWeeks(year, week, weekday, dow, doy) {
  15365. var localWeekday = (7 + weekday - dow) % 7,
  15366. weekOffset = firstWeekOffset(year, dow, doy),
  15367. dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,
  15368. resYear,
  15369. resDayOfYear;
  15370. if (dayOfYear <= 0) {
  15371. resYear = year - 1;
  15372. resDayOfYear = daysInYear(resYear) + dayOfYear;
  15373. } else if (dayOfYear > daysInYear(year)) {
  15374. resYear = year + 1;
  15375. resDayOfYear = dayOfYear - daysInYear(year);
  15376. } else {
  15377. resYear = year;
  15378. resDayOfYear = dayOfYear;
  15379. }
  15380. return {
  15381. year: resYear,
  15382. dayOfYear: resDayOfYear };
  15383. }
  15384. function weekOfYear(mom, dow, doy) {
  15385. var weekOffset = firstWeekOffset(mom.year(), dow, doy),
  15386. week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,
  15387. resWeek,
  15388. resYear;
  15389. if (week < 1) {
  15390. resYear = mom.year() - 1;
  15391. resWeek = week + weeksInYear(resYear, dow, doy);
  15392. } else if (week > weeksInYear(mom.year(), dow, doy)) {
  15393. resWeek = week - weeksInYear(mom.year(), dow, doy);
  15394. resYear = mom.year() + 1;
  15395. } else {
  15396. resYear = mom.year();
  15397. resWeek = week;
  15398. }
  15399. return {
  15400. week: resWeek,
  15401. year: resYear };
  15402. }
  15403. function weeksInYear(year, dow, doy) {
  15404. var weekOffset = firstWeekOffset(year, dow, doy),
  15405. weekOffsetNext = firstWeekOffset(year + 1, dow, doy);
  15406. return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;
  15407. }
  15408. // FORMATTING
  15409. addFormatToken('w', ['ww', 2], 'wo', 'week');
  15410. addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
  15411. // ALIASES
  15412. addUnitAlias('week', 'w');
  15413. addUnitAlias('isoWeek', 'W');
  15414. // PRIORITIES
  15415. addUnitPriority('week', 5);
  15416. addUnitPriority('isoWeek', 5);
  15417. // PARSING
  15418. addRegexToken('w', match1to2);
  15419. addRegexToken('ww', match1to2, match2);
  15420. addRegexToken('W', match1to2);
  15421. addRegexToken('WW', match1to2, match2);
  15422. addWeekParseToken(
  15423. ['w', 'ww', 'W', 'WW'],
  15424. function (input, week, config, token) {
  15425. week[token.substr(0, 1)] = toInt(input);
  15426. });
  15427. // HELPERS
  15428. // LOCALES
  15429. function localeWeek(mom) {
  15430. return weekOfYear(mom, this._week.dow, this._week.doy).week;
  15431. }
  15432. var defaultLocaleWeek = {
  15433. dow: 0, // Sunday is the first day of the week.
  15434. doy: 6 // The week that contains Jan 6th is the first week of the year.
  15435. };
  15436. function localeFirstDayOfWeek() {
  15437. return this._week.dow;
  15438. }
  15439. function localeFirstDayOfYear() {
  15440. return this._week.doy;
  15441. }
  15442. // MOMENTS
  15443. function getSetWeek(input) {
  15444. var week = this.localeData().week(this);
  15445. return input == null ? week : this.add((input - week) * 7, 'd');
  15446. }
  15447. function getSetISOWeek(input) {
  15448. var week = weekOfYear(this, 1, 4).week;
  15449. return input == null ? week : this.add((input - week) * 7, 'd');
  15450. }
  15451. // FORMATTING
  15452. addFormatToken('d', 0, 'do', 'day');
  15453. addFormatToken('dd', 0, 0, function (format) {
  15454. return this.localeData().weekdaysMin(this, format);
  15455. });
  15456. addFormatToken('ddd', 0, 0, function (format) {
  15457. return this.localeData().weekdaysShort(this, format);
  15458. });
  15459. addFormatToken('dddd', 0, 0, function (format) {
  15460. return this.localeData().weekdays(this, format);
  15461. });
  15462. addFormatToken('e', 0, 0, 'weekday');
  15463. addFormatToken('E', 0, 0, 'isoWeekday');
  15464. // ALIASES
  15465. addUnitAlias('day', 'd');
  15466. addUnitAlias('weekday', 'e');
  15467. addUnitAlias('isoWeekday', 'E');
  15468. // PRIORITY
  15469. addUnitPriority('day', 11);
  15470. addUnitPriority('weekday', 11);
  15471. addUnitPriority('isoWeekday', 11);
  15472. // PARSING
  15473. addRegexToken('d', match1to2);
  15474. addRegexToken('e', match1to2);
  15475. addRegexToken('E', match1to2);
  15476. addRegexToken('dd', function (isStrict, locale) {
  15477. return locale.weekdaysMinRegex(isStrict);
  15478. });
  15479. addRegexToken('ddd', function (isStrict, locale) {
  15480. return locale.weekdaysShortRegex(isStrict);
  15481. });
  15482. addRegexToken('dddd', function (isStrict, locale) {
  15483. return locale.weekdaysRegex(isStrict);
  15484. });
  15485. addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {
  15486. var weekday = config._locale.weekdaysParse(input, token, config._strict);
  15487. // if we didn't get a weekday name, mark the date as invalid
  15488. if (weekday != null) {
  15489. week.d = weekday;
  15490. } else {
  15491. getParsingFlags(config).invalidWeekday = input;
  15492. }
  15493. });
  15494. addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {
  15495. week[token] = toInt(input);
  15496. });
  15497. // HELPERS
  15498. function parseWeekday(input, locale) {
  15499. if (typeof input !== 'string') {
  15500. return input;
  15501. }
  15502. if (!isNaN(input)) {
  15503. return parseInt(input, 10);
  15504. }
  15505. input = locale.weekdaysParse(input);
  15506. if (typeof input === 'number') {
  15507. return input;
  15508. }
  15509. return null;
  15510. }
  15511. function parseIsoWeekday(input, locale) {
  15512. if (typeof input === 'string') {
  15513. return locale.weekdaysParse(input) % 7 || 7;
  15514. }
  15515. return isNaN(input) ? null : input;
  15516. }
  15517. // LOCALES
  15518. function shiftWeekdays(ws, n) {
  15519. return ws.slice(n, 7).concat(ws.slice(0, n));
  15520. }
  15521. var defaultLocaleWeekdays =
  15522. 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
  15523. defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
  15524. defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
  15525. defaultWeekdaysRegex = matchWord,
  15526. defaultWeekdaysShortRegex = matchWord,
  15527. defaultWeekdaysMinRegex = matchWord;
  15528. function localeWeekdays(m, format) {
  15529. var weekdays = isArray(this._weekdays) ?
  15530. this._weekdays :
  15531. this._weekdays[
  15532. m && m !== true && this._weekdays.isFormat.test(format) ?
  15533. 'format' :
  15534. 'standalone'];
  15535. return m === true ?
  15536. shiftWeekdays(weekdays, this._week.dow) :
  15537. m ?
  15538. weekdays[m.day()] :
  15539. weekdays;
  15540. }
  15541. function localeWeekdaysShort(m) {
  15542. return m === true ?
  15543. shiftWeekdays(this._weekdaysShort, this._week.dow) :
  15544. m ?
  15545. this._weekdaysShort[m.day()] :
  15546. this._weekdaysShort;
  15547. }
  15548. function localeWeekdaysMin(m) {
  15549. return m === true ?
  15550. shiftWeekdays(this._weekdaysMin, this._week.dow) :
  15551. m ?
  15552. this._weekdaysMin[m.day()] :
  15553. this._weekdaysMin;
  15554. }
  15555. function handleStrictParse$1(weekdayName, format, strict) {
  15556. var i,
  15557. ii,
  15558. mom,
  15559. llc = weekdayName.toLocaleLowerCase();
  15560. if (!this._weekdaysParse) {
  15561. this._weekdaysParse = [];
  15562. this._shortWeekdaysParse = [];
  15563. this._minWeekdaysParse = [];
  15564. for (i = 0; i < 7; ++i) {
  15565. mom = createUTC([2000, 1]).day(i);
  15566. this._minWeekdaysParse[i] = this.weekdaysMin(
  15567. mom,
  15568. '').
  15569. toLocaleLowerCase();
  15570. this._shortWeekdaysParse[i] = this.weekdaysShort(
  15571. mom,
  15572. '').
  15573. toLocaleLowerCase();
  15574. this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();
  15575. }
  15576. }
  15577. if (strict) {
  15578. if (format === 'dddd') {
  15579. ii = indexOf.call(this._weekdaysParse, llc);
  15580. return ii !== -1 ? ii : null;
  15581. } else if (format === 'ddd') {
  15582. ii = indexOf.call(this._shortWeekdaysParse, llc);
  15583. return ii !== -1 ? ii : null;
  15584. } else {
  15585. ii = indexOf.call(this._minWeekdaysParse, llc);
  15586. return ii !== -1 ? ii : null;
  15587. }
  15588. } else {
  15589. if (format === 'dddd') {
  15590. ii = indexOf.call(this._weekdaysParse, llc);
  15591. if (ii !== -1) {
  15592. return ii;
  15593. }
  15594. ii = indexOf.call(this._shortWeekdaysParse, llc);
  15595. if (ii !== -1) {
  15596. return ii;
  15597. }
  15598. ii = indexOf.call(this._minWeekdaysParse, llc);
  15599. return ii !== -1 ? ii : null;
  15600. } else if (format === 'ddd') {
  15601. ii = indexOf.call(this._shortWeekdaysParse, llc);
  15602. if (ii !== -1) {
  15603. return ii;
  15604. }
  15605. ii = indexOf.call(this._weekdaysParse, llc);
  15606. if (ii !== -1) {
  15607. return ii;
  15608. }
  15609. ii = indexOf.call(this._minWeekdaysParse, llc);
  15610. return ii !== -1 ? ii : null;
  15611. } else {
  15612. ii = indexOf.call(this._minWeekdaysParse, llc);
  15613. if (ii !== -1) {
  15614. return ii;
  15615. }
  15616. ii = indexOf.call(this._weekdaysParse, llc);
  15617. if (ii !== -1) {
  15618. return ii;
  15619. }
  15620. ii = indexOf.call(this._shortWeekdaysParse, llc);
  15621. return ii !== -1 ? ii : null;
  15622. }
  15623. }
  15624. }
  15625. function localeWeekdaysParse(weekdayName, format, strict) {
  15626. var i, mom, regex;
  15627. if (this._weekdaysParseExact) {
  15628. return handleStrictParse$1.call(this, weekdayName, format, strict);
  15629. }
  15630. if (!this._weekdaysParse) {
  15631. this._weekdaysParse = [];
  15632. this._minWeekdaysParse = [];
  15633. this._shortWeekdaysParse = [];
  15634. this._fullWeekdaysParse = [];
  15635. }
  15636. for (i = 0; i < 7; i++) {
  15637. // make the regex if we don't have it already
  15638. mom = createUTC([2000, 1]).day(i);
  15639. if (strict && !this._fullWeekdaysParse[i]) {
  15640. this._fullWeekdaysParse[i] = new RegExp(
  15641. '^' + this.weekdays(mom, '').replace('.', '\\.?') + '$',
  15642. 'i');
  15643. this._shortWeekdaysParse[i] = new RegExp(
  15644. '^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$',
  15645. 'i');
  15646. this._minWeekdaysParse[i] = new RegExp(
  15647. '^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$',
  15648. 'i');
  15649. }
  15650. if (!this._weekdaysParse[i]) {
  15651. regex =
  15652. '^' +
  15653. this.weekdays(mom, '') +
  15654. '|^' +
  15655. this.weekdaysShort(mom, '') +
  15656. '|^' +
  15657. this.weekdaysMin(mom, '');
  15658. this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
  15659. }
  15660. // test the regex
  15661. if (
  15662. strict &&
  15663. format === 'dddd' &&
  15664. this._fullWeekdaysParse[i].test(weekdayName))
  15665. {
  15666. return i;
  15667. } else if (
  15668. strict &&
  15669. format === 'ddd' &&
  15670. this._shortWeekdaysParse[i].test(weekdayName))
  15671. {
  15672. return i;
  15673. } else if (
  15674. strict &&
  15675. format === 'dd' &&
  15676. this._minWeekdaysParse[i].test(weekdayName))
  15677. {
  15678. return i;
  15679. } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {
  15680. return i;
  15681. }
  15682. }
  15683. }
  15684. // MOMENTS
  15685. function getSetDayOfWeek(input) {
  15686. if (!this.isValid()) {
  15687. return input != null ? this : NaN;
  15688. }
  15689. var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
  15690. if (input != null) {
  15691. input = parseWeekday(input, this.localeData());
  15692. return this.add(input - day, 'd');
  15693. } else {
  15694. return day;
  15695. }
  15696. }
  15697. function getSetLocaleDayOfWeek(input) {
  15698. if (!this.isValid()) {
  15699. return input != null ? this : NaN;
  15700. }
  15701. var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
  15702. return input == null ? weekday : this.add(input - weekday, 'd');
  15703. }
  15704. function getSetISODayOfWeek(input) {
  15705. if (!this.isValid()) {
  15706. return input != null ? this : NaN;
  15707. }
  15708. // behaves the same as moment#day except
  15709. // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
  15710. // as a setter, sunday should belong to the previous week.
  15711. if (input != null) {
  15712. var weekday = parseIsoWeekday(input, this.localeData());
  15713. return this.day(this.day() % 7 ? weekday : weekday - 7);
  15714. } else {
  15715. return this.day() || 7;
  15716. }
  15717. }
  15718. function weekdaysRegex(isStrict) {
  15719. if (this._weekdaysParseExact) {
  15720. if (!hasOwnProp(this, '_weekdaysRegex')) {
  15721. computeWeekdaysParse.call(this);
  15722. }
  15723. if (isStrict) {
  15724. return this._weekdaysStrictRegex;
  15725. } else {
  15726. return this._weekdaysRegex;
  15727. }
  15728. } else {
  15729. if (!hasOwnProp(this, '_weekdaysRegex')) {
  15730. this._weekdaysRegex = defaultWeekdaysRegex;
  15731. }
  15732. return this._weekdaysStrictRegex && isStrict ?
  15733. this._weekdaysStrictRegex :
  15734. this._weekdaysRegex;
  15735. }
  15736. }
  15737. function weekdaysShortRegex(isStrict) {
  15738. if (this._weekdaysParseExact) {
  15739. if (!hasOwnProp(this, '_weekdaysRegex')) {
  15740. computeWeekdaysParse.call(this);
  15741. }
  15742. if (isStrict) {
  15743. return this._weekdaysShortStrictRegex;
  15744. } else {
  15745. return this._weekdaysShortRegex;
  15746. }
  15747. } else {
  15748. if (!hasOwnProp(this, '_weekdaysShortRegex')) {
  15749. this._weekdaysShortRegex = defaultWeekdaysShortRegex;
  15750. }
  15751. return this._weekdaysShortStrictRegex && isStrict ?
  15752. this._weekdaysShortStrictRegex :
  15753. this._weekdaysShortRegex;
  15754. }
  15755. }
  15756. function weekdaysMinRegex(isStrict) {
  15757. if (this._weekdaysParseExact) {
  15758. if (!hasOwnProp(this, '_weekdaysRegex')) {
  15759. computeWeekdaysParse.call(this);
  15760. }
  15761. if (isStrict) {
  15762. return this._weekdaysMinStrictRegex;
  15763. } else {
  15764. return this._weekdaysMinRegex;
  15765. }
  15766. } else {
  15767. if (!hasOwnProp(this, '_weekdaysMinRegex')) {
  15768. this._weekdaysMinRegex = defaultWeekdaysMinRegex;
  15769. }
  15770. return this._weekdaysMinStrictRegex && isStrict ?
  15771. this._weekdaysMinStrictRegex :
  15772. this._weekdaysMinRegex;
  15773. }
  15774. }
  15775. function computeWeekdaysParse() {
  15776. function cmpLenRev(a, b) {
  15777. return b.length - a.length;
  15778. }
  15779. var minPieces = [],
  15780. shortPieces = [],
  15781. longPieces = [],
  15782. mixedPieces = [],
  15783. i,
  15784. mom,
  15785. minp,
  15786. shortp,
  15787. longp;
  15788. for (i = 0; i < 7; i++) {
  15789. // make the regex if we don't have it already
  15790. mom = createUTC([2000, 1]).day(i);
  15791. minp = regexEscape(this.weekdaysMin(mom, ''));
  15792. shortp = regexEscape(this.weekdaysShort(mom, ''));
  15793. longp = regexEscape(this.weekdays(mom, ''));
  15794. minPieces.push(minp);
  15795. shortPieces.push(shortp);
  15796. longPieces.push(longp);
  15797. mixedPieces.push(minp);
  15798. mixedPieces.push(shortp);
  15799. mixedPieces.push(longp);
  15800. }
  15801. // Sorting makes sure if one weekday (or abbr) is a prefix of another it
  15802. // will match the longer piece.
  15803. minPieces.sort(cmpLenRev);
  15804. shortPieces.sort(cmpLenRev);
  15805. longPieces.sort(cmpLenRev);
  15806. mixedPieces.sort(cmpLenRev);
  15807. this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
  15808. this._weekdaysShortRegex = this._weekdaysRegex;
  15809. this._weekdaysMinRegex = this._weekdaysRegex;
  15810. this._weekdaysStrictRegex = new RegExp(
  15811. '^(' + longPieces.join('|') + ')',
  15812. 'i');
  15813. this._weekdaysShortStrictRegex = new RegExp(
  15814. '^(' + shortPieces.join('|') + ')',
  15815. 'i');
  15816. this._weekdaysMinStrictRegex = new RegExp(
  15817. '^(' + minPieces.join('|') + ')',
  15818. 'i');
  15819. }
  15820. // FORMATTING
  15821. function hFormat() {
  15822. return this.hours() % 12 || 12;
  15823. }
  15824. function kFormat() {
  15825. return this.hours() || 24;
  15826. }
  15827. addFormatToken('H', ['HH', 2], 0, 'hour');
  15828. addFormatToken('h', ['hh', 2], 0, hFormat);
  15829. addFormatToken('k', ['kk', 2], 0, kFormat);
  15830. addFormatToken('hmm', 0, 0, function () {
  15831. return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);
  15832. });
  15833. addFormatToken('hmmss', 0, 0, function () {
  15834. return (
  15835. '' +
  15836. hFormat.apply(this) +
  15837. zeroFill(this.minutes(), 2) +
  15838. zeroFill(this.seconds(), 2));
  15839. });
  15840. addFormatToken('Hmm', 0, 0, function () {
  15841. return '' + this.hours() + zeroFill(this.minutes(), 2);
  15842. });
  15843. addFormatToken('Hmmss', 0, 0, function () {
  15844. return (
  15845. '' +
  15846. this.hours() +
  15847. zeroFill(this.minutes(), 2) +
  15848. zeroFill(this.seconds(), 2));
  15849. });
  15850. function meridiem(token, lowercase) {
  15851. addFormatToken(token, 0, 0, function () {
  15852. return this.localeData().meridiem(
  15853. this.hours(),
  15854. this.minutes(),
  15855. lowercase);
  15856. });
  15857. }
  15858. meridiem('a', true);
  15859. meridiem('A', false);
  15860. // ALIASES
  15861. addUnitAlias('hour', 'h');
  15862. // PRIORITY
  15863. addUnitPriority('hour', 13);
  15864. // PARSING
  15865. function matchMeridiem(isStrict, locale) {
  15866. return locale._meridiemParse;
  15867. }
  15868. addRegexToken('a', matchMeridiem);
  15869. addRegexToken('A', matchMeridiem);
  15870. addRegexToken('H', match1to2);
  15871. addRegexToken('h', match1to2);
  15872. addRegexToken('k', match1to2);
  15873. addRegexToken('HH', match1to2, match2);
  15874. addRegexToken('hh', match1to2, match2);
  15875. addRegexToken('kk', match1to2, match2);
  15876. addRegexToken('hmm', match3to4);
  15877. addRegexToken('hmmss', match5to6);
  15878. addRegexToken('Hmm', match3to4);
  15879. addRegexToken('Hmmss', match5to6);
  15880. addParseToken(['H', 'HH'], HOUR);
  15881. addParseToken(['k', 'kk'], function (input, array, config) {
  15882. var kInput = toInt(input);
  15883. array[HOUR] = kInput === 24 ? 0 : kInput;
  15884. });
  15885. addParseToken(['a', 'A'], function (input, array, config) {
  15886. config._isPm = config._locale.isPM(input);
  15887. config._meridiem = input;
  15888. });
  15889. addParseToken(['h', 'hh'], function (input, array, config) {
  15890. array[HOUR] = toInt(input);
  15891. getParsingFlags(config).bigHour = true;
  15892. });
  15893. addParseToken('hmm', function (input, array, config) {
  15894. var pos = input.length - 2;
  15895. array[HOUR] = toInt(input.substr(0, pos));
  15896. array[MINUTE] = toInt(input.substr(pos));
  15897. getParsingFlags(config).bigHour = true;
  15898. });
  15899. addParseToken('hmmss', function (input, array, config) {
  15900. var pos1 = input.length - 4,
  15901. pos2 = input.length - 2;
  15902. array[HOUR] = toInt(input.substr(0, pos1));
  15903. array[MINUTE] = toInt(input.substr(pos1, 2));
  15904. array[SECOND] = toInt(input.substr(pos2));
  15905. getParsingFlags(config).bigHour = true;
  15906. });
  15907. addParseToken('Hmm', function (input, array, config) {
  15908. var pos = input.length - 2;
  15909. array[HOUR] = toInt(input.substr(0, pos));
  15910. array[MINUTE] = toInt(input.substr(pos));
  15911. });
  15912. addParseToken('Hmmss', function (input, array, config) {
  15913. var pos1 = input.length - 4,
  15914. pos2 = input.length - 2;
  15915. array[HOUR] = toInt(input.substr(0, pos1));
  15916. array[MINUTE] = toInt(input.substr(pos1, 2));
  15917. array[SECOND] = toInt(input.substr(pos2));
  15918. });
  15919. // LOCALES
  15920. function localeIsPM(input) {
  15921. // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
  15922. // Using charAt should be more compatible.
  15923. return (input + '').toLowerCase().charAt(0) === 'p';
  15924. }
  15925. var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i,
  15926. // Setting the hour should keep the time, because the user explicitly
  15927. // specified which hour they want. So trying to maintain the same hour (in
  15928. // a new timezone) makes sense. Adding/subtracting hours does not follow
  15929. // this rule.
  15930. getSetHour = makeGetSet('Hours', true);
  15931. function localeMeridiem(hours, minutes, isLower) {
  15932. if (hours > 11) {
  15933. return isLower ? 'pm' : 'PM';
  15934. } else {
  15935. return isLower ? 'am' : 'AM';
  15936. }
  15937. }
  15938. var baseConfig = {
  15939. calendar: defaultCalendar,
  15940. longDateFormat: defaultLongDateFormat,
  15941. invalidDate: defaultInvalidDate,
  15942. ordinal: defaultOrdinal,
  15943. dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,
  15944. relativeTime: defaultRelativeTime,
  15945. months: defaultLocaleMonths,
  15946. monthsShort: defaultLocaleMonthsShort,
  15947. week: defaultLocaleWeek,
  15948. weekdays: defaultLocaleWeekdays,
  15949. weekdaysMin: defaultLocaleWeekdaysMin,
  15950. weekdaysShort: defaultLocaleWeekdaysShort,
  15951. meridiemParse: defaultLocaleMeridiemParse };
  15952. // internal storage for locale config files
  15953. var locales = {},
  15954. localeFamilies = {},
  15955. globalLocale;
  15956. function commonPrefix(arr1, arr2) {
  15957. var i,
  15958. minl = Math.min(arr1.length, arr2.length);
  15959. for (i = 0; i < minl; i += 1) {
  15960. if (arr1[i] !== arr2[i]) {
  15961. return i;
  15962. }
  15963. }
  15964. return minl;
  15965. }
  15966. function normalizeLocale(key) {
  15967. return key ? key.toLowerCase().replace('_', '-') : key;
  15968. }
  15969. // pick the locale from the array
  15970. // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
  15971. // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
  15972. function chooseLocale(names) {
  15973. var i = 0,
  15974. j,
  15975. next,
  15976. locale,
  15977. split;
  15978. while (i < names.length) {
  15979. split = normalizeLocale(names[i]).split('-');
  15980. j = split.length;
  15981. next = normalizeLocale(names[i + 1]);
  15982. next = next ? next.split('-') : null;
  15983. while (j > 0) {
  15984. locale = loadLocale(split.slice(0, j).join('-'));
  15985. if (locale) {
  15986. return locale;
  15987. }
  15988. if (
  15989. next &&
  15990. next.length >= j &&
  15991. commonPrefix(split, next) >= j - 1)
  15992. {
  15993. //the next array item is better than a shallower substring of this one
  15994. break;
  15995. }
  15996. j--;
  15997. }
  15998. i++;
  15999. }
  16000. return globalLocale;
  16001. }
  16002. function isLocaleNameSane(name) {
  16003. // Prevent names that look like filesystem paths, i.e contain '/' or '\'
  16004. return name.match('^[^/\\\\]*$') != null;
  16005. }
  16006. function loadLocale(name) {
  16007. var oldLocale = null,
  16008. aliasedRequire;
  16009. // TODO: Find a better way to register and load all the locales in Node
  16010. if (
  16011. locales[name] === undefined &&
  16012. typeof module !== 'undefined' &&
  16013. module &&
  16014. module.exports &&
  16015. isLocaleNameSane(name))
  16016. {
  16017. try {
  16018. oldLocale = globalLocale._abbr;
  16019. aliasedRequire = require;
  16020. __webpack_require__(110)("./" + name);
  16021. getSetGlobalLocale(oldLocale);
  16022. } catch (e) {
  16023. // mark as not found to avoid repeating expensive file require call causing high CPU
  16024. // when trying to find en-US, en_US, en-us for every format call
  16025. locales[name] = null; // null means not found
  16026. }
  16027. }
  16028. return locales[name];
  16029. }
  16030. // This function will load locale and then set the global locale. If
  16031. // no arguments are passed in, it will simply return the current global
  16032. // locale key.
  16033. function getSetGlobalLocale(key, values) {
  16034. var data;
  16035. if (key) {
  16036. if (isUndefined(values)) {
  16037. data = getLocale(key);
  16038. } else {
  16039. data = defineLocale(key, values);
  16040. }
  16041. if (data) {
  16042. // moment.duration._locale = moment._locale = data;
  16043. globalLocale = data;
  16044. } else {
  16045. if (typeof console !== 'undefined' && console.warn) {
  16046. //warn user if arguments are passed but the locale could not be set
  16047. console.warn(
  16048. 'Locale ' + key + ' not found. Did you forget to load it?');
  16049. }
  16050. }
  16051. }
  16052. return globalLocale._abbr;
  16053. }
  16054. function defineLocale(name, config) {
  16055. if (config !== null) {
  16056. var locale,
  16057. parentConfig = baseConfig;
  16058. config.abbr = name;
  16059. if (locales[name] != null) {
  16060. deprecateSimple(
  16061. 'defineLocaleOverride',
  16062. 'use moment.updateLocale(localeName, config) to change ' +
  16063. 'an existing locale. moment.defineLocale(localeName, ' +
  16064. 'config) should only be used for creating a new locale ' +
  16065. 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');
  16066. parentConfig = locales[name]._config;
  16067. } else if (config.parentLocale != null) {
  16068. if (locales[config.parentLocale] != null) {
  16069. parentConfig = locales[config.parentLocale]._config;
  16070. } else {
  16071. locale = loadLocale(config.parentLocale);
  16072. if (locale != null) {
  16073. parentConfig = locale._config;
  16074. } else {
  16075. if (!localeFamilies[config.parentLocale]) {
  16076. localeFamilies[config.parentLocale] = [];
  16077. }
  16078. localeFamilies[config.parentLocale].push({
  16079. name: name,
  16080. config: config });
  16081. return null;
  16082. }
  16083. }
  16084. }
  16085. locales[name] = new Locale(mergeConfigs(parentConfig, config));
  16086. if (localeFamilies[name]) {
  16087. localeFamilies[name].forEach(function (x) {
  16088. defineLocale(x.name, x.config);
  16089. });
  16090. }
  16091. // backwards compat for now: also set the locale
  16092. // make sure we set the locale AFTER all child locales have been
  16093. // created, so we won't end up with the child locale set.
  16094. getSetGlobalLocale(name);
  16095. return locales[name];
  16096. } else {
  16097. // useful for testing
  16098. delete locales[name];
  16099. return null;
  16100. }
  16101. }
  16102. function updateLocale(name, config) {
  16103. if (config != null) {
  16104. var locale,
  16105. tmpLocale,
  16106. parentConfig = baseConfig;
  16107. if (locales[name] != null && locales[name].parentLocale != null) {
  16108. // Update existing child locale in-place to avoid memory-leaks
  16109. locales[name].set(mergeConfigs(locales[name]._config, config));
  16110. } else {
  16111. // MERGE
  16112. tmpLocale = loadLocale(name);
  16113. if (tmpLocale != null) {
  16114. parentConfig = tmpLocale._config;
  16115. }
  16116. config = mergeConfigs(parentConfig, config);
  16117. if (tmpLocale == null) {
  16118. // updateLocale is called for creating a new locale
  16119. // Set abbr so it will have a name (getters return
  16120. // undefined otherwise).
  16121. config.abbr = name;
  16122. }
  16123. locale = new Locale(config);
  16124. locale.parentLocale = locales[name];
  16125. locales[name] = locale;
  16126. }
  16127. // backwards compat for now: also set the locale
  16128. getSetGlobalLocale(name);
  16129. } else {
  16130. // pass null for config to unupdate, useful for tests
  16131. if (locales[name] != null) {
  16132. if (locales[name].parentLocale != null) {
  16133. locales[name] = locales[name].parentLocale;
  16134. if (name === getSetGlobalLocale()) {
  16135. getSetGlobalLocale(name);
  16136. }
  16137. } else if (locales[name] != null) {
  16138. delete locales[name];
  16139. }
  16140. }
  16141. }
  16142. return locales[name];
  16143. }
  16144. // returns locale data
  16145. function getLocale(key) {
  16146. var locale;
  16147. if (key && key._locale && key._locale._abbr) {
  16148. key = key._locale._abbr;
  16149. }
  16150. if (!key) {
  16151. return globalLocale;
  16152. }
  16153. if (!isArray(key)) {
  16154. //short-circuit everything else
  16155. locale = loadLocale(key);
  16156. if (locale) {
  16157. return locale;
  16158. }
  16159. key = [key];
  16160. }
  16161. return chooseLocale(key);
  16162. }
  16163. function listLocales() {
  16164. return keys(locales);
  16165. }
  16166. function checkOverflow(m) {
  16167. var overflow,
  16168. a = m._a;
  16169. if (a && getParsingFlags(m).overflow === -2) {
  16170. overflow =
  16171. a[MONTH] < 0 || a[MONTH] > 11 ?
  16172. MONTH :
  16173. a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ?
  16174. DATE :
  16175. a[HOUR] < 0 ||
  16176. a[HOUR] > 24 ||
  16177. a[HOUR] === 24 && (
  16178. a[MINUTE] !== 0 ||
  16179. a[SECOND] !== 0 ||
  16180. a[MILLISECOND] !== 0) ?
  16181. HOUR :
  16182. a[MINUTE] < 0 || a[MINUTE] > 59 ?
  16183. MINUTE :
  16184. a[SECOND] < 0 || a[SECOND] > 59 ?
  16185. SECOND :
  16186. a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ?
  16187. MILLISECOND :
  16188. -1;
  16189. if (
  16190. getParsingFlags(m)._overflowDayOfYear && (
  16191. overflow < YEAR || overflow > DATE))
  16192. {
  16193. overflow = DATE;
  16194. }
  16195. if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
  16196. overflow = WEEK;
  16197. }
  16198. if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
  16199. overflow = WEEKDAY;
  16200. }
  16201. getParsingFlags(m).overflow = overflow;
  16202. }
  16203. return m;
  16204. }
  16205. // iso 8601 regex
  16206. // 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)
  16207. var extendedIsoRegex =
  16208. /^\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)?)?$/,
  16209. basicIsoRegex =
  16210. /^\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)?)?$/,
  16211. tzRegex = /Z|[+-]\d\d(?::?\d\d)?/,
  16212. isoDates = [
  16213. ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/],
  16214. ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/],
  16215. ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/],
  16216. ['GGGG-[W]WW', /\d{4}-W\d\d/, false],
  16217. ['YYYY-DDD', /\d{4}-\d{3}/],
  16218. ['YYYY-MM', /\d{4}-\d\d/, false],
  16219. ['YYYYYYMMDD', /[+-]\d{10}/],
  16220. ['YYYYMMDD', /\d{8}/],
  16221. ['GGGG[W]WWE', /\d{4}W\d{3}/],
  16222. ['GGGG[W]WW', /\d{4}W\d{2}/, false],
  16223. ['YYYYDDD', /\d{7}/],
  16224. ['YYYYMM', /\d{6}/, false],
  16225. ['YYYY', /\d{4}/, false]],
  16226. // iso time formats and regexes
  16227. isoTimes = [
  16228. ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/],
  16229. ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/],
  16230. ['HH:mm:ss', /\d\d:\d\d:\d\d/],
  16231. ['HH:mm', /\d\d:\d\d/],
  16232. ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/],
  16233. ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/],
  16234. ['HHmmss', /\d\d\d\d\d\d/],
  16235. ['HHmm', /\d\d\d\d/],
  16236. ['HH', /\d\d/]],
  16237. aspNetJsonRegex = /^\/?Date\((-?\d+)/i,
  16238. // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3
  16239. rfc2822 =
  16240. /^(?:(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}))$/,
  16241. obsOffsets = {
  16242. UT: 0,
  16243. GMT: 0,
  16244. EDT: -4 * 60,
  16245. EST: -5 * 60,
  16246. CDT: -5 * 60,
  16247. CST: -6 * 60,
  16248. MDT: -6 * 60,
  16249. MST: -7 * 60,
  16250. PDT: -7 * 60,
  16251. PST: -8 * 60 };
  16252. // date from iso format
  16253. function configFromISO(config) {
  16254. var i,
  16255. l,
  16256. string = config._i,
  16257. match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),
  16258. allowTime,
  16259. dateFormat,
  16260. timeFormat,
  16261. tzFormat,
  16262. isoDatesLen = isoDates.length,
  16263. isoTimesLen = isoTimes.length;
  16264. if (match) {
  16265. getParsingFlags(config).iso = true;
  16266. for (i = 0, l = isoDatesLen; i < l; i++) {
  16267. if (isoDates[i][1].exec(match[1])) {
  16268. dateFormat = isoDates[i][0];
  16269. allowTime = isoDates[i][2] !== false;
  16270. break;
  16271. }
  16272. }
  16273. if (dateFormat == null) {
  16274. config._isValid = false;
  16275. return;
  16276. }
  16277. if (match[3]) {
  16278. for (i = 0, l = isoTimesLen; i < l; i++) {
  16279. if (isoTimes[i][1].exec(match[3])) {
  16280. // match[2] should be 'T' or space
  16281. timeFormat = (match[2] || ' ') + isoTimes[i][0];
  16282. break;
  16283. }
  16284. }
  16285. if (timeFormat == null) {
  16286. config._isValid = false;
  16287. return;
  16288. }
  16289. }
  16290. if (!allowTime && timeFormat != null) {
  16291. config._isValid = false;
  16292. return;
  16293. }
  16294. if (match[4]) {
  16295. if (tzRegex.exec(match[4])) {
  16296. tzFormat = 'Z';
  16297. } else {
  16298. config._isValid = false;
  16299. return;
  16300. }
  16301. }
  16302. config._f = dateFormat + (timeFormat || '') + (tzFormat || '');
  16303. configFromStringAndFormat(config);
  16304. } else {
  16305. config._isValid = false;
  16306. }
  16307. }
  16308. function extractFromRFC2822Strings(
  16309. yearStr,
  16310. monthStr,
  16311. dayStr,
  16312. hourStr,
  16313. minuteStr,
  16314. secondStr)
  16315. {
  16316. var result = [
  16317. untruncateYear(yearStr),
  16318. defaultLocaleMonthsShort.indexOf(monthStr),
  16319. parseInt(dayStr, 10),
  16320. parseInt(hourStr, 10),
  16321. parseInt(minuteStr, 10)];
  16322. if (secondStr) {
  16323. result.push(parseInt(secondStr, 10));
  16324. }
  16325. return result;
  16326. }
  16327. function untruncateYear(yearStr) {
  16328. var year = parseInt(yearStr, 10);
  16329. if (year <= 49) {
  16330. return 2000 + year;
  16331. } else if (year <= 999) {
  16332. return 1900 + year;
  16333. }
  16334. return year;
  16335. }
  16336. function preprocessRFC2822(s) {
  16337. // Remove comments and folding whitespace and replace multiple-spaces with a single space
  16338. return s.
  16339. replace(/\([^()]*\)|[\n\t]/g, ' ').
  16340. replace(/(\s\s+)/g, ' ').
  16341. replace(/^\s\s*/, '').
  16342. replace(/\s\s*$/, '');
  16343. }
  16344. function checkWeekday(weekdayStr, parsedInput, config) {
  16345. if (weekdayStr) {
  16346. // TODO: Replace the vanilla JS Date object with an independent day-of-week check.
  16347. var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),
  16348. weekdayActual = new Date(
  16349. parsedInput[0],
  16350. parsedInput[1],
  16351. parsedInput[2]).
  16352. getDay();
  16353. if (weekdayProvided !== weekdayActual) {
  16354. getParsingFlags(config).weekdayMismatch = true;
  16355. config._isValid = false;
  16356. return false;
  16357. }
  16358. }
  16359. return true;
  16360. }
  16361. function calculateOffset(obsOffset, militaryOffset, numOffset) {
  16362. if (obsOffset) {
  16363. return obsOffsets[obsOffset];
  16364. } else if (militaryOffset) {
  16365. // the only allowed military tz is Z
  16366. return 0;
  16367. } else {
  16368. var hm = parseInt(numOffset, 10),
  16369. m = hm % 100,
  16370. h = (hm - m) / 100;
  16371. return h * 60 + m;
  16372. }
  16373. }
  16374. // date and time from ref 2822 format
  16375. function configFromRFC2822(config) {
  16376. var match = rfc2822.exec(preprocessRFC2822(config._i)),
  16377. parsedArray;
  16378. if (match) {
  16379. parsedArray = extractFromRFC2822Strings(
  16380. match[4],
  16381. match[3],
  16382. match[2],
  16383. match[5],
  16384. match[6],
  16385. match[7]);
  16386. if (!checkWeekday(match[1], parsedArray, config)) {
  16387. return;
  16388. }
  16389. config._a = parsedArray;
  16390. config._tzm = calculateOffset(match[8], match[9], match[10]);
  16391. config._d = createUTCDate.apply(null, config._a);
  16392. config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
  16393. getParsingFlags(config).rfc2822 = true;
  16394. } else {
  16395. config._isValid = false;
  16396. }
  16397. }
  16398. // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict
  16399. function configFromString(config) {
  16400. var matched = aspNetJsonRegex.exec(config._i);
  16401. if (matched !== null) {
  16402. config._d = new Date(+matched[1]);
  16403. return;
  16404. }
  16405. configFromISO(config);
  16406. if (config._isValid === false) {
  16407. delete config._isValid;
  16408. } else {
  16409. return;
  16410. }
  16411. configFromRFC2822(config);
  16412. if (config._isValid === false) {
  16413. delete config._isValid;
  16414. } else {
  16415. return;
  16416. }
  16417. if (config._strict) {
  16418. config._isValid = false;
  16419. } else {
  16420. // Final attempt, use Input Fallback
  16421. hooks.createFromInputFallback(config);
  16422. }
  16423. }
  16424. hooks.createFromInputFallback = deprecate(
  16425. 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +
  16426. 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +
  16427. 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',
  16428. function (config) {
  16429. config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
  16430. });
  16431. // Pick the first defined of two or three arguments.
  16432. function defaults(a, b, c) {
  16433. if (a != null) {
  16434. return a;
  16435. }
  16436. if (b != null) {
  16437. return b;
  16438. }
  16439. return c;
  16440. }
  16441. function currentDateArray(config) {
  16442. // hooks is actually the exported moment object
  16443. var nowValue = new Date(hooks.now());
  16444. if (config._useUTC) {
  16445. return [
  16446. nowValue.getUTCFullYear(),
  16447. nowValue.getUTCMonth(),
  16448. nowValue.getUTCDate()];
  16449. }
  16450. return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];
  16451. }
  16452. // convert an array to a date.
  16453. // the array should mirror the parameters below
  16454. // note: all values past the year are optional and will default to the lowest possible value.
  16455. // [year, month, day , hour, minute, second, millisecond]
  16456. function configFromArray(config) {
  16457. var i,
  16458. date,
  16459. input = [],
  16460. currentDate,
  16461. expectedWeekday,
  16462. yearToUse;
  16463. if (config._d) {
  16464. return;
  16465. }
  16466. currentDate = currentDateArray(config);
  16467. //compute day of the year from weeks and weekdays
  16468. if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
  16469. dayOfYearFromWeekInfo(config);
  16470. }
  16471. //if the day of the year is set, figure out what it is
  16472. if (config._dayOfYear != null) {
  16473. yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);
  16474. if (
  16475. config._dayOfYear > daysInYear(yearToUse) ||
  16476. config._dayOfYear === 0)
  16477. {
  16478. getParsingFlags(config)._overflowDayOfYear = true;
  16479. }
  16480. date = createUTCDate(yearToUse, 0, config._dayOfYear);
  16481. config._a[MONTH] = date.getUTCMonth();
  16482. config._a[DATE] = date.getUTCDate();
  16483. }
  16484. // Default to current date.
  16485. // * if no year, month, day of month are given, default to today
  16486. // * if day of month is given, default month and year
  16487. // * if month is given, default only year
  16488. // * if year is given, don't default anything
  16489. for (i = 0; i < 3 && config._a[i] == null; ++i) {
  16490. config._a[i] = input[i] = currentDate[i];
  16491. }
  16492. // Zero out whatever was not defaulted, including time
  16493. for (; i < 7; i++) {
  16494. config._a[i] = input[i] =
  16495. config._a[i] == null ? i === 2 ? 1 : 0 : config._a[i];
  16496. }
  16497. // Check for 24:00:00.000
  16498. if (
  16499. config._a[HOUR] === 24 &&
  16500. config._a[MINUTE] === 0 &&
  16501. config._a[SECOND] === 0 &&
  16502. config._a[MILLISECOND] === 0)
  16503. {
  16504. config._nextDay = true;
  16505. config._a[HOUR] = 0;
  16506. }
  16507. config._d = (config._useUTC ? createUTCDate : createDate).apply(
  16508. null,
  16509. input);
  16510. expectedWeekday = config._useUTC ?
  16511. config._d.getUTCDay() :
  16512. config._d.getDay();
  16513. // Apply timezone offset from input. The actual utcOffset can be changed
  16514. // with parseZone.
  16515. if (config._tzm != null) {
  16516. config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
  16517. }
  16518. if (config._nextDay) {
  16519. config._a[HOUR] = 24;
  16520. }
  16521. // check for mismatching day of week
  16522. if (
  16523. config._w &&
  16524. typeof config._w.d !== 'undefined' &&
  16525. config._w.d !== expectedWeekday)
  16526. {
  16527. getParsingFlags(config).weekdayMismatch = true;
  16528. }
  16529. }
  16530. function dayOfYearFromWeekInfo(config) {
  16531. var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;
  16532. w = config._w;
  16533. if (w.GG != null || w.W != null || w.E != null) {
  16534. dow = 1;
  16535. doy = 4;
  16536. // TODO: We need to take the current isoWeekYear, but that depends on
  16537. // how we interpret now (local, utc, fixed offset). So create
  16538. // a now version of current config (take local/utc/offset flags, and
  16539. // create now).
  16540. weekYear = defaults(
  16541. w.GG,
  16542. config._a[YEAR],
  16543. weekOfYear(createLocal(), 1, 4).year);
  16544. week = defaults(w.W, 1);
  16545. weekday = defaults(w.E, 1);
  16546. if (weekday < 1 || weekday > 7) {
  16547. weekdayOverflow = true;
  16548. }
  16549. } else {
  16550. dow = config._locale._week.dow;
  16551. doy = config._locale._week.doy;
  16552. curWeek = weekOfYear(createLocal(), dow, doy);
  16553. weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);
  16554. // Default to current week.
  16555. week = defaults(w.w, curWeek.week);
  16556. if (w.d != null) {
  16557. // weekday -- low day numbers are considered next week
  16558. weekday = w.d;
  16559. if (weekday < 0 || weekday > 6) {
  16560. weekdayOverflow = true;
  16561. }
  16562. } else if (w.e != null) {
  16563. // local weekday -- counting starts from beginning of week
  16564. weekday = w.e + dow;
  16565. if (w.e < 0 || w.e > 6) {
  16566. weekdayOverflow = true;
  16567. }
  16568. } else {
  16569. // default to beginning of week
  16570. weekday = dow;
  16571. }
  16572. }
  16573. if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {
  16574. getParsingFlags(config)._overflowWeeks = true;
  16575. } else if (weekdayOverflow != null) {
  16576. getParsingFlags(config)._overflowWeekday = true;
  16577. } else {
  16578. temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
  16579. config._a[YEAR] = temp.year;
  16580. config._dayOfYear = temp.dayOfYear;
  16581. }
  16582. }
  16583. // constant that refers to the ISO standard
  16584. hooks.ISO_8601 = function () {};
  16585. // constant that refers to the RFC 2822 form
  16586. hooks.RFC_2822 = function () {};
  16587. // date from string and format string
  16588. function configFromStringAndFormat(config) {
  16589. // TODO: Move this to another part of the creation flow to prevent circular deps
  16590. if (config._f === hooks.ISO_8601) {
  16591. configFromISO(config);
  16592. return;
  16593. }
  16594. if (config._f === hooks.RFC_2822) {
  16595. configFromRFC2822(config);
  16596. return;
  16597. }
  16598. config._a = [];
  16599. getParsingFlags(config).empty = true;
  16600. // This array is used to make a Date, either with `new Date` or `Date.UTC`
  16601. var string = '' + config._i,
  16602. i,
  16603. parsedInput,
  16604. tokens,
  16605. token,
  16606. skipped,
  16607. stringLength = string.length,
  16608. totalParsedInputLength = 0,
  16609. era,
  16610. tokenLen;
  16611. tokens =
  16612. expandFormat(config._f, config._locale).match(formattingTokens) || [];
  16613. tokenLen = tokens.length;
  16614. for (i = 0; i < tokenLen; i++) {
  16615. token = tokens[i];
  16616. parsedInput = (string.match(getParseRegexForToken(token, config)) ||
  16617. [])[0];
  16618. if (parsedInput) {
  16619. skipped = string.substr(0, string.indexOf(parsedInput));
  16620. if (skipped.length > 0) {
  16621. getParsingFlags(config).unusedInput.push(skipped);
  16622. }
  16623. string = string.slice(
  16624. string.indexOf(parsedInput) + parsedInput.length);
  16625. totalParsedInputLength += parsedInput.length;
  16626. }
  16627. // don't parse if it's not a known token
  16628. if (formatTokenFunctions[token]) {
  16629. if (parsedInput) {
  16630. getParsingFlags(config).empty = false;
  16631. } else {
  16632. getParsingFlags(config).unusedTokens.push(token);
  16633. }
  16634. addTimeToArrayFromToken(token, parsedInput, config);
  16635. } else if (config._strict && !parsedInput) {
  16636. getParsingFlags(config).unusedTokens.push(token);
  16637. }
  16638. }
  16639. // add remaining unparsed input length to the string
  16640. getParsingFlags(config).charsLeftOver =
  16641. stringLength - totalParsedInputLength;
  16642. if (string.length > 0) {
  16643. getParsingFlags(config).unusedInput.push(string);
  16644. }
  16645. // clear _12h flag if hour is <= 12
  16646. if (
  16647. config._a[HOUR] <= 12 &&
  16648. getParsingFlags(config).bigHour === true &&
  16649. config._a[HOUR] > 0)
  16650. {
  16651. getParsingFlags(config).bigHour = undefined;
  16652. }
  16653. getParsingFlags(config).parsedDateParts = config._a.slice(0);
  16654. getParsingFlags(config).meridiem = config._meridiem;
  16655. // handle meridiem
  16656. config._a[HOUR] = meridiemFixWrap(
  16657. config._locale,
  16658. config._a[HOUR],
  16659. config._meridiem);
  16660. // handle era
  16661. era = getParsingFlags(config).era;
  16662. if (era !== null) {
  16663. config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);
  16664. }
  16665. configFromArray(config);
  16666. checkOverflow(config);
  16667. }
  16668. function meridiemFixWrap(locale, hour, meridiem) {
  16669. var isPm;
  16670. if (meridiem == null) {
  16671. // nothing to do
  16672. return hour;
  16673. }
  16674. if (locale.meridiemHour != null) {
  16675. return locale.meridiemHour(hour, meridiem);
  16676. } else if (locale.isPM != null) {
  16677. // Fallback
  16678. isPm = locale.isPM(meridiem);
  16679. if (isPm && hour < 12) {
  16680. hour += 12;
  16681. }
  16682. if (!isPm && hour === 12) {
  16683. hour = 0;
  16684. }
  16685. return hour;
  16686. } else {
  16687. // this is not supposed to happen
  16688. return hour;
  16689. }
  16690. }
  16691. // date from string and array of format strings
  16692. function configFromStringAndArray(config) {
  16693. var tempConfig,
  16694. bestMoment,
  16695. scoreToBeat,
  16696. i,
  16697. currentScore,
  16698. validFormatFound,
  16699. bestFormatIsValid = false,
  16700. configfLen = config._f.length;
  16701. if (configfLen === 0) {
  16702. getParsingFlags(config).invalidFormat = true;
  16703. config._d = new Date(NaN);
  16704. return;
  16705. }
  16706. for (i = 0; i < configfLen; i++) {
  16707. currentScore = 0;
  16708. validFormatFound = false;
  16709. tempConfig = copyConfig({}, config);
  16710. if (config._useUTC != null) {
  16711. tempConfig._useUTC = config._useUTC;
  16712. }
  16713. tempConfig._f = config._f[i];
  16714. configFromStringAndFormat(tempConfig);
  16715. if (isValid(tempConfig)) {
  16716. validFormatFound = true;
  16717. }
  16718. // if there is any input that was not parsed add a penalty for that format
  16719. currentScore += getParsingFlags(tempConfig).charsLeftOver;
  16720. //or tokens
  16721. currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
  16722. getParsingFlags(tempConfig).score = currentScore;
  16723. if (!bestFormatIsValid) {
  16724. if (
  16725. scoreToBeat == null ||
  16726. currentScore < scoreToBeat ||
  16727. validFormatFound)
  16728. {
  16729. scoreToBeat = currentScore;
  16730. bestMoment = tempConfig;
  16731. if (validFormatFound) {
  16732. bestFormatIsValid = true;
  16733. }
  16734. }
  16735. } else {
  16736. if (currentScore < scoreToBeat) {
  16737. scoreToBeat = currentScore;
  16738. bestMoment = tempConfig;
  16739. }
  16740. }
  16741. }
  16742. extend(config, bestMoment || tempConfig);
  16743. }
  16744. function configFromObject(config) {
  16745. if (config._d) {
  16746. return;
  16747. }
  16748. var i = normalizeObjectUnits(config._i),
  16749. dayOrDate = i.day === undefined ? i.date : i.day;
  16750. config._a = map(
  16751. [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],
  16752. function (obj) {
  16753. return obj && parseInt(obj, 10);
  16754. });
  16755. configFromArray(config);
  16756. }
  16757. function createFromConfig(config) {
  16758. var res = new Moment(checkOverflow(prepareConfig(config)));
  16759. if (res._nextDay) {
  16760. // Adding is smart enough around DST
  16761. res.add(1, 'd');
  16762. res._nextDay = undefined;
  16763. }
  16764. return res;
  16765. }
  16766. function prepareConfig(config) {
  16767. var input = config._i,
  16768. format = config._f;
  16769. config._locale = config._locale || getLocale(config._l);
  16770. if (input === null || format === undefined && input === '') {
  16771. return createInvalid({ nullInput: true });
  16772. }
  16773. if (typeof input === 'string') {
  16774. config._i = input = config._locale.preparse(input);
  16775. }
  16776. if (isMoment(input)) {
  16777. return new Moment(checkOverflow(input));
  16778. } else if (isDate(input)) {
  16779. config._d = input;
  16780. } else if (isArray(format)) {
  16781. configFromStringAndArray(config);
  16782. } else if (format) {
  16783. configFromStringAndFormat(config);
  16784. } else {
  16785. configFromInput(config);
  16786. }
  16787. if (!isValid(config)) {
  16788. config._d = null;
  16789. }
  16790. return config;
  16791. }
  16792. function configFromInput(config) {
  16793. var input = config._i;
  16794. if (isUndefined(input)) {
  16795. config._d = new Date(hooks.now());
  16796. } else if (isDate(input)) {
  16797. config._d = new Date(input.valueOf());
  16798. } else if (typeof input === 'string') {
  16799. configFromString(config);
  16800. } else if (isArray(input)) {
  16801. config._a = map(input.slice(0), function (obj) {
  16802. return parseInt(obj, 10);
  16803. });
  16804. configFromArray(config);
  16805. } else if (isObject(input)) {
  16806. configFromObject(config);
  16807. } else if (isNumber(input)) {
  16808. // from milliseconds
  16809. config._d = new Date(input);
  16810. } else {
  16811. hooks.createFromInputFallback(config);
  16812. }
  16813. }
  16814. function createLocalOrUTC(input, format, locale, strict, isUTC) {
  16815. var c = {};
  16816. if (format === true || format === false) {
  16817. strict = format;
  16818. format = undefined;
  16819. }
  16820. if (locale === true || locale === false) {
  16821. strict = locale;
  16822. locale = undefined;
  16823. }
  16824. if (
  16825. isObject(input) && isObjectEmpty(input) ||
  16826. isArray(input) && input.length === 0)
  16827. {
  16828. input = undefined;
  16829. }
  16830. // object construction must be done this way.
  16831. // https://github.com/moment/moment/issues/1423
  16832. c._isAMomentObject = true;
  16833. c._useUTC = c._isUTC = isUTC;
  16834. c._l = locale;
  16835. c._i = input;
  16836. c._f = format;
  16837. c._strict = strict;
  16838. return createFromConfig(c);
  16839. }
  16840. function createLocal(input, format, locale, strict) {
  16841. return createLocalOrUTC(input, format, locale, strict, false);
  16842. }
  16843. var prototypeMin = deprecate(
  16844. 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',
  16845. function () {
  16846. var other = createLocal.apply(null, arguments);
  16847. if (this.isValid() && other.isValid()) {
  16848. return other < this ? this : other;
  16849. } else {
  16850. return createInvalid();
  16851. }
  16852. }),
  16853. prototypeMax = deprecate(
  16854. 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',
  16855. function () {
  16856. var other = createLocal.apply(null, arguments);
  16857. if (this.isValid() && other.isValid()) {
  16858. return other > this ? this : other;
  16859. } else {
  16860. return createInvalid();
  16861. }
  16862. });
  16863. // Pick a moment m from moments so that m[fn](other) is true for all
  16864. // other. This relies on the function fn to be transitive.
  16865. //
  16866. // moments should either be an array of moment objects or an array, whose
  16867. // first element is an array of moment objects.
  16868. function pickBy(fn, moments) {
  16869. var res, i;
  16870. if (moments.length === 1 && isArray(moments[0])) {
  16871. moments = moments[0];
  16872. }
  16873. if (!moments.length) {
  16874. return createLocal();
  16875. }
  16876. res = moments[0];
  16877. for (i = 1; i < moments.length; ++i) {
  16878. if (!moments[i].isValid() || moments[i][fn](res)) {
  16879. res = moments[i];
  16880. }
  16881. }
  16882. return res;
  16883. }
  16884. // TODO: Use [].sort instead?
  16885. function min() {
  16886. var args = [].slice.call(arguments, 0);
  16887. return pickBy('isBefore', args);
  16888. }
  16889. function max() {
  16890. var args = [].slice.call(arguments, 0);
  16891. return pickBy('isAfter', args);
  16892. }
  16893. var now = function now() {
  16894. return Date.now ? Date.now() : +new Date();
  16895. };
  16896. var ordering = [
  16897. 'year',
  16898. 'quarter',
  16899. 'month',
  16900. 'week',
  16901. 'day',
  16902. 'hour',
  16903. 'minute',
  16904. 'second',
  16905. 'millisecond'];
  16906. function isDurationValid(m) {
  16907. var key,
  16908. unitHasDecimal = false,
  16909. i,
  16910. orderLen = ordering.length;
  16911. for (key in m) {
  16912. if (
  16913. hasOwnProp(m, key) &&
  16914. !(
  16915. indexOf.call(ordering, key) !== -1 && (
  16916. m[key] == null || !isNaN(m[key]))))
  16917. {
  16918. return false;
  16919. }
  16920. }
  16921. for (i = 0; i < orderLen; ++i) {
  16922. if (m[ordering[i]]) {
  16923. if (unitHasDecimal) {
  16924. return false; // only allow non-integers for smallest unit
  16925. }
  16926. if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {
  16927. unitHasDecimal = true;
  16928. }
  16929. }
  16930. }
  16931. return true;
  16932. }
  16933. function isValid$1() {
  16934. return this._isValid;
  16935. }
  16936. function createInvalid$1() {
  16937. return createDuration(NaN);
  16938. }
  16939. function Duration(duration) {
  16940. var normalizedInput = normalizeObjectUnits(duration),
  16941. years = normalizedInput.year || 0,
  16942. quarters = normalizedInput.quarter || 0,
  16943. months = normalizedInput.month || 0,
  16944. weeks = normalizedInput.week || normalizedInput.isoWeek || 0,
  16945. days = normalizedInput.day || 0,
  16946. hours = normalizedInput.hour || 0,
  16947. minutes = normalizedInput.minute || 0,
  16948. seconds = normalizedInput.second || 0,
  16949. milliseconds = normalizedInput.millisecond || 0;
  16950. this._isValid = isDurationValid(normalizedInput);
  16951. // representation for dateAddRemove
  16952. this._milliseconds =
  16953. +milliseconds +
  16954. seconds * 1e3 + // 1000
  16955. minutes * 6e4 + // 1000 * 60
  16956. hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
  16957. // Because of dateAddRemove treats 24 hours as different from a
  16958. // day when working around DST, we need to store them separately
  16959. this._days = +days + weeks * 7;
  16960. // It is impossible to translate months into days without knowing
  16961. // which months you are are talking about, so we have to store
  16962. // it separately.
  16963. this._months = +months + quarters * 3 + years * 12;
  16964. this._data = {};
  16965. this._locale = getLocale();
  16966. this._bubble();
  16967. }
  16968. function isDuration(obj) {
  16969. return obj instanceof Duration;
  16970. }
  16971. function absRound(number) {
  16972. if (number < 0) {
  16973. return Math.round(-1 * number) * -1;
  16974. } else {
  16975. return Math.round(number);
  16976. }
  16977. }
  16978. // compare two arrays, return the number of differences
  16979. function compareArrays(array1, array2, dontConvert) {
  16980. var len = Math.min(array1.length, array2.length),
  16981. lengthDiff = Math.abs(array1.length - array2.length),
  16982. diffs = 0,
  16983. i;
  16984. for (i = 0; i < len; i++) {
  16985. if (
  16986. dontConvert && array1[i] !== array2[i] ||
  16987. !dontConvert && toInt(array1[i]) !== toInt(array2[i]))
  16988. {
  16989. diffs++;
  16990. }
  16991. }
  16992. return diffs + lengthDiff;
  16993. }
  16994. // FORMATTING
  16995. function offset(token, separator) {
  16996. addFormatToken(token, 0, 0, function () {
  16997. var offset = this.utcOffset(),
  16998. sign = '+';
  16999. if (offset < 0) {
  17000. offset = -offset;
  17001. sign = '-';
  17002. }
  17003. return (
  17004. sign +
  17005. zeroFill(~~(offset / 60), 2) +
  17006. separator +
  17007. zeroFill(~~offset % 60, 2));
  17008. });
  17009. }
  17010. offset('Z', ':');
  17011. offset('ZZ', '');
  17012. // PARSING
  17013. addRegexToken('Z', matchShortOffset);
  17014. addRegexToken('ZZ', matchShortOffset);
  17015. addParseToken(['Z', 'ZZ'], function (input, array, config) {
  17016. config._useUTC = true;
  17017. config._tzm = offsetFromString(matchShortOffset, input);
  17018. });
  17019. // HELPERS
  17020. // timezone chunker
  17021. // '+10:00' > ['10', '00']
  17022. // '-1530' > ['-15', '30']
  17023. var chunkOffset = /([\+\-]|\d\d)/gi;
  17024. function offsetFromString(matcher, string) {
  17025. var matches = (string || '').match(matcher),
  17026. chunk,
  17027. parts,
  17028. minutes;
  17029. if (matches === null) {
  17030. return null;
  17031. }
  17032. chunk = matches[matches.length - 1] || [];
  17033. parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];
  17034. minutes = +(parts[1] * 60) + toInt(parts[2]);
  17035. return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;
  17036. }
  17037. // Return a moment from input, that is local/utc/zone equivalent to model.
  17038. function cloneWithOffset(input, model) {
  17039. var res, diff;
  17040. if (model._isUTC) {
  17041. res = model.clone();
  17042. diff =
  17043. (isMoment(input) || isDate(input) ?
  17044. input.valueOf() :
  17045. createLocal(input).valueOf()) - res.valueOf();
  17046. // Use low-level api, because this fn is low-level api.
  17047. res._d.setTime(res._d.valueOf() + diff);
  17048. hooks.updateOffset(res, false);
  17049. return res;
  17050. } else {
  17051. return createLocal(input).local();
  17052. }
  17053. }
  17054. function getDateOffset(m) {
  17055. // On Firefox.24 Date#getTimezoneOffset returns a floating point.
  17056. // https://github.com/moment/moment/pull/1871
  17057. return -Math.round(m._d.getTimezoneOffset());
  17058. }
  17059. // HOOKS
  17060. // This function will be called whenever a moment is mutated.
  17061. // It is intended to keep the offset in sync with the timezone.
  17062. hooks.updateOffset = function () {};
  17063. // MOMENTS
  17064. // keepLocalTime = true means only change the timezone, without
  17065. // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
  17066. // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
  17067. // +0200, so we adjust the time as needed, to be valid.
  17068. //
  17069. // Keeping the time actually adds/subtracts (one hour)
  17070. // from the actual represented time. That is why we call updateOffset
  17071. // a second time. In case it wants us to change the offset again
  17072. // _changeInProgress == true case, then we have to adjust, because
  17073. // there is no such time in the given timezone.
  17074. function getSetOffset(input, keepLocalTime, keepMinutes) {
  17075. var offset = this._offset || 0,
  17076. localAdjust;
  17077. if (!this.isValid()) {
  17078. return input != null ? this : NaN;
  17079. }
  17080. if (input != null) {
  17081. if (typeof input === 'string') {
  17082. input = offsetFromString(matchShortOffset, input);
  17083. if (input === null) {
  17084. return this;
  17085. }
  17086. } else if (Math.abs(input) < 16 && !keepMinutes) {
  17087. input = input * 60;
  17088. }
  17089. if (!this._isUTC && keepLocalTime) {
  17090. localAdjust = getDateOffset(this);
  17091. }
  17092. this._offset = input;
  17093. this._isUTC = true;
  17094. if (localAdjust != null) {
  17095. this.add(localAdjust, 'm');
  17096. }
  17097. if (offset !== input) {
  17098. if (!keepLocalTime || this._changeInProgress) {
  17099. addSubtract(
  17100. this,
  17101. createDuration(input - offset, 'm'),
  17102. 1,
  17103. false);
  17104. } else if (!this._changeInProgress) {
  17105. this._changeInProgress = true;
  17106. hooks.updateOffset(this, true);
  17107. this._changeInProgress = null;
  17108. }
  17109. }
  17110. return this;
  17111. } else {
  17112. return this._isUTC ? offset : getDateOffset(this);
  17113. }
  17114. }
  17115. function getSetZone(input, keepLocalTime) {
  17116. if (input != null) {
  17117. if (typeof input !== 'string') {
  17118. input = -input;
  17119. }
  17120. this.utcOffset(input, keepLocalTime);
  17121. return this;
  17122. } else {
  17123. return -this.utcOffset();
  17124. }
  17125. }
  17126. function setOffsetToUTC(keepLocalTime) {
  17127. return this.utcOffset(0, keepLocalTime);
  17128. }
  17129. function setOffsetToLocal(keepLocalTime) {
  17130. if (this._isUTC) {
  17131. this.utcOffset(0, keepLocalTime);
  17132. this._isUTC = false;
  17133. if (keepLocalTime) {
  17134. this.subtract(getDateOffset(this), 'm');
  17135. }
  17136. }
  17137. return this;
  17138. }
  17139. function setOffsetToParsedOffset() {
  17140. if (this._tzm != null) {
  17141. this.utcOffset(this._tzm, false, true);
  17142. } else if (typeof this._i === 'string') {
  17143. var tZone = offsetFromString(matchOffset, this._i);
  17144. if (tZone != null) {
  17145. this.utcOffset(tZone);
  17146. } else {
  17147. this.utcOffset(0, true);
  17148. }
  17149. }
  17150. return this;
  17151. }
  17152. function hasAlignedHourOffset(input) {
  17153. if (!this.isValid()) {
  17154. return false;
  17155. }
  17156. input = input ? createLocal(input).utcOffset() : 0;
  17157. return (this.utcOffset() - input) % 60 === 0;
  17158. }
  17159. function isDaylightSavingTime() {
  17160. return (
  17161. this.utcOffset() > this.clone().month(0).utcOffset() ||
  17162. this.utcOffset() > this.clone().month(5).utcOffset());
  17163. }
  17164. function isDaylightSavingTimeShifted() {
  17165. if (!isUndefined(this._isDSTShifted)) {
  17166. return this._isDSTShifted;
  17167. }
  17168. var c = {},
  17169. other;
  17170. copyConfig(c, this);
  17171. c = prepareConfig(c);
  17172. if (c._a) {
  17173. other = c._isUTC ? createUTC(c._a) : createLocal(c._a);
  17174. this._isDSTShifted =
  17175. this.isValid() && compareArrays(c._a, other.toArray()) > 0;
  17176. } else {
  17177. this._isDSTShifted = false;
  17178. }
  17179. return this._isDSTShifted;
  17180. }
  17181. function isLocal() {
  17182. return this.isValid() ? !this._isUTC : false;
  17183. }
  17184. function isUtcOffset() {
  17185. return this.isValid() ? this._isUTC : false;
  17186. }
  17187. function isUtc() {
  17188. return this.isValid() ? this._isUTC && this._offset === 0 : false;
  17189. }
  17190. // ASP.NET json date format regex
  17191. var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,
  17192. // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
  17193. // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
  17194. // and further modified to allow for strings containing both week and day
  17195. isoRegex =
  17196. /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
  17197. function createDuration(input, key) {
  17198. var duration = input,
  17199. // matching against regexp is expensive, do it on demand
  17200. match = null,
  17201. sign,
  17202. ret,
  17203. diffRes;
  17204. if (isDuration(input)) {
  17205. duration = {
  17206. ms: input._milliseconds,
  17207. d: input._days,
  17208. M: input._months };
  17209. } else if (isNumber(input) || !isNaN(+input)) {
  17210. duration = {};
  17211. if (key) {
  17212. duration[key] = +input;
  17213. } else {
  17214. duration.milliseconds = +input;
  17215. }
  17216. } else if (match = aspNetRegex.exec(input)) {
  17217. sign = match[1] === '-' ? -1 : 1;
  17218. duration = {
  17219. y: 0,
  17220. d: toInt(match[DATE]) * sign,
  17221. h: toInt(match[HOUR]) * sign,
  17222. m: toInt(match[MINUTE]) * sign,
  17223. s: toInt(match[SECOND]) * sign,
  17224. ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match
  17225. };
  17226. } else if (match = isoRegex.exec(input)) {
  17227. sign = match[1] === '-' ? -1 : 1;
  17228. duration = {
  17229. y: parseIso(match[2], sign),
  17230. M: parseIso(match[3], sign),
  17231. w: parseIso(match[4], sign),
  17232. d: parseIso(match[5], sign),
  17233. h: parseIso(match[6], sign),
  17234. m: parseIso(match[7], sign),
  17235. s: parseIso(match[8], sign) };
  17236. } else if (duration == null) {
  17237. // checks for null or undefined
  17238. duration = {};
  17239. } else if (
  17240. typeof duration === 'object' && (
  17241. 'from' in duration || 'to' in duration))
  17242. {
  17243. diffRes = momentsDifference(
  17244. createLocal(duration.from),
  17245. createLocal(duration.to));
  17246. duration = {};
  17247. duration.ms = diffRes.milliseconds;
  17248. duration.M = diffRes.months;
  17249. }
  17250. ret = new Duration(duration);
  17251. if (isDuration(input) && hasOwnProp(input, '_locale')) {
  17252. ret._locale = input._locale;
  17253. }
  17254. if (isDuration(input) && hasOwnProp(input, '_isValid')) {
  17255. ret._isValid = input._isValid;
  17256. }
  17257. return ret;
  17258. }
  17259. createDuration.fn = Duration.prototype;
  17260. createDuration.invalid = createInvalid$1;
  17261. function parseIso(inp, sign) {
  17262. // We'd normally use ~~inp for this, but unfortunately it also
  17263. // converts floats to ints.
  17264. // inp may be undefined, so careful calling replace on it.
  17265. var res = inp && parseFloat(inp.replace(',', '.'));
  17266. // apply sign while we're at it
  17267. return (isNaN(res) ? 0 : res) * sign;
  17268. }
  17269. function positiveMomentsDifference(base, other) {
  17270. var res = {};
  17271. res.months =
  17272. other.month() - base.month() + (other.year() - base.year()) * 12;
  17273. if (base.clone().add(res.months, 'M').isAfter(other)) {
  17274. --res.months;
  17275. }
  17276. res.milliseconds = +other - +base.clone().add(res.months, 'M');
  17277. return res;
  17278. }
  17279. function momentsDifference(base, other) {
  17280. var res;
  17281. if (!(base.isValid() && other.isValid())) {
  17282. return { milliseconds: 0, months: 0 };
  17283. }
  17284. other = cloneWithOffset(other, base);
  17285. if (base.isBefore(other)) {
  17286. res = positiveMomentsDifference(base, other);
  17287. } else {
  17288. res = positiveMomentsDifference(other, base);
  17289. res.milliseconds = -res.milliseconds;
  17290. res.months = -res.months;
  17291. }
  17292. return res;
  17293. }
  17294. // TODO: remove 'name' arg after deprecation is removed
  17295. function createAdder(direction, name) {
  17296. return function (val, period) {
  17297. var dur, tmp;
  17298. //invert the arguments, but complain about it
  17299. if (period !== null && !isNaN(+period)) {
  17300. deprecateSimple(
  17301. name,
  17302. 'moment().' +
  17303. name +
  17304. '(period, number) is deprecated. Please use moment().' +
  17305. name +
  17306. '(number, period). ' +
  17307. 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');
  17308. tmp = val;
  17309. val = period;
  17310. period = tmp;
  17311. }
  17312. dur = createDuration(val, period);
  17313. addSubtract(this, dur, direction);
  17314. return this;
  17315. };
  17316. }
  17317. function addSubtract(mom, duration, isAdding, updateOffset) {
  17318. var milliseconds = duration._milliseconds,
  17319. days = absRound(duration._days),
  17320. months = absRound(duration._months);
  17321. if (!mom.isValid()) {
  17322. // No op
  17323. return;
  17324. }
  17325. updateOffset = updateOffset == null ? true : updateOffset;
  17326. if (months) {
  17327. setMonth(mom, get(mom, 'Month') + months * isAdding);
  17328. }
  17329. if (days) {
  17330. set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);
  17331. }
  17332. if (milliseconds) {
  17333. mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);
  17334. }
  17335. if (updateOffset) {
  17336. hooks.updateOffset(mom, days || months);
  17337. }
  17338. }
  17339. var add = createAdder(1, 'add'),
  17340. subtract = createAdder(-1, 'subtract');
  17341. function isString(input) {
  17342. return typeof input === 'string' || input instanceof String;
  17343. }
  17344. // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined
  17345. function isMomentInput(input) {
  17346. return (
  17347. isMoment(input) ||
  17348. isDate(input) ||
  17349. isString(input) ||
  17350. isNumber(input) ||
  17351. isNumberOrStringArray(input) ||
  17352. isMomentInputObject(input) ||
  17353. input === null ||
  17354. input === undefined);
  17355. }
  17356. function isMomentInputObject(input) {
  17357. var objectTest = isObject(input) && !isObjectEmpty(input),
  17358. propertyTest = false,
  17359. properties = [
  17360. 'years',
  17361. 'year',
  17362. 'y',
  17363. 'months',
  17364. 'month',
  17365. 'M',
  17366. 'days',
  17367. 'day',
  17368. 'd',
  17369. 'dates',
  17370. 'date',
  17371. 'D',
  17372. 'hours',
  17373. 'hour',
  17374. 'h',
  17375. 'minutes',
  17376. 'minute',
  17377. 'm',
  17378. 'seconds',
  17379. 'second',
  17380. 's',
  17381. 'milliseconds',
  17382. 'millisecond',
  17383. 'ms'],
  17384. i,
  17385. property,
  17386. propertyLen = properties.length;
  17387. for (i = 0; i < propertyLen; i += 1) {
  17388. property = properties[i];
  17389. propertyTest = propertyTest || hasOwnProp(input, property);
  17390. }
  17391. return objectTest && propertyTest;
  17392. }
  17393. function isNumberOrStringArray(input) {
  17394. var arrayTest = isArray(input),
  17395. dataTypeTest = false;
  17396. if (arrayTest) {
  17397. dataTypeTest =
  17398. input.filter(function (item) {
  17399. return !isNumber(item) && isString(input);
  17400. }).length === 0;
  17401. }
  17402. return arrayTest && dataTypeTest;
  17403. }
  17404. function isCalendarSpec(input) {
  17405. var objectTest = isObject(input) && !isObjectEmpty(input),
  17406. propertyTest = false,
  17407. properties = [
  17408. 'sameDay',
  17409. 'nextDay',
  17410. 'lastDay',
  17411. 'nextWeek',
  17412. 'lastWeek',
  17413. 'sameElse'],
  17414. i,
  17415. property;
  17416. for (i = 0; i < properties.length; i += 1) {
  17417. property = properties[i];
  17418. propertyTest = propertyTest || hasOwnProp(input, property);
  17419. }
  17420. return objectTest && propertyTest;
  17421. }
  17422. function getCalendarFormat(myMoment, now) {
  17423. var diff = myMoment.diff(now, 'days', true);
  17424. return diff < -6 ?
  17425. 'sameElse' :
  17426. diff < -1 ?
  17427. 'lastWeek' :
  17428. diff < 0 ?
  17429. 'lastDay' :
  17430. diff < 1 ?
  17431. 'sameDay' :
  17432. diff < 2 ?
  17433. 'nextDay' :
  17434. diff < 7 ?
  17435. 'nextWeek' :
  17436. 'sameElse';
  17437. }
  17438. function calendar$1(time, formats) {
  17439. // Support for single parameter, formats only overload to the calendar function
  17440. if (arguments.length === 1) {
  17441. if (!arguments[0]) {
  17442. time = undefined;
  17443. formats = undefined;
  17444. } else if (isMomentInput(arguments[0])) {
  17445. time = arguments[0];
  17446. formats = undefined;
  17447. } else if (isCalendarSpec(arguments[0])) {
  17448. formats = arguments[0];
  17449. time = undefined;
  17450. }
  17451. }
  17452. // We want to compare the start of today, vs this.
  17453. // Getting start-of-today depends on whether we're local/utc/offset or not.
  17454. var now = time || createLocal(),
  17455. sod = cloneWithOffset(now, this).startOf('day'),
  17456. format = hooks.calendarFormat(this, sod) || 'sameElse',
  17457. output =
  17458. formats && (
  17459. isFunction(formats[format]) ?
  17460. formats[format].call(this, now) :
  17461. formats[format]);
  17462. return this.format(
  17463. output || this.localeData().calendar(format, this, createLocal(now)));
  17464. }
  17465. function clone() {
  17466. return new Moment(this);
  17467. }
  17468. function isAfter(input, units) {
  17469. var localInput = isMoment(input) ? input : createLocal(input);
  17470. if (!(this.isValid() && localInput.isValid())) {
  17471. return false;
  17472. }
  17473. units = normalizeUnits(units) || 'millisecond';
  17474. if (units === 'millisecond') {
  17475. return this.valueOf() > localInput.valueOf();
  17476. } else {
  17477. return localInput.valueOf() < this.clone().startOf(units).valueOf();
  17478. }
  17479. }
  17480. function isBefore(input, units) {
  17481. var localInput = isMoment(input) ? input : createLocal(input);
  17482. if (!(this.isValid() && localInput.isValid())) {
  17483. return false;
  17484. }
  17485. units = normalizeUnits(units) || 'millisecond';
  17486. if (units === 'millisecond') {
  17487. return this.valueOf() < localInput.valueOf();
  17488. } else {
  17489. return this.clone().endOf(units).valueOf() < localInput.valueOf();
  17490. }
  17491. }
  17492. function isBetween(from, to, units, inclusivity) {
  17493. var localFrom = isMoment(from) ? from : createLocal(from),
  17494. localTo = isMoment(to) ? to : createLocal(to);
  17495. if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {
  17496. return false;
  17497. }
  17498. inclusivity = inclusivity || '()';
  17499. return (
  17500. (inclusivity[0] === '(' ?
  17501. this.isAfter(localFrom, units) :
  17502. !this.isBefore(localFrom, units)) && (
  17503. inclusivity[1] === ')' ?
  17504. this.isBefore(localTo, units) :
  17505. !this.isAfter(localTo, units)));
  17506. }
  17507. function isSame(input, units) {
  17508. var localInput = isMoment(input) ? input : createLocal(input),
  17509. inputMs;
  17510. if (!(this.isValid() && localInput.isValid())) {
  17511. return false;
  17512. }
  17513. units = normalizeUnits(units) || 'millisecond';
  17514. if (units === 'millisecond') {
  17515. return this.valueOf() === localInput.valueOf();
  17516. } else {
  17517. inputMs = localInput.valueOf();
  17518. return (
  17519. this.clone().startOf(units).valueOf() <= inputMs &&
  17520. inputMs <= this.clone().endOf(units).valueOf());
  17521. }
  17522. }
  17523. function isSameOrAfter(input, units) {
  17524. return this.isSame(input, units) || this.isAfter(input, units);
  17525. }
  17526. function isSameOrBefore(input, units) {
  17527. return this.isSame(input, units) || this.isBefore(input, units);
  17528. }
  17529. function diff(input, units, asFloat) {
  17530. var that, zoneDelta, output;
  17531. if (!this.isValid()) {
  17532. return NaN;
  17533. }
  17534. that = cloneWithOffset(input, this);
  17535. if (!that.isValid()) {
  17536. return NaN;
  17537. }
  17538. zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;
  17539. units = normalizeUnits(units);
  17540. switch (units) {
  17541. case 'year':
  17542. output = monthDiff(this, that) / 12;
  17543. break;
  17544. case 'month':
  17545. output = monthDiff(this, that);
  17546. break;
  17547. case 'quarter':
  17548. output = monthDiff(this, that) / 3;
  17549. break;
  17550. case 'second':
  17551. output = (this - that) / 1e3;
  17552. break; // 1000
  17553. case 'minute':
  17554. output = (this - that) / 6e4;
  17555. break; // 1000 * 60
  17556. case 'hour':
  17557. output = (this - that) / 36e5;
  17558. break; // 1000 * 60 * 60
  17559. case 'day':
  17560. output = (this - that - zoneDelta) / 864e5;
  17561. break; // 1000 * 60 * 60 * 24, negate dst
  17562. case 'week':
  17563. output = (this - that - zoneDelta) / 6048e5;
  17564. break; // 1000 * 60 * 60 * 24 * 7, negate dst
  17565. default:
  17566. output = this - that;}
  17567. return asFloat ? output : absFloor(output);
  17568. }
  17569. function monthDiff(a, b) {
  17570. if (a.date() < b.date()) {
  17571. // end-of-month calculations work correct when the start month has more
  17572. // days than the end month.
  17573. return -monthDiff(b, a);
  17574. }
  17575. // difference in months
  17576. var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),
  17577. // b is in (anchor - 1 month, anchor + 1 month)
  17578. anchor = a.clone().add(wholeMonthDiff, 'months'),
  17579. anchor2,
  17580. adjust;
  17581. if (b - anchor < 0) {
  17582. anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');
  17583. // linear across the month
  17584. adjust = (b - anchor) / (anchor - anchor2);
  17585. } else {
  17586. anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');
  17587. // linear across the month
  17588. adjust = (b - anchor) / (anchor2 - anchor);
  17589. }
  17590. //check for negative zero, return zero if negative zero
  17591. return -(wholeMonthDiff + adjust) || 0;
  17592. }
  17593. hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';
  17594. hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';
  17595. function toString() {
  17596. return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
  17597. }
  17598. function toISOString(keepOffset) {
  17599. if (!this.isValid()) {
  17600. return null;
  17601. }
  17602. var utc = keepOffset !== true,
  17603. m = utc ? this.clone().utc() : this;
  17604. if (m.year() < 0 || m.year() > 9999) {
  17605. return formatMoment(
  17606. m,
  17607. utc ?
  17608. 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' :
  17609. 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');
  17610. }
  17611. if (isFunction(Date.prototype.toISOString)) {
  17612. // native implementation is ~50x faster, use it when we can
  17613. if (utc) {
  17614. return this.toDate().toISOString();
  17615. } else {
  17616. return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).
  17617. toISOString().
  17618. replace('Z', formatMoment(m, 'Z'));
  17619. }
  17620. }
  17621. return formatMoment(
  17622. m,
  17623. utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');
  17624. }
  17625. /**
  17626. * Return a human readable representation of a moment that can
  17627. * also be evaluated to get a new moment which is the same
  17628. *
  17629. * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
  17630. */
  17631. function inspect() {
  17632. if (!this.isValid()) {
  17633. return 'moment.invalid(/* ' + this._i + ' */)';
  17634. }
  17635. var func = 'moment',
  17636. zone = '',
  17637. prefix,
  17638. year,
  17639. datetime,
  17640. suffix;
  17641. if (!this.isLocal()) {
  17642. func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';
  17643. zone = 'Z';
  17644. }
  17645. prefix = '[' + func + '("]';
  17646. year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';
  17647. datetime = '-MM-DD[T]HH:mm:ss.SSS';
  17648. suffix = zone + '[")]';
  17649. return this.format(prefix + year + datetime + suffix);
  17650. }
  17651. function format(inputString) {
  17652. if (!inputString) {
  17653. inputString = this.isUtc() ?
  17654. hooks.defaultFormatUtc :
  17655. hooks.defaultFormat;
  17656. }
  17657. var output = formatMoment(this, inputString);
  17658. return this.localeData().postformat(output);
  17659. }
  17660. function from(time, withoutSuffix) {
  17661. if (
  17662. this.isValid() && (
  17663. isMoment(time) && time.isValid() || createLocal(time).isValid()))
  17664. {
  17665. return createDuration({ to: this, from: time }).
  17666. locale(this.locale()).
  17667. humanize(!withoutSuffix);
  17668. } else {
  17669. return this.localeData().invalidDate();
  17670. }
  17671. }
  17672. function fromNow(withoutSuffix) {
  17673. return this.from(createLocal(), withoutSuffix);
  17674. }
  17675. function to(time, withoutSuffix) {
  17676. if (
  17677. this.isValid() && (
  17678. isMoment(time) && time.isValid() || createLocal(time).isValid()))
  17679. {
  17680. return createDuration({ from: this, to: time }).
  17681. locale(this.locale()).
  17682. humanize(!withoutSuffix);
  17683. } else {
  17684. return this.localeData().invalidDate();
  17685. }
  17686. }
  17687. function toNow(withoutSuffix) {
  17688. return this.to(createLocal(), withoutSuffix);
  17689. }
  17690. // If passed a locale key, it will set the locale for this
  17691. // instance. Otherwise, it will return the locale configuration
  17692. // variables for this instance.
  17693. function locale(key) {
  17694. var newLocaleData;
  17695. if (key === undefined) {
  17696. return this._locale._abbr;
  17697. } else {
  17698. newLocaleData = getLocale(key);
  17699. if (newLocaleData != null) {
  17700. this._locale = newLocaleData;
  17701. }
  17702. return this;
  17703. }
  17704. }
  17705. var lang = deprecate(
  17706. 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',
  17707. function (key) {
  17708. if (key === undefined) {
  17709. return this.localeData();
  17710. } else {
  17711. return this.locale(key);
  17712. }
  17713. });
  17714. function localeData() {
  17715. return this._locale;
  17716. }
  17717. var MS_PER_SECOND = 1000,
  17718. MS_PER_MINUTE = 60 * MS_PER_SECOND,
  17719. MS_PER_HOUR = 60 * MS_PER_MINUTE,
  17720. MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;
  17721. // actual modulo - handles negative numbers (for dates before 1970):
  17722. function mod$1(dividend, divisor) {
  17723. return (dividend % divisor + divisor) % divisor;
  17724. }
  17725. function localStartOfDate(y, m, d) {
  17726. // the date constructor remaps years 0-99 to 1900-1999
  17727. if (y < 100 && y >= 0) {
  17728. // preserve leap years using a full 400 year cycle, then reset
  17729. return new Date(y + 400, m, d) - MS_PER_400_YEARS;
  17730. } else {
  17731. return new Date(y, m, d).valueOf();
  17732. }
  17733. }
  17734. function utcStartOfDate(y, m, d) {
  17735. // Date.UTC remaps years 0-99 to 1900-1999
  17736. if (y < 100 && y >= 0) {
  17737. // preserve leap years using a full 400 year cycle, then reset
  17738. return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;
  17739. } else {
  17740. return Date.UTC(y, m, d);
  17741. }
  17742. }
  17743. function startOf(units) {
  17744. var time, startOfDate;
  17745. units = normalizeUnits(units);
  17746. if (units === undefined || units === 'millisecond' || !this.isValid()) {
  17747. return this;
  17748. }
  17749. startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
  17750. switch (units) {
  17751. case 'year':
  17752. time = startOfDate(this.year(), 0, 1);
  17753. break;
  17754. case 'quarter':
  17755. time = startOfDate(
  17756. this.year(),
  17757. this.month() - this.month() % 3,
  17758. 1);
  17759. break;
  17760. case 'month':
  17761. time = startOfDate(this.year(), this.month(), 1);
  17762. break;
  17763. case 'week':
  17764. time = startOfDate(
  17765. this.year(),
  17766. this.month(),
  17767. this.date() - this.weekday());
  17768. break;
  17769. case 'isoWeek':
  17770. time = startOfDate(
  17771. this.year(),
  17772. this.month(),
  17773. this.date() - (this.isoWeekday() - 1));
  17774. break;
  17775. case 'day':
  17776. case 'date':
  17777. time = startOfDate(this.year(), this.month(), this.date());
  17778. break;
  17779. case 'hour':
  17780. time = this._d.valueOf();
  17781. time -= mod$1(
  17782. time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),
  17783. MS_PER_HOUR);
  17784. break;
  17785. case 'minute':
  17786. time = this._d.valueOf();
  17787. time -= mod$1(time, MS_PER_MINUTE);
  17788. break;
  17789. case 'second':
  17790. time = this._d.valueOf();
  17791. time -= mod$1(time, MS_PER_SECOND);
  17792. break;}
  17793. this._d.setTime(time);
  17794. hooks.updateOffset(this, true);
  17795. return this;
  17796. }
  17797. function endOf(units) {
  17798. var time, startOfDate;
  17799. units = normalizeUnits(units);
  17800. if (units === undefined || units === 'millisecond' || !this.isValid()) {
  17801. return this;
  17802. }
  17803. startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
  17804. switch (units) {
  17805. case 'year':
  17806. time = startOfDate(this.year() + 1, 0, 1) - 1;
  17807. break;
  17808. case 'quarter':
  17809. time =
  17810. startOfDate(
  17811. this.year(),
  17812. this.month() - this.month() % 3 + 3,
  17813. 1) -
  17814. 1;
  17815. break;
  17816. case 'month':
  17817. time = startOfDate(this.year(), this.month() + 1, 1) - 1;
  17818. break;
  17819. case 'week':
  17820. time =
  17821. startOfDate(
  17822. this.year(),
  17823. this.month(),
  17824. this.date() - this.weekday() + 7) -
  17825. 1;
  17826. break;
  17827. case 'isoWeek':
  17828. time =
  17829. startOfDate(
  17830. this.year(),
  17831. this.month(),
  17832. this.date() - (this.isoWeekday() - 1) + 7) -
  17833. 1;
  17834. break;
  17835. case 'day':
  17836. case 'date':
  17837. time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;
  17838. break;
  17839. case 'hour':
  17840. time = this._d.valueOf();
  17841. time +=
  17842. MS_PER_HOUR -
  17843. mod$1(
  17844. time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),
  17845. MS_PER_HOUR) -
  17846. 1;
  17847. break;
  17848. case 'minute':
  17849. time = this._d.valueOf();
  17850. time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;
  17851. break;
  17852. case 'second':
  17853. time = this._d.valueOf();
  17854. time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;
  17855. break;}
  17856. this._d.setTime(time);
  17857. hooks.updateOffset(this, true);
  17858. return this;
  17859. }
  17860. function valueOf() {
  17861. return this._d.valueOf() - (this._offset || 0) * 60000;
  17862. }
  17863. function unix() {
  17864. return Math.floor(this.valueOf() / 1000);
  17865. }
  17866. function toDate() {
  17867. return new Date(this.valueOf());
  17868. }
  17869. function toArray() {
  17870. var m = this;
  17871. return [
  17872. m.year(),
  17873. m.month(),
  17874. m.date(),
  17875. m.hour(),
  17876. m.minute(),
  17877. m.second(),
  17878. m.millisecond()];
  17879. }
  17880. function toObject() {
  17881. var m = this;
  17882. return {
  17883. years: m.year(),
  17884. months: m.month(),
  17885. date: m.date(),
  17886. hours: m.hours(),
  17887. minutes: m.minutes(),
  17888. seconds: m.seconds(),
  17889. milliseconds: m.milliseconds() };
  17890. }
  17891. function toJSON() {
  17892. // new Date(NaN).toJSON() === null
  17893. return this.isValid() ? this.toISOString() : null;
  17894. }
  17895. function isValid$2() {
  17896. return isValid(this);
  17897. }
  17898. function parsingFlags() {
  17899. return extend({}, getParsingFlags(this));
  17900. }
  17901. function invalidAt() {
  17902. return getParsingFlags(this).overflow;
  17903. }
  17904. function creationData() {
  17905. return {
  17906. input: this._i,
  17907. format: this._f,
  17908. locale: this._locale,
  17909. isUTC: this._isUTC,
  17910. strict: this._strict };
  17911. }
  17912. addFormatToken('N', 0, 0, 'eraAbbr');
  17913. addFormatToken('NN', 0, 0, 'eraAbbr');
  17914. addFormatToken('NNN', 0, 0, 'eraAbbr');
  17915. addFormatToken('NNNN', 0, 0, 'eraName');
  17916. addFormatToken('NNNNN', 0, 0, 'eraNarrow');
  17917. addFormatToken('y', ['y', 1], 'yo', 'eraYear');
  17918. addFormatToken('y', ['yy', 2], 0, 'eraYear');
  17919. addFormatToken('y', ['yyy', 3], 0, 'eraYear');
  17920. addFormatToken('y', ['yyyy', 4], 0, 'eraYear');
  17921. addRegexToken('N', matchEraAbbr);
  17922. addRegexToken('NN', matchEraAbbr);
  17923. addRegexToken('NNN', matchEraAbbr);
  17924. addRegexToken('NNNN', matchEraName);
  17925. addRegexToken('NNNNN', matchEraNarrow);
  17926. addParseToken(
  17927. ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],
  17928. function (input, array, config, token) {
  17929. var era = config._locale.erasParse(input, token, config._strict);
  17930. if (era) {
  17931. getParsingFlags(config).era = era;
  17932. } else {
  17933. getParsingFlags(config).invalidEra = input;
  17934. }
  17935. });
  17936. addRegexToken('y', matchUnsigned);
  17937. addRegexToken('yy', matchUnsigned);
  17938. addRegexToken('yyy', matchUnsigned);
  17939. addRegexToken('yyyy', matchUnsigned);
  17940. addRegexToken('yo', matchEraYearOrdinal);
  17941. addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);
  17942. addParseToken(['yo'], function (input, array, config, token) {
  17943. var match;
  17944. if (config._locale._eraYearOrdinalRegex) {
  17945. match = input.match(config._locale._eraYearOrdinalRegex);
  17946. }
  17947. if (config._locale.eraYearOrdinalParse) {
  17948. array[YEAR] = config._locale.eraYearOrdinalParse(input, match);
  17949. } else {
  17950. array[YEAR] = parseInt(input, 10);
  17951. }
  17952. });
  17953. function localeEras(m, format) {
  17954. var i,
  17955. l,
  17956. date,
  17957. eras = this._eras || getLocale('en')._eras;
  17958. for (i = 0, l = eras.length; i < l; ++i) {
  17959. switch (typeof eras[i].since) {
  17960. case 'string':
  17961. // truncate time
  17962. date = hooks(eras[i].since).startOf('day');
  17963. eras[i].since = date.valueOf();
  17964. break;}
  17965. switch (typeof eras[i].until) {
  17966. case 'undefined':
  17967. eras[i].until = +Infinity;
  17968. break;
  17969. case 'string':
  17970. // truncate time
  17971. date = hooks(eras[i].until).startOf('day').valueOf();
  17972. eras[i].until = date.valueOf();
  17973. break;}
  17974. }
  17975. return eras;
  17976. }
  17977. function localeErasParse(eraName, format, strict) {
  17978. var i,
  17979. l,
  17980. eras = this.eras(),
  17981. name,
  17982. abbr,
  17983. narrow;
  17984. eraName = eraName.toUpperCase();
  17985. for (i = 0, l = eras.length; i < l; ++i) {
  17986. name = eras[i].name.toUpperCase();
  17987. abbr = eras[i].abbr.toUpperCase();
  17988. narrow = eras[i].narrow.toUpperCase();
  17989. if (strict) {
  17990. switch (format) {
  17991. case 'N':
  17992. case 'NN':
  17993. case 'NNN':
  17994. if (abbr === eraName) {
  17995. return eras[i];
  17996. }
  17997. break;
  17998. case 'NNNN':
  17999. if (name === eraName) {
  18000. return eras[i];
  18001. }
  18002. break;
  18003. case 'NNNNN':
  18004. if (narrow === eraName) {
  18005. return eras[i];
  18006. }
  18007. break;}
  18008. } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {
  18009. return eras[i];
  18010. }
  18011. }
  18012. }
  18013. function localeErasConvertYear(era, year) {
  18014. var dir = era.since <= era.until ? +1 : -1;
  18015. if (year === undefined) {
  18016. return hooks(era.since).year();
  18017. } else {
  18018. return hooks(era.since).year() + (year - era.offset) * dir;
  18019. }
  18020. }
  18021. function getEraName() {
  18022. var i,
  18023. l,
  18024. val,
  18025. eras = this.localeData().eras();
  18026. for (i = 0, l = eras.length; i < l; ++i) {
  18027. // truncate time
  18028. val = this.clone().startOf('day').valueOf();
  18029. if (eras[i].since <= val && val <= eras[i].until) {
  18030. return eras[i].name;
  18031. }
  18032. if (eras[i].until <= val && val <= eras[i].since) {
  18033. return eras[i].name;
  18034. }
  18035. }
  18036. return '';
  18037. }
  18038. function getEraNarrow() {
  18039. var i,
  18040. l,
  18041. val,
  18042. eras = this.localeData().eras();
  18043. for (i = 0, l = eras.length; i < l; ++i) {
  18044. // truncate time
  18045. val = this.clone().startOf('day').valueOf();
  18046. if (eras[i].since <= val && val <= eras[i].until) {
  18047. return eras[i].narrow;
  18048. }
  18049. if (eras[i].until <= val && val <= eras[i].since) {
  18050. return eras[i].narrow;
  18051. }
  18052. }
  18053. return '';
  18054. }
  18055. function getEraAbbr() {
  18056. var i,
  18057. l,
  18058. val,
  18059. eras = this.localeData().eras();
  18060. for (i = 0, l = eras.length; i < l; ++i) {
  18061. // truncate time
  18062. val = this.clone().startOf('day').valueOf();
  18063. if (eras[i].since <= val && val <= eras[i].until) {
  18064. return eras[i].abbr;
  18065. }
  18066. if (eras[i].until <= val && val <= eras[i].since) {
  18067. return eras[i].abbr;
  18068. }
  18069. }
  18070. return '';
  18071. }
  18072. function getEraYear() {
  18073. var i,
  18074. l,
  18075. dir,
  18076. val,
  18077. eras = this.localeData().eras();
  18078. for (i = 0, l = eras.length; i < l; ++i) {
  18079. dir = eras[i].since <= eras[i].until ? +1 : -1;
  18080. // truncate time
  18081. val = this.clone().startOf('day').valueOf();
  18082. if (
  18083. eras[i].since <= val && val <= eras[i].until ||
  18084. eras[i].until <= val && val <= eras[i].since)
  18085. {
  18086. return (
  18087. (this.year() - hooks(eras[i].since).year()) * dir +
  18088. eras[i].offset);
  18089. }
  18090. }
  18091. return this.year();
  18092. }
  18093. function erasNameRegex(isStrict) {
  18094. if (!hasOwnProp(this, '_erasNameRegex')) {
  18095. computeErasParse.call(this);
  18096. }
  18097. return isStrict ? this._erasNameRegex : this._erasRegex;
  18098. }
  18099. function erasAbbrRegex(isStrict) {
  18100. if (!hasOwnProp(this, '_erasAbbrRegex')) {
  18101. computeErasParse.call(this);
  18102. }
  18103. return isStrict ? this._erasAbbrRegex : this._erasRegex;
  18104. }
  18105. function erasNarrowRegex(isStrict) {
  18106. if (!hasOwnProp(this, '_erasNarrowRegex')) {
  18107. computeErasParse.call(this);
  18108. }
  18109. return isStrict ? this._erasNarrowRegex : this._erasRegex;
  18110. }
  18111. function matchEraAbbr(isStrict, locale) {
  18112. return locale.erasAbbrRegex(isStrict);
  18113. }
  18114. function matchEraName(isStrict, locale) {
  18115. return locale.erasNameRegex(isStrict);
  18116. }
  18117. function matchEraNarrow(isStrict, locale) {
  18118. return locale.erasNarrowRegex(isStrict);
  18119. }
  18120. function matchEraYearOrdinal(isStrict, locale) {
  18121. return locale._eraYearOrdinalRegex || matchUnsigned;
  18122. }
  18123. function computeErasParse() {
  18124. var abbrPieces = [],
  18125. namePieces = [],
  18126. narrowPieces = [],
  18127. mixedPieces = [],
  18128. i,
  18129. l,
  18130. eras = this.eras();
  18131. for (i = 0, l = eras.length; i < l; ++i) {
  18132. namePieces.push(regexEscape(eras[i].name));
  18133. abbrPieces.push(regexEscape(eras[i].abbr));
  18134. narrowPieces.push(regexEscape(eras[i].narrow));
  18135. mixedPieces.push(regexEscape(eras[i].name));
  18136. mixedPieces.push(regexEscape(eras[i].abbr));
  18137. mixedPieces.push(regexEscape(eras[i].narrow));
  18138. }
  18139. this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
  18140. this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');
  18141. this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');
  18142. this._erasNarrowRegex = new RegExp(
  18143. '^(' + narrowPieces.join('|') + ')',
  18144. 'i');
  18145. }
  18146. // FORMATTING
  18147. addFormatToken(0, ['gg', 2], 0, function () {
  18148. return this.weekYear() % 100;
  18149. });
  18150. addFormatToken(0, ['GG', 2], 0, function () {
  18151. return this.isoWeekYear() % 100;
  18152. });
  18153. function addWeekYearFormatToken(token, getter) {
  18154. addFormatToken(0, [token, token.length], 0, getter);
  18155. }
  18156. addWeekYearFormatToken('gggg', 'weekYear');
  18157. addWeekYearFormatToken('ggggg', 'weekYear');
  18158. addWeekYearFormatToken('GGGG', 'isoWeekYear');
  18159. addWeekYearFormatToken('GGGGG', 'isoWeekYear');
  18160. // ALIASES
  18161. addUnitAlias('weekYear', 'gg');
  18162. addUnitAlias('isoWeekYear', 'GG');
  18163. // PRIORITY
  18164. addUnitPriority('weekYear', 1);
  18165. addUnitPriority('isoWeekYear', 1);
  18166. // PARSING
  18167. addRegexToken('G', matchSigned);
  18168. addRegexToken('g', matchSigned);
  18169. addRegexToken('GG', match1to2, match2);
  18170. addRegexToken('gg', match1to2, match2);
  18171. addRegexToken('GGGG', match1to4, match4);
  18172. addRegexToken('gggg', match1to4, match4);
  18173. addRegexToken('GGGGG', match1to6, match6);
  18174. addRegexToken('ggggg', match1to6, match6);
  18175. addWeekParseToken(
  18176. ['gggg', 'ggggg', 'GGGG', 'GGGGG'],
  18177. function (input, week, config, token) {
  18178. week[token.substr(0, 2)] = toInt(input);
  18179. });
  18180. addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {
  18181. week[token] = hooks.parseTwoDigitYear(input);
  18182. });
  18183. // MOMENTS
  18184. function getSetWeekYear(input) {
  18185. return getSetWeekYearHelper.call(
  18186. this,
  18187. input,
  18188. this.week(),
  18189. this.weekday(),
  18190. this.localeData()._week.dow,
  18191. this.localeData()._week.doy);
  18192. }
  18193. function getSetISOWeekYear(input) {
  18194. return getSetWeekYearHelper.call(
  18195. this,
  18196. input,
  18197. this.isoWeek(),
  18198. this.isoWeekday(),
  18199. 1,
  18200. 4);
  18201. }
  18202. function getISOWeeksInYear() {
  18203. return weeksInYear(this.year(), 1, 4);
  18204. }
  18205. function getISOWeeksInISOWeekYear() {
  18206. return weeksInYear(this.isoWeekYear(), 1, 4);
  18207. }
  18208. function getWeeksInYear() {
  18209. var weekInfo = this.localeData()._week;
  18210. return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
  18211. }
  18212. function getWeeksInWeekYear() {
  18213. var weekInfo = this.localeData()._week;
  18214. return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);
  18215. }
  18216. function getSetWeekYearHelper(input, week, weekday, dow, doy) {
  18217. var weeksTarget;
  18218. if (input == null) {
  18219. return weekOfYear(this, dow, doy).year;
  18220. } else {
  18221. weeksTarget = weeksInYear(input, dow, doy);
  18222. if (week > weeksTarget) {
  18223. week = weeksTarget;
  18224. }
  18225. return setWeekAll.call(this, input, week, weekday, dow, doy);
  18226. }
  18227. }
  18228. function setWeekAll(weekYear, week, weekday, dow, doy) {
  18229. var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),
  18230. date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);
  18231. this.year(date.getUTCFullYear());
  18232. this.month(date.getUTCMonth());
  18233. this.date(date.getUTCDate());
  18234. return this;
  18235. }
  18236. // FORMATTING
  18237. addFormatToken('Q', 0, 'Qo', 'quarter');
  18238. // ALIASES
  18239. addUnitAlias('quarter', 'Q');
  18240. // PRIORITY
  18241. addUnitPriority('quarter', 7);
  18242. // PARSING
  18243. addRegexToken('Q', match1);
  18244. addParseToken('Q', function (input, array) {
  18245. array[MONTH] = (toInt(input) - 1) * 3;
  18246. });
  18247. // MOMENTS
  18248. function getSetQuarter(input) {
  18249. return input == null ?
  18250. Math.ceil((this.month() + 1) / 3) :
  18251. this.month((input - 1) * 3 + this.month() % 3);
  18252. }
  18253. // FORMATTING
  18254. addFormatToken('D', ['DD', 2], 'Do', 'date');
  18255. // ALIASES
  18256. addUnitAlias('date', 'D');
  18257. // PRIORITY
  18258. addUnitPriority('date', 9);
  18259. // PARSING
  18260. addRegexToken('D', match1to2);
  18261. addRegexToken('DD', match1to2, match2);
  18262. addRegexToken('Do', function (isStrict, locale) {
  18263. // TODO: Remove "ordinalParse" fallback in next major release.
  18264. return isStrict ?
  18265. locale._dayOfMonthOrdinalParse || locale._ordinalParse :
  18266. locale._dayOfMonthOrdinalParseLenient;
  18267. });
  18268. addParseToken(['D', 'DD'], DATE);
  18269. addParseToken('Do', function (input, array) {
  18270. array[DATE] = toInt(input.match(match1to2)[0]);
  18271. });
  18272. // MOMENTS
  18273. var getSetDayOfMonth = makeGetSet('Date', true);
  18274. // FORMATTING
  18275. addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
  18276. // ALIASES
  18277. addUnitAlias('dayOfYear', 'DDD');
  18278. // PRIORITY
  18279. addUnitPriority('dayOfYear', 4);
  18280. // PARSING
  18281. addRegexToken('DDD', match1to3);
  18282. addRegexToken('DDDD', match3);
  18283. addParseToken(['DDD', 'DDDD'], function (input, array, config) {
  18284. config._dayOfYear = toInt(input);
  18285. });
  18286. // HELPERS
  18287. // MOMENTS
  18288. function getSetDayOfYear(input) {
  18289. var dayOfYear =
  18290. Math.round(
  18291. (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) +
  18292. 1;
  18293. return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');
  18294. }
  18295. // FORMATTING
  18296. addFormatToken('m', ['mm', 2], 0, 'minute');
  18297. // ALIASES
  18298. addUnitAlias('minute', 'm');
  18299. // PRIORITY
  18300. addUnitPriority('minute', 14);
  18301. // PARSING
  18302. addRegexToken('m', match1to2);
  18303. addRegexToken('mm', match1to2, match2);
  18304. addParseToken(['m', 'mm'], MINUTE);
  18305. // MOMENTS
  18306. var getSetMinute = makeGetSet('Minutes', false);
  18307. // FORMATTING
  18308. addFormatToken('s', ['ss', 2], 0, 'second');
  18309. // ALIASES
  18310. addUnitAlias('second', 's');
  18311. // PRIORITY
  18312. addUnitPriority('second', 15);
  18313. // PARSING
  18314. addRegexToken('s', match1to2);
  18315. addRegexToken('ss', match1to2, match2);
  18316. addParseToken(['s', 'ss'], SECOND);
  18317. // MOMENTS
  18318. var getSetSecond = makeGetSet('Seconds', false);
  18319. // FORMATTING
  18320. addFormatToken('S', 0, 0, function () {
  18321. return ~~(this.millisecond() / 100);
  18322. });
  18323. addFormatToken(0, ['SS', 2], 0, function () {
  18324. return ~~(this.millisecond() / 10);
  18325. });
  18326. addFormatToken(0, ['SSS', 3], 0, 'millisecond');
  18327. addFormatToken(0, ['SSSS', 4], 0, function () {
  18328. return this.millisecond() * 10;
  18329. });
  18330. addFormatToken(0, ['SSSSS', 5], 0, function () {
  18331. return this.millisecond() * 100;
  18332. });
  18333. addFormatToken(0, ['SSSSSS', 6], 0, function () {
  18334. return this.millisecond() * 1000;
  18335. });
  18336. addFormatToken(0, ['SSSSSSS', 7], 0, function () {
  18337. return this.millisecond() * 10000;
  18338. });
  18339. addFormatToken(0, ['SSSSSSSS', 8], 0, function () {
  18340. return this.millisecond() * 100000;
  18341. });
  18342. addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
  18343. return this.millisecond() * 1000000;
  18344. });
  18345. // ALIASES
  18346. addUnitAlias('millisecond', 'ms');
  18347. // PRIORITY
  18348. addUnitPriority('millisecond', 16);
  18349. // PARSING
  18350. addRegexToken('S', match1to3, match1);
  18351. addRegexToken('SS', match1to3, match2);
  18352. addRegexToken('SSS', match1to3, match3);
  18353. var token, getSetMillisecond;
  18354. for (token = 'SSSS'; token.length <= 9; token += 'S') {
  18355. addRegexToken(token, matchUnsigned);
  18356. }
  18357. function parseMs(input, array) {
  18358. array[MILLISECOND] = toInt(('0.' + input) * 1000);
  18359. }
  18360. for (token = 'S'; token.length <= 9; token += 'S') {
  18361. addParseToken(token, parseMs);
  18362. }
  18363. getSetMillisecond = makeGetSet('Milliseconds', false);
  18364. // FORMATTING
  18365. addFormatToken('z', 0, 0, 'zoneAbbr');
  18366. addFormatToken('zz', 0, 0, 'zoneName');
  18367. // MOMENTS
  18368. function getZoneAbbr() {
  18369. return this._isUTC ? 'UTC' : '';
  18370. }
  18371. function getZoneName() {
  18372. return this._isUTC ? 'Coordinated Universal Time' : '';
  18373. }
  18374. var proto = Moment.prototype;
  18375. proto.add = add;
  18376. proto.calendar = calendar$1;
  18377. proto.clone = clone;
  18378. proto.diff = diff;
  18379. proto.endOf = endOf;
  18380. proto.format = format;
  18381. proto.from = from;
  18382. proto.fromNow = fromNow;
  18383. proto.to = to;
  18384. proto.toNow = toNow;
  18385. proto.get = stringGet;
  18386. proto.invalidAt = invalidAt;
  18387. proto.isAfter = isAfter;
  18388. proto.isBefore = isBefore;
  18389. proto.isBetween = isBetween;
  18390. proto.isSame = isSame;
  18391. proto.isSameOrAfter = isSameOrAfter;
  18392. proto.isSameOrBefore = isSameOrBefore;
  18393. proto.isValid = isValid$2;
  18394. proto.lang = lang;
  18395. proto.locale = locale;
  18396. proto.localeData = localeData;
  18397. proto.max = prototypeMax;
  18398. proto.min = prototypeMin;
  18399. proto.parsingFlags = parsingFlags;
  18400. proto.set = stringSet;
  18401. proto.startOf = startOf;
  18402. proto.subtract = subtract;
  18403. proto.toArray = toArray;
  18404. proto.toObject = toObject;
  18405. proto.toDate = toDate;
  18406. proto.toISOString = toISOString;
  18407. proto.inspect = inspect;
  18408. if (typeof Symbol !== 'undefined' && Symbol.for != null) {
  18409. proto[Symbol.for('nodejs.util.inspect.custom')] = function () {
  18410. return 'Moment<' + this.format() + '>';
  18411. };
  18412. }
  18413. proto.toJSON = toJSON;
  18414. proto.toString = toString;
  18415. proto.unix = unix;
  18416. proto.valueOf = valueOf;
  18417. proto.creationData = creationData;
  18418. proto.eraName = getEraName;
  18419. proto.eraNarrow = getEraNarrow;
  18420. proto.eraAbbr = getEraAbbr;
  18421. proto.eraYear = getEraYear;
  18422. proto.year = getSetYear;
  18423. proto.isLeapYear = getIsLeapYear;
  18424. proto.weekYear = getSetWeekYear;
  18425. proto.isoWeekYear = getSetISOWeekYear;
  18426. proto.quarter = proto.quarters = getSetQuarter;
  18427. proto.month = getSetMonth;
  18428. proto.daysInMonth = getDaysInMonth;
  18429. proto.week = proto.weeks = getSetWeek;
  18430. proto.isoWeek = proto.isoWeeks = getSetISOWeek;
  18431. proto.weeksInYear = getWeeksInYear;
  18432. proto.weeksInWeekYear = getWeeksInWeekYear;
  18433. proto.isoWeeksInYear = getISOWeeksInYear;
  18434. proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;
  18435. proto.date = getSetDayOfMonth;
  18436. proto.day = proto.days = getSetDayOfWeek;
  18437. proto.weekday = getSetLocaleDayOfWeek;
  18438. proto.isoWeekday = getSetISODayOfWeek;
  18439. proto.dayOfYear = getSetDayOfYear;
  18440. proto.hour = proto.hours = getSetHour;
  18441. proto.minute = proto.minutes = getSetMinute;
  18442. proto.second = proto.seconds = getSetSecond;
  18443. proto.millisecond = proto.milliseconds = getSetMillisecond;
  18444. proto.utcOffset = getSetOffset;
  18445. proto.utc = setOffsetToUTC;
  18446. proto.local = setOffsetToLocal;
  18447. proto.parseZone = setOffsetToParsedOffset;
  18448. proto.hasAlignedHourOffset = hasAlignedHourOffset;
  18449. proto.isDST = isDaylightSavingTime;
  18450. proto.isLocal = isLocal;
  18451. proto.isUtcOffset = isUtcOffset;
  18452. proto.isUtc = isUtc;
  18453. proto.isUTC = isUtc;
  18454. proto.zoneAbbr = getZoneAbbr;
  18455. proto.zoneName = getZoneName;
  18456. proto.dates = deprecate(
  18457. 'dates accessor is deprecated. Use date instead.',
  18458. getSetDayOfMonth);
  18459. proto.months = deprecate(
  18460. 'months accessor is deprecated. Use month instead',
  18461. getSetMonth);
  18462. proto.years = deprecate(
  18463. 'years accessor is deprecated. Use year instead',
  18464. getSetYear);
  18465. proto.zone = deprecate(
  18466. 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',
  18467. getSetZone);
  18468. proto.isDSTShifted = deprecate(
  18469. 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',
  18470. isDaylightSavingTimeShifted);
  18471. function createUnix(input) {
  18472. return createLocal(input * 1000);
  18473. }
  18474. function createInZone() {
  18475. return createLocal.apply(null, arguments).parseZone();
  18476. }
  18477. function preParsePostFormat(string) {
  18478. return string;
  18479. }
  18480. var proto$1 = Locale.prototype;
  18481. proto$1.calendar = calendar;
  18482. proto$1.longDateFormat = longDateFormat;
  18483. proto$1.invalidDate = invalidDate;
  18484. proto$1.ordinal = ordinal;
  18485. proto$1.preparse = preParsePostFormat;
  18486. proto$1.postformat = preParsePostFormat;
  18487. proto$1.relativeTime = relativeTime;
  18488. proto$1.pastFuture = pastFuture;
  18489. proto$1.set = set;
  18490. proto$1.eras = localeEras;
  18491. proto$1.erasParse = localeErasParse;
  18492. proto$1.erasConvertYear = localeErasConvertYear;
  18493. proto$1.erasAbbrRegex = erasAbbrRegex;
  18494. proto$1.erasNameRegex = erasNameRegex;
  18495. proto$1.erasNarrowRegex = erasNarrowRegex;
  18496. proto$1.months = localeMonths;
  18497. proto$1.monthsShort = localeMonthsShort;
  18498. proto$1.monthsParse = localeMonthsParse;
  18499. proto$1.monthsRegex = monthsRegex;
  18500. proto$1.monthsShortRegex = monthsShortRegex;
  18501. proto$1.week = localeWeek;
  18502. proto$1.firstDayOfYear = localeFirstDayOfYear;
  18503. proto$1.firstDayOfWeek = localeFirstDayOfWeek;
  18504. proto$1.weekdays = localeWeekdays;
  18505. proto$1.weekdaysMin = localeWeekdaysMin;
  18506. proto$1.weekdaysShort = localeWeekdaysShort;
  18507. proto$1.weekdaysParse = localeWeekdaysParse;
  18508. proto$1.weekdaysRegex = weekdaysRegex;
  18509. proto$1.weekdaysShortRegex = weekdaysShortRegex;
  18510. proto$1.weekdaysMinRegex = weekdaysMinRegex;
  18511. proto$1.isPM = localeIsPM;
  18512. proto$1.meridiem = localeMeridiem;
  18513. function get$1(format, index, field, setter) {
  18514. var locale = getLocale(),
  18515. utc = createUTC().set(setter, index);
  18516. return locale[field](utc, format);
  18517. }
  18518. function listMonthsImpl(format, index, field) {
  18519. if (isNumber(format)) {
  18520. index = format;
  18521. format = undefined;
  18522. }
  18523. format = format || '';
  18524. if (index != null) {
  18525. return get$1(format, index, field, 'month');
  18526. }
  18527. var i,
  18528. out = [];
  18529. for (i = 0; i < 12; i++) {
  18530. out[i] = get$1(format, i, field, 'month');
  18531. }
  18532. return out;
  18533. }
  18534. // ()
  18535. // (5)
  18536. // (fmt, 5)
  18537. // (fmt)
  18538. // (true)
  18539. // (true, 5)
  18540. // (true, fmt, 5)
  18541. // (true, fmt)
  18542. function listWeekdaysImpl(localeSorted, format, index, field) {
  18543. if (typeof localeSorted === 'boolean') {
  18544. if (isNumber(format)) {
  18545. index = format;
  18546. format = undefined;
  18547. }
  18548. format = format || '';
  18549. } else {
  18550. format = localeSorted;
  18551. index = format;
  18552. localeSorted = false;
  18553. if (isNumber(format)) {
  18554. index = format;
  18555. format = undefined;
  18556. }
  18557. format = format || '';
  18558. }
  18559. var locale = getLocale(),
  18560. shift = localeSorted ? locale._week.dow : 0,
  18561. i,
  18562. out = [];
  18563. if (index != null) {
  18564. return get$1(format, (index + shift) % 7, field, 'day');
  18565. }
  18566. for (i = 0; i < 7; i++) {
  18567. out[i] = get$1(format, (i + shift) % 7, field, 'day');
  18568. }
  18569. return out;
  18570. }
  18571. function listMonths(format, index) {
  18572. return listMonthsImpl(format, index, 'months');
  18573. }
  18574. function listMonthsShort(format, index) {
  18575. return listMonthsImpl(format, index, 'monthsShort');
  18576. }
  18577. function listWeekdays(localeSorted, format, index) {
  18578. return listWeekdaysImpl(localeSorted, format, index, 'weekdays');
  18579. }
  18580. function listWeekdaysShort(localeSorted, format, index) {
  18581. return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');
  18582. }
  18583. function listWeekdaysMin(localeSorted, format, index) {
  18584. return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');
  18585. }
  18586. getSetGlobalLocale('en', {
  18587. eras: [
  18588. {
  18589. since: '0001-01-01',
  18590. until: +Infinity,
  18591. offset: 1,
  18592. name: 'Anno Domini',
  18593. narrow: 'AD',
  18594. abbr: 'AD' },
  18595. {
  18596. since: '0000-12-31',
  18597. until: -Infinity,
  18598. offset: 1,
  18599. name: 'Before Christ',
  18600. narrow: 'BC',
  18601. abbr: 'BC' }],
  18602. dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
  18603. ordinal: function ordinal(number) {
  18604. var b = number % 10,
  18605. output =
  18606. toInt(number % 100 / 10) === 1 ?
  18607. 'th' :
  18608. b === 1 ?
  18609. 'st' :
  18610. b === 2 ?
  18611. 'nd' :
  18612. b === 3 ?
  18613. 'rd' :
  18614. 'th';
  18615. return number + output;
  18616. } });
  18617. // Side effect imports
  18618. hooks.lang = deprecate(
  18619. 'moment.lang is deprecated. Use moment.locale instead.',
  18620. getSetGlobalLocale);
  18621. hooks.langData = deprecate(
  18622. 'moment.langData is deprecated. Use moment.localeData instead.',
  18623. getLocale);
  18624. var mathAbs = Math.abs;
  18625. function abs() {
  18626. var data = this._data;
  18627. this._milliseconds = mathAbs(this._milliseconds);
  18628. this._days = mathAbs(this._days);
  18629. this._months = mathAbs(this._months);
  18630. data.milliseconds = mathAbs(data.milliseconds);
  18631. data.seconds = mathAbs(data.seconds);
  18632. data.minutes = mathAbs(data.minutes);
  18633. data.hours = mathAbs(data.hours);
  18634. data.months = mathAbs(data.months);
  18635. data.years = mathAbs(data.years);
  18636. return this;
  18637. }
  18638. function addSubtract$1(duration, input, value, direction) {
  18639. var other = createDuration(input, value);
  18640. duration._milliseconds += direction * other._milliseconds;
  18641. duration._days += direction * other._days;
  18642. duration._months += direction * other._months;
  18643. return duration._bubble();
  18644. }
  18645. // supports only 2.0-style add(1, 's') or add(duration)
  18646. function add$1(input, value) {
  18647. return addSubtract$1(this, input, value, 1);
  18648. }
  18649. // supports only 2.0-style subtract(1, 's') or subtract(duration)
  18650. function subtract$1(input, value) {
  18651. return addSubtract$1(this, input, value, -1);
  18652. }
  18653. function absCeil(number) {
  18654. if (number < 0) {
  18655. return Math.floor(number);
  18656. } else {
  18657. return Math.ceil(number);
  18658. }
  18659. }
  18660. function bubble() {
  18661. var milliseconds = this._milliseconds,
  18662. days = this._days,
  18663. months = this._months,
  18664. data = this._data,
  18665. seconds,
  18666. minutes,
  18667. hours,
  18668. years,
  18669. monthsFromDays;
  18670. // if we have a mix of positive and negative values, bubble down first
  18671. // check: https://github.com/moment/moment/issues/2166
  18672. if (
  18673. !(
  18674. milliseconds >= 0 && days >= 0 && months >= 0 ||
  18675. milliseconds <= 0 && days <= 0 && months <= 0))
  18676. {
  18677. milliseconds += absCeil(monthsToDays(months) + days) * 864e5;
  18678. days = 0;
  18679. months = 0;
  18680. }
  18681. // The following code bubbles up values, see the tests for
  18682. // examples of what that means.
  18683. data.milliseconds = milliseconds % 1000;
  18684. seconds = absFloor(milliseconds / 1000);
  18685. data.seconds = seconds % 60;
  18686. minutes = absFloor(seconds / 60);
  18687. data.minutes = minutes % 60;
  18688. hours = absFloor(minutes / 60);
  18689. data.hours = hours % 24;
  18690. days += absFloor(hours / 24);
  18691. // convert days to months
  18692. monthsFromDays = absFloor(daysToMonths(days));
  18693. months += monthsFromDays;
  18694. days -= absCeil(monthsToDays(monthsFromDays));
  18695. // 12 months -> 1 year
  18696. years = absFloor(months / 12);
  18697. months %= 12;
  18698. data.days = days;
  18699. data.months = months;
  18700. data.years = years;
  18701. return this;
  18702. }
  18703. function daysToMonths(days) {
  18704. // 400 years have 146097 days (taking into account leap year rules)
  18705. // 400 years have 12 months === 4800
  18706. return days * 4800 / 146097;
  18707. }
  18708. function monthsToDays(months) {
  18709. // the reverse of daysToMonths
  18710. return months * 146097 / 4800;
  18711. }
  18712. function as(units) {
  18713. if (!this.isValid()) {
  18714. return NaN;
  18715. }
  18716. var days,
  18717. months,
  18718. milliseconds = this._milliseconds;
  18719. units = normalizeUnits(units);
  18720. if (units === 'month' || units === 'quarter' || units === 'year') {
  18721. days = this._days + milliseconds / 864e5;
  18722. months = this._months + daysToMonths(days);
  18723. switch (units) {
  18724. case 'month':
  18725. return months;
  18726. case 'quarter':
  18727. return months / 3;
  18728. case 'year':
  18729. return months / 12;}
  18730. } else {
  18731. // handle milliseconds separately because of floating point math errors (issue #1867)
  18732. days = this._days + Math.round(monthsToDays(this._months));
  18733. switch (units) {
  18734. case 'week':
  18735. return days / 7 + milliseconds / 6048e5;
  18736. case 'day':
  18737. return days + milliseconds / 864e5;
  18738. case 'hour':
  18739. return days * 24 + milliseconds / 36e5;
  18740. case 'minute':
  18741. return days * 1440 + milliseconds / 6e4;
  18742. case 'second':
  18743. return days * 86400 + milliseconds / 1000;
  18744. // Math.floor prevents floating point math errors here
  18745. case 'millisecond':
  18746. return Math.floor(days * 864e5) + milliseconds;
  18747. default:
  18748. throw new Error('Unknown unit ' + units);}
  18749. }
  18750. }
  18751. // TODO: Use this.as('ms')?
  18752. function valueOf$1() {
  18753. if (!this.isValid()) {
  18754. return NaN;
  18755. }
  18756. return (
  18757. this._milliseconds +
  18758. this._days * 864e5 +
  18759. this._months % 12 * 2592e6 +
  18760. toInt(this._months / 12) * 31536e6);
  18761. }
  18762. function makeAs(alias) {
  18763. return function () {
  18764. return this.as(alias);
  18765. };
  18766. }
  18767. var asMilliseconds = makeAs('ms'),
  18768. asSeconds = makeAs('s'),
  18769. asMinutes = makeAs('m'),
  18770. asHours = makeAs('h'),
  18771. asDays = makeAs('d'),
  18772. asWeeks = makeAs('w'),
  18773. asMonths = makeAs('M'),
  18774. asQuarters = makeAs('Q'),
  18775. asYears = makeAs('y');
  18776. function clone$1() {
  18777. return createDuration(this);
  18778. }
  18779. function get$2(units) {
  18780. units = normalizeUnits(units);
  18781. return this.isValid() ? this[units + 's']() : NaN;
  18782. }
  18783. function makeGetter(name) {
  18784. return function () {
  18785. return this.isValid() ? this._data[name] : NaN;
  18786. };
  18787. }
  18788. var milliseconds = makeGetter('milliseconds'),
  18789. seconds = makeGetter('seconds'),
  18790. minutes = makeGetter('minutes'),
  18791. hours = makeGetter('hours'),
  18792. days = makeGetter('days'),
  18793. months = makeGetter('months'),
  18794. years = makeGetter('years');
  18795. function weeks() {
  18796. return absFloor(this.days() / 7);
  18797. }
  18798. var round = Math.round,
  18799. thresholds = {
  18800. ss: 44, // a few seconds to seconds
  18801. s: 45, // seconds to minute
  18802. m: 45, // minutes to hour
  18803. h: 22, // hours to day
  18804. d: 26, // days to month/week
  18805. w: null, // weeks to month
  18806. M: 11 // months to year
  18807. };
  18808. // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
  18809. function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
  18810. return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
  18811. }
  18812. function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {
  18813. var duration = createDuration(posNegDuration).abs(),
  18814. seconds = round(duration.as('s')),
  18815. minutes = round(duration.as('m')),
  18816. hours = round(duration.as('h')),
  18817. days = round(duration.as('d')),
  18818. months = round(duration.as('M')),
  18819. weeks = round(duration.as('w')),
  18820. years = round(duration.as('y')),
  18821. a =
  18822. seconds <= thresholds.ss && ['s', seconds] ||
  18823. seconds < thresholds.s && ['ss', seconds] ||
  18824. minutes <= 1 && ['m'] ||
  18825. minutes < thresholds.m && ['mm', minutes] ||
  18826. hours <= 1 && ['h'] ||
  18827. hours < thresholds.h && ['hh', hours] ||
  18828. days <= 1 && ['d'] ||
  18829. days < thresholds.d && ['dd', days];
  18830. if (thresholds.w != null) {
  18831. a =
  18832. a ||
  18833. weeks <= 1 && ['w'] ||
  18834. weeks < thresholds.w && ['ww', weeks];
  18835. }
  18836. a = a ||
  18837. months <= 1 && ['M'] ||
  18838. months < thresholds.M && ['MM', months] ||
  18839. years <= 1 && ['y'] || ['yy', years];
  18840. a[2] = withoutSuffix;
  18841. a[3] = +posNegDuration > 0;
  18842. a[4] = locale;
  18843. return substituteTimeAgo.apply(null, a);
  18844. }
  18845. // This function allows you to set the rounding function for relative time strings
  18846. function getSetRelativeTimeRounding(roundingFunction) {
  18847. if (roundingFunction === undefined) {
  18848. return round;
  18849. }
  18850. if (typeof roundingFunction === 'function') {
  18851. round = roundingFunction;
  18852. return true;
  18853. }
  18854. return false;
  18855. }
  18856. // This function allows you to set a threshold for relative time strings
  18857. function getSetRelativeTimeThreshold(threshold, limit) {
  18858. if (thresholds[threshold] === undefined) {
  18859. return false;
  18860. }
  18861. if (limit === undefined) {
  18862. return thresholds[threshold];
  18863. }
  18864. thresholds[threshold] = limit;
  18865. if (threshold === 's') {
  18866. thresholds.ss = limit - 1;
  18867. }
  18868. return true;
  18869. }
  18870. function humanize(argWithSuffix, argThresholds) {
  18871. if (!this.isValid()) {
  18872. return this.localeData().invalidDate();
  18873. }
  18874. var withSuffix = false,
  18875. th = thresholds,
  18876. locale,
  18877. output;
  18878. if (typeof argWithSuffix === 'object') {
  18879. argThresholds = argWithSuffix;
  18880. argWithSuffix = false;
  18881. }
  18882. if (typeof argWithSuffix === 'boolean') {
  18883. withSuffix = argWithSuffix;
  18884. }
  18885. if (typeof argThresholds === 'object') {
  18886. th = Object.assign({}, thresholds, argThresholds);
  18887. if (argThresholds.s != null && argThresholds.ss == null) {
  18888. th.ss = argThresholds.s - 1;
  18889. }
  18890. }
  18891. locale = this.localeData();
  18892. output = relativeTime$1(this, !withSuffix, th, locale);
  18893. if (withSuffix) {
  18894. output = locale.pastFuture(+this, output);
  18895. }
  18896. return locale.postformat(output);
  18897. }
  18898. var abs$1 = Math.abs;
  18899. function sign(x) {
  18900. return (x > 0) - (x < 0) || +x;
  18901. }
  18902. function toISOString$1() {
  18903. // for ISO strings we do not use the normal bubbling rules:
  18904. // * milliseconds bubble up until they become hours
  18905. // * days do not bubble at all
  18906. // * months bubble up until they become years
  18907. // This is because there is no context-free conversion between hours and days
  18908. // (think of clock changes)
  18909. // and also not between days and months (28-31 days per month)
  18910. if (!this.isValid()) {
  18911. return this.localeData().invalidDate();
  18912. }
  18913. var seconds = abs$1(this._milliseconds) / 1000,
  18914. days = abs$1(this._days),
  18915. months = abs$1(this._months),
  18916. minutes,
  18917. hours,
  18918. years,
  18919. s,
  18920. total = this.asSeconds(),
  18921. totalSign,
  18922. ymSign,
  18923. daysSign,
  18924. hmsSign;
  18925. if (!total) {
  18926. // this is the same as C#'s (Noda) and python (isodate)...
  18927. // but not other JS (goog.date)
  18928. return 'P0D';
  18929. }
  18930. // 3600 seconds -> 60 minutes -> 1 hour
  18931. minutes = absFloor(seconds / 60);
  18932. hours = absFloor(minutes / 60);
  18933. seconds %= 60;
  18934. minutes %= 60;
  18935. // 12 months -> 1 year
  18936. years = absFloor(months / 12);
  18937. months %= 12;
  18938. // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
  18939. s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : '';
  18940. totalSign = total < 0 ? '-' : '';
  18941. ymSign = sign(this._months) !== sign(total) ? '-' : '';
  18942. daysSign = sign(this._days) !== sign(total) ? '-' : '';
  18943. hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';
  18944. return (
  18945. totalSign +
  18946. 'P' + (
  18947. years ? ymSign + years + 'Y' : '') + (
  18948. months ? ymSign + months + 'M' : '') + (
  18949. days ? daysSign + days + 'D' : '') + (
  18950. hours || minutes || seconds ? 'T' : '') + (
  18951. hours ? hmsSign + hours + 'H' : '') + (
  18952. minutes ? hmsSign + minutes + 'M' : '') + (
  18953. seconds ? hmsSign + s + 'S' : ''));
  18954. }
  18955. var proto$2 = Duration.prototype;
  18956. proto$2.isValid = isValid$1;
  18957. proto$2.abs = abs;
  18958. proto$2.add = add$1;
  18959. proto$2.subtract = subtract$1;
  18960. proto$2.as = as;
  18961. proto$2.asMilliseconds = asMilliseconds;
  18962. proto$2.asSeconds = asSeconds;
  18963. proto$2.asMinutes = asMinutes;
  18964. proto$2.asHours = asHours;
  18965. proto$2.asDays = asDays;
  18966. proto$2.asWeeks = asWeeks;
  18967. proto$2.asMonths = asMonths;
  18968. proto$2.asQuarters = asQuarters;
  18969. proto$2.asYears = asYears;
  18970. proto$2.valueOf = valueOf$1;
  18971. proto$2._bubble = bubble;
  18972. proto$2.clone = clone$1;
  18973. proto$2.get = get$2;
  18974. proto$2.milliseconds = milliseconds;
  18975. proto$2.seconds = seconds;
  18976. proto$2.minutes = minutes;
  18977. proto$2.hours = hours;
  18978. proto$2.days = days;
  18979. proto$2.weeks = weeks;
  18980. proto$2.months = months;
  18981. proto$2.years = years;
  18982. proto$2.humanize = humanize;
  18983. proto$2.toISOString = toISOString$1;
  18984. proto$2.toString = toISOString$1;
  18985. proto$2.toJSON = toISOString$1;
  18986. proto$2.locale = locale;
  18987. proto$2.localeData = localeData;
  18988. proto$2.toIsoString = deprecate(
  18989. 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',
  18990. toISOString$1);
  18991. proto$2.lang = lang;
  18992. // FORMATTING
  18993. addFormatToken('X', 0, 0, 'unix');
  18994. addFormatToken('x', 0, 0, 'valueOf');
  18995. // PARSING
  18996. addRegexToken('x', matchSigned);
  18997. addRegexToken('X', matchTimestamp);
  18998. addParseToken('X', function (input, array, config) {
  18999. config._d = new Date(parseFloat(input) * 1000);
  19000. });
  19001. addParseToken('x', function (input, array, config) {
  19002. config._d = new Date(toInt(input));
  19003. });
  19004. //! moment.js
  19005. hooks.version = '2.29.4';
  19006. setHookCallback(createLocal);
  19007. hooks.fn = proto;
  19008. hooks.min = min;
  19009. hooks.max = max;
  19010. hooks.now = now;
  19011. hooks.utc = createUTC;
  19012. hooks.unix = createUnix;
  19013. hooks.months = listMonths;
  19014. hooks.isDate = isDate;
  19015. hooks.locale = getSetGlobalLocale;
  19016. hooks.invalid = createInvalid;
  19017. hooks.duration = createDuration;
  19018. hooks.isMoment = isMoment;
  19019. hooks.weekdays = listWeekdays;
  19020. hooks.parseZone = createInZone;
  19021. hooks.localeData = getLocale;
  19022. hooks.isDuration = isDuration;
  19023. hooks.monthsShort = listMonthsShort;
  19024. hooks.weekdaysMin = listWeekdaysMin;
  19025. hooks.defineLocale = defineLocale;
  19026. hooks.updateLocale = updateLocale;
  19027. hooks.locales = listLocales;
  19028. hooks.weekdaysShort = listWeekdaysShort;
  19029. hooks.normalizeUnits = normalizeUnits;
  19030. hooks.relativeTimeRounding = getSetRelativeTimeRounding;
  19031. hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;
  19032. hooks.calendarFormat = getCalendarFormat;
  19033. hooks.prototype = proto;
  19034. // currently HTML5 input type only supports 24-hour formats
  19035. hooks.HTML5_FMT = {
  19036. DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type="datetime-local" />
  19037. DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type="datetime-local" step="1" />
  19038. DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type="datetime-local" step="0.001" />
  19039. DATE: 'YYYY-MM-DD', // <input type="date" />
  19040. TIME: 'HH:mm', // <input type="time" />
  19041. TIME_SECONDS: 'HH:mm:ss', // <input type="time" step="1" />
  19042. TIME_MS: 'HH:mm:ss.SSS', // <input type="time" step="0.001" />
  19043. WEEK: 'GGGG-[W]WW', // <input type="week" />
  19044. MONTH: 'YYYY-MM' // <input type="month" />
  19045. };
  19046. return hooks;
  19047. });
  19048. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../../HBuilderX/plugins/uniapp-cli/node_modules/webpack/buildin/module.js */ 109)(module)))
  19049. /***/ }),
  19050. /* 109 */
  19051. /*!***********************************!*\
  19052. !*** (webpack)/buildin/module.js ***!
  19053. \***********************************/
  19054. /*! no static exports found */
  19055. /***/ (function(module, exports) {
  19056. module.exports = function(module) {
  19057. if (!module.webpackPolyfill) {
  19058. module.deprecate = function() {};
  19059. module.paths = [];
  19060. // module.parent = undefined by default
  19061. if (!module.children) module.children = [];
  19062. Object.defineProperty(module, "loaded", {
  19063. enumerable: true,
  19064. get: function() {
  19065. return module.l;
  19066. }
  19067. });
  19068. Object.defineProperty(module, "id", {
  19069. enumerable: true,
  19070. get: function() {
  19071. return module.i;
  19072. }
  19073. });
  19074. module.webpackPolyfill = 1;
  19075. }
  19076. return module;
  19077. };
  19078. /***/ }),
  19079. /* 110 */
  19080. /*!*************************************************************************!*\
  19081. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale sync ^\.\/.*$ ***!
  19082. \*************************************************************************/
  19083. /*! no static exports found */
  19084. /***/ (function(module, exports, __webpack_require__) {
  19085. var map = {
  19086. "./af": 111,
  19087. "./af.js": 111,
  19088. "./ar": 112,
  19089. "./ar-dz": 113,
  19090. "./ar-dz.js": 113,
  19091. "./ar-kw": 114,
  19092. "./ar-kw.js": 114,
  19093. "./ar-ly": 115,
  19094. "./ar-ly.js": 115,
  19095. "./ar-ma": 116,
  19096. "./ar-ma.js": 116,
  19097. "./ar-sa": 117,
  19098. "./ar-sa.js": 117,
  19099. "./ar-tn": 118,
  19100. "./ar-tn.js": 118,
  19101. "./ar.js": 112,
  19102. "./az": 119,
  19103. "./az.js": 119,
  19104. "./be": 120,
  19105. "./be.js": 120,
  19106. "./bg": 121,
  19107. "./bg.js": 121,
  19108. "./bm": 122,
  19109. "./bm.js": 122,
  19110. "./bn": 123,
  19111. "./bn-bd": 124,
  19112. "./bn-bd.js": 124,
  19113. "./bn.js": 123,
  19114. "./bo": 125,
  19115. "./bo.js": 125,
  19116. "./br": 126,
  19117. "./br.js": 126,
  19118. "./bs": 127,
  19119. "./bs.js": 127,
  19120. "./ca": 128,
  19121. "./ca.js": 128,
  19122. "./cs": 129,
  19123. "./cs.js": 129,
  19124. "./cv": 130,
  19125. "./cv.js": 130,
  19126. "./cy": 131,
  19127. "./cy.js": 131,
  19128. "./da": 132,
  19129. "./da.js": 132,
  19130. "./de": 133,
  19131. "./de-at": 134,
  19132. "./de-at.js": 134,
  19133. "./de-ch": 135,
  19134. "./de-ch.js": 135,
  19135. "./de.js": 133,
  19136. "./dv": 136,
  19137. "./dv.js": 136,
  19138. "./el": 137,
  19139. "./el.js": 137,
  19140. "./en-au": 138,
  19141. "./en-au.js": 138,
  19142. "./en-ca": 139,
  19143. "./en-ca.js": 139,
  19144. "./en-gb": 140,
  19145. "./en-gb.js": 140,
  19146. "./en-ie": 141,
  19147. "./en-ie.js": 141,
  19148. "./en-il": 142,
  19149. "./en-il.js": 142,
  19150. "./en-in": 143,
  19151. "./en-in.js": 143,
  19152. "./en-nz": 144,
  19153. "./en-nz.js": 144,
  19154. "./en-sg": 145,
  19155. "./en-sg.js": 145,
  19156. "./eo": 146,
  19157. "./eo.js": 146,
  19158. "./es": 147,
  19159. "./es-do": 148,
  19160. "./es-do.js": 148,
  19161. "./es-mx": 149,
  19162. "./es-mx.js": 149,
  19163. "./es-us": 150,
  19164. "./es-us.js": 150,
  19165. "./es.js": 147,
  19166. "./et": 151,
  19167. "./et.js": 151,
  19168. "./eu": 152,
  19169. "./eu.js": 152,
  19170. "./fa": 153,
  19171. "./fa.js": 153,
  19172. "./fi": 154,
  19173. "./fi.js": 154,
  19174. "./fil": 155,
  19175. "./fil.js": 155,
  19176. "./fo": 156,
  19177. "./fo.js": 156,
  19178. "./fr": 157,
  19179. "./fr-ca": 158,
  19180. "./fr-ca.js": 158,
  19181. "./fr-ch": 159,
  19182. "./fr-ch.js": 159,
  19183. "./fr.js": 157,
  19184. "./fy": 160,
  19185. "./fy.js": 160,
  19186. "./ga": 161,
  19187. "./ga.js": 161,
  19188. "./gd": 162,
  19189. "./gd.js": 162,
  19190. "./gl": 163,
  19191. "./gl.js": 163,
  19192. "./gom-deva": 164,
  19193. "./gom-deva.js": 164,
  19194. "./gom-latn": 165,
  19195. "./gom-latn.js": 165,
  19196. "./gu": 166,
  19197. "./gu.js": 166,
  19198. "./he": 167,
  19199. "./he.js": 167,
  19200. "./hi": 168,
  19201. "./hi.js": 168,
  19202. "./hr": 169,
  19203. "./hr.js": 169,
  19204. "./hu": 170,
  19205. "./hu.js": 170,
  19206. "./hy-am": 171,
  19207. "./hy-am.js": 171,
  19208. "./id": 172,
  19209. "./id.js": 172,
  19210. "./is": 173,
  19211. "./is.js": 173,
  19212. "./it": 174,
  19213. "./it-ch": 175,
  19214. "./it-ch.js": 175,
  19215. "./it.js": 174,
  19216. "./ja": 176,
  19217. "./ja.js": 176,
  19218. "./jv": 177,
  19219. "./jv.js": 177,
  19220. "./ka": 178,
  19221. "./ka.js": 178,
  19222. "./kk": 179,
  19223. "./kk.js": 179,
  19224. "./km": 180,
  19225. "./km.js": 180,
  19226. "./kn": 181,
  19227. "./kn.js": 181,
  19228. "./ko": 182,
  19229. "./ko.js": 182,
  19230. "./ku": 183,
  19231. "./ku.js": 183,
  19232. "./ky": 184,
  19233. "./ky.js": 184,
  19234. "./lb": 185,
  19235. "./lb.js": 185,
  19236. "./lo": 186,
  19237. "./lo.js": 186,
  19238. "./lt": 187,
  19239. "./lt.js": 187,
  19240. "./lv": 188,
  19241. "./lv.js": 188,
  19242. "./me": 189,
  19243. "./me.js": 189,
  19244. "./mi": 190,
  19245. "./mi.js": 190,
  19246. "./mk": 191,
  19247. "./mk.js": 191,
  19248. "./ml": 192,
  19249. "./ml.js": 192,
  19250. "./mn": 193,
  19251. "./mn.js": 193,
  19252. "./mr": 194,
  19253. "./mr.js": 194,
  19254. "./ms": 195,
  19255. "./ms-my": 196,
  19256. "./ms-my.js": 196,
  19257. "./ms.js": 195,
  19258. "./mt": 197,
  19259. "./mt.js": 197,
  19260. "./my": 198,
  19261. "./my.js": 198,
  19262. "./nb": 199,
  19263. "./nb.js": 199,
  19264. "./ne": 200,
  19265. "./ne.js": 200,
  19266. "./nl": 201,
  19267. "./nl-be": 202,
  19268. "./nl-be.js": 202,
  19269. "./nl.js": 201,
  19270. "./nn": 203,
  19271. "./nn.js": 203,
  19272. "./oc-lnc": 204,
  19273. "./oc-lnc.js": 204,
  19274. "./pa-in": 205,
  19275. "./pa-in.js": 205,
  19276. "./pl": 206,
  19277. "./pl.js": 206,
  19278. "./pt": 207,
  19279. "./pt-br": 208,
  19280. "./pt-br.js": 208,
  19281. "./pt.js": 207,
  19282. "./ro": 209,
  19283. "./ro.js": 209,
  19284. "./ru": 210,
  19285. "./ru.js": 210,
  19286. "./sd": 211,
  19287. "./sd.js": 211,
  19288. "./se": 212,
  19289. "./se.js": 212,
  19290. "./si": 213,
  19291. "./si.js": 213,
  19292. "./sk": 214,
  19293. "./sk.js": 214,
  19294. "./sl": 215,
  19295. "./sl.js": 215,
  19296. "./sq": 216,
  19297. "./sq.js": 216,
  19298. "./sr": 217,
  19299. "./sr-cyrl": 218,
  19300. "./sr-cyrl.js": 218,
  19301. "./sr.js": 217,
  19302. "./ss": 219,
  19303. "./ss.js": 219,
  19304. "./sv": 220,
  19305. "./sv.js": 220,
  19306. "./sw": 221,
  19307. "./sw.js": 221,
  19308. "./ta": 222,
  19309. "./ta.js": 222,
  19310. "./te": 223,
  19311. "./te.js": 223,
  19312. "./tet": 224,
  19313. "./tet.js": 224,
  19314. "./tg": 225,
  19315. "./tg.js": 225,
  19316. "./th": 226,
  19317. "./th.js": 226,
  19318. "./tk": 227,
  19319. "./tk.js": 227,
  19320. "./tl-ph": 228,
  19321. "./tl-ph.js": 228,
  19322. "./tlh": 229,
  19323. "./tlh.js": 229,
  19324. "./tr": 230,
  19325. "./tr.js": 230,
  19326. "./tzl": 231,
  19327. "./tzl.js": 231,
  19328. "./tzm": 232,
  19329. "./tzm-latn": 233,
  19330. "./tzm-latn.js": 233,
  19331. "./tzm.js": 232,
  19332. "./ug-cn": 234,
  19333. "./ug-cn.js": 234,
  19334. "./uk": 235,
  19335. "./uk.js": 235,
  19336. "./ur": 236,
  19337. "./ur.js": 236,
  19338. "./uz": 237,
  19339. "./uz-latn": 238,
  19340. "./uz-latn.js": 238,
  19341. "./uz.js": 237,
  19342. "./vi": 239,
  19343. "./vi.js": 239,
  19344. "./x-pseudo": 240,
  19345. "./x-pseudo.js": 240,
  19346. "./yo": 241,
  19347. "./yo.js": 241,
  19348. "./zh-cn": 242,
  19349. "./zh-cn.js": 242,
  19350. "./zh-hk": 243,
  19351. "./zh-hk.js": 243,
  19352. "./zh-mo": 244,
  19353. "./zh-mo.js": 244,
  19354. "./zh-tw": 245,
  19355. "./zh-tw.js": 245
  19356. };
  19357. function webpackContext(req) {
  19358. var id = webpackContextResolve(req);
  19359. return __webpack_require__(id);
  19360. }
  19361. function webpackContextResolve(req) {
  19362. if(!__webpack_require__.o(map, req)) {
  19363. var e = new Error("Cannot find module '" + req + "'");
  19364. e.code = 'MODULE_NOT_FOUND';
  19365. throw e;
  19366. }
  19367. return map[req];
  19368. }
  19369. webpackContext.keys = function webpackContextKeys() {
  19370. return Object.keys(map);
  19371. };
  19372. webpackContext.resolve = webpackContextResolve;
  19373. module.exports = webpackContext;
  19374. webpackContext.id = 110;
  19375. /***/ }),
  19376. /* 111 */
  19377. /*!*****************************************************************!*\
  19378. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/af.js ***!
  19379. \*****************************************************************/
  19380. /*! no static exports found */
  19381. /***/ (function(module, exports, __webpack_require__) {
  19382. //! moment.js locale configuration
  19383. //! locale : Afrikaans [af]
  19384. //! author : Werner Mollentze : https://github.com/wernerm
  19385. ;(function (global, factory) {
  19386. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  19387. undefined;
  19388. })(this, function (moment) {'use strict';
  19389. //! moment.js locale configuration
  19390. var af = moment.defineLocale('af', {
  19391. months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(
  19392. '_'),
  19393. monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),
  19394. weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(
  19395. '_'),
  19396. weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),
  19397. weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),
  19398. meridiemParse: /vm|nm/i,
  19399. isPM: function isPM(input) {
  19400. return /^nm$/i.test(input);
  19401. },
  19402. meridiem: function meridiem(hours, minutes, isLower) {
  19403. if (hours < 12) {
  19404. return isLower ? 'vm' : 'VM';
  19405. } else {
  19406. return isLower ? 'nm' : 'NM';
  19407. }
  19408. },
  19409. longDateFormat: {
  19410. LT: 'HH:mm',
  19411. LTS: 'HH:mm:ss',
  19412. L: 'DD/MM/YYYY',
  19413. LL: 'D MMMM YYYY',
  19414. LLL: 'D MMMM YYYY HH:mm',
  19415. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  19416. calendar: {
  19417. sameDay: '[Vandag om] LT',
  19418. nextDay: '[Môre om] LT',
  19419. nextWeek: 'dddd [om] LT',
  19420. lastDay: '[Gister om] LT',
  19421. lastWeek: '[Laas] dddd [om] LT',
  19422. sameElse: 'L' },
  19423. relativeTime: {
  19424. future: 'oor %s',
  19425. past: '%s gelede',
  19426. s: "'n paar sekondes",
  19427. ss: '%d sekondes',
  19428. m: "'n minuut",
  19429. mm: '%d minute',
  19430. h: "'n uur",
  19431. hh: '%d ure',
  19432. d: "'n dag",
  19433. dd: '%d dae',
  19434. M: "'n maand",
  19435. MM: '%d maande',
  19436. y: "'n jaar",
  19437. yy: '%d jaar' },
  19438. dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
  19439. ordinal: function ordinal(number) {
  19440. return (
  19441. number + (
  19442. number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'));
  19443. // Thanks to Joris Röling : https://github.com/jjupiter
  19444. },
  19445. week: {
  19446. dow: 1, // Maandag is die eerste dag van die week.
  19447. doy: 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
  19448. } });
  19449. return af;
  19450. });
  19451. /***/ }),
  19452. /* 112 */
  19453. /*!*****************************************************************!*\
  19454. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ar.js ***!
  19455. \*****************************************************************/
  19456. /*! no static exports found */
  19457. /***/ (function(module, exports, __webpack_require__) {
  19458. //! moment.js locale configuration
  19459. //! locale : Arabic [ar]
  19460. //! author : Abdel Said: https://github.com/abdelsaid
  19461. //! author : Ahmed Elkhatib
  19462. //! author : forabi https://github.com/forabi
  19463. ;(function (global, factory) {
  19464. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  19465. undefined;
  19466. })(this, function (moment) {'use strict';
  19467. //! moment.js locale configuration
  19468. var symbolMap = {
  19469. 1: '١',
  19470. 2: '٢',
  19471. 3: '٣',
  19472. 4: '٤',
  19473. 5: '٥',
  19474. 6: '٦',
  19475. 7: '٧',
  19476. 8: '٨',
  19477. 9: '٩',
  19478. 0: '٠' },
  19479. numberMap = {
  19480. '١': '1',
  19481. '٢': '2',
  19482. '٣': '3',
  19483. '٤': '4',
  19484. '٥': '5',
  19485. '٦': '6',
  19486. '٧': '7',
  19487. '٨': '8',
  19488. '٩': '9',
  19489. '٠': '0' },
  19490. pluralForm = function pluralForm(n) {
  19491. return n === 0 ?
  19492. 0 :
  19493. n === 1 ?
  19494. 1 :
  19495. n === 2 ?
  19496. 2 :
  19497. n % 100 >= 3 && n % 100 <= 10 ?
  19498. 3 :
  19499. n % 100 >= 11 ?
  19500. 4 :
  19501. 5;
  19502. },
  19503. plurals = {
  19504. s: [
  19505. 'أقل من ثانية',
  19506. 'ثانية واحدة',
  19507. ['ثانيتان', 'ثانيتين'],
  19508. '%d ثوان',
  19509. '%d ثانية',
  19510. '%d ثانية'],
  19511. m: [
  19512. 'أقل من دقيقة',
  19513. 'دقيقة واحدة',
  19514. ['دقيقتان', 'دقيقتين'],
  19515. '%d دقائق',
  19516. '%d دقيقة',
  19517. '%d دقيقة'],
  19518. h: [
  19519. 'أقل من ساعة',
  19520. 'ساعة واحدة',
  19521. ['ساعتان', 'ساعتين'],
  19522. '%d ساعات',
  19523. '%d ساعة',
  19524. '%d ساعة'],
  19525. d: [
  19526. 'أقل من يوم',
  19527. 'يوم واحد',
  19528. ['يومان', 'يومين'],
  19529. '%d أيام',
  19530. '%d يومًا',
  19531. '%d يوم'],
  19532. M: [
  19533. 'أقل من شهر',
  19534. 'شهر واحد',
  19535. ['شهران', 'شهرين'],
  19536. '%d أشهر',
  19537. '%d شهرا',
  19538. '%d شهر'],
  19539. y: [
  19540. 'أقل من عام',
  19541. 'عام واحد',
  19542. ['عامان', 'عامين'],
  19543. '%d أعوام',
  19544. '%d عامًا',
  19545. '%d عام'] },
  19546. pluralize = function pluralize(u) {
  19547. return function (number, withoutSuffix, string, isFuture) {
  19548. var f = pluralForm(number),
  19549. str = plurals[u][pluralForm(number)];
  19550. if (f === 2) {
  19551. str = str[withoutSuffix ? 0 : 1];
  19552. }
  19553. return str.replace(/%d/i, number);
  19554. };
  19555. },
  19556. months = [
  19557. 'يناير',
  19558. 'فبراير',
  19559. 'مارس',
  19560. 'أبريل',
  19561. 'مايو',
  19562. 'يونيو',
  19563. 'يوليو',
  19564. 'أغسطس',
  19565. 'سبتمبر',
  19566. 'أكتوبر',
  19567. 'نوفمبر',
  19568. 'ديسمبر'];
  19569. var ar = moment.defineLocale('ar', {
  19570. months: months,
  19571. monthsShort: months,
  19572. weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
  19573. weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
  19574. weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
  19575. weekdaysParseExact: true,
  19576. longDateFormat: {
  19577. LT: 'HH:mm',
  19578. LTS: 'HH:mm:ss',
  19579. L: "D/\u200FM/\u200FYYYY",
  19580. LL: 'D MMMM YYYY',
  19581. LLL: 'D MMMM YYYY HH:mm',
  19582. LLLL: 'dddd D MMMM YYYY HH:mm' },
  19583. meridiemParse: /ص|م/,
  19584. isPM: function isPM(input) {
  19585. return 'م' === input;
  19586. },
  19587. meridiem: function meridiem(hour, minute, isLower) {
  19588. if (hour < 12) {
  19589. return 'ص';
  19590. } else {
  19591. return 'م';
  19592. }
  19593. },
  19594. calendar: {
  19595. sameDay: '[اليوم عند الساعة] LT',
  19596. nextDay: '[غدًا عند الساعة] LT',
  19597. nextWeek: 'dddd [عند الساعة] LT',
  19598. lastDay: '[أمس عند الساعة] LT',
  19599. lastWeek: 'dddd [عند الساعة] LT',
  19600. sameElse: 'L' },
  19601. relativeTime: {
  19602. future: 'بعد %s',
  19603. past: 'منذ %s',
  19604. s: pluralize('s'),
  19605. ss: pluralize('s'),
  19606. m: pluralize('m'),
  19607. mm: pluralize('m'),
  19608. h: pluralize('h'),
  19609. hh: pluralize('h'),
  19610. d: pluralize('d'),
  19611. dd: pluralize('d'),
  19612. M: pluralize('M'),
  19613. MM: pluralize('M'),
  19614. y: pluralize('y'),
  19615. yy: pluralize('y') },
  19616. preparse: function preparse(string) {
  19617. return string.
  19618. replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
  19619. return numberMap[match];
  19620. }).
  19621. replace(/،/g, ',');
  19622. },
  19623. postformat: function postformat(string) {
  19624. return string.
  19625. replace(/\d/g, function (match) {
  19626. return symbolMap[match];
  19627. }).
  19628. replace(/,/g, '،');
  19629. },
  19630. week: {
  19631. dow: 6, // Saturday is the first day of the week.
  19632. doy: 12 // The week that contains Jan 12th is the first week of the year.
  19633. } });
  19634. return ar;
  19635. });
  19636. /***/ }),
  19637. /* 113 */
  19638. /*!********************************************************************!*\
  19639. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ar-dz.js ***!
  19640. \********************************************************************/
  19641. /*! no static exports found */
  19642. /***/ (function(module, exports, __webpack_require__) {
  19643. //! moment.js locale configuration
  19644. //! locale : Arabic (Algeria) [ar-dz]
  19645. //! author : Amine Roukh: https://github.com/Amine27
  19646. //! author : Abdel Said: https://github.com/abdelsaid
  19647. //! author : Ahmed Elkhatib
  19648. //! author : forabi https://github.com/forabi
  19649. //! author : Noureddine LOUAHEDJ : https://github.com/noureddinem
  19650. ;(function (global, factory) {
  19651. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  19652. undefined;
  19653. })(this, function (moment) {'use strict';
  19654. //! moment.js locale configuration
  19655. var pluralForm = function pluralForm(n) {
  19656. return n === 0 ?
  19657. 0 :
  19658. n === 1 ?
  19659. 1 :
  19660. n === 2 ?
  19661. 2 :
  19662. n % 100 >= 3 && n % 100 <= 10 ?
  19663. 3 :
  19664. n % 100 >= 11 ?
  19665. 4 :
  19666. 5;
  19667. },
  19668. plurals = {
  19669. s: [
  19670. 'أقل من ثانية',
  19671. 'ثانية واحدة',
  19672. ['ثانيتان', 'ثانيتين'],
  19673. '%d ثوان',
  19674. '%d ثانية',
  19675. '%d ثانية'],
  19676. m: [
  19677. 'أقل من دقيقة',
  19678. 'دقيقة واحدة',
  19679. ['دقيقتان', 'دقيقتين'],
  19680. '%d دقائق',
  19681. '%d دقيقة',
  19682. '%d دقيقة'],
  19683. h: [
  19684. 'أقل من ساعة',
  19685. 'ساعة واحدة',
  19686. ['ساعتان', 'ساعتين'],
  19687. '%d ساعات',
  19688. '%d ساعة',
  19689. '%d ساعة'],
  19690. d: [
  19691. 'أقل من يوم',
  19692. 'يوم واحد',
  19693. ['يومان', 'يومين'],
  19694. '%d أيام',
  19695. '%d يومًا',
  19696. '%d يوم'],
  19697. M: [
  19698. 'أقل من شهر',
  19699. 'شهر واحد',
  19700. ['شهران', 'شهرين'],
  19701. '%d أشهر',
  19702. '%d شهرا',
  19703. '%d شهر'],
  19704. y: [
  19705. 'أقل من عام',
  19706. 'عام واحد',
  19707. ['عامان', 'عامين'],
  19708. '%d أعوام',
  19709. '%d عامًا',
  19710. '%d عام'] },
  19711. pluralize = function pluralize(u) {
  19712. return function (number, withoutSuffix, string, isFuture) {
  19713. var f = pluralForm(number),
  19714. str = plurals[u][pluralForm(number)];
  19715. if (f === 2) {
  19716. str = str[withoutSuffix ? 0 : 1];
  19717. }
  19718. return str.replace(/%d/i, number);
  19719. };
  19720. },
  19721. months = [
  19722. 'جانفي',
  19723. 'فيفري',
  19724. 'مارس',
  19725. 'أفريل',
  19726. 'ماي',
  19727. 'جوان',
  19728. 'جويلية',
  19729. 'أوت',
  19730. 'سبتمبر',
  19731. 'أكتوبر',
  19732. 'نوفمبر',
  19733. 'ديسمبر'];
  19734. var arDz = moment.defineLocale('ar-dz', {
  19735. months: months,
  19736. monthsShort: months,
  19737. weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
  19738. weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
  19739. weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
  19740. weekdaysParseExact: true,
  19741. longDateFormat: {
  19742. LT: 'HH:mm',
  19743. LTS: 'HH:mm:ss',
  19744. L: "D/\u200FM/\u200FYYYY",
  19745. LL: 'D MMMM YYYY',
  19746. LLL: 'D MMMM YYYY HH:mm',
  19747. LLLL: 'dddd D MMMM YYYY HH:mm' },
  19748. meridiemParse: /ص|م/,
  19749. isPM: function isPM(input) {
  19750. return 'م' === input;
  19751. },
  19752. meridiem: function meridiem(hour, minute, isLower) {
  19753. if (hour < 12) {
  19754. return 'ص';
  19755. } else {
  19756. return 'م';
  19757. }
  19758. },
  19759. calendar: {
  19760. sameDay: '[اليوم عند الساعة] LT',
  19761. nextDay: '[غدًا عند الساعة] LT',
  19762. nextWeek: 'dddd [عند الساعة] LT',
  19763. lastDay: '[أمس عند الساعة] LT',
  19764. lastWeek: 'dddd [عند الساعة] LT',
  19765. sameElse: 'L' },
  19766. relativeTime: {
  19767. future: 'بعد %s',
  19768. past: 'منذ %s',
  19769. s: pluralize('s'),
  19770. ss: pluralize('s'),
  19771. m: pluralize('m'),
  19772. mm: pluralize('m'),
  19773. h: pluralize('h'),
  19774. hh: pluralize('h'),
  19775. d: pluralize('d'),
  19776. dd: pluralize('d'),
  19777. M: pluralize('M'),
  19778. MM: pluralize('M'),
  19779. y: pluralize('y'),
  19780. yy: pluralize('y') },
  19781. postformat: function postformat(string) {
  19782. return string.replace(/,/g, '،');
  19783. },
  19784. week: {
  19785. dow: 0, // Sunday is the first day of the week.
  19786. doy: 4 // The week that contains Jan 4th is the first week of the year.
  19787. } });
  19788. return arDz;
  19789. });
  19790. /***/ }),
  19791. /* 114 */
  19792. /*!********************************************************************!*\
  19793. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ar-kw.js ***!
  19794. \********************************************************************/
  19795. /*! no static exports found */
  19796. /***/ (function(module, exports, __webpack_require__) {
  19797. //! moment.js locale configuration
  19798. //! locale : Arabic (Kuwait) [ar-kw]
  19799. //! author : Nusret Parlak: https://github.com/nusretparlak
  19800. ;(function (global, factory) {
  19801. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  19802. undefined;
  19803. })(this, function (moment) {'use strict';
  19804. //! moment.js locale configuration
  19805. var arKw = moment.defineLocale('ar-kw', {
  19806. months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(
  19807. '_'),
  19808. monthsShort:
  19809. 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(
  19810. '_'),
  19811. weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
  19812. weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
  19813. weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
  19814. weekdaysParseExact: true,
  19815. longDateFormat: {
  19816. LT: 'HH:mm',
  19817. LTS: 'HH:mm:ss',
  19818. L: 'DD/MM/YYYY',
  19819. LL: 'D MMMM YYYY',
  19820. LLL: 'D MMMM YYYY HH:mm',
  19821. LLLL: 'dddd D MMMM YYYY HH:mm' },
  19822. calendar: {
  19823. sameDay: '[اليوم على الساعة] LT',
  19824. nextDay: '[غدا على الساعة] LT',
  19825. nextWeek: 'dddd [على الساعة] LT',
  19826. lastDay: '[أمس على الساعة] LT',
  19827. lastWeek: 'dddd [على الساعة] LT',
  19828. sameElse: 'L' },
  19829. relativeTime: {
  19830. future: 'في %s',
  19831. past: 'منذ %s',
  19832. s: 'ثوان',
  19833. ss: '%d ثانية',
  19834. m: 'دقيقة',
  19835. mm: '%d دقائق',
  19836. h: 'ساعة',
  19837. hh: '%d ساعات',
  19838. d: 'يوم',
  19839. dd: '%d أيام',
  19840. M: 'شهر',
  19841. MM: '%d أشهر',
  19842. y: 'سنة',
  19843. yy: '%d سنوات' },
  19844. week: {
  19845. dow: 0, // Sunday is the first day of the week.
  19846. doy: 12 // The week that contains Jan 12th is the first week of the year.
  19847. } });
  19848. return arKw;
  19849. });
  19850. /***/ }),
  19851. /* 115 */
  19852. /*!********************************************************************!*\
  19853. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ar-ly.js ***!
  19854. \********************************************************************/
  19855. /*! no static exports found */
  19856. /***/ (function(module, exports, __webpack_require__) {
  19857. //! moment.js locale configuration
  19858. //! locale : Arabic (Libya) [ar-ly]
  19859. //! author : Ali Hmer: https://github.com/kikoanis
  19860. ;(function (global, factory) {
  19861. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  19862. undefined;
  19863. })(this, function (moment) {'use strict';
  19864. //! moment.js locale configuration
  19865. var symbolMap = {
  19866. 1: '1',
  19867. 2: '2',
  19868. 3: '3',
  19869. 4: '4',
  19870. 5: '5',
  19871. 6: '6',
  19872. 7: '7',
  19873. 8: '8',
  19874. 9: '9',
  19875. 0: '0' },
  19876. pluralForm = function pluralForm(n) {
  19877. return n === 0 ?
  19878. 0 :
  19879. n === 1 ?
  19880. 1 :
  19881. n === 2 ?
  19882. 2 :
  19883. n % 100 >= 3 && n % 100 <= 10 ?
  19884. 3 :
  19885. n % 100 >= 11 ?
  19886. 4 :
  19887. 5;
  19888. },
  19889. plurals = {
  19890. s: [
  19891. 'أقل من ثانية',
  19892. 'ثانية واحدة',
  19893. ['ثانيتان', 'ثانيتين'],
  19894. '%d ثوان',
  19895. '%d ثانية',
  19896. '%d ثانية'],
  19897. m: [
  19898. 'أقل من دقيقة',
  19899. 'دقيقة واحدة',
  19900. ['دقيقتان', 'دقيقتين'],
  19901. '%d دقائق',
  19902. '%d دقيقة',
  19903. '%d دقيقة'],
  19904. h: [
  19905. 'أقل من ساعة',
  19906. 'ساعة واحدة',
  19907. ['ساعتان', 'ساعتين'],
  19908. '%d ساعات',
  19909. '%d ساعة',
  19910. '%d ساعة'],
  19911. d: [
  19912. 'أقل من يوم',
  19913. 'يوم واحد',
  19914. ['يومان', 'يومين'],
  19915. '%d أيام',
  19916. '%d يومًا',
  19917. '%d يوم'],
  19918. M: [
  19919. 'أقل من شهر',
  19920. 'شهر واحد',
  19921. ['شهران', 'شهرين'],
  19922. '%d أشهر',
  19923. '%d شهرا',
  19924. '%d شهر'],
  19925. y: [
  19926. 'أقل من عام',
  19927. 'عام واحد',
  19928. ['عامان', 'عامين'],
  19929. '%d أعوام',
  19930. '%d عامًا',
  19931. '%d عام'] },
  19932. pluralize = function pluralize(u) {
  19933. return function (number, withoutSuffix, string, isFuture) {
  19934. var f = pluralForm(number),
  19935. str = plurals[u][pluralForm(number)];
  19936. if (f === 2) {
  19937. str = str[withoutSuffix ? 0 : 1];
  19938. }
  19939. return str.replace(/%d/i, number);
  19940. };
  19941. },
  19942. months = [
  19943. 'يناير',
  19944. 'فبراير',
  19945. 'مارس',
  19946. 'أبريل',
  19947. 'مايو',
  19948. 'يونيو',
  19949. 'يوليو',
  19950. 'أغسطس',
  19951. 'سبتمبر',
  19952. 'أكتوبر',
  19953. 'نوفمبر',
  19954. 'ديسمبر'];
  19955. var arLy = moment.defineLocale('ar-ly', {
  19956. months: months,
  19957. monthsShort: months,
  19958. weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
  19959. weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
  19960. weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
  19961. weekdaysParseExact: true,
  19962. longDateFormat: {
  19963. LT: 'HH:mm',
  19964. LTS: 'HH:mm:ss',
  19965. L: "D/\u200FM/\u200FYYYY",
  19966. LL: 'D MMMM YYYY',
  19967. LLL: 'D MMMM YYYY HH:mm',
  19968. LLLL: 'dddd D MMMM YYYY HH:mm' },
  19969. meridiemParse: /ص|م/,
  19970. isPM: function isPM(input) {
  19971. return 'م' === input;
  19972. },
  19973. meridiem: function meridiem(hour, minute, isLower) {
  19974. if (hour < 12) {
  19975. return 'ص';
  19976. } else {
  19977. return 'م';
  19978. }
  19979. },
  19980. calendar: {
  19981. sameDay: '[اليوم عند الساعة] LT',
  19982. nextDay: '[غدًا عند الساعة] LT',
  19983. nextWeek: 'dddd [عند الساعة] LT',
  19984. lastDay: '[أمس عند الساعة] LT',
  19985. lastWeek: 'dddd [عند الساعة] LT',
  19986. sameElse: 'L' },
  19987. relativeTime: {
  19988. future: 'بعد %s',
  19989. past: 'منذ %s',
  19990. s: pluralize('s'),
  19991. ss: pluralize('s'),
  19992. m: pluralize('m'),
  19993. mm: pluralize('m'),
  19994. h: pluralize('h'),
  19995. hh: pluralize('h'),
  19996. d: pluralize('d'),
  19997. dd: pluralize('d'),
  19998. M: pluralize('M'),
  19999. MM: pluralize('M'),
  20000. y: pluralize('y'),
  20001. yy: pluralize('y') },
  20002. preparse: function preparse(string) {
  20003. return string.replace(/،/g, ',');
  20004. },
  20005. postformat: function postformat(string) {
  20006. return string.
  20007. replace(/\d/g, function (match) {
  20008. return symbolMap[match];
  20009. }).
  20010. replace(/,/g, '،');
  20011. },
  20012. week: {
  20013. dow: 6, // Saturday is the first day of the week.
  20014. doy: 12 // The week that contains Jan 12th is the first week of the year.
  20015. } });
  20016. return arLy;
  20017. });
  20018. /***/ }),
  20019. /* 116 */
  20020. /*!********************************************************************!*\
  20021. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ar-ma.js ***!
  20022. \********************************************************************/
  20023. /*! no static exports found */
  20024. /***/ (function(module, exports, __webpack_require__) {
  20025. //! moment.js locale configuration
  20026. //! locale : Arabic (Morocco) [ar-ma]
  20027. //! author : ElFadili Yassine : https://github.com/ElFadiliY
  20028. //! author : Abdel Said : https://github.com/abdelsaid
  20029. ;(function (global, factory) {
  20030. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  20031. undefined;
  20032. })(this, function (moment) {'use strict';
  20033. //! moment.js locale configuration
  20034. var arMa = moment.defineLocale('ar-ma', {
  20035. months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(
  20036. '_'),
  20037. monthsShort:
  20038. 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(
  20039. '_'),
  20040. weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
  20041. weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
  20042. weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
  20043. weekdaysParseExact: true,
  20044. longDateFormat: {
  20045. LT: 'HH:mm',
  20046. LTS: 'HH:mm:ss',
  20047. L: 'DD/MM/YYYY',
  20048. LL: 'D MMMM YYYY',
  20049. LLL: 'D MMMM YYYY HH:mm',
  20050. LLLL: 'dddd D MMMM YYYY HH:mm' },
  20051. calendar: {
  20052. sameDay: '[اليوم على الساعة] LT',
  20053. nextDay: '[غدا على الساعة] LT',
  20054. nextWeek: 'dddd [على الساعة] LT',
  20055. lastDay: '[أمس على الساعة] LT',
  20056. lastWeek: 'dddd [على الساعة] LT',
  20057. sameElse: 'L' },
  20058. relativeTime: {
  20059. future: 'في %s',
  20060. past: 'منذ %s',
  20061. s: 'ثوان',
  20062. ss: '%d ثانية',
  20063. m: 'دقيقة',
  20064. mm: '%d دقائق',
  20065. h: 'ساعة',
  20066. hh: '%d ساعات',
  20067. d: 'يوم',
  20068. dd: '%d أيام',
  20069. M: 'شهر',
  20070. MM: '%d أشهر',
  20071. y: 'سنة',
  20072. yy: '%d سنوات' },
  20073. week: {
  20074. dow: 1, // Monday is the first day of the week.
  20075. doy: 4 // The week that contains Jan 4th is the first week of the year.
  20076. } });
  20077. return arMa;
  20078. });
  20079. /***/ }),
  20080. /* 117 */
  20081. /*!********************************************************************!*\
  20082. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ar-sa.js ***!
  20083. \********************************************************************/
  20084. /*! no static exports found */
  20085. /***/ (function(module, exports, __webpack_require__) {
  20086. //! moment.js locale configuration
  20087. //! locale : Arabic (Saudi Arabia) [ar-sa]
  20088. //! author : Suhail Alkowaileet : https://github.com/xsoh
  20089. ;(function (global, factory) {
  20090. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  20091. undefined;
  20092. })(this, function (moment) {'use strict';
  20093. //! moment.js locale configuration
  20094. var symbolMap = {
  20095. 1: '١',
  20096. 2: '٢',
  20097. 3: '٣',
  20098. 4: '٤',
  20099. 5: '٥',
  20100. 6: '٦',
  20101. 7: '٧',
  20102. 8: '٨',
  20103. 9: '٩',
  20104. 0: '٠' },
  20105. numberMap = {
  20106. '١': '1',
  20107. '٢': '2',
  20108. '٣': '3',
  20109. '٤': '4',
  20110. '٥': '5',
  20111. '٦': '6',
  20112. '٧': '7',
  20113. '٨': '8',
  20114. '٩': '9',
  20115. '٠': '0' };
  20116. var arSa = moment.defineLocale('ar-sa', {
  20117. months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
  20118. '_'),
  20119. monthsShort:
  20120. 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
  20121. '_'),
  20122. weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
  20123. weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
  20124. weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
  20125. weekdaysParseExact: true,
  20126. longDateFormat: {
  20127. LT: 'HH:mm',
  20128. LTS: 'HH:mm:ss',
  20129. L: 'DD/MM/YYYY',
  20130. LL: 'D MMMM YYYY',
  20131. LLL: 'D MMMM YYYY HH:mm',
  20132. LLLL: 'dddd D MMMM YYYY HH:mm' },
  20133. meridiemParse: /ص|م/,
  20134. isPM: function isPM(input) {
  20135. return 'م' === input;
  20136. },
  20137. meridiem: function meridiem(hour, minute, isLower) {
  20138. if (hour < 12) {
  20139. return 'ص';
  20140. } else {
  20141. return 'م';
  20142. }
  20143. },
  20144. calendar: {
  20145. sameDay: '[اليوم على الساعة] LT',
  20146. nextDay: '[غدا على الساعة] LT',
  20147. nextWeek: 'dddd [على الساعة] LT',
  20148. lastDay: '[أمس على الساعة] LT',
  20149. lastWeek: 'dddd [على الساعة] LT',
  20150. sameElse: 'L' },
  20151. relativeTime: {
  20152. future: 'في %s',
  20153. past: 'منذ %s',
  20154. s: 'ثوان',
  20155. ss: '%d ثانية',
  20156. m: 'دقيقة',
  20157. mm: '%d دقائق',
  20158. h: 'ساعة',
  20159. hh: '%d ساعات',
  20160. d: 'يوم',
  20161. dd: '%d أيام',
  20162. M: 'شهر',
  20163. MM: '%d أشهر',
  20164. y: 'سنة',
  20165. yy: '%d سنوات' },
  20166. preparse: function preparse(string) {
  20167. return string.
  20168. replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
  20169. return numberMap[match];
  20170. }).
  20171. replace(/،/g, ',');
  20172. },
  20173. postformat: function postformat(string) {
  20174. return string.
  20175. replace(/\d/g, function (match) {
  20176. return symbolMap[match];
  20177. }).
  20178. replace(/,/g, '،');
  20179. },
  20180. week: {
  20181. dow: 0, // Sunday is the first day of the week.
  20182. doy: 6 // The week that contains Jan 6th is the first week of the year.
  20183. } });
  20184. return arSa;
  20185. });
  20186. /***/ }),
  20187. /* 118 */
  20188. /*!********************************************************************!*\
  20189. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ar-tn.js ***!
  20190. \********************************************************************/
  20191. /*! no static exports found */
  20192. /***/ (function(module, exports, __webpack_require__) {
  20193. //! moment.js locale configuration
  20194. //! locale : Arabic (Tunisia) [ar-tn]
  20195. //! author : Nader Toukabri : https://github.com/naderio
  20196. ;(function (global, factory) {
  20197. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  20198. undefined;
  20199. })(this, function (moment) {'use strict';
  20200. //! moment.js locale configuration
  20201. var arTn = moment.defineLocale('ar-tn', {
  20202. months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
  20203. '_'),
  20204. monthsShort:
  20205. 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
  20206. '_'),
  20207. weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
  20208. weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
  20209. weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
  20210. weekdaysParseExact: true,
  20211. longDateFormat: {
  20212. LT: 'HH:mm',
  20213. LTS: 'HH:mm:ss',
  20214. L: 'DD/MM/YYYY',
  20215. LL: 'D MMMM YYYY',
  20216. LLL: 'D MMMM YYYY HH:mm',
  20217. LLLL: 'dddd D MMMM YYYY HH:mm' },
  20218. calendar: {
  20219. sameDay: '[اليوم على الساعة] LT',
  20220. nextDay: '[غدا على الساعة] LT',
  20221. nextWeek: 'dddd [على الساعة] LT',
  20222. lastDay: '[أمس على الساعة] LT',
  20223. lastWeek: 'dddd [على الساعة] LT',
  20224. sameElse: 'L' },
  20225. relativeTime: {
  20226. future: 'في %s',
  20227. past: 'منذ %s',
  20228. s: 'ثوان',
  20229. ss: '%d ثانية',
  20230. m: 'دقيقة',
  20231. mm: '%d دقائق',
  20232. h: 'ساعة',
  20233. hh: '%d ساعات',
  20234. d: 'يوم',
  20235. dd: '%d أيام',
  20236. M: 'شهر',
  20237. MM: '%d أشهر',
  20238. y: 'سنة',
  20239. yy: '%d سنوات' },
  20240. week: {
  20241. dow: 1, // Monday is the first day of the week.
  20242. doy: 4 // The week that contains Jan 4th is the first week of the year.
  20243. } });
  20244. return arTn;
  20245. });
  20246. /***/ }),
  20247. /* 119 */
  20248. /*!*****************************************************************!*\
  20249. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/az.js ***!
  20250. \*****************************************************************/
  20251. /*! no static exports found */
  20252. /***/ (function(module, exports, __webpack_require__) {
  20253. //! moment.js locale configuration
  20254. //! locale : Azerbaijani [az]
  20255. //! author : topchiyev : https://github.com/topchiyev
  20256. ;(function (global, factory) {
  20257. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  20258. undefined;
  20259. })(this, function (moment) {'use strict';
  20260. //! moment.js locale configuration
  20261. var suffixes = {
  20262. 1: '-inci',
  20263. 5: '-inci',
  20264. 8: '-inci',
  20265. 70: '-inci',
  20266. 80: '-inci',
  20267. 2: '-nci',
  20268. 7: '-nci',
  20269. 20: '-nci',
  20270. 50: '-nci',
  20271. 3: '-üncü',
  20272. 4: '-üncü',
  20273. 100: '-üncü',
  20274. 6: '-ncı',
  20275. 9: '-uncu',
  20276. 10: '-uncu',
  20277. 30: '-uncu',
  20278. 60: '-ıncı',
  20279. 90: '-ıncı' };
  20280. var az = moment.defineLocale('az', {
  20281. months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(
  20282. '_'),
  20283. monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),
  20284. weekdays:
  20285. 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(
  20286. '_'),
  20287. weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),
  20288. weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),
  20289. weekdaysParseExact: true,
  20290. longDateFormat: {
  20291. LT: 'HH:mm',
  20292. LTS: 'HH:mm:ss',
  20293. L: 'DD.MM.YYYY',
  20294. LL: 'D MMMM YYYY',
  20295. LLL: 'D MMMM YYYY HH:mm',
  20296. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  20297. calendar: {
  20298. sameDay: '[bugün saat] LT',
  20299. nextDay: '[sabah saat] LT',
  20300. nextWeek: '[gələn həftə] dddd [saat] LT',
  20301. lastDay: '[dünən] LT',
  20302. lastWeek: '[keçən həftə] dddd [saat] LT',
  20303. sameElse: 'L' },
  20304. relativeTime: {
  20305. future: '%s sonra',
  20306. past: '%s əvvəl',
  20307. s: 'bir neçə saniyə',
  20308. ss: '%d saniyə',
  20309. m: 'bir dəqiqə',
  20310. mm: '%d dəqiqə',
  20311. h: 'bir saat',
  20312. hh: '%d saat',
  20313. d: 'bir gün',
  20314. dd: '%d gün',
  20315. M: 'bir ay',
  20316. MM: '%d ay',
  20317. y: 'bir il',
  20318. yy: '%d il' },
  20319. meridiemParse: /gecə|səhər|gündüz|axşam/,
  20320. isPM: function isPM(input) {
  20321. return /^(gündüz|axşam)$/.test(input);
  20322. },
  20323. meridiem: function meridiem(hour, minute, isLower) {
  20324. if (hour < 4) {
  20325. return 'gecə';
  20326. } else if (hour < 12) {
  20327. return 'səhər';
  20328. } else if (hour < 17) {
  20329. return 'gündüz';
  20330. } else {
  20331. return 'axşam';
  20332. }
  20333. },
  20334. dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,
  20335. ordinal: function ordinal(number) {
  20336. if (number === 0) {
  20337. // special case for zero
  20338. return number + '-ıncı';
  20339. }
  20340. var a = number % 10,
  20341. b = number % 100 - a,
  20342. c = number >= 100 ? 100 : null;
  20343. return number + (suffixes[a] || suffixes[b] || suffixes[c]);
  20344. },
  20345. week: {
  20346. dow: 1, // Monday is the first day of the week.
  20347. doy: 7 // The week that contains Jan 7th is the first week of the year.
  20348. } });
  20349. return az;
  20350. });
  20351. /***/ }),
  20352. /* 120 */
  20353. /*!*****************************************************************!*\
  20354. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/be.js ***!
  20355. \*****************************************************************/
  20356. /*! no static exports found */
  20357. /***/ (function(module, exports, __webpack_require__) {
  20358. //! moment.js locale configuration
  20359. //! locale : Belarusian [be]
  20360. //! author : Dmitry Demidov : https://github.com/demidov91
  20361. //! author: Praleska: http://praleska.pro/
  20362. //! Author : Menelion Elensúle : https://github.com/Oire
  20363. ;(function (global, factory) {
  20364. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  20365. undefined;
  20366. })(this, function (moment) {'use strict';
  20367. //! moment.js locale configuration
  20368. function plural(word, num) {
  20369. var forms = word.split('_');
  20370. return num % 10 === 1 && num % 100 !== 11 ?
  20371. forms[0] :
  20372. num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ?
  20373. forms[1] :
  20374. forms[2];
  20375. }
  20376. function relativeTimeWithPlural(number, withoutSuffix, key) {
  20377. var format = {
  20378. ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
  20379. mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',
  20380. hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',
  20381. dd: 'дзень_дні_дзён',
  20382. MM: 'месяц_месяцы_месяцаў',
  20383. yy: 'год_гады_гадоў' };
  20384. if (key === 'm') {
  20385. return withoutSuffix ? 'хвіліна' : 'хвіліну';
  20386. } else if (key === 'h') {
  20387. return withoutSuffix ? 'гадзіна' : 'гадзіну';
  20388. } else {
  20389. return number + ' ' + plural(format[key], +number);
  20390. }
  20391. }
  20392. var be = moment.defineLocale('be', {
  20393. months: {
  20394. format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(
  20395. '_'),
  20396. standalone:
  20397. 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(
  20398. '_') },
  20399. monthsShort:
  20400. 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),
  20401. weekdays: {
  20402. format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(
  20403. '_'),
  20404. standalone:
  20405. 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(
  20406. '_'),
  20407. isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/ },
  20408. weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
  20409. weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
  20410. longDateFormat: {
  20411. LT: 'HH:mm',
  20412. LTS: 'HH:mm:ss',
  20413. L: 'DD.MM.YYYY',
  20414. LL: 'D MMMM YYYY г.',
  20415. LLL: 'D MMMM YYYY г., HH:mm',
  20416. LLLL: 'dddd, D MMMM YYYY г., HH:mm' },
  20417. calendar: {
  20418. sameDay: '[Сёння ў] LT',
  20419. nextDay: '[Заўтра ў] LT',
  20420. lastDay: '[Учора ў] LT',
  20421. nextWeek: function nextWeek() {
  20422. return '[У] dddd [ў] LT';
  20423. },
  20424. lastWeek: function lastWeek() {
  20425. switch (this.day()) {
  20426. case 0:
  20427. case 3:
  20428. case 5:
  20429. case 6:
  20430. return '[У мінулую] dddd [ў] LT';
  20431. case 1:
  20432. case 2:
  20433. case 4:
  20434. return '[У мінулы] dddd [ў] LT';}
  20435. },
  20436. sameElse: 'L' },
  20437. relativeTime: {
  20438. future: 'праз %s',
  20439. past: '%s таму',
  20440. s: 'некалькі секунд',
  20441. m: relativeTimeWithPlural,
  20442. mm: relativeTimeWithPlural,
  20443. h: relativeTimeWithPlural,
  20444. hh: relativeTimeWithPlural,
  20445. d: 'дзень',
  20446. dd: relativeTimeWithPlural,
  20447. M: 'месяц',
  20448. MM: relativeTimeWithPlural,
  20449. y: 'год',
  20450. yy: relativeTimeWithPlural },
  20451. meridiemParse: /ночы|раніцы|дня|вечара/,
  20452. isPM: function isPM(input) {
  20453. return /^(дня|вечара)$/.test(input);
  20454. },
  20455. meridiem: function meridiem(hour, minute, isLower) {
  20456. if (hour < 4) {
  20457. return 'ночы';
  20458. } else if (hour < 12) {
  20459. return 'раніцы';
  20460. } else if (hour < 17) {
  20461. return 'дня';
  20462. } else {
  20463. return 'вечара';
  20464. }
  20465. },
  20466. dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/,
  20467. ordinal: function ordinal(number, period) {
  20468. switch (period) {
  20469. case 'M':
  20470. case 'd':
  20471. case 'DDD':
  20472. case 'w':
  20473. case 'W':
  20474. return (number % 10 === 2 || number % 10 === 3) &&
  20475. number % 100 !== 12 &&
  20476. number % 100 !== 13 ?
  20477. number + '-і' :
  20478. number + '-ы';
  20479. case 'D':
  20480. return number + '-га';
  20481. default:
  20482. return number;}
  20483. },
  20484. week: {
  20485. dow: 1, // Monday is the first day of the week.
  20486. doy: 7 // The week that contains Jan 7th is the first week of the year.
  20487. } });
  20488. return be;
  20489. });
  20490. /***/ }),
  20491. /* 121 */
  20492. /*!*****************************************************************!*\
  20493. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/bg.js ***!
  20494. \*****************************************************************/
  20495. /*! no static exports found */
  20496. /***/ (function(module, exports, __webpack_require__) {
  20497. //! moment.js locale configuration
  20498. //! locale : Bulgarian [bg]
  20499. //! author : Krasen Borisov : https://github.com/kraz
  20500. ;(function (global, factory) {
  20501. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  20502. undefined;
  20503. })(this, function (moment) {'use strict';
  20504. //! moment.js locale configuration
  20505. var bg = moment.defineLocale('bg', {
  20506. months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(
  20507. '_'),
  20508. monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),
  20509. weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(
  20510. '_'),
  20511. weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),
  20512. weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
  20513. longDateFormat: {
  20514. LT: 'H:mm',
  20515. LTS: 'H:mm:ss',
  20516. L: 'D.MM.YYYY',
  20517. LL: 'D MMMM YYYY',
  20518. LLL: 'D MMMM YYYY H:mm',
  20519. LLLL: 'dddd, D MMMM YYYY H:mm' },
  20520. calendar: {
  20521. sameDay: '[Днес в] LT',
  20522. nextDay: '[Утре в] LT',
  20523. nextWeek: 'dddd [в] LT',
  20524. lastDay: '[Вчера в] LT',
  20525. lastWeek: function lastWeek() {
  20526. switch (this.day()) {
  20527. case 0:
  20528. case 3:
  20529. case 6:
  20530. return '[Миналата] dddd [в] LT';
  20531. case 1:
  20532. case 2:
  20533. case 4:
  20534. case 5:
  20535. return '[Миналия] dddd [в] LT';}
  20536. },
  20537. sameElse: 'L' },
  20538. relativeTime: {
  20539. future: 'след %s',
  20540. past: 'преди %s',
  20541. s: 'няколко секунди',
  20542. ss: '%d секунди',
  20543. m: 'минута',
  20544. mm: '%d минути',
  20545. h: 'час',
  20546. hh: '%d часа',
  20547. d: 'ден',
  20548. dd: '%d дена',
  20549. w: 'седмица',
  20550. ww: '%d седмици',
  20551. M: 'месец',
  20552. MM: '%d месеца',
  20553. y: 'година',
  20554. yy: '%d години' },
  20555. dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
  20556. ordinal: function ordinal(number) {
  20557. var lastDigit = number % 10,
  20558. last2Digits = number % 100;
  20559. if (number === 0) {
  20560. return number + '-ев';
  20561. } else if (last2Digits === 0) {
  20562. return number + '-ен';
  20563. } else if (last2Digits > 10 && last2Digits < 20) {
  20564. return number + '-ти';
  20565. } else if (lastDigit === 1) {
  20566. return number + '-ви';
  20567. } else if (lastDigit === 2) {
  20568. return number + '-ри';
  20569. } else if (lastDigit === 7 || lastDigit === 8) {
  20570. return number + '-ми';
  20571. } else {
  20572. return number + '-ти';
  20573. }
  20574. },
  20575. week: {
  20576. dow: 1, // Monday is the first day of the week.
  20577. doy: 7 // The week that contains Jan 7th is the first week of the year.
  20578. } });
  20579. return bg;
  20580. });
  20581. /***/ }),
  20582. /* 122 */
  20583. /*!*****************************************************************!*\
  20584. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/bm.js ***!
  20585. \*****************************************************************/
  20586. /*! no static exports found */
  20587. /***/ (function(module, exports, __webpack_require__) {
  20588. //! moment.js locale configuration
  20589. //! locale : Bambara [bm]
  20590. //! author : Estelle Comment : https://github.com/estellecomment
  20591. ;(function (global, factory) {
  20592. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  20593. undefined;
  20594. })(this, function (moment) {'use strict';
  20595. //! moment.js locale configuration
  20596. var bm = moment.defineLocale('bm', {
  20597. months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(
  20598. '_'),
  20599. monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),
  20600. weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),
  20601. weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),
  20602. weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),
  20603. longDateFormat: {
  20604. LT: 'HH:mm',
  20605. LTS: 'HH:mm:ss',
  20606. L: 'DD/MM/YYYY',
  20607. LL: 'MMMM [tile] D [san] YYYY',
  20608. LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',
  20609. LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm' },
  20610. calendar: {
  20611. sameDay: '[Bi lɛrɛ] LT',
  20612. nextDay: '[Sini lɛrɛ] LT',
  20613. nextWeek: 'dddd [don lɛrɛ] LT',
  20614. lastDay: '[Kunu lɛrɛ] LT',
  20615. lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',
  20616. sameElse: 'L' },
  20617. relativeTime: {
  20618. future: '%s kɔnɔ',
  20619. past: 'a bɛ %s bɔ',
  20620. s: 'sanga dama dama',
  20621. ss: 'sekondi %d',
  20622. m: 'miniti kelen',
  20623. mm: 'miniti %d',
  20624. h: 'lɛrɛ kelen',
  20625. hh: 'lɛrɛ %d',
  20626. d: 'tile kelen',
  20627. dd: 'tile %d',
  20628. M: 'kalo kelen',
  20629. MM: 'kalo %d',
  20630. y: 'san kelen',
  20631. yy: 'san %d' },
  20632. week: {
  20633. dow: 1, // Monday is the first day of the week.
  20634. doy: 4 // The week that contains Jan 4th is the first week of the year.
  20635. } });
  20636. return bm;
  20637. });
  20638. /***/ }),
  20639. /* 123 */
  20640. /*!*****************************************************************!*\
  20641. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/bn.js ***!
  20642. \*****************************************************************/
  20643. /*! no static exports found */
  20644. /***/ (function(module, exports, __webpack_require__) {
  20645. //! moment.js locale configuration
  20646. //! locale : Bengali [bn]
  20647. //! author : Kaushik Gandhi : https://github.com/kaushikgandhi
  20648. ;(function (global, factory) {
  20649. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  20650. undefined;
  20651. })(this, function (moment) {'use strict';
  20652. //! moment.js locale configuration
  20653. var symbolMap = {
  20654. 1: '১',
  20655. 2: '২',
  20656. 3: '৩',
  20657. 4: '৪',
  20658. 5: '৫',
  20659. 6: '৬',
  20660. 7: '৭',
  20661. 8: '৮',
  20662. 9: '৯',
  20663. 0: '০' },
  20664. numberMap = {
  20665. '১': '1',
  20666. '২': '2',
  20667. '৩': '3',
  20668. '৪': '4',
  20669. '৫': '5',
  20670. '৬': '6',
  20671. '৭': '7',
  20672. '৮': '8',
  20673. '৯': '9',
  20674. '০': '0' };
  20675. var bn = moment.defineLocale('bn', {
  20676. months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(
  20677. '_'),
  20678. monthsShort:
  20679. 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(
  20680. '_'),
  20681. weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(
  20682. '_'),
  20683. weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),
  20684. weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),
  20685. longDateFormat: {
  20686. LT: 'A h:mm সময়',
  20687. LTS: 'A h:mm:ss সময়',
  20688. L: 'DD/MM/YYYY',
  20689. LL: 'D MMMM YYYY',
  20690. LLL: 'D MMMM YYYY, A h:mm সময়',
  20691. LLLL: 'dddd, D MMMM YYYY, A h:mm সময়' },
  20692. calendar: {
  20693. sameDay: '[আজ] LT',
  20694. nextDay: '[আগামীকাল] LT',
  20695. nextWeek: 'dddd, LT',
  20696. lastDay: '[গতকাল] LT',
  20697. lastWeek: '[গত] dddd, LT',
  20698. sameElse: 'L' },
  20699. relativeTime: {
  20700. future: '%s পরে',
  20701. past: '%s আগে',
  20702. s: 'কয়েক সেকেন্ড',
  20703. ss: '%d সেকেন্ড',
  20704. m: 'এক মিনিট',
  20705. mm: '%d মিনিট',
  20706. h: 'এক ঘন্টা',
  20707. hh: '%d ঘন্টা',
  20708. d: 'এক দিন',
  20709. dd: '%d দিন',
  20710. M: 'এক মাস',
  20711. MM: '%d মাস',
  20712. y: 'এক বছর',
  20713. yy: '%d বছর' },
  20714. preparse: function preparse(string) {
  20715. return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
  20716. return numberMap[match];
  20717. });
  20718. },
  20719. postformat: function postformat(string) {
  20720. return string.replace(/\d/g, function (match) {
  20721. return symbolMap[match];
  20722. });
  20723. },
  20724. meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,
  20725. meridiemHour: function meridiemHour(hour, meridiem) {
  20726. if (hour === 12) {
  20727. hour = 0;
  20728. }
  20729. if (
  20730. meridiem === 'রাত' && hour >= 4 ||
  20731. meridiem === 'দুপুর' && hour < 5 ||
  20732. meridiem === 'বিকাল')
  20733. {
  20734. return hour + 12;
  20735. } else {
  20736. return hour;
  20737. }
  20738. },
  20739. meridiem: function meridiem(hour, minute, isLower) {
  20740. if (hour < 4) {
  20741. return 'রাত';
  20742. } else if (hour < 10) {
  20743. return 'সকাল';
  20744. } else if (hour < 17) {
  20745. return 'দুপুর';
  20746. } else if (hour < 20) {
  20747. return 'বিকাল';
  20748. } else {
  20749. return 'রাত';
  20750. }
  20751. },
  20752. week: {
  20753. dow: 0, // Sunday is the first day of the week.
  20754. doy: 6 // The week that contains Jan 6th is the first week of the year.
  20755. } });
  20756. return bn;
  20757. });
  20758. /***/ }),
  20759. /* 124 */
  20760. /*!********************************************************************!*\
  20761. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/bn-bd.js ***!
  20762. \********************************************************************/
  20763. /*! no static exports found */
  20764. /***/ (function(module, exports, __webpack_require__) {
  20765. //! moment.js locale configuration
  20766. //! locale : Bengali (Bangladesh) [bn-bd]
  20767. //! author : Asraf Hossain Patoary : https://github.com/ashwoolford
  20768. ;(function (global, factory) {
  20769. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  20770. undefined;
  20771. })(this, function (moment) {'use strict';
  20772. //! moment.js locale configuration
  20773. var symbolMap = {
  20774. 1: '১',
  20775. 2: '২',
  20776. 3: '৩',
  20777. 4: '৪',
  20778. 5: '৫',
  20779. 6: '৬',
  20780. 7: '৭',
  20781. 8: '৮',
  20782. 9: '৯',
  20783. 0: '০' },
  20784. numberMap = {
  20785. '১': '1',
  20786. '২': '2',
  20787. '৩': '3',
  20788. '৪': '4',
  20789. '৫': '5',
  20790. '৬': '6',
  20791. '৭': '7',
  20792. '৮': '8',
  20793. '৯': '9',
  20794. '০': '0' };
  20795. var bnBd = moment.defineLocale('bn-bd', {
  20796. months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(
  20797. '_'),
  20798. monthsShort:
  20799. 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(
  20800. '_'),
  20801. weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(
  20802. '_'),
  20803. weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),
  20804. weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),
  20805. longDateFormat: {
  20806. LT: 'A h:mm সময়',
  20807. LTS: 'A h:mm:ss সময়',
  20808. L: 'DD/MM/YYYY',
  20809. LL: 'D MMMM YYYY',
  20810. LLL: 'D MMMM YYYY, A h:mm সময়',
  20811. LLLL: 'dddd, D MMMM YYYY, A h:mm সময়' },
  20812. calendar: {
  20813. sameDay: '[আজ] LT',
  20814. nextDay: '[আগামীকাল] LT',
  20815. nextWeek: 'dddd, LT',
  20816. lastDay: '[গতকাল] LT',
  20817. lastWeek: '[গত] dddd, LT',
  20818. sameElse: 'L' },
  20819. relativeTime: {
  20820. future: '%s পরে',
  20821. past: '%s আগে',
  20822. s: 'কয়েক সেকেন্ড',
  20823. ss: '%d সেকেন্ড',
  20824. m: 'এক মিনিট',
  20825. mm: '%d মিনিট',
  20826. h: 'এক ঘন্টা',
  20827. hh: '%d ঘন্টা',
  20828. d: 'এক দিন',
  20829. dd: '%d দিন',
  20830. M: 'এক মাস',
  20831. MM: '%d মাস',
  20832. y: 'এক বছর',
  20833. yy: '%d বছর' },
  20834. preparse: function preparse(string) {
  20835. return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
  20836. return numberMap[match];
  20837. });
  20838. },
  20839. postformat: function postformat(string) {
  20840. return string.replace(/\d/g, function (match) {
  20841. return symbolMap[match];
  20842. });
  20843. },
  20844. meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,
  20845. meridiemHour: function meridiemHour(hour, meridiem) {
  20846. if (hour === 12) {
  20847. hour = 0;
  20848. }
  20849. if (meridiem === 'রাত') {
  20850. return hour < 4 ? hour : hour + 12;
  20851. } else if (meridiem === 'ভোর') {
  20852. return hour;
  20853. } else if (meridiem === 'সকাল') {
  20854. return hour;
  20855. } else if (meridiem === 'দুপুর') {
  20856. return hour >= 3 ? hour : hour + 12;
  20857. } else if (meridiem === 'বিকাল') {
  20858. return hour + 12;
  20859. } else if (meridiem === 'সন্ধ্যা') {
  20860. return hour + 12;
  20861. }
  20862. },
  20863. meridiem: function meridiem(hour, minute, isLower) {
  20864. if (hour < 4) {
  20865. return 'রাত';
  20866. } else if (hour < 6) {
  20867. return 'ভোর';
  20868. } else if (hour < 12) {
  20869. return 'সকাল';
  20870. } else if (hour < 15) {
  20871. return 'দুপুর';
  20872. } else if (hour < 18) {
  20873. return 'বিকাল';
  20874. } else if (hour < 20) {
  20875. return 'সন্ধ্যা';
  20876. } else {
  20877. return 'রাত';
  20878. }
  20879. },
  20880. week: {
  20881. dow: 0, // Sunday is the first day of the week.
  20882. doy: 6 // The week that contains Jan 6th is the first week of the year.
  20883. } });
  20884. return bnBd;
  20885. });
  20886. /***/ }),
  20887. /* 125 */
  20888. /*!*****************************************************************!*\
  20889. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/bo.js ***!
  20890. \*****************************************************************/
  20891. /*! no static exports found */
  20892. /***/ (function(module, exports, __webpack_require__) {
  20893. //! moment.js locale configuration
  20894. //! locale : Tibetan [bo]
  20895. //! author : Thupten N. Chakrishar : https://github.com/vajradog
  20896. ;(function (global, factory) {
  20897. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  20898. undefined;
  20899. })(this, function (moment) {'use strict';
  20900. //! moment.js locale configuration
  20901. var symbolMap = {
  20902. 1: '༡',
  20903. 2: '༢',
  20904. 3: '༣',
  20905. 4: '༤',
  20906. 5: '༥',
  20907. 6: '༦',
  20908. 7: '༧',
  20909. 8: '༨',
  20910. 9: '༩',
  20911. 0: '༠' },
  20912. numberMap = {
  20913. '༡': '1',
  20914. '༢': '2',
  20915. '༣': '3',
  20916. '༤': '4',
  20917. '༥': '5',
  20918. '༦': '6',
  20919. '༧': '7',
  20920. '༨': '8',
  20921. '༩': '9',
  20922. '༠': '0' };
  20923. var bo = moment.defineLocale('bo', {
  20924. months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(
  20925. '_'),
  20926. monthsShort:
  20927. 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(
  20928. '_'),
  20929. monthsShortRegex: /^(ཟླ་\d{1,2})/,
  20930. monthsParseExact: true,
  20931. weekdays:
  20932. 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(
  20933. '_'),
  20934. weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(
  20935. '_'),
  20936. weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),
  20937. longDateFormat: {
  20938. LT: 'A h:mm',
  20939. LTS: 'A h:mm:ss',
  20940. L: 'DD/MM/YYYY',
  20941. LL: 'D MMMM YYYY',
  20942. LLL: 'D MMMM YYYY, A h:mm',
  20943. LLLL: 'dddd, D MMMM YYYY, A h:mm' },
  20944. calendar: {
  20945. sameDay: '[དི་རིང] LT',
  20946. nextDay: '[སང་ཉིན] LT',
  20947. nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',
  20948. lastDay: '[ཁ་སང] LT',
  20949. lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',
  20950. sameElse: 'L' },
  20951. relativeTime: {
  20952. future: '%s ལ་',
  20953. past: '%s སྔན་ལ',
  20954. s: 'ལམ་སང',
  20955. ss: '%d སྐར་ཆ།',
  20956. m: 'སྐར་མ་གཅིག',
  20957. mm: '%d སྐར་མ',
  20958. h: 'ཆུ་ཚོད་གཅིག',
  20959. hh: '%d ཆུ་ཚོད',
  20960. d: 'ཉིན་གཅིག',
  20961. dd: '%d ཉིན་',
  20962. M: 'ཟླ་བ་གཅིག',
  20963. MM: '%d ཟླ་བ',
  20964. y: 'ལོ་གཅིག',
  20965. yy: '%d ལོ' },
  20966. preparse: function preparse(string) {
  20967. return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {
  20968. return numberMap[match];
  20969. });
  20970. },
  20971. postformat: function postformat(string) {
  20972. return string.replace(/\d/g, function (match) {
  20973. return symbolMap[match];
  20974. });
  20975. },
  20976. meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
  20977. meridiemHour: function meridiemHour(hour, meridiem) {
  20978. if (hour === 12) {
  20979. hour = 0;
  20980. }
  20981. if (
  20982. meridiem === 'མཚན་མོ' && hour >= 4 ||
  20983. meridiem === 'ཉིན་གུང' && hour < 5 ||
  20984. meridiem === 'དགོང་དག')
  20985. {
  20986. return hour + 12;
  20987. } else {
  20988. return hour;
  20989. }
  20990. },
  20991. meridiem: function meridiem(hour, minute, isLower) {
  20992. if (hour < 4) {
  20993. return 'མཚན་མོ';
  20994. } else if (hour < 10) {
  20995. return 'ཞོགས་ཀས';
  20996. } else if (hour < 17) {
  20997. return 'ཉིན་གུང';
  20998. } else if (hour < 20) {
  20999. return 'དགོང་དག';
  21000. } else {
  21001. return 'མཚན་མོ';
  21002. }
  21003. },
  21004. week: {
  21005. dow: 0, // Sunday is the first day of the week.
  21006. doy: 6 // The week that contains Jan 6th is the first week of the year.
  21007. } });
  21008. return bo;
  21009. });
  21010. /***/ }),
  21011. /* 126 */
  21012. /*!*****************************************************************!*\
  21013. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/br.js ***!
  21014. \*****************************************************************/
  21015. /*! no static exports found */
  21016. /***/ (function(module, exports, __webpack_require__) {
  21017. //! moment.js locale configuration
  21018. //! locale : Breton [br]
  21019. //! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou
  21020. ;(function (global, factory) {
  21021. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  21022. undefined;
  21023. })(this, function (moment) {'use strict';
  21024. //! moment.js locale configuration
  21025. function relativeTimeWithMutation(number, withoutSuffix, key) {
  21026. var format = {
  21027. mm: 'munutenn',
  21028. MM: 'miz',
  21029. dd: 'devezh' };
  21030. return number + ' ' + mutation(format[key], number);
  21031. }
  21032. function specialMutationForYears(number) {
  21033. switch (lastNumber(number)) {
  21034. case 1:
  21035. case 3:
  21036. case 4:
  21037. case 5:
  21038. case 9:
  21039. return number + ' bloaz';
  21040. default:
  21041. return number + ' vloaz';}
  21042. }
  21043. function lastNumber(number) {
  21044. if (number > 9) {
  21045. return lastNumber(number % 10);
  21046. }
  21047. return number;
  21048. }
  21049. function mutation(text, number) {
  21050. if (number === 2) {
  21051. return softMutation(text);
  21052. }
  21053. return text;
  21054. }
  21055. function softMutation(text) {
  21056. var mutationTable = {
  21057. m: 'v',
  21058. b: 'v',
  21059. d: 'z' };
  21060. if (mutationTable[text.charAt(0)] === undefined) {
  21061. return text;
  21062. }
  21063. return mutationTable[text.charAt(0)] + text.substring(1);
  21064. }
  21065. var monthsParse = [
  21066. /^gen/i,
  21067. /^c[ʼ\']hwe/i,
  21068. /^meu/i,
  21069. /^ebr/i,
  21070. /^mae/i,
  21071. /^(mez|eve)/i,
  21072. /^gou/i,
  21073. /^eos/i,
  21074. /^gwe/i,
  21075. /^her/i,
  21076. /^du/i,
  21077. /^ker/i],
  21078. monthsRegex =
  21079. /^(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,
  21080. monthsStrictRegex =
  21081. /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,
  21082. monthsShortStrictRegex =
  21083. /^(gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,
  21084. fullWeekdaysParse = [
  21085. /^sul/i,
  21086. /^lun/i,
  21087. /^meurzh/i,
  21088. /^merc[ʼ\']her/i,
  21089. /^yaou/i,
  21090. /^gwener/i,
  21091. /^sadorn/i],
  21092. shortWeekdaysParse = [
  21093. /^Sul/i,
  21094. /^Lun/i,
  21095. /^Meu/i,
  21096. /^Mer/i,
  21097. /^Yao/i,
  21098. /^Gwe/i,
  21099. /^Sad/i],
  21100. minWeekdaysParse = [
  21101. /^Su/i,
  21102. /^Lu/i,
  21103. /^Me([^r]|$)/i,
  21104. /^Mer/i,
  21105. /^Ya/i,
  21106. /^Gw/i,
  21107. /^Sa/i];
  21108. var br = moment.defineLocale('br', {
  21109. months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(
  21110. '_'),
  21111. monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),
  21112. weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),
  21113. weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),
  21114. weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),
  21115. weekdaysParse: minWeekdaysParse,
  21116. fullWeekdaysParse: fullWeekdaysParse,
  21117. shortWeekdaysParse: shortWeekdaysParse,
  21118. minWeekdaysParse: minWeekdaysParse,
  21119. monthsRegex: monthsRegex,
  21120. monthsShortRegex: monthsRegex,
  21121. monthsStrictRegex: monthsStrictRegex,
  21122. monthsShortStrictRegex: monthsShortStrictRegex,
  21123. monthsParse: monthsParse,
  21124. longMonthsParse: monthsParse,
  21125. shortMonthsParse: monthsParse,
  21126. longDateFormat: {
  21127. LT: 'HH:mm',
  21128. LTS: 'HH:mm:ss',
  21129. L: 'DD/MM/YYYY',
  21130. LL: 'D [a viz] MMMM YYYY',
  21131. LLL: 'D [a viz] MMMM YYYY HH:mm',
  21132. LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm' },
  21133. calendar: {
  21134. sameDay: '[Hiziv da] LT',
  21135. nextDay: '[Warcʼhoazh da] LT',
  21136. nextWeek: 'dddd [da] LT',
  21137. lastDay: '[Decʼh da] LT',
  21138. lastWeek: 'dddd [paset da] LT',
  21139. sameElse: 'L' },
  21140. relativeTime: {
  21141. future: 'a-benn %s',
  21142. past: '%s ʼzo',
  21143. s: 'un nebeud segondennoù',
  21144. ss: '%d eilenn',
  21145. m: 'ur vunutenn',
  21146. mm: relativeTimeWithMutation,
  21147. h: 'un eur',
  21148. hh: '%d eur',
  21149. d: 'un devezh',
  21150. dd: relativeTimeWithMutation,
  21151. M: 'ur miz',
  21152. MM: relativeTimeWithMutation,
  21153. y: 'ur bloaz',
  21154. yy: specialMutationForYears },
  21155. dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/,
  21156. ordinal: function ordinal(number) {
  21157. var output = number === 1 ? 'añ' : 'vet';
  21158. return number + output;
  21159. },
  21160. week: {
  21161. dow: 1, // Monday is the first day of the week.
  21162. doy: 4 // The week that contains Jan 4th is the first week of the year.
  21163. },
  21164. meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn
  21165. isPM: function isPM(token) {
  21166. return token === 'g.m.';
  21167. },
  21168. meridiem: function meridiem(hour, minute, isLower) {
  21169. return hour < 12 ? 'a.m.' : 'g.m.';
  21170. } });
  21171. return br;
  21172. });
  21173. /***/ }),
  21174. /* 127 */
  21175. /*!*****************************************************************!*\
  21176. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/bs.js ***!
  21177. \*****************************************************************/
  21178. /*! no static exports found */
  21179. /***/ (function(module, exports, __webpack_require__) {
  21180. //! moment.js locale configuration
  21181. //! locale : Bosnian [bs]
  21182. //! author : Nedim Cholich : https://github.com/frontyard
  21183. //! based on (hr) translation by Bojan Marković
  21184. ;(function (global, factory) {
  21185. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  21186. undefined;
  21187. })(this, function (moment) {'use strict';
  21188. //! moment.js locale configuration
  21189. function translate(number, withoutSuffix, key) {
  21190. var result = number + ' ';
  21191. switch (key) {
  21192. case 'ss':
  21193. if (number === 1) {
  21194. result += 'sekunda';
  21195. } else if (number === 2 || number === 3 || number === 4) {
  21196. result += 'sekunde';
  21197. } else {
  21198. result += 'sekundi';
  21199. }
  21200. return result;
  21201. case 'm':
  21202. return withoutSuffix ? 'jedna minuta' : 'jedne minute';
  21203. case 'mm':
  21204. if (number === 1) {
  21205. result += 'minuta';
  21206. } else if (number === 2 || number === 3 || number === 4) {
  21207. result += 'minute';
  21208. } else {
  21209. result += 'minuta';
  21210. }
  21211. return result;
  21212. case 'h':
  21213. return withoutSuffix ? 'jedan sat' : 'jednog sata';
  21214. case 'hh':
  21215. if (number === 1) {
  21216. result += 'sat';
  21217. } else if (number === 2 || number === 3 || number === 4) {
  21218. result += 'sata';
  21219. } else {
  21220. result += 'sati';
  21221. }
  21222. return result;
  21223. case 'dd':
  21224. if (number === 1) {
  21225. result += 'dan';
  21226. } else {
  21227. result += 'dana';
  21228. }
  21229. return result;
  21230. case 'MM':
  21231. if (number === 1) {
  21232. result += 'mjesec';
  21233. } else if (number === 2 || number === 3 || number === 4) {
  21234. result += 'mjeseca';
  21235. } else {
  21236. result += 'mjeseci';
  21237. }
  21238. return result;
  21239. case 'yy':
  21240. if (number === 1) {
  21241. result += 'godina';
  21242. } else if (number === 2 || number === 3 || number === 4) {
  21243. result += 'godine';
  21244. } else {
  21245. result += 'godina';
  21246. }
  21247. return result;}
  21248. }
  21249. var bs = moment.defineLocale('bs', {
  21250. months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(
  21251. '_'),
  21252. monthsShort:
  21253. 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(
  21254. '_'),
  21255. monthsParseExact: true,
  21256. weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(
  21257. '_'),
  21258. weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
  21259. weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
  21260. weekdaysParseExact: true,
  21261. longDateFormat: {
  21262. LT: 'H:mm',
  21263. LTS: 'H:mm:ss',
  21264. L: 'DD.MM.YYYY',
  21265. LL: 'D. MMMM YYYY',
  21266. LLL: 'D. MMMM YYYY H:mm',
  21267. LLLL: 'dddd, D. MMMM YYYY H:mm' },
  21268. calendar: {
  21269. sameDay: '[danas u] LT',
  21270. nextDay: '[sutra u] LT',
  21271. nextWeek: function nextWeek() {
  21272. switch (this.day()) {
  21273. case 0:
  21274. return '[u] [nedjelju] [u] LT';
  21275. case 3:
  21276. return '[u] [srijedu] [u] LT';
  21277. case 6:
  21278. return '[u] [subotu] [u] LT';
  21279. case 1:
  21280. case 2:
  21281. case 4:
  21282. case 5:
  21283. return '[u] dddd [u] LT';}
  21284. },
  21285. lastDay: '[jučer u] LT',
  21286. lastWeek: function lastWeek() {
  21287. switch (this.day()) {
  21288. case 0:
  21289. case 3:
  21290. return '[prošlu] dddd [u] LT';
  21291. case 6:
  21292. return '[prošle] [subote] [u] LT';
  21293. case 1:
  21294. case 2:
  21295. case 4:
  21296. case 5:
  21297. return '[prošli] dddd [u] LT';}
  21298. },
  21299. sameElse: 'L' },
  21300. relativeTime: {
  21301. future: 'za %s',
  21302. past: 'prije %s',
  21303. s: 'par sekundi',
  21304. ss: translate,
  21305. m: translate,
  21306. mm: translate,
  21307. h: translate,
  21308. hh: translate,
  21309. d: 'dan',
  21310. dd: translate,
  21311. M: 'mjesec',
  21312. MM: translate,
  21313. y: 'godinu',
  21314. yy: translate },
  21315. dayOfMonthOrdinalParse: /\d{1,2}\./,
  21316. ordinal: '%d.',
  21317. week: {
  21318. dow: 1, // Monday is the first day of the week.
  21319. doy: 7 // The week that contains Jan 7th is the first week of the year.
  21320. } });
  21321. return bs;
  21322. });
  21323. /***/ }),
  21324. /* 128 */
  21325. /*!*****************************************************************!*\
  21326. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ca.js ***!
  21327. \*****************************************************************/
  21328. /*! no static exports found */
  21329. /***/ (function(module, exports, __webpack_require__) {
  21330. //! moment.js locale configuration
  21331. //! locale : Catalan [ca]
  21332. //! author : Juan G. Hurtado : https://github.com/juanghurtado
  21333. ;(function (global, factory) {
  21334. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  21335. undefined;
  21336. })(this, function (moment) {'use strict';
  21337. //! moment.js locale configuration
  21338. var ca = moment.defineLocale('ca', {
  21339. months: {
  21340. standalone:
  21341. 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(
  21342. '_'),
  21343. 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(
  21344. '_'),
  21345. isFormat: /D[oD]?(\s)+MMMM/ },
  21346. monthsShort:
  21347. 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(
  21348. '_'),
  21349. monthsParseExact: true,
  21350. weekdays:
  21351. 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(
  21352. '_'),
  21353. weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),
  21354. weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),
  21355. weekdaysParseExact: true,
  21356. longDateFormat: {
  21357. LT: 'H:mm',
  21358. LTS: 'H:mm:ss',
  21359. L: 'DD/MM/YYYY',
  21360. LL: 'D MMMM [de] YYYY',
  21361. ll: 'D MMM YYYY',
  21362. LLL: 'D MMMM [de] YYYY [a les] H:mm',
  21363. lll: 'D MMM YYYY, H:mm',
  21364. LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',
  21365. llll: 'ddd D MMM YYYY, H:mm' },
  21366. calendar: {
  21367. sameDay: function sameDay() {
  21368. return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
  21369. },
  21370. nextDay: function nextDay() {
  21371. return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
  21372. },
  21373. nextWeek: function nextWeek() {
  21374. return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
  21375. },
  21376. lastDay: function lastDay() {
  21377. return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
  21378. },
  21379. lastWeek: function lastWeek() {
  21380. return (
  21381. '[el] dddd [passat a ' + (
  21382. this.hours() !== 1 ? 'les' : 'la') +
  21383. '] LT');
  21384. },
  21385. sameElse: 'L' },
  21386. relativeTime: {
  21387. future: "d'aquí %s",
  21388. past: 'fa %s',
  21389. s: 'uns segons',
  21390. ss: '%d segons',
  21391. m: 'un minut',
  21392. mm: '%d minuts',
  21393. h: 'una hora',
  21394. hh: '%d hores',
  21395. d: 'un dia',
  21396. dd: '%d dies',
  21397. M: 'un mes',
  21398. MM: '%d mesos',
  21399. y: 'un any',
  21400. yy: '%d anys' },
  21401. dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
  21402. ordinal: function ordinal(number, period) {
  21403. var output =
  21404. number === 1 ?
  21405. 'r' :
  21406. number === 2 ?
  21407. 'n' :
  21408. number === 3 ?
  21409. 'r' :
  21410. number === 4 ?
  21411. 't' :
  21412. 'è';
  21413. if (period === 'w' || period === 'W') {
  21414. output = 'a';
  21415. }
  21416. return number + output;
  21417. },
  21418. week: {
  21419. dow: 1, // Monday is the first day of the week.
  21420. doy: 4 // The week that contains Jan 4th is the first week of the year.
  21421. } });
  21422. return ca;
  21423. });
  21424. /***/ }),
  21425. /* 129 */
  21426. /*!*****************************************************************!*\
  21427. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/cs.js ***!
  21428. \*****************************************************************/
  21429. /*! no static exports found */
  21430. /***/ (function(module, exports, __webpack_require__) {
  21431. //! moment.js locale configuration
  21432. //! locale : Czech [cs]
  21433. //! author : petrbela : https://github.com/petrbela
  21434. ;(function (global, factory) {
  21435. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  21436. undefined;
  21437. })(this, function (moment) {'use strict';
  21438. //! moment.js locale configuration
  21439. var months = {
  21440. format: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(
  21441. '_'),
  21442. standalone:
  21443. 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(
  21444. '_') },
  21445. monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),
  21446. monthsParse = [
  21447. /^led/i,
  21448. /^úno/i,
  21449. /^bře/i,
  21450. /^dub/i,
  21451. /^kvě/i,
  21452. /^(čvn|červen$|června)/i,
  21453. /^(čvc|červenec|července)/i,
  21454. /^srp/i,
  21455. /^zář/i,
  21456. /^říj/i,
  21457. /^lis/i,
  21458. /^pro/i],
  21459. // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
  21460. // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
  21461. monthsRegex =
  21462. /^(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;
  21463. function plural(n) {
  21464. return n > 1 && n < 5 && ~~(n / 10) !== 1;
  21465. }
  21466. function translate(number, withoutSuffix, key, isFuture) {
  21467. var result = number + ' ';
  21468. switch (key) {
  21469. case 's': // a few seconds / in a few seconds / a few seconds ago
  21470. return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';
  21471. case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
  21472. if (withoutSuffix || isFuture) {
  21473. return result + (plural(number) ? 'sekundy' : 'sekund');
  21474. } else {
  21475. return result + 'sekundami';
  21476. }
  21477. case 'm': // a minute / in a minute / a minute ago
  21478. return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';
  21479. case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
  21480. if (withoutSuffix || isFuture) {
  21481. return result + (plural(number) ? 'minuty' : 'minut');
  21482. } else {
  21483. return result + 'minutami';
  21484. }
  21485. case 'h': // an hour / in an hour / an hour ago
  21486. return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';
  21487. case 'hh': // 9 hours / in 9 hours / 9 hours ago
  21488. if (withoutSuffix || isFuture) {
  21489. return result + (plural(number) ? 'hodiny' : 'hodin');
  21490. } else {
  21491. return result + 'hodinami';
  21492. }
  21493. case 'd': // a day / in a day / a day ago
  21494. return withoutSuffix || isFuture ? 'den' : 'dnem';
  21495. case 'dd': // 9 days / in 9 days / 9 days ago
  21496. if (withoutSuffix || isFuture) {
  21497. return result + (plural(number) ? 'dny' : 'dní');
  21498. } else {
  21499. return result + 'dny';
  21500. }
  21501. case 'M': // a month / in a month / a month ago
  21502. return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';
  21503. case 'MM': // 9 months / in 9 months / 9 months ago
  21504. if (withoutSuffix || isFuture) {
  21505. return result + (plural(number) ? 'měsíce' : 'měsíců');
  21506. } else {
  21507. return result + 'měsíci';
  21508. }
  21509. case 'y': // a year / in a year / a year ago
  21510. return withoutSuffix || isFuture ? 'rok' : 'rokem';
  21511. case 'yy': // 9 years / in 9 years / 9 years ago
  21512. if (withoutSuffix || isFuture) {
  21513. return result + (plural(number) ? 'roky' : 'let');
  21514. } else {
  21515. return result + 'lety';
  21516. }}
  21517. }
  21518. var cs = moment.defineLocale('cs', {
  21519. months: months,
  21520. monthsShort: monthsShort,
  21521. monthsRegex: monthsRegex,
  21522. monthsShortRegex: monthsRegex,
  21523. // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
  21524. // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
  21525. monthsStrictRegex:
  21526. /^(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,
  21527. monthsShortStrictRegex:
  21528. /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,
  21529. monthsParse: monthsParse,
  21530. longMonthsParse: monthsParse,
  21531. shortMonthsParse: monthsParse,
  21532. weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),
  21533. weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),
  21534. weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),
  21535. longDateFormat: {
  21536. LT: 'H:mm',
  21537. LTS: 'H:mm:ss',
  21538. L: 'DD.MM.YYYY',
  21539. LL: 'D. MMMM YYYY',
  21540. LLL: 'D. MMMM YYYY H:mm',
  21541. LLLL: 'dddd D. MMMM YYYY H:mm',
  21542. l: 'D. M. YYYY' },
  21543. calendar: {
  21544. sameDay: '[dnes v] LT',
  21545. nextDay: '[zítra v] LT',
  21546. nextWeek: function nextWeek() {
  21547. switch (this.day()) {
  21548. case 0:
  21549. return '[v neděli v] LT';
  21550. case 1:
  21551. case 2:
  21552. return '[v] dddd [v] LT';
  21553. case 3:
  21554. return '[ve středu v] LT';
  21555. case 4:
  21556. return '[ve čtvrtek v] LT';
  21557. case 5:
  21558. return '[v pátek v] LT';
  21559. case 6:
  21560. return '[v sobotu v] LT';}
  21561. },
  21562. lastDay: '[včera v] LT',
  21563. lastWeek: function lastWeek() {
  21564. switch (this.day()) {
  21565. case 0:
  21566. return '[minulou neděli v] LT';
  21567. case 1:
  21568. case 2:
  21569. return '[minulé] dddd [v] LT';
  21570. case 3:
  21571. return '[minulou středu v] LT';
  21572. case 4:
  21573. case 5:
  21574. return '[minulý] dddd [v] LT';
  21575. case 6:
  21576. return '[minulou sobotu v] LT';}
  21577. },
  21578. sameElse: 'L' },
  21579. relativeTime: {
  21580. future: 'za %s',
  21581. past: 'před %s',
  21582. s: translate,
  21583. ss: translate,
  21584. m: translate,
  21585. mm: translate,
  21586. h: translate,
  21587. hh: translate,
  21588. d: translate,
  21589. dd: translate,
  21590. M: translate,
  21591. MM: translate,
  21592. y: translate,
  21593. yy: translate },
  21594. dayOfMonthOrdinalParse: /\d{1,2}\./,
  21595. ordinal: '%d.',
  21596. week: {
  21597. dow: 1, // Monday is the first day of the week.
  21598. doy: 4 // The week that contains Jan 4th is the first week of the year.
  21599. } });
  21600. return cs;
  21601. });
  21602. /***/ }),
  21603. /* 130 */
  21604. /*!*****************************************************************!*\
  21605. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/cv.js ***!
  21606. \*****************************************************************/
  21607. /*! no static exports found */
  21608. /***/ (function(module, exports, __webpack_require__) {
  21609. //! moment.js locale configuration
  21610. //! locale : Chuvash [cv]
  21611. //! author : Anatoly Mironov : https://github.com/mirontoli
  21612. ;(function (global, factory) {
  21613. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  21614. undefined;
  21615. })(this, function (moment) {'use strict';
  21616. //! moment.js locale configuration
  21617. var cv = moment.defineLocale('cv', {
  21618. months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(
  21619. '_'),
  21620. monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),
  21621. weekdays:
  21622. 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(
  21623. '_'),
  21624. weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),
  21625. weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),
  21626. longDateFormat: {
  21627. LT: 'HH:mm',
  21628. LTS: 'HH:mm:ss',
  21629. L: 'DD-MM-YYYY',
  21630. LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',
  21631. LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
  21632. LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm' },
  21633. calendar: {
  21634. sameDay: '[Паян] LT [сехетре]',
  21635. nextDay: '[Ыран] LT [сехетре]',
  21636. lastDay: '[Ӗнер] LT [сехетре]',
  21637. nextWeek: '[Ҫитес] dddd LT [сехетре]',
  21638. lastWeek: '[Иртнӗ] dddd LT [сехетре]',
  21639. sameElse: 'L' },
  21640. relativeTime: {
  21641. future: function future(output) {
  21642. var affix = /сехет$/i.exec(output) ?
  21643. 'рен' :
  21644. /ҫул$/i.exec(output) ?
  21645. 'тан' :
  21646. 'ран';
  21647. return output + affix;
  21648. },
  21649. past: '%s каялла',
  21650. s: 'пӗр-ик ҫеккунт',
  21651. ss: '%d ҫеккунт',
  21652. m: 'пӗр минут',
  21653. mm: '%d минут',
  21654. h: 'пӗр сехет',
  21655. hh: '%d сехет',
  21656. d: 'пӗр кун',
  21657. dd: '%d кун',
  21658. M: 'пӗр уйӑх',
  21659. MM: '%d уйӑх',
  21660. y: 'пӗр ҫул',
  21661. yy: '%d ҫул' },
  21662. dayOfMonthOrdinalParse: /\d{1,2}-мӗш/,
  21663. ordinal: '%d-мӗш',
  21664. week: {
  21665. dow: 1, // Monday is the first day of the week.
  21666. doy: 7 // The week that contains Jan 7th is the first week of the year.
  21667. } });
  21668. return cv;
  21669. });
  21670. /***/ }),
  21671. /* 131 */
  21672. /*!*****************************************************************!*\
  21673. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/cy.js ***!
  21674. \*****************************************************************/
  21675. /*! no static exports found */
  21676. /***/ (function(module, exports, __webpack_require__) {
  21677. //! moment.js locale configuration
  21678. //! locale : Welsh [cy]
  21679. //! author : Robert Allen : https://github.com/robgallen
  21680. //! author : https://github.com/ryangreaves
  21681. ;(function (global, factory) {
  21682. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  21683. undefined;
  21684. })(this, function (moment) {'use strict';
  21685. //! moment.js locale configuration
  21686. var cy = moment.defineLocale('cy', {
  21687. months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(
  21688. '_'),
  21689. monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(
  21690. '_'),
  21691. weekdays:
  21692. 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(
  21693. '_'),
  21694. weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),
  21695. weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),
  21696. weekdaysParseExact: true,
  21697. // time formats are the same as en-gb
  21698. longDateFormat: {
  21699. LT: 'HH:mm',
  21700. LTS: 'HH:mm:ss',
  21701. L: 'DD/MM/YYYY',
  21702. LL: 'D MMMM YYYY',
  21703. LLL: 'D MMMM YYYY HH:mm',
  21704. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  21705. calendar: {
  21706. sameDay: '[Heddiw am] LT',
  21707. nextDay: '[Yfory am] LT',
  21708. nextWeek: 'dddd [am] LT',
  21709. lastDay: '[Ddoe am] LT',
  21710. lastWeek: 'dddd [diwethaf am] LT',
  21711. sameElse: 'L' },
  21712. relativeTime: {
  21713. future: 'mewn %s',
  21714. past: '%s yn ôl',
  21715. s: 'ychydig eiliadau',
  21716. ss: '%d eiliad',
  21717. m: 'munud',
  21718. mm: '%d munud',
  21719. h: 'awr',
  21720. hh: '%d awr',
  21721. d: 'diwrnod',
  21722. dd: '%d diwrnod',
  21723. M: 'mis',
  21724. MM: '%d mis',
  21725. y: 'blwyddyn',
  21726. yy: '%d flynedd' },
  21727. dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,
  21728. // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
  21729. ordinal: function ordinal(number) {
  21730. var b = number,
  21731. output = '',
  21732. lookup = [
  21733. '',
  21734. 'af',
  21735. 'il',
  21736. 'ydd',
  21737. 'ydd',
  21738. 'ed',
  21739. 'ed',
  21740. 'ed',
  21741. 'fed',
  21742. 'fed',
  21743. 'fed', // 1af to 10fed
  21744. 'eg',
  21745. 'fed',
  21746. 'eg',
  21747. 'eg',
  21748. 'fed',
  21749. 'eg',
  21750. 'eg',
  21751. 'fed',
  21752. 'eg',
  21753. 'fed' // 11eg to 20fed
  21754. ];
  21755. if (b > 20) {
  21756. if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {
  21757. output = 'fed'; // not 30ain, 70ain or 90ain
  21758. } else {
  21759. output = 'ain';
  21760. }
  21761. } else if (b > 0) {
  21762. output = lookup[b];
  21763. }
  21764. return number + output;
  21765. },
  21766. week: {
  21767. dow: 1, // Monday is the first day of the week.
  21768. doy: 4 // The week that contains Jan 4th is the first week of the year.
  21769. } });
  21770. return cy;
  21771. });
  21772. /***/ }),
  21773. /* 132 */
  21774. /*!*****************************************************************!*\
  21775. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/da.js ***!
  21776. \*****************************************************************/
  21777. /*! no static exports found */
  21778. /***/ (function(module, exports, __webpack_require__) {
  21779. //! moment.js locale configuration
  21780. //! locale : Danish [da]
  21781. //! author : Ulrik Nielsen : https://github.com/mrbase
  21782. ;(function (global, factory) {
  21783. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  21784. undefined;
  21785. })(this, function (moment) {'use strict';
  21786. //! moment.js locale configuration
  21787. var da = moment.defineLocale('da', {
  21788. months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(
  21789. '_'),
  21790. monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
  21791. weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
  21792. weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),
  21793. weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),
  21794. longDateFormat: {
  21795. LT: 'HH:mm',
  21796. LTS: 'HH:mm:ss',
  21797. L: 'DD.MM.YYYY',
  21798. LL: 'D. MMMM YYYY',
  21799. LLL: 'D. MMMM YYYY HH:mm',
  21800. LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm' },
  21801. calendar: {
  21802. sameDay: '[i dag kl.] LT',
  21803. nextDay: '[i morgen kl.] LT',
  21804. nextWeek: 'på dddd [kl.] LT',
  21805. lastDay: '[i går kl.] LT',
  21806. lastWeek: '[i] dddd[s kl.] LT',
  21807. sameElse: 'L' },
  21808. relativeTime: {
  21809. future: 'om %s',
  21810. past: '%s siden',
  21811. s: 'få sekunder',
  21812. ss: '%d sekunder',
  21813. m: 'et minut',
  21814. mm: '%d minutter',
  21815. h: 'en time',
  21816. hh: '%d timer',
  21817. d: 'en dag',
  21818. dd: '%d dage',
  21819. M: 'en måned',
  21820. MM: '%d måneder',
  21821. y: 'et år',
  21822. yy: '%d år' },
  21823. dayOfMonthOrdinalParse: /\d{1,2}\./,
  21824. ordinal: '%d.',
  21825. week: {
  21826. dow: 1, // Monday is the first day of the week.
  21827. doy: 4 // The week that contains Jan 4th is the first week of the year.
  21828. } });
  21829. return da;
  21830. });
  21831. /***/ }),
  21832. /* 133 */
  21833. /*!*****************************************************************!*\
  21834. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/de.js ***!
  21835. \*****************************************************************/
  21836. /*! no static exports found */
  21837. /***/ (function(module, exports, __webpack_require__) {
  21838. //! moment.js locale configuration
  21839. //! locale : German [de]
  21840. //! author : lluchs : https://github.com/lluchs
  21841. //! author: Menelion Elensúle: https://github.com/Oire
  21842. //! author : Mikolaj Dadela : https://github.com/mik01aj
  21843. ;(function (global, factory) {
  21844. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  21845. undefined;
  21846. })(this, function (moment) {'use strict';
  21847. //! moment.js locale configuration
  21848. function processRelativeTime(number, withoutSuffix, key, isFuture) {
  21849. var format = {
  21850. m: ['eine Minute', 'einer Minute'],
  21851. h: ['eine Stunde', 'einer Stunde'],
  21852. d: ['ein Tag', 'einem Tag'],
  21853. dd: [number + ' Tage', number + ' Tagen'],
  21854. w: ['eine Woche', 'einer Woche'],
  21855. M: ['ein Monat', 'einem Monat'],
  21856. MM: [number + ' Monate', number + ' Monaten'],
  21857. y: ['ein Jahr', 'einem Jahr'],
  21858. yy: [number + ' Jahre', number + ' Jahren'] };
  21859. return withoutSuffix ? format[key][0] : format[key][1];
  21860. }
  21861. var de = moment.defineLocale('de', {
  21862. months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(
  21863. '_'),
  21864. monthsShort:
  21865. 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
  21866. monthsParseExact: true,
  21867. weekdays:
  21868. 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(
  21869. '_'),
  21870. weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
  21871. weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
  21872. weekdaysParseExact: true,
  21873. longDateFormat: {
  21874. LT: 'HH:mm',
  21875. LTS: 'HH:mm:ss',
  21876. L: 'DD.MM.YYYY',
  21877. LL: 'D. MMMM YYYY',
  21878. LLL: 'D. MMMM YYYY HH:mm',
  21879. LLLL: 'dddd, D. MMMM YYYY HH:mm' },
  21880. calendar: {
  21881. sameDay: '[heute um] LT [Uhr]',
  21882. sameElse: 'L',
  21883. nextDay: '[morgen um] LT [Uhr]',
  21884. nextWeek: 'dddd [um] LT [Uhr]',
  21885. lastDay: '[gestern um] LT [Uhr]',
  21886. lastWeek: '[letzten] dddd [um] LT [Uhr]' },
  21887. relativeTime: {
  21888. future: 'in %s',
  21889. past: 'vor %s',
  21890. s: 'ein paar Sekunden',
  21891. ss: '%d Sekunden',
  21892. m: processRelativeTime,
  21893. mm: '%d Minuten',
  21894. h: processRelativeTime,
  21895. hh: '%d Stunden',
  21896. d: processRelativeTime,
  21897. dd: processRelativeTime,
  21898. w: processRelativeTime,
  21899. ww: '%d Wochen',
  21900. M: processRelativeTime,
  21901. MM: processRelativeTime,
  21902. y: processRelativeTime,
  21903. yy: processRelativeTime },
  21904. dayOfMonthOrdinalParse: /\d{1,2}\./,
  21905. ordinal: '%d.',
  21906. week: {
  21907. dow: 1, // Monday is the first day of the week.
  21908. doy: 4 // The week that contains Jan 4th is the first week of the year.
  21909. } });
  21910. return de;
  21911. });
  21912. /***/ }),
  21913. /* 134 */
  21914. /*!********************************************************************!*\
  21915. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/de-at.js ***!
  21916. \********************************************************************/
  21917. /*! no static exports found */
  21918. /***/ (function(module, exports, __webpack_require__) {
  21919. //! moment.js locale configuration
  21920. //! locale : German (Austria) [de-at]
  21921. //! author : lluchs : https://github.com/lluchs
  21922. //! author: Menelion Elensúle: https://github.com/Oire
  21923. //! author : Martin Groller : https://github.com/MadMG
  21924. //! author : Mikolaj Dadela : https://github.com/mik01aj
  21925. ;(function (global, factory) {
  21926. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  21927. undefined;
  21928. })(this, function (moment) {'use strict';
  21929. //! moment.js locale configuration
  21930. function processRelativeTime(number, withoutSuffix, key, isFuture) {
  21931. var format = {
  21932. m: ['eine Minute', 'einer Minute'],
  21933. h: ['eine Stunde', 'einer Stunde'],
  21934. d: ['ein Tag', 'einem Tag'],
  21935. dd: [number + ' Tage', number + ' Tagen'],
  21936. w: ['eine Woche', 'einer Woche'],
  21937. M: ['ein Monat', 'einem Monat'],
  21938. MM: [number + ' Monate', number + ' Monaten'],
  21939. y: ['ein Jahr', 'einem Jahr'],
  21940. yy: [number + ' Jahre', number + ' Jahren'] };
  21941. return withoutSuffix ? format[key][0] : format[key][1];
  21942. }
  21943. var deAt = moment.defineLocale('de-at', {
  21944. months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(
  21945. '_'),
  21946. monthsShort:
  21947. 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
  21948. monthsParseExact: true,
  21949. weekdays:
  21950. 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(
  21951. '_'),
  21952. weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
  21953. weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
  21954. weekdaysParseExact: true,
  21955. longDateFormat: {
  21956. LT: 'HH:mm',
  21957. LTS: 'HH:mm:ss',
  21958. L: 'DD.MM.YYYY',
  21959. LL: 'D. MMMM YYYY',
  21960. LLL: 'D. MMMM YYYY HH:mm',
  21961. LLLL: 'dddd, D. MMMM YYYY HH:mm' },
  21962. calendar: {
  21963. sameDay: '[heute um] LT [Uhr]',
  21964. sameElse: 'L',
  21965. nextDay: '[morgen um] LT [Uhr]',
  21966. nextWeek: 'dddd [um] LT [Uhr]',
  21967. lastDay: '[gestern um] LT [Uhr]',
  21968. lastWeek: '[letzten] dddd [um] LT [Uhr]' },
  21969. relativeTime: {
  21970. future: 'in %s',
  21971. past: 'vor %s',
  21972. s: 'ein paar Sekunden',
  21973. ss: '%d Sekunden',
  21974. m: processRelativeTime,
  21975. mm: '%d Minuten',
  21976. h: processRelativeTime,
  21977. hh: '%d Stunden',
  21978. d: processRelativeTime,
  21979. dd: processRelativeTime,
  21980. w: processRelativeTime,
  21981. ww: '%d Wochen',
  21982. M: processRelativeTime,
  21983. MM: processRelativeTime,
  21984. y: processRelativeTime,
  21985. yy: processRelativeTime },
  21986. dayOfMonthOrdinalParse: /\d{1,2}\./,
  21987. ordinal: '%d.',
  21988. week: {
  21989. dow: 1, // Monday is the first day of the week.
  21990. doy: 4 // The week that contains Jan 4th is the first week of the year.
  21991. } });
  21992. return deAt;
  21993. });
  21994. /***/ }),
  21995. /* 135 */
  21996. /*!********************************************************************!*\
  21997. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/de-ch.js ***!
  21998. \********************************************************************/
  21999. /*! no static exports found */
  22000. /***/ (function(module, exports, __webpack_require__) {
  22001. //! moment.js locale configuration
  22002. //! locale : German (Switzerland) [de-ch]
  22003. //! author : sschueller : https://github.com/sschueller
  22004. ;(function (global, factory) {
  22005. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  22006. undefined;
  22007. })(this, function (moment) {'use strict';
  22008. //! moment.js locale configuration
  22009. function processRelativeTime(number, withoutSuffix, key, isFuture) {
  22010. var format = {
  22011. m: ['eine Minute', 'einer Minute'],
  22012. h: ['eine Stunde', 'einer Stunde'],
  22013. d: ['ein Tag', 'einem Tag'],
  22014. dd: [number + ' Tage', number + ' Tagen'],
  22015. w: ['eine Woche', 'einer Woche'],
  22016. M: ['ein Monat', 'einem Monat'],
  22017. MM: [number + ' Monate', number + ' Monaten'],
  22018. y: ['ein Jahr', 'einem Jahr'],
  22019. yy: [number + ' Jahre', number + ' Jahren'] };
  22020. return withoutSuffix ? format[key][0] : format[key][1];
  22021. }
  22022. var deCh = moment.defineLocale('de-ch', {
  22023. months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(
  22024. '_'),
  22025. monthsShort:
  22026. 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
  22027. monthsParseExact: true,
  22028. weekdays:
  22029. 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(
  22030. '_'),
  22031. weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
  22032. weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
  22033. weekdaysParseExact: true,
  22034. longDateFormat: {
  22035. LT: 'HH:mm',
  22036. LTS: 'HH:mm:ss',
  22037. L: 'DD.MM.YYYY',
  22038. LL: 'D. MMMM YYYY',
  22039. LLL: 'D. MMMM YYYY HH:mm',
  22040. LLLL: 'dddd, D. MMMM YYYY HH:mm' },
  22041. calendar: {
  22042. sameDay: '[heute um] LT [Uhr]',
  22043. sameElse: 'L',
  22044. nextDay: '[morgen um] LT [Uhr]',
  22045. nextWeek: 'dddd [um] LT [Uhr]',
  22046. lastDay: '[gestern um] LT [Uhr]',
  22047. lastWeek: '[letzten] dddd [um] LT [Uhr]' },
  22048. relativeTime: {
  22049. future: 'in %s',
  22050. past: 'vor %s',
  22051. s: 'ein paar Sekunden',
  22052. ss: '%d Sekunden',
  22053. m: processRelativeTime,
  22054. mm: '%d Minuten',
  22055. h: processRelativeTime,
  22056. hh: '%d Stunden',
  22057. d: processRelativeTime,
  22058. dd: processRelativeTime,
  22059. w: processRelativeTime,
  22060. ww: '%d Wochen',
  22061. M: processRelativeTime,
  22062. MM: processRelativeTime,
  22063. y: processRelativeTime,
  22064. yy: processRelativeTime },
  22065. dayOfMonthOrdinalParse: /\d{1,2}\./,
  22066. ordinal: '%d.',
  22067. week: {
  22068. dow: 1, // Monday is the first day of the week.
  22069. doy: 4 // The week that contains Jan 4th is the first week of the year.
  22070. } });
  22071. return deCh;
  22072. });
  22073. /***/ }),
  22074. /* 136 */
  22075. /*!*****************************************************************!*\
  22076. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/dv.js ***!
  22077. \*****************************************************************/
  22078. /*! no static exports found */
  22079. /***/ (function(module, exports, __webpack_require__) {
  22080. //! moment.js locale configuration
  22081. //! locale : Maldivian [dv]
  22082. //! author : Jawish Hameed : https://github.com/jawish
  22083. ;(function (global, factory) {
  22084. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  22085. undefined;
  22086. })(this, function (moment) {'use strict';
  22087. //! moment.js locale configuration
  22088. var months = [
  22089. 'ޖެނުއަރީ',
  22090. 'ފެބްރުއަރީ',
  22091. 'މާރިޗު',
  22092. 'އޭޕްރީލު',
  22093. 'މޭ',
  22094. 'ޖޫން',
  22095. 'ޖުލައި',
  22096. 'އޯގަސްޓު',
  22097. 'ސެޕްޓެމްބަރު',
  22098. 'އޮކްޓޯބަރު',
  22099. 'ނޮވެމްބަރު',
  22100. 'ޑިސެމްބަރު'],
  22101. weekdays = [
  22102. 'އާދިއްތަ',
  22103. 'ހޯމަ',
  22104. 'އަންގާރަ',
  22105. 'ބުދަ',
  22106. 'ބުރާސްފަތި',
  22107. 'ހުކުރު',
  22108. 'ހޮނިހިރު'];
  22109. var dv = moment.defineLocale('dv', {
  22110. months: months,
  22111. monthsShort: months,
  22112. weekdays: weekdays,
  22113. weekdaysShort: weekdays,
  22114. weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),
  22115. longDateFormat: {
  22116. LT: 'HH:mm',
  22117. LTS: 'HH:mm:ss',
  22118. L: 'D/M/YYYY',
  22119. LL: 'D MMMM YYYY',
  22120. LLL: 'D MMMM YYYY HH:mm',
  22121. LLLL: 'dddd D MMMM YYYY HH:mm' },
  22122. meridiemParse: /މކ|މފ/,
  22123. isPM: function isPM(input) {
  22124. return 'މފ' === input;
  22125. },
  22126. meridiem: function meridiem(hour, minute, isLower) {
  22127. if (hour < 12) {
  22128. return 'މކ';
  22129. } else {
  22130. return 'މފ';
  22131. }
  22132. },
  22133. calendar: {
  22134. sameDay: '[މިއަދު] LT',
  22135. nextDay: '[މާދަމާ] LT',
  22136. nextWeek: 'dddd LT',
  22137. lastDay: '[އިއްޔެ] LT',
  22138. lastWeek: '[ފާއިތުވި] dddd LT',
  22139. sameElse: 'L' },
  22140. relativeTime: {
  22141. future: 'ތެރޭގައި %s',
  22142. past: 'ކުރިން %s',
  22143. s: 'ސިކުންތުކޮޅެއް',
  22144. ss: 'd% ސިކުންތު',
  22145. m: 'މިނިޓެއް',
  22146. mm: 'މިނިޓު %d',
  22147. h: 'ގަޑިއިރެއް',
  22148. hh: 'ގަޑިއިރު %d',
  22149. d: 'ދުވަހެއް',
  22150. dd: 'ދުވަސް %d',
  22151. M: 'މަހެއް',
  22152. MM: 'މަސް %d',
  22153. y: 'އަހަރެއް',
  22154. yy: 'އަހަރު %d' },
  22155. preparse: function preparse(string) {
  22156. return string.replace(/،/g, ',');
  22157. },
  22158. postformat: function postformat(string) {
  22159. return string.replace(/,/g, '،');
  22160. },
  22161. week: {
  22162. dow: 7, // Sunday is the first day of the week.
  22163. doy: 12 // The week that contains Jan 12th is the first week of the year.
  22164. } });
  22165. return dv;
  22166. });
  22167. /***/ }),
  22168. /* 137 */
  22169. /*!*****************************************************************!*\
  22170. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/el.js ***!
  22171. \*****************************************************************/
  22172. /*! no static exports found */
  22173. /***/ (function(module, exports, __webpack_require__) {
  22174. //! moment.js locale configuration
  22175. //! locale : Greek [el]
  22176. //! author : Aggelos Karalias : https://github.com/mehiel
  22177. ;(function (global, factory) {
  22178. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  22179. undefined;
  22180. })(this, function (moment) {'use strict';
  22181. //! moment.js locale configuration
  22182. function isFunction(input) {
  22183. return (
  22184. typeof Function !== 'undefined' && input instanceof Function ||
  22185. Object.prototype.toString.call(input) === '[object Function]');
  22186. }
  22187. var el = moment.defineLocale('el', {
  22188. monthsNominativeEl:
  22189. 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(
  22190. '_'),
  22191. monthsGenitiveEl:
  22192. 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(
  22193. '_'),
  22194. months: function months(momentToFormat, format) {
  22195. if (!momentToFormat) {
  22196. return this._monthsNominativeEl;
  22197. } else if (
  22198. typeof format === 'string' &&
  22199. /D/.test(format.substring(0, format.indexOf('MMMM'))))
  22200. {
  22201. // if there is a day number before 'MMMM'
  22202. return this._monthsGenitiveEl[momentToFormat.month()];
  22203. } else {
  22204. return this._monthsNominativeEl[momentToFormat.month()];
  22205. }
  22206. },
  22207. monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),
  22208. weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(
  22209. '_'),
  22210. weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),
  22211. weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),
  22212. meridiem: function meridiem(hours, minutes, isLower) {
  22213. if (hours > 11) {
  22214. return isLower ? 'μμ' : 'ΜΜ';
  22215. } else {
  22216. return isLower ? 'πμ' : 'ΠΜ';
  22217. }
  22218. },
  22219. isPM: function isPM(input) {
  22220. return (input + '').toLowerCase()[0] === 'μ';
  22221. },
  22222. meridiemParse: /[ΠΜ]\.?Μ?\.?/i,
  22223. longDateFormat: {
  22224. LT: 'h:mm A',
  22225. LTS: 'h:mm:ss A',
  22226. L: 'DD/MM/YYYY',
  22227. LL: 'D MMMM YYYY',
  22228. LLL: 'D MMMM YYYY h:mm A',
  22229. LLLL: 'dddd, D MMMM YYYY h:mm A' },
  22230. calendarEl: {
  22231. sameDay: '[Σήμερα {}] LT',
  22232. nextDay: '[Αύριο {}] LT',
  22233. nextWeek: 'dddd [{}] LT',
  22234. lastDay: '[Χθες {}] LT',
  22235. lastWeek: function lastWeek() {
  22236. switch (this.day()) {
  22237. case 6:
  22238. return '[το προηγούμενο] dddd [{}] LT';
  22239. default:
  22240. return '[την προηγούμενη] dddd [{}] LT';}
  22241. },
  22242. sameElse: 'L' },
  22243. calendar: function calendar(key, mom) {
  22244. var output = this._calendarEl[key],
  22245. hours = mom && mom.hours();
  22246. if (isFunction(output)) {
  22247. output = output.apply(mom);
  22248. }
  22249. return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');
  22250. },
  22251. relativeTime: {
  22252. future: 'σε %s',
  22253. past: '%s πριν',
  22254. s: 'λίγα δευτερόλεπτα',
  22255. ss: '%d δευτερόλεπτα',
  22256. m: 'ένα λεπτό',
  22257. mm: '%d λεπτά',
  22258. h: 'μία ώρα',
  22259. hh: '%d ώρες',
  22260. d: 'μία μέρα',
  22261. dd: '%d μέρες',
  22262. M: 'ένας μήνας',
  22263. MM: '%d μήνες',
  22264. y: 'ένας χρόνος',
  22265. yy: '%d χρόνια' },
  22266. dayOfMonthOrdinalParse: /\d{1,2}η/,
  22267. ordinal: '%dη',
  22268. week: {
  22269. dow: 1, // Monday is the first day of the week.
  22270. doy: 4 // The week that contains Jan 4st is the first week of the year.
  22271. } });
  22272. return el;
  22273. });
  22274. /***/ }),
  22275. /* 138 */
  22276. /*!********************************************************************!*\
  22277. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/en-au.js ***!
  22278. \********************************************************************/
  22279. /*! no static exports found */
  22280. /***/ (function(module, exports, __webpack_require__) {
  22281. //! moment.js locale configuration
  22282. //! locale : English (Australia) [en-au]
  22283. //! author : Jared Morse : https://github.com/jarcoal
  22284. ;(function (global, factory) {
  22285. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  22286. undefined;
  22287. })(this, function (moment) {'use strict';
  22288. //! moment.js locale configuration
  22289. var enAu = moment.defineLocale('en-au', {
  22290. months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
  22291. '_'),
  22292. monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
  22293. weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
  22294. '_'),
  22295. weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
  22296. weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
  22297. longDateFormat: {
  22298. LT: 'h:mm A',
  22299. LTS: 'h:mm:ss A',
  22300. L: 'DD/MM/YYYY',
  22301. LL: 'D MMMM YYYY',
  22302. LLL: 'D MMMM YYYY h:mm A',
  22303. LLLL: 'dddd, D MMMM YYYY h:mm A' },
  22304. calendar: {
  22305. sameDay: '[Today at] LT',
  22306. nextDay: '[Tomorrow at] LT',
  22307. nextWeek: 'dddd [at] LT',
  22308. lastDay: '[Yesterday at] LT',
  22309. lastWeek: '[Last] dddd [at] LT',
  22310. sameElse: 'L' },
  22311. relativeTime: {
  22312. future: 'in %s',
  22313. past: '%s ago',
  22314. s: 'a few seconds',
  22315. ss: '%d seconds',
  22316. m: 'a minute',
  22317. mm: '%d minutes',
  22318. h: 'an hour',
  22319. hh: '%d hours',
  22320. d: 'a day',
  22321. dd: '%d days',
  22322. M: 'a month',
  22323. MM: '%d months',
  22324. y: 'a year',
  22325. yy: '%d years' },
  22326. dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
  22327. ordinal: function ordinal(number) {
  22328. var b = number % 10,
  22329. output =
  22330. ~~(number % 100 / 10) === 1 ?
  22331. 'th' :
  22332. b === 1 ?
  22333. 'st' :
  22334. b === 2 ?
  22335. 'nd' :
  22336. b === 3 ?
  22337. 'rd' :
  22338. 'th';
  22339. return number + output;
  22340. },
  22341. week: {
  22342. dow: 0, // Sunday is the first day of the week.
  22343. doy: 4 // The week that contains Jan 4th is the first week of the year.
  22344. } });
  22345. return enAu;
  22346. });
  22347. /***/ }),
  22348. /* 139 */
  22349. /*!********************************************************************!*\
  22350. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/en-ca.js ***!
  22351. \********************************************************************/
  22352. /*! no static exports found */
  22353. /***/ (function(module, exports, __webpack_require__) {
  22354. //! moment.js locale configuration
  22355. //! locale : English (Canada) [en-ca]
  22356. //! author : Jonathan Abourbih : https://github.com/jonbca
  22357. ;(function (global, factory) {
  22358. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  22359. undefined;
  22360. })(this, function (moment) {'use strict';
  22361. //! moment.js locale configuration
  22362. var enCa = moment.defineLocale('en-ca', {
  22363. months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
  22364. '_'),
  22365. monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
  22366. weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
  22367. '_'),
  22368. weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
  22369. weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
  22370. longDateFormat: {
  22371. LT: 'h:mm A',
  22372. LTS: 'h:mm:ss A',
  22373. L: 'YYYY-MM-DD',
  22374. LL: 'MMMM D, YYYY',
  22375. LLL: 'MMMM D, YYYY h:mm A',
  22376. LLLL: 'dddd, MMMM D, YYYY h:mm A' },
  22377. calendar: {
  22378. sameDay: '[Today at] LT',
  22379. nextDay: '[Tomorrow at] LT',
  22380. nextWeek: 'dddd [at] LT',
  22381. lastDay: '[Yesterday at] LT',
  22382. lastWeek: '[Last] dddd [at] LT',
  22383. sameElse: 'L' },
  22384. relativeTime: {
  22385. future: 'in %s',
  22386. past: '%s ago',
  22387. s: 'a few seconds',
  22388. ss: '%d seconds',
  22389. m: 'a minute',
  22390. mm: '%d minutes',
  22391. h: 'an hour',
  22392. hh: '%d hours',
  22393. d: 'a day',
  22394. dd: '%d days',
  22395. M: 'a month',
  22396. MM: '%d months',
  22397. y: 'a year',
  22398. yy: '%d years' },
  22399. dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
  22400. ordinal: function ordinal(number) {
  22401. var b = number % 10,
  22402. output =
  22403. ~~(number % 100 / 10) === 1 ?
  22404. 'th' :
  22405. b === 1 ?
  22406. 'st' :
  22407. b === 2 ?
  22408. 'nd' :
  22409. b === 3 ?
  22410. 'rd' :
  22411. 'th';
  22412. return number + output;
  22413. } });
  22414. return enCa;
  22415. });
  22416. /***/ }),
  22417. /* 140 */
  22418. /*!********************************************************************!*\
  22419. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/en-gb.js ***!
  22420. \********************************************************************/
  22421. /*! no static exports found */
  22422. /***/ (function(module, exports, __webpack_require__) {
  22423. //! moment.js locale configuration
  22424. //! locale : English (United Kingdom) [en-gb]
  22425. //! author : Chris Gedrim : https://github.com/chrisgedrim
  22426. ;(function (global, factory) {
  22427. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  22428. undefined;
  22429. })(this, function (moment) {'use strict';
  22430. //! moment.js locale configuration
  22431. var enGb = moment.defineLocale('en-gb', {
  22432. months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
  22433. '_'),
  22434. monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
  22435. weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
  22436. '_'),
  22437. weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
  22438. weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
  22439. longDateFormat: {
  22440. LT: 'HH:mm',
  22441. LTS: 'HH:mm:ss',
  22442. L: 'DD/MM/YYYY',
  22443. LL: 'D MMMM YYYY',
  22444. LLL: 'D MMMM YYYY HH:mm',
  22445. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  22446. calendar: {
  22447. sameDay: '[Today at] LT',
  22448. nextDay: '[Tomorrow at] LT',
  22449. nextWeek: 'dddd [at] LT',
  22450. lastDay: '[Yesterday at] LT',
  22451. lastWeek: '[Last] dddd [at] LT',
  22452. sameElse: 'L' },
  22453. relativeTime: {
  22454. future: 'in %s',
  22455. past: '%s ago',
  22456. s: 'a few seconds',
  22457. ss: '%d seconds',
  22458. m: 'a minute',
  22459. mm: '%d minutes',
  22460. h: 'an hour',
  22461. hh: '%d hours',
  22462. d: 'a day',
  22463. dd: '%d days',
  22464. M: 'a month',
  22465. MM: '%d months',
  22466. y: 'a year',
  22467. yy: '%d years' },
  22468. dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
  22469. ordinal: function ordinal(number) {
  22470. var b = number % 10,
  22471. output =
  22472. ~~(number % 100 / 10) === 1 ?
  22473. 'th' :
  22474. b === 1 ?
  22475. 'st' :
  22476. b === 2 ?
  22477. 'nd' :
  22478. b === 3 ?
  22479. 'rd' :
  22480. 'th';
  22481. return number + output;
  22482. },
  22483. week: {
  22484. dow: 1, // Monday is the first day of the week.
  22485. doy: 4 // The week that contains Jan 4th is the first week of the year.
  22486. } });
  22487. return enGb;
  22488. });
  22489. /***/ }),
  22490. /* 141 */
  22491. /*!********************************************************************!*\
  22492. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/en-ie.js ***!
  22493. \********************************************************************/
  22494. /*! no static exports found */
  22495. /***/ (function(module, exports, __webpack_require__) {
  22496. //! moment.js locale configuration
  22497. //! locale : English (Ireland) [en-ie]
  22498. //! author : Chris Cartlidge : https://github.com/chriscartlidge
  22499. ;(function (global, factory) {
  22500. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  22501. undefined;
  22502. })(this, function (moment) {'use strict';
  22503. //! moment.js locale configuration
  22504. var enIe = moment.defineLocale('en-ie', {
  22505. months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
  22506. '_'),
  22507. monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
  22508. weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
  22509. '_'),
  22510. weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
  22511. weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
  22512. longDateFormat: {
  22513. LT: 'HH:mm',
  22514. LTS: 'HH:mm:ss',
  22515. L: 'DD/MM/YYYY',
  22516. LL: 'D MMMM YYYY',
  22517. LLL: 'D MMMM YYYY HH:mm',
  22518. LLLL: 'dddd D MMMM YYYY HH:mm' },
  22519. calendar: {
  22520. sameDay: '[Today at] LT',
  22521. nextDay: '[Tomorrow at] LT',
  22522. nextWeek: 'dddd [at] LT',
  22523. lastDay: '[Yesterday at] LT',
  22524. lastWeek: '[Last] dddd [at] LT',
  22525. sameElse: 'L' },
  22526. relativeTime: {
  22527. future: 'in %s',
  22528. past: '%s ago',
  22529. s: 'a few seconds',
  22530. ss: '%d seconds',
  22531. m: 'a minute',
  22532. mm: '%d minutes',
  22533. h: 'an hour',
  22534. hh: '%d hours',
  22535. d: 'a day',
  22536. dd: '%d days',
  22537. M: 'a month',
  22538. MM: '%d months',
  22539. y: 'a year',
  22540. yy: '%d years' },
  22541. dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
  22542. ordinal: function ordinal(number) {
  22543. var b = number % 10,
  22544. output =
  22545. ~~(number % 100 / 10) === 1 ?
  22546. 'th' :
  22547. b === 1 ?
  22548. 'st' :
  22549. b === 2 ?
  22550. 'nd' :
  22551. b === 3 ?
  22552. 'rd' :
  22553. 'th';
  22554. return number + output;
  22555. },
  22556. week: {
  22557. dow: 1, // Monday is the first day of the week.
  22558. doy: 4 // The week that contains Jan 4th is the first week of the year.
  22559. } });
  22560. return enIe;
  22561. });
  22562. /***/ }),
  22563. /* 142 */
  22564. /*!********************************************************************!*\
  22565. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/en-il.js ***!
  22566. \********************************************************************/
  22567. /*! no static exports found */
  22568. /***/ (function(module, exports, __webpack_require__) {
  22569. //! moment.js locale configuration
  22570. //! locale : English (Israel) [en-il]
  22571. //! author : Chris Gedrim : https://github.com/chrisgedrim
  22572. ;(function (global, factory) {
  22573. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  22574. undefined;
  22575. })(this, function (moment) {'use strict';
  22576. //! moment.js locale configuration
  22577. var enIl = moment.defineLocale('en-il', {
  22578. months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
  22579. '_'),
  22580. monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
  22581. weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
  22582. '_'),
  22583. weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
  22584. weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
  22585. longDateFormat: {
  22586. LT: 'HH:mm',
  22587. LTS: 'HH:mm:ss',
  22588. L: 'DD/MM/YYYY',
  22589. LL: 'D MMMM YYYY',
  22590. LLL: 'D MMMM YYYY HH:mm',
  22591. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  22592. calendar: {
  22593. sameDay: '[Today at] LT',
  22594. nextDay: '[Tomorrow at] LT',
  22595. nextWeek: 'dddd [at] LT',
  22596. lastDay: '[Yesterday at] LT',
  22597. lastWeek: '[Last] dddd [at] LT',
  22598. sameElse: 'L' },
  22599. relativeTime: {
  22600. future: 'in %s',
  22601. past: '%s ago',
  22602. s: 'a few seconds',
  22603. ss: '%d seconds',
  22604. m: 'a minute',
  22605. mm: '%d minutes',
  22606. h: 'an hour',
  22607. hh: '%d hours',
  22608. d: 'a day',
  22609. dd: '%d days',
  22610. M: 'a month',
  22611. MM: '%d months',
  22612. y: 'a year',
  22613. yy: '%d years' },
  22614. dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
  22615. ordinal: function ordinal(number) {
  22616. var b = number % 10,
  22617. output =
  22618. ~~(number % 100 / 10) === 1 ?
  22619. 'th' :
  22620. b === 1 ?
  22621. 'st' :
  22622. b === 2 ?
  22623. 'nd' :
  22624. b === 3 ?
  22625. 'rd' :
  22626. 'th';
  22627. return number + output;
  22628. } });
  22629. return enIl;
  22630. });
  22631. /***/ }),
  22632. /* 143 */
  22633. /*!********************************************************************!*\
  22634. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/en-in.js ***!
  22635. \********************************************************************/
  22636. /*! no static exports found */
  22637. /***/ (function(module, exports, __webpack_require__) {
  22638. //! moment.js locale configuration
  22639. //! locale : English (India) [en-in]
  22640. //! author : Jatin Agrawal : https://github.com/jatinag22
  22641. ;(function (global, factory) {
  22642. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  22643. undefined;
  22644. })(this, function (moment) {'use strict';
  22645. //! moment.js locale configuration
  22646. var enIn = moment.defineLocale('en-in', {
  22647. months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
  22648. '_'),
  22649. monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
  22650. weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
  22651. '_'),
  22652. weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
  22653. weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
  22654. longDateFormat: {
  22655. LT: 'h:mm A',
  22656. LTS: 'h:mm:ss A',
  22657. L: 'DD/MM/YYYY',
  22658. LL: 'D MMMM YYYY',
  22659. LLL: 'D MMMM YYYY h:mm A',
  22660. LLLL: 'dddd, D MMMM YYYY h:mm A' },
  22661. calendar: {
  22662. sameDay: '[Today at] LT',
  22663. nextDay: '[Tomorrow at] LT',
  22664. nextWeek: 'dddd [at] LT',
  22665. lastDay: '[Yesterday at] LT',
  22666. lastWeek: '[Last] dddd [at] LT',
  22667. sameElse: 'L' },
  22668. relativeTime: {
  22669. future: 'in %s',
  22670. past: '%s ago',
  22671. s: 'a few seconds',
  22672. ss: '%d seconds',
  22673. m: 'a minute',
  22674. mm: '%d minutes',
  22675. h: 'an hour',
  22676. hh: '%d hours',
  22677. d: 'a day',
  22678. dd: '%d days',
  22679. M: 'a month',
  22680. MM: '%d months',
  22681. y: 'a year',
  22682. yy: '%d years' },
  22683. dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
  22684. ordinal: function ordinal(number) {
  22685. var b = number % 10,
  22686. output =
  22687. ~~(number % 100 / 10) === 1 ?
  22688. 'th' :
  22689. b === 1 ?
  22690. 'st' :
  22691. b === 2 ?
  22692. 'nd' :
  22693. b === 3 ?
  22694. 'rd' :
  22695. 'th';
  22696. return number + output;
  22697. },
  22698. week: {
  22699. dow: 0, // Sunday is the first day of the week.
  22700. doy: 6 // The week that contains Jan 1st is the first week of the year.
  22701. } });
  22702. return enIn;
  22703. });
  22704. /***/ }),
  22705. /* 144 */
  22706. /*!********************************************************************!*\
  22707. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/en-nz.js ***!
  22708. \********************************************************************/
  22709. /*! no static exports found */
  22710. /***/ (function(module, exports, __webpack_require__) {
  22711. //! moment.js locale configuration
  22712. //! locale : English (New Zealand) [en-nz]
  22713. //! author : Luke McGregor : https://github.com/lukemcgregor
  22714. ;(function (global, factory) {
  22715. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  22716. undefined;
  22717. })(this, function (moment) {'use strict';
  22718. //! moment.js locale configuration
  22719. var enNz = moment.defineLocale('en-nz', {
  22720. months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
  22721. '_'),
  22722. monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
  22723. weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
  22724. '_'),
  22725. weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
  22726. weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
  22727. longDateFormat: {
  22728. LT: 'h:mm A',
  22729. LTS: 'h:mm:ss A',
  22730. L: 'DD/MM/YYYY',
  22731. LL: 'D MMMM YYYY',
  22732. LLL: 'D MMMM YYYY h:mm A',
  22733. LLLL: 'dddd, D MMMM YYYY h:mm A' },
  22734. calendar: {
  22735. sameDay: '[Today at] LT',
  22736. nextDay: '[Tomorrow at] LT',
  22737. nextWeek: 'dddd [at] LT',
  22738. lastDay: '[Yesterday at] LT',
  22739. lastWeek: '[Last] dddd [at] LT',
  22740. sameElse: 'L' },
  22741. relativeTime: {
  22742. future: 'in %s',
  22743. past: '%s ago',
  22744. s: 'a few seconds',
  22745. ss: '%d seconds',
  22746. m: 'a minute',
  22747. mm: '%d minutes',
  22748. h: 'an hour',
  22749. hh: '%d hours',
  22750. d: 'a day',
  22751. dd: '%d days',
  22752. M: 'a month',
  22753. MM: '%d months',
  22754. y: 'a year',
  22755. yy: '%d years' },
  22756. dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
  22757. ordinal: function ordinal(number) {
  22758. var b = number % 10,
  22759. output =
  22760. ~~(number % 100 / 10) === 1 ?
  22761. 'th' :
  22762. b === 1 ?
  22763. 'st' :
  22764. b === 2 ?
  22765. 'nd' :
  22766. b === 3 ?
  22767. 'rd' :
  22768. 'th';
  22769. return number + output;
  22770. },
  22771. week: {
  22772. dow: 1, // Monday is the first day of the week.
  22773. doy: 4 // The week that contains Jan 4th is the first week of the year.
  22774. } });
  22775. return enNz;
  22776. });
  22777. /***/ }),
  22778. /* 145 */
  22779. /*!********************************************************************!*\
  22780. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/en-sg.js ***!
  22781. \********************************************************************/
  22782. /*! no static exports found */
  22783. /***/ (function(module, exports, __webpack_require__) {
  22784. //! moment.js locale configuration
  22785. //! locale : English (Singapore) [en-sg]
  22786. //! author : Matthew Castrillon-Madrigal : https://github.com/techdimension
  22787. ;(function (global, factory) {
  22788. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  22789. undefined;
  22790. })(this, function (moment) {'use strict';
  22791. //! moment.js locale configuration
  22792. var enSg = moment.defineLocale('en-sg', {
  22793. months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
  22794. '_'),
  22795. monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
  22796. weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
  22797. '_'),
  22798. weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
  22799. weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
  22800. longDateFormat: {
  22801. LT: 'HH:mm',
  22802. LTS: 'HH:mm:ss',
  22803. L: 'DD/MM/YYYY',
  22804. LL: 'D MMMM YYYY',
  22805. LLL: 'D MMMM YYYY HH:mm',
  22806. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  22807. calendar: {
  22808. sameDay: '[Today at] LT',
  22809. nextDay: '[Tomorrow at] LT',
  22810. nextWeek: 'dddd [at] LT',
  22811. lastDay: '[Yesterday at] LT',
  22812. lastWeek: '[Last] dddd [at] LT',
  22813. sameElse: 'L' },
  22814. relativeTime: {
  22815. future: 'in %s',
  22816. past: '%s ago',
  22817. s: 'a few seconds',
  22818. ss: '%d seconds',
  22819. m: 'a minute',
  22820. mm: '%d minutes',
  22821. h: 'an hour',
  22822. hh: '%d hours',
  22823. d: 'a day',
  22824. dd: '%d days',
  22825. M: 'a month',
  22826. MM: '%d months',
  22827. y: 'a year',
  22828. yy: '%d years' },
  22829. dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
  22830. ordinal: function ordinal(number) {
  22831. var b = number % 10,
  22832. output =
  22833. ~~(number % 100 / 10) === 1 ?
  22834. 'th' :
  22835. b === 1 ?
  22836. 'st' :
  22837. b === 2 ?
  22838. 'nd' :
  22839. b === 3 ?
  22840. 'rd' :
  22841. 'th';
  22842. return number + output;
  22843. },
  22844. week: {
  22845. dow: 1, // Monday is the first day of the week.
  22846. doy: 4 // The week that contains Jan 4th is the first week of the year.
  22847. } });
  22848. return enSg;
  22849. });
  22850. /***/ }),
  22851. /* 146 */
  22852. /*!*****************************************************************!*\
  22853. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/eo.js ***!
  22854. \*****************************************************************/
  22855. /*! no static exports found */
  22856. /***/ (function(module, exports, __webpack_require__) {
  22857. //! moment.js locale configuration
  22858. //! locale : Esperanto [eo]
  22859. //! author : Colin Dean : https://github.com/colindean
  22860. //! author : Mia Nordentoft Imperatori : https://github.com/miestasmia
  22861. //! comment : miestasmia corrected the translation by colindean
  22862. //! comment : Vivakvo corrected the translation by colindean and miestasmia
  22863. ;(function (global, factory) {
  22864. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  22865. undefined;
  22866. })(this, function (moment) {'use strict';
  22867. //! moment.js locale configuration
  22868. var eo = moment.defineLocale('eo', {
  22869. months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(
  22870. '_'),
  22871. monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),
  22872. weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),
  22873. weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),
  22874. weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),
  22875. longDateFormat: {
  22876. LT: 'HH:mm',
  22877. LTS: 'HH:mm:ss',
  22878. L: 'YYYY-MM-DD',
  22879. LL: '[la] D[-an de] MMMM, YYYY',
  22880. LLL: '[la] D[-an de] MMMM, YYYY HH:mm',
  22881. LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',
  22882. llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm' },
  22883. meridiemParse: /[ap]\.t\.m/i,
  22884. isPM: function isPM(input) {
  22885. return input.charAt(0).toLowerCase() === 'p';
  22886. },
  22887. meridiem: function meridiem(hours, minutes, isLower) {
  22888. if (hours > 11) {
  22889. return isLower ? 'p.t.m.' : 'P.T.M.';
  22890. } else {
  22891. return isLower ? 'a.t.m.' : 'A.T.M.';
  22892. }
  22893. },
  22894. calendar: {
  22895. sameDay: '[Hodiaŭ je] LT',
  22896. nextDay: '[Morgaŭ je] LT',
  22897. nextWeek: 'dddd[n je] LT',
  22898. lastDay: '[Hieraŭ je] LT',
  22899. lastWeek: '[pasintan] dddd[n je] LT',
  22900. sameElse: 'L' },
  22901. relativeTime: {
  22902. future: 'post %s',
  22903. past: 'antaŭ %s',
  22904. s: 'kelkaj sekundoj',
  22905. ss: '%d sekundoj',
  22906. m: 'unu minuto',
  22907. mm: '%d minutoj',
  22908. h: 'unu horo',
  22909. hh: '%d horoj',
  22910. d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo
  22911. dd: '%d tagoj',
  22912. M: 'unu monato',
  22913. MM: '%d monatoj',
  22914. y: 'unu jaro',
  22915. yy: '%d jaroj' },
  22916. dayOfMonthOrdinalParse: /\d{1,2}a/,
  22917. ordinal: '%da',
  22918. week: {
  22919. dow: 1, // Monday is the first day of the week.
  22920. doy: 7 // The week that contains Jan 7th is the first week of the year.
  22921. } });
  22922. return eo;
  22923. });
  22924. /***/ }),
  22925. /* 147 */
  22926. /*!*****************************************************************!*\
  22927. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/es.js ***!
  22928. \*****************************************************************/
  22929. /*! no static exports found */
  22930. /***/ (function(module, exports, __webpack_require__) {
  22931. //! moment.js locale configuration
  22932. //! locale : Spanish [es]
  22933. //! author : Julio Napurí : https://github.com/julionc
  22934. ;(function (global, factory) {
  22935. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  22936. undefined;
  22937. })(this, function (moment) {'use strict';
  22938. //! moment.js locale configuration
  22939. var monthsShortDot =
  22940. 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(
  22941. '_'),
  22942. _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
  22943. monthsParse = [
  22944. /^ene/i,
  22945. /^feb/i,
  22946. /^mar/i,
  22947. /^abr/i,
  22948. /^may/i,
  22949. /^jun/i,
  22950. /^jul/i,
  22951. /^ago/i,
  22952. /^sep/i,
  22953. /^oct/i,
  22954. /^nov/i,
  22955. /^dic/i],
  22956. monthsRegex =
  22957. /^(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;
  22958. var es = moment.defineLocale('es', {
  22959. months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(
  22960. '_'),
  22961. monthsShort: function monthsShort(m, format) {
  22962. if (!m) {
  22963. return monthsShortDot;
  22964. } else if (/-MMM-/.test(format)) {
  22965. return _monthsShort[m.month()];
  22966. } else {
  22967. return monthsShortDot[m.month()];
  22968. }
  22969. },
  22970. monthsRegex: monthsRegex,
  22971. monthsShortRegex: monthsRegex,
  22972. monthsStrictRegex:
  22973. /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
  22974. monthsShortStrictRegex:
  22975. /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
  22976. monthsParse: monthsParse,
  22977. longMonthsParse: monthsParse,
  22978. shortMonthsParse: monthsParse,
  22979. weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
  22980. weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
  22981. weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
  22982. weekdaysParseExact: true,
  22983. longDateFormat: {
  22984. LT: 'H:mm',
  22985. LTS: 'H:mm:ss',
  22986. L: 'DD/MM/YYYY',
  22987. LL: 'D [de] MMMM [de] YYYY',
  22988. LLL: 'D [de] MMMM [de] YYYY H:mm',
  22989. LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm' },
  22990. calendar: {
  22991. sameDay: function sameDay() {
  22992. return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  22993. },
  22994. nextDay: function nextDay() {
  22995. return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  22996. },
  22997. nextWeek: function nextWeek() {
  22998. return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  22999. },
  23000. lastDay: function lastDay() {
  23001. return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  23002. },
  23003. lastWeek: function lastWeek() {
  23004. return (
  23005. '[el] dddd [pasado a la' + (
  23006. this.hours() !== 1 ? 's' : '') +
  23007. '] LT');
  23008. },
  23009. sameElse: 'L' },
  23010. relativeTime: {
  23011. future: 'en %s',
  23012. past: 'hace %s',
  23013. s: 'unos segundos',
  23014. ss: '%d segundos',
  23015. m: 'un minuto',
  23016. mm: '%d minutos',
  23017. h: 'una hora',
  23018. hh: '%d horas',
  23019. d: 'un día',
  23020. dd: '%d días',
  23021. w: 'una semana',
  23022. ww: '%d semanas',
  23023. M: 'un mes',
  23024. MM: '%d meses',
  23025. y: 'un año',
  23026. yy: '%d años' },
  23027. dayOfMonthOrdinalParse: /\d{1,2}º/,
  23028. ordinal: '%dº',
  23029. week: {
  23030. dow: 1, // Monday is the first day of the week.
  23031. doy: 4 // The week that contains Jan 4th is the first week of the year.
  23032. },
  23033. invalidDate: 'Fecha inválida' });
  23034. return es;
  23035. });
  23036. /***/ }),
  23037. /* 148 */
  23038. /*!********************************************************************!*\
  23039. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/es-do.js ***!
  23040. \********************************************************************/
  23041. /*! no static exports found */
  23042. /***/ (function(module, exports, __webpack_require__) {
  23043. //! moment.js locale configuration
  23044. //! locale : Spanish (Dominican Republic) [es-do]
  23045. ;(function (global, factory) {
  23046. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  23047. undefined;
  23048. })(this, function (moment) {'use strict';
  23049. //! moment.js locale configuration
  23050. var monthsShortDot =
  23051. 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(
  23052. '_'),
  23053. _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
  23054. monthsParse = [
  23055. /^ene/i,
  23056. /^feb/i,
  23057. /^mar/i,
  23058. /^abr/i,
  23059. /^may/i,
  23060. /^jun/i,
  23061. /^jul/i,
  23062. /^ago/i,
  23063. /^sep/i,
  23064. /^oct/i,
  23065. /^nov/i,
  23066. /^dic/i],
  23067. monthsRegex =
  23068. /^(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;
  23069. var esDo = moment.defineLocale('es-do', {
  23070. months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(
  23071. '_'),
  23072. monthsShort: function monthsShort(m, format) {
  23073. if (!m) {
  23074. return monthsShortDot;
  23075. } else if (/-MMM-/.test(format)) {
  23076. return _monthsShort[m.month()];
  23077. } else {
  23078. return monthsShortDot[m.month()];
  23079. }
  23080. },
  23081. monthsRegex: monthsRegex,
  23082. monthsShortRegex: monthsRegex,
  23083. monthsStrictRegex:
  23084. /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
  23085. monthsShortStrictRegex:
  23086. /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
  23087. monthsParse: monthsParse,
  23088. longMonthsParse: monthsParse,
  23089. shortMonthsParse: monthsParse,
  23090. weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
  23091. weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
  23092. weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
  23093. weekdaysParseExact: true,
  23094. longDateFormat: {
  23095. LT: 'h:mm A',
  23096. LTS: 'h:mm:ss A',
  23097. L: 'DD/MM/YYYY',
  23098. LL: 'D [de] MMMM [de] YYYY',
  23099. LLL: 'D [de] MMMM [de] YYYY h:mm A',
  23100. LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A' },
  23101. calendar: {
  23102. sameDay: function sameDay() {
  23103. return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  23104. },
  23105. nextDay: function nextDay() {
  23106. return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  23107. },
  23108. nextWeek: function nextWeek() {
  23109. return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  23110. },
  23111. lastDay: function lastDay() {
  23112. return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  23113. },
  23114. lastWeek: function lastWeek() {
  23115. return (
  23116. '[el] dddd [pasado a la' + (
  23117. this.hours() !== 1 ? 's' : '') +
  23118. '] LT');
  23119. },
  23120. sameElse: 'L' },
  23121. relativeTime: {
  23122. future: 'en %s',
  23123. past: 'hace %s',
  23124. s: 'unos segundos',
  23125. ss: '%d segundos',
  23126. m: 'un minuto',
  23127. mm: '%d minutos',
  23128. h: 'una hora',
  23129. hh: '%d horas',
  23130. d: 'un día',
  23131. dd: '%d días',
  23132. w: 'una semana',
  23133. ww: '%d semanas',
  23134. M: 'un mes',
  23135. MM: '%d meses',
  23136. y: 'un año',
  23137. yy: '%d años' },
  23138. dayOfMonthOrdinalParse: /\d{1,2}º/,
  23139. ordinal: '%dº',
  23140. week: {
  23141. dow: 1, // Monday is the first day of the week.
  23142. doy: 4 // The week that contains Jan 4th is the first week of the year.
  23143. } });
  23144. return esDo;
  23145. });
  23146. /***/ }),
  23147. /* 149 */
  23148. /*!********************************************************************!*\
  23149. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/es-mx.js ***!
  23150. \********************************************************************/
  23151. /*! no static exports found */
  23152. /***/ (function(module, exports, __webpack_require__) {
  23153. //! moment.js locale configuration
  23154. //! locale : Spanish (Mexico) [es-mx]
  23155. //! author : JC Franco : https://github.com/jcfranco
  23156. ;(function (global, factory) {
  23157. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  23158. undefined;
  23159. })(this, function (moment) {'use strict';
  23160. //! moment.js locale configuration
  23161. var monthsShortDot =
  23162. 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(
  23163. '_'),
  23164. _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
  23165. monthsParse = [
  23166. /^ene/i,
  23167. /^feb/i,
  23168. /^mar/i,
  23169. /^abr/i,
  23170. /^may/i,
  23171. /^jun/i,
  23172. /^jul/i,
  23173. /^ago/i,
  23174. /^sep/i,
  23175. /^oct/i,
  23176. /^nov/i,
  23177. /^dic/i],
  23178. monthsRegex =
  23179. /^(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;
  23180. var esMx = moment.defineLocale('es-mx', {
  23181. months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(
  23182. '_'),
  23183. monthsShort: function monthsShort(m, format) {
  23184. if (!m) {
  23185. return monthsShortDot;
  23186. } else if (/-MMM-/.test(format)) {
  23187. return _monthsShort[m.month()];
  23188. } else {
  23189. return monthsShortDot[m.month()];
  23190. }
  23191. },
  23192. monthsRegex: monthsRegex,
  23193. monthsShortRegex: monthsRegex,
  23194. monthsStrictRegex:
  23195. /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
  23196. monthsShortStrictRegex:
  23197. /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
  23198. monthsParse: monthsParse,
  23199. longMonthsParse: monthsParse,
  23200. shortMonthsParse: monthsParse,
  23201. weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
  23202. weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
  23203. weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
  23204. weekdaysParseExact: true,
  23205. longDateFormat: {
  23206. LT: 'H:mm',
  23207. LTS: 'H:mm:ss',
  23208. L: 'DD/MM/YYYY',
  23209. LL: 'D [de] MMMM [de] YYYY',
  23210. LLL: 'D [de] MMMM [de] YYYY H:mm',
  23211. LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm' },
  23212. calendar: {
  23213. sameDay: function sameDay() {
  23214. return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  23215. },
  23216. nextDay: function nextDay() {
  23217. return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  23218. },
  23219. nextWeek: function nextWeek() {
  23220. return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  23221. },
  23222. lastDay: function lastDay() {
  23223. return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  23224. },
  23225. lastWeek: function lastWeek() {
  23226. return (
  23227. '[el] dddd [pasado a la' + (
  23228. this.hours() !== 1 ? 's' : '') +
  23229. '] LT');
  23230. },
  23231. sameElse: 'L' },
  23232. relativeTime: {
  23233. future: 'en %s',
  23234. past: 'hace %s',
  23235. s: 'unos segundos',
  23236. ss: '%d segundos',
  23237. m: 'un minuto',
  23238. mm: '%d minutos',
  23239. h: 'una hora',
  23240. hh: '%d horas',
  23241. d: 'un día',
  23242. dd: '%d días',
  23243. w: 'una semana',
  23244. ww: '%d semanas',
  23245. M: 'un mes',
  23246. MM: '%d meses',
  23247. y: 'un año',
  23248. yy: '%d años' },
  23249. dayOfMonthOrdinalParse: /\d{1,2}º/,
  23250. ordinal: '%dº',
  23251. week: {
  23252. dow: 0, // Sunday is the first day of the week.
  23253. doy: 4 // The week that contains Jan 4th is the first week of the year.
  23254. },
  23255. invalidDate: 'Fecha inválida' });
  23256. return esMx;
  23257. });
  23258. /***/ }),
  23259. /* 150 */
  23260. /*!********************************************************************!*\
  23261. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/es-us.js ***!
  23262. \********************************************************************/
  23263. /*! no static exports found */
  23264. /***/ (function(module, exports, __webpack_require__) {
  23265. //! moment.js locale configuration
  23266. //! locale : Spanish (United States) [es-us]
  23267. //! author : bustta : https://github.com/bustta
  23268. //! author : chrisrodz : https://github.com/chrisrodz
  23269. ;(function (global, factory) {
  23270. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  23271. undefined;
  23272. })(this, function (moment) {'use strict';
  23273. //! moment.js locale configuration
  23274. var monthsShortDot =
  23275. 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(
  23276. '_'),
  23277. _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
  23278. monthsParse = [
  23279. /^ene/i,
  23280. /^feb/i,
  23281. /^mar/i,
  23282. /^abr/i,
  23283. /^may/i,
  23284. /^jun/i,
  23285. /^jul/i,
  23286. /^ago/i,
  23287. /^sep/i,
  23288. /^oct/i,
  23289. /^nov/i,
  23290. /^dic/i],
  23291. monthsRegex =
  23292. /^(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;
  23293. var esUs = moment.defineLocale('es-us', {
  23294. months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(
  23295. '_'),
  23296. monthsShort: function monthsShort(m, format) {
  23297. if (!m) {
  23298. return monthsShortDot;
  23299. } else if (/-MMM-/.test(format)) {
  23300. return _monthsShort[m.month()];
  23301. } else {
  23302. return monthsShortDot[m.month()];
  23303. }
  23304. },
  23305. monthsRegex: monthsRegex,
  23306. monthsShortRegex: monthsRegex,
  23307. monthsStrictRegex:
  23308. /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
  23309. monthsShortStrictRegex:
  23310. /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
  23311. monthsParse: monthsParse,
  23312. longMonthsParse: monthsParse,
  23313. shortMonthsParse: monthsParse,
  23314. weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
  23315. weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
  23316. weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
  23317. weekdaysParseExact: true,
  23318. longDateFormat: {
  23319. LT: 'h:mm A',
  23320. LTS: 'h:mm:ss A',
  23321. L: 'MM/DD/YYYY',
  23322. LL: 'D [de] MMMM [de] YYYY',
  23323. LLL: 'D [de] MMMM [de] YYYY h:mm A',
  23324. LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A' },
  23325. calendar: {
  23326. sameDay: function sameDay() {
  23327. return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  23328. },
  23329. nextDay: function nextDay() {
  23330. return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  23331. },
  23332. nextWeek: function nextWeek() {
  23333. return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  23334. },
  23335. lastDay: function lastDay() {
  23336. return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
  23337. },
  23338. lastWeek: function lastWeek() {
  23339. return (
  23340. '[el] dddd [pasado a la' + (
  23341. this.hours() !== 1 ? 's' : '') +
  23342. '] LT');
  23343. },
  23344. sameElse: 'L' },
  23345. relativeTime: {
  23346. future: 'en %s',
  23347. past: 'hace %s',
  23348. s: 'unos segundos',
  23349. ss: '%d segundos',
  23350. m: 'un minuto',
  23351. mm: '%d minutos',
  23352. h: 'una hora',
  23353. hh: '%d horas',
  23354. d: 'un día',
  23355. dd: '%d días',
  23356. w: 'una semana',
  23357. ww: '%d semanas',
  23358. M: 'un mes',
  23359. MM: '%d meses',
  23360. y: 'un año',
  23361. yy: '%d años' },
  23362. dayOfMonthOrdinalParse: /\d{1,2}º/,
  23363. ordinal: '%dº',
  23364. week: {
  23365. dow: 0, // Sunday is the first day of the week.
  23366. doy: 6 // The week that contains Jan 6th is the first week of the year.
  23367. } });
  23368. return esUs;
  23369. });
  23370. /***/ }),
  23371. /* 151 */
  23372. /*!*****************************************************************!*\
  23373. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/et.js ***!
  23374. \*****************************************************************/
  23375. /*! no static exports found */
  23376. /***/ (function(module, exports, __webpack_require__) {
  23377. //! moment.js locale configuration
  23378. //! locale : Estonian [et]
  23379. //! author : Henry Kehlmann : https://github.com/madhenry
  23380. //! improvements : Illimar Tambek : https://github.com/ragulka
  23381. ;(function (global, factory) {
  23382. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  23383. undefined;
  23384. })(this, function (moment) {'use strict';
  23385. //! moment.js locale configuration
  23386. function processRelativeTime(number, withoutSuffix, key, isFuture) {
  23387. var format = {
  23388. s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
  23389. ss: [number + 'sekundi', number + 'sekundit'],
  23390. m: ['ühe minuti', 'üks minut'],
  23391. mm: [number + ' minuti', number + ' minutit'],
  23392. h: ['ühe tunni', 'tund aega', 'üks tund'],
  23393. hh: [number + ' tunni', number + ' tundi'],
  23394. d: ['ühe päeva', 'üks päev'],
  23395. M: ['kuu aja', 'kuu aega', 'üks kuu'],
  23396. MM: [number + ' kuu', number + ' kuud'],
  23397. y: ['ühe aasta', 'aasta', 'üks aasta'],
  23398. yy: [number + ' aasta', number + ' aastat'] };
  23399. if (withoutSuffix) {
  23400. return format[key][2] ? format[key][2] : format[key][1];
  23401. }
  23402. return isFuture ? format[key][0] : format[key][1];
  23403. }
  23404. var et = moment.defineLocale('et', {
  23405. months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(
  23406. '_'),
  23407. monthsShort:
  23408. 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),
  23409. weekdays:
  23410. 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(
  23411. '_'),
  23412. weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),
  23413. weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),
  23414. longDateFormat: {
  23415. LT: 'H:mm',
  23416. LTS: 'H:mm:ss',
  23417. L: 'DD.MM.YYYY',
  23418. LL: 'D. MMMM YYYY',
  23419. LLL: 'D. MMMM YYYY H:mm',
  23420. LLLL: 'dddd, D. MMMM YYYY H:mm' },
  23421. calendar: {
  23422. sameDay: '[Täna,] LT',
  23423. nextDay: '[Homme,] LT',
  23424. nextWeek: '[Järgmine] dddd LT',
  23425. lastDay: '[Eile,] LT',
  23426. lastWeek: '[Eelmine] dddd LT',
  23427. sameElse: 'L' },
  23428. relativeTime: {
  23429. future: '%s pärast',
  23430. past: '%s tagasi',
  23431. s: processRelativeTime,
  23432. ss: processRelativeTime,
  23433. m: processRelativeTime,
  23434. mm: processRelativeTime,
  23435. h: processRelativeTime,
  23436. hh: processRelativeTime,
  23437. d: processRelativeTime,
  23438. dd: '%d päeva',
  23439. M: processRelativeTime,
  23440. MM: processRelativeTime,
  23441. y: processRelativeTime,
  23442. yy: processRelativeTime },
  23443. dayOfMonthOrdinalParse: /\d{1,2}\./,
  23444. ordinal: '%d.',
  23445. week: {
  23446. dow: 1, // Monday is the first day of the week.
  23447. doy: 4 // The week that contains Jan 4th is the first week of the year.
  23448. } });
  23449. return et;
  23450. });
  23451. /***/ }),
  23452. /* 152 */
  23453. /*!*****************************************************************!*\
  23454. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/eu.js ***!
  23455. \*****************************************************************/
  23456. /*! no static exports found */
  23457. /***/ (function(module, exports, __webpack_require__) {
  23458. //! moment.js locale configuration
  23459. //! locale : Basque [eu]
  23460. //! author : Eneko Illarramendi : https://github.com/eillarra
  23461. ;(function (global, factory) {
  23462. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  23463. undefined;
  23464. })(this, function (moment) {'use strict';
  23465. //! moment.js locale configuration
  23466. var eu = moment.defineLocale('eu', {
  23467. months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(
  23468. '_'),
  23469. monthsShort:
  23470. 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(
  23471. '_'),
  23472. monthsParseExact: true,
  23473. weekdays:
  23474. 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(
  23475. '_'),
  23476. weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),
  23477. weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),
  23478. weekdaysParseExact: true,
  23479. longDateFormat: {
  23480. LT: 'HH:mm',
  23481. LTS: 'HH:mm:ss',
  23482. L: 'YYYY-MM-DD',
  23483. LL: 'YYYY[ko] MMMM[ren] D[a]',
  23484. LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',
  23485. LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',
  23486. l: 'YYYY-M-D',
  23487. ll: 'YYYY[ko] MMM D[a]',
  23488. lll: 'YYYY[ko] MMM D[a] HH:mm',
  23489. llll: 'ddd, YYYY[ko] MMM D[a] HH:mm' },
  23490. calendar: {
  23491. sameDay: '[gaur] LT[etan]',
  23492. nextDay: '[bihar] LT[etan]',
  23493. nextWeek: 'dddd LT[etan]',
  23494. lastDay: '[atzo] LT[etan]',
  23495. lastWeek: '[aurreko] dddd LT[etan]',
  23496. sameElse: 'L' },
  23497. relativeTime: {
  23498. future: '%s barru',
  23499. past: 'duela %s',
  23500. s: 'segundo batzuk',
  23501. ss: '%d segundo',
  23502. m: 'minutu bat',
  23503. mm: '%d minutu',
  23504. h: 'ordu bat',
  23505. hh: '%d ordu',
  23506. d: 'egun bat',
  23507. dd: '%d egun',
  23508. M: 'hilabete bat',
  23509. MM: '%d hilabete',
  23510. y: 'urte bat',
  23511. yy: '%d urte' },
  23512. dayOfMonthOrdinalParse: /\d{1,2}\./,
  23513. ordinal: '%d.',
  23514. week: {
  23515. dow: 1, // Monday is the first day of the week.
  23516. doy: 7 // The week that contains Jan 7th is the first week of the year.
  23517. } });
  23518. return eu;
  23519. });
  23520. /***/ }),
  23521. /* 153 */
  23522. /*!*****************************************************************!*\
  23523. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/fa.js ***!
  23524. \*****************************************************************/
  23525. /*! no static exports found */
  23526. /***/ (function(module, exports, __webpack_require__) {
  23527. //! moment.js locale configuration
  23528. //! locale : Persian [fa]
  23529. //! author : Ebrahim Byagowi : https://github.com/ebraminio
  23530. ;(function (global, factory) {
  23531. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  23532. undefined;
  23533. })(this, function (moment) {'use strict';
  23534. //! moment.js locale configuration
  23535. var symbolMap = {
  23536. 1: '۱',
  23537. 2: '۲',
  23538. 3: '۳',
  23539. 4: '۴',
  23540. 5: '۵',
  23541. 6: '۶',
  23542. 7: '۷',
  23543. 8: '۸',
  23544. 9: '۹',
  23545. 0: '۰' },
  23546. numberMap = {
  23547. '۱': '1',
  23548. '۲': '2',
  23549. '۳': '3',
  23550. '۴': '4',
  23551. '۵': '5',
  23552. '۶': '6',
  23553. '۷': '7',
  23554. '۸': '8',
  23555. '۹': '9',
  23556. '۰': '0' };
  23557. var fa = moment.defineLocale('fa', {
  23558. months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(
  23559. '_'),
  23560. monthsShort:
  23561. 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(
  23562. '_'),
  23563. weekdays:
  23564. "\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(
  23565. '_'),
  23566. weekdaysShort:
  23567. "\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(
  23568. '_'),
  23569. weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),
  23570. weekdaysParseExact: true,
  23571. longDateFormat: {
  23572. LT: 'HH:mm',
  23573. LTS: 'HH:mm:ss',
  23574. L: 'DD/MM/YYYY',
  23575. LL: 'D MMMM YYYY',
  23576. LLL: 'D MMMM YYYY HH:mm',
  23577. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  23578. meridiemParse: /قبل از ظهر|بعد از ظهر/,
  23579. isPM: function isPM(input) {
  23580. return /بعد از ظهر/.test(input);
  23581. },
  23582. meridiem: function meridiem(hour, minute, isLower) {
  23583. if (hour < 12) {
  23584. return 'قبل از ظهر';
  23585. } else {
  23586. return 'بعد از ظهر';
  23587. }
  23588. },
  23589. calendar: {
  23590. sameDay: '[امروز ساعت] LT',
  23591. nextDay: '[فردا ساعت] LT',
  23592. nextWeek: 'dddd [ساعت] LT',
  23593. lastDay: '[دیروز ساعت] LT',
  23594. lastWeek: 'dddd [پیش] [ساعت] LT',
  23595. sameElse: 'L' },
  23596. relativeTime: {
  23597. future: 'در %s',
  23598. past: '%s پیش',
  23599. s: 'چند ثانیه',
  23600. ss: '%d ثانیه',
  23601. m: 'یک دقیقه',
  23602. mm: '%d دقیقه',
  23603. h: 'یک ساعت',
  23604. hh: '%d ساعت',
  23605. d: 'یک روز',
  23606. dd: '%d روز',
  23607. M: 'یک ماه',
  23608. MM: '%d ماه',
  23609. y: 'یک سال',
  23610. yy: '%d سال' },
  23611. preparse: function preparse(string) {
  23612. return string.
  23613. replace(/[۰-۹]/g, function (match) {
  23614. return numberMap[match];
  23615. }).
  23616. replace(/،/g, ',');
  23617. },
  23618. postformat: function postformat(string) {
  23619. return string.
  23620. replace(/\d/g, function (match) {
  23621. return symbolMap[match];
  23622. }).
  23623. replace(/,/g, '،');
  23624. },
  23625. dayOfMonthOrdinalParse: /\d{1,2}م/,
  23626. ordinal: '%dم',
  23627. week: {
  23628. dow: 6, // Saturday is the first day of the week.
  23629. doy: 12 // The week that contains Jan 12th is the first week of the year.
  23630. } });
  23631. return fa;
  23632. });
  23633. /***/ }),
  23634. /* 154 */
  23635. /*!*****************************************************************!*\
  23636. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/fi.js ***!
  23637. \*****************************************************************/
  23638. /*! no static exports found */
  23639. /***/ (function(module, exports, __webpack_require__) {
  23640. //! moment.js locale configuration
  23641. //! locale : Finnish [fi]
  23642. //! author : Tarmo Aidantausta : https://github.com/bleadof
  23643. ;(function (global, factory) {
  23644. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  23645. undefined;
  23646. })(this, function (moment) {'use strict';
  23647. //! moment.js locale configuration
  23648. var numbersPast =
  23649. 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(
  23650. ' '),
  23651. numbersFuture = [
  23652. 'nolla',
  23653. 'yhden',
  23654. 'kahden',
  23655. 'kolmen',
  23656. 'neljän',
  23657. 'viiden',
  23658. 'kuuden',
  23659. numbersPast[7],
  23660. numbersPast[8],
  23661. numbersPast[9]];
  23662. function translate(number, withoutSuffix, key, isFuture) {
  23663. var result = '';
  23664. switch (key) {
  23665. case 's':
  23666. return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';
  23667. case 'ss':
  23668. result = isFuture ? 'sekunnin' : 'sekuntia';
  23669. break;
  23670. case 'm':
  23671. return isFuture ? 'minuutin' : 'minuutti';
  23672. case 'mm':
  23673. result = isFuture ? 'minuutin' : 'minuuttia';
  23674. break;
  23675. case 'h':
  23676. return isFuture ? 'tunnin' : 'tunti';
  23677. case 'hh':
  23678. result = isFuture ? 'tunnin' : 'tuntia';
  23679. break;
  23680. case 'd':
  23681. return isFuture ? 'päivän' : 'päivä';
  23682. case 'dd':
  23683. result = isFuture ? 'päivän' : 'päivää';
  23684. break;
  23685. case 'M':
  23686. return isFuture ? 'kuukauden' : 'kuukausi';
  23687. case 'MM':
  23688. result = isFuture ? 'kuukauden' : 'kuukautta';
  23689. break;
  23690. case 'y':
  23691. return isFuture ? 'vuoden' : 'vuosi';
  23692. case 'yy':
  23693. result = isFuture ? 'vuoden' : 'vuotta';
  23694. break;}
  23695. result = verbalNumber(number, isFuture) + ' ' + result;
  23696. return result;
  23697. }
  23698. function verbalNumber(number, isFuture) {
  23699. return number < 10 ?
  23700. isFuture ?
  23701. numbersFuture[number] :
  23702. numbersPast[number] :
  23703. number;
  23704. }
  23705. var fi = moment.defineLocale('fi', {
  23706. months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(
  23707. '_'),
  23708. monthsShort:
  23709. 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(
  23710. '_'),
  23711. weekdays:
  23712. 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(
  23713. '_'),
  23714. weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),
  23715. weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),
  23716. longDateFormat: {
  23717. LT: 'HH.mm',
  23718. LTS: 'HH.mm.ss',
  23719. L: 'DD.MM.YYYY',
  23720. LL: 'Do MMMM[ta] YYYY',
  23721. LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',
  23722. LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',
  23723. l: 'D.M.YYYY',
  23724. ll: 'Do MMM YYYY',
  23725. lll: 'Do MMM YYYY, [klo] HH.mm',
  23726. llll: 'ddd, Do MMM YYYY, [klo] HH.mm' },
  23727. calendar: {
  23728. sameDay: '[tänään] [klo] LT',
  23729. nextDay: '[huomenna] [klo] LT',
  23730. nextWeek: 'dddd [klo] LT',
  23731. lastDay: '[eilen] [klo] LT',
  23732. lastWeek: '[viime] dddd[na] [klo] LT',
  23733. sameElse: 'L' },
  23734. relativeTime: {
  23735. future: '%s päästä',
  23736. past: '%s sitten',
  23737. s: translate,
  23738. ss: translate,
  23739. m: translate,
  23740. mm: translate,
  23741. h: translate,
  23742. hh: translate,
  23743. d: translate,
  23744. dd: translate,
  23745. M: translate,
  23746. MM: translate,
  23747. y: translate,
  23748. yy: translate },
  23749. dayOfMonthOrdinalParse: /\d{1,2}\./,
  23750. ordinal: '%d.',
  23751. week: {
  23752. dow: 1, // Monday is the first day of the week.
  23753. doy: 4 // The week that contains Jan 4th is the first week of the year.
  23754. } });
  23755. return fi;
  23756. });
  23757. /***/ }),
  23758. /* 155 */
  23759. /*!******************************************************************!*\
  23760. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/fil.js ***!
  23761. \******************************************************************/
  23762. /*! no static exports found */
  23763. /***/ (function(module, exports, __webpack_require__) {
  23764. //! moment.js locale configuration
  23765. //! locale : Filipino [fil]
  23766. //! author : Dan Hagman : https://github.com/hagmandan
  23767. //! author : Matthew Co : https://github.com/matthewdeeco
  23768. ;(function (global, factory) {
  23769. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  23770. undefined;
  23771. })(this, function (moment) {'use strict';
  23772. //! moment.js locale configuration
  23773. var fil = moment.defineLocale('fil', {
  23774. months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(
  23775. '_'),
  23776. monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
  23777. weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(
  23778. '_'),
  23779. weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
  23780. weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
  23781. longDateFormat: {
  23782. LT: 'HH:mm',
  23783. LTS: 'HH:mm:ss',
  23784. L: 'MM/D/YYYY',
  23785. LL: 'MMMM D, YYYY',
  23786. LLL: 'MMMM D, YYYY HH:mm',
  23787. LLLL: 'dddd, MMMM DD, YYYY HH:mm' },
  23788. calendar: {
  23789. sameDay: 'LT [ngayong araw]',
  23790. nextDay: '[Bukas ng] LT',
  23791. nextWeek: 'LT [sa susunod na] dddd',
  23792. lastDay: 'LT [kahapon]',
  23793. lastWeek: 'LT [noong nakaraang] dddd',
  23794. sameElse: 'L' },
  23795. relativeTime: {
  23796. future: 'sa loob ng %s',
  23797. past: '%s ang nakalipas',
  23798. s: 'ilang segundo',
  23799. ss: '%d segundo',
  23800. m: 'isang minuto',
  23801. mm: '%d minuto',
  23802. h: 'isang oras',
  23803. hh: '%d oras',
  23804. d: 'isang araw',
  23805. dd: '%d araw',
  23806. M: 'isang buwan',
  23807. MM: '%d buwan',
  23808. y: 'isang taon',
  23809. yy: '%d taon' },
  23810. dayOfMonthOrdinalParse: /\d{1,2}/,
  23811. ordinal: function ordinal(number) {
  23812. return number;
  23813. },
  23814. week: {
  23815. dow: 1, // Monday is the first day of the week.
  23816. doy: 4 // The week that contains Jan 4th is the first week of the year.
  23817. } });
  23818. return fil;
  23819. });
  23820. /***/ }),
  23821. /* 156 */
  23822. /*!*****************************************************************!*\
  23823. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/fo.js ***!
  23824. \*****************************************************************/
  23825. /*! no static exports found */
  23826. /***/ (function(module, exports, __webpack_require__) {
  23827. //! moment.js locale configuration
  23828. //! locale : Faroese [fo]
  23829. //! author : Ragnar Johannesen : https://github.com/ragnar123
  23830. //! author : Kristian Sakarisson : https://github.com/sakarisson
  23831. ;(function (global, factory) {
  23832. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  23833. undefined;
  23834. })(this, function (moment) {'use strict';
  23835. //! moment.js locale configuration
  23836. var fo = moment.defineLocale('fo', {
  23837. months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(
  23838. '_'),
  23839. monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
  23840. weekdays:
  23841. 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(
  23842. '_'),
  23843. weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),
  23844. weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),
  23845. longDateFormat: {
  23846. LT: 'HH:mm',
  23847. LTS: 'HH:mm:ss',
  23848. L: 'DD/MM/YYYY',
  23849. LL: 'D MMMM YYYY',
  23850. LLL: 'D MMMM YYYY HH:mm',
  23851. LLLL: 'dddd D. MMMM, YYYY HH:mm' },
  23852. calendar: {
  23853. sameDay: '[Í dag kl.] LT',
  23854. nextDay: '[Í morgin kl.] LT',
  23855. nextWeek: 'dddd [kl.] LT',
  23856. lastDay: '[Í gjár kl.] LT',
  23857. lastWeek: '[síðstu] dddd [kl] LT',
  23858. sameElse: 'L' },
  23859. relativeTime: {
  23860. future: 'um %s',
  23861. past: '%s síðani',
  23862. s: 'fá sekund',
  23863. ss: '%d sekundir',
  23864. m: 'ein minuttur',
  23865. mm: '%d minuttir',
  23866. h: 'ein tími',
  23867. hh: '%d tímar',
  23868. d: 'ein dagur',
  23869. dd: '%d dagar',
  23870. M: 'ein mánaður',
  23871. MM: '%d mánaðir',
  23872. y: 'eitt ár',
  23873. yy: '%d ár' },
  23874. dayOfMonthOrdinalParse: /\d{1,2}\./,
  23875. ordinal: '%d.',
  23876. week: {
  23877. dow: 1, // Monday is the first day of the week.
  23878. doy: 4 // The week that contains Jan 4th is the first week of the year.
  23879. } });
  23880. return fo;
  23881. });
  23882. /***/ }),
  23883. /* 157 */
  23884. /*!*****************************************************************!*\
  23885. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/fr.js ***!
  23886. \*****************************************************************/
  23887. /*! no static exports found */
  23888. /***/ (function(module, exports, __webpack_require__) {
  23889. //! moment.js locale configuration
  23890. //! locale : French [fr]
  23891. //! author : John Fischer : https://github.com/jfroffice
  23892. ;(function (global, factory) {
  23893. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  23894. undefined;
  23895. })(this, function (moment) {'use strict';
  23896. //! moment.js locale configuration
  23897. var monthsStrictRegex =
  23898. /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,
  23899. monthsShortStrictRegex =
  23900. /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i,
  23901. monthsRegex =
  23902. /(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,
  23903. monthsParse = [
  23904. /^janv/i,
  23905. /^févr/i,
  23906. /^mars/i,
  23907. /^avr/i,
  23908. /^mai/i,
  23909. /^juin/i,
  23910. /^juil/i,
  23911. /^août/i,
  23912. /^sept/i,
  23913. /^oct/i,
  23914. /^nov/i,
  23915. /^déc/i];
  23916. var fr = moment.defineLocale('fr', {
  23917. months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(
  23918. '_'),
  23919. monthsShort:
  23920. 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(
  23921. '_'),
  23922. monthsRegex: monthsRegex,
  23923. monthsShortRegex: monthsRegex,
  23924. monthsStrictRegex: monthsStrictRegex,
  23925. monthsShortStrictRegex: monthsShortStrictRegex,
  23926. monthsParse: monthsParse,
  23927. longMonthsParse: monthsParse,
  23928. shortMonthsParse: monthsParse,
  23929. weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
  23930. weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
  23931. weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
  23932. weekdaysParseExact: true,
  23933. longDateFormat: {
  23934. LT: 'HH:mm',
  23935. LTS: 'HH:mm:ss',
  23936. L: 'DD/MM/YYYY',
  23937. LL: 'D MMMM YYYY',
  23938. LLL: 'D MMMM YYYY HH:mm',
  23939. LLLL: 'dddd D MMMM YYYY HH:mm' },
  23940. calendar: {
  23941. sameDay: '[Aujourd’hui à] LT',
  23942. nextDay: '[Demain à] LT',
  23943. nextWeek: 'dddd [à] LT',
  23944. lastDay: '[Hier à] LT',
  23945. lastWeek: 'dddd [dernier à] LT',
  23946. sameElse: 'L' },
  23947. relativeTime: {
  23948. future: 'dans %s',
  23949. past: 'il y a %s',
  23950. s: 'quelques secondes',
  23951. ss: '%d secondes',
  23952. m: 'une minute',
  23953. mm: '%d minutes',
  23954. h: 'une heure',
  23955. hh: '%d heures',
  23956. d: 'un jour',
  23957. dd: '%d jours',
  23958. w: 'une semaine',
  23959. ww: '%d semaines',
  23960. M: 'un mois',
  23961. MM: '%d mois',
  23962. y: 'un an',
  23963. yy: '%d ans' },
  23964. dayOfMonthOrdinalParse: /\d{1,2}(er|)/,
  23965. ordinal: function ordinal(number, period) {
  23966. switch (period) {
  23967. // TODO: Return 'e' when day of month > 1. Move this case inside
  23968. // block for masculine words below.
  23969. // See https://github.com/moment/moment/issues/3375
  23970. case 'D':
  23971. return number + (number === 1 ? 'er' : '');
  23972. // Words with masculine grammatical gender: mois, trimestre, jour
  23973. default:
  23974. case 'M':
  23975. case 'Q':
  23976. case 'DDD':
  23977. case 'd':
  23978. return number + (number === 1 ? 'er' : 'e');
  23979. // Words with feminine grammatical gender: semaine
  23980. case 'w':
  23981. case 'W':
  23982. return number + (number === 1 ? 're' : 'e');}
  23983. },
  23984. week: {
  23985. dow: 1, // Monday is the first day of the week.
  23986. doy: 4 // The week that contains Jan 4th is the first week of the year.
  23987. } });
  23988. return fr;
  23989. });
  23990. /***/ }),
  23991. /* 158 */
  23992. /*!********************************************************************!*\
  23993. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/fr-ca.js ***!
  23994. \********************************************************************/
  23995. /*! no static exports found */
  23996. /***/ (function(module, exports, __webpack_require__) {
  23997. //! moment.js locale configuration
  23998. //! locale : French (Canada) [fr-ca]
  23999. //! author : Jonathan Abourbih : https://github.com/jonbca
  24000. ;(function (global, factory) {
  24001. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  24002. undefined;
  24003. })(this, function (moment) {'use strict';
  24004. //! moment.js locale configuration
  24005. var frCa = moment.defineLocale('fr-ca', {
  24006. months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(
  24007. '_'),
  24008. monthsShort:
  24009. 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(
  24010. '_'),
  24011. monthsParseExact: true,
  24012. weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
  24013. weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
  24014. weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
  24015. weekdaysParseExact: true,
  24016. longDateFormat: {
  24017. LT: 'HH:mm',
  24018. LTS: 'HH:mm:ss',
  24019. L: 'YYYY-MM-DD',
  24020. LL: 'D MMMM YYYY',
  24021. LLL: 'D MMMM YYYY HH:mm',
  24022. LLLL: 'dddd D MMMM YYYY HH:mm' },
  24023. calendar: {
  24024. sameDay: '[Aujourd’hui à] LT',
  24025. nextDay: '[Demain à] LT',
  24026. nextWeek: 'dddd [à] LT',
  24027. lastDay: '[Hier à] LT',
  24028. lastWeek: 'dddd [dernier à] LT',
  24029. sameElse: 'L' },
  24030. relativeTime: {
  24031. future: 'dans %s',
  24032. past: 'il y a %s',
  24033. s: 'quelques secondes',
  24034. ss: '%d secondes',
  24035. m: 'une minute',
  24036. mm: '%d minutes',
  24037. h: 'une heure',
  24038. hh: '%d heures',
  24039. d: 'un jour',
  24040. dd: '%d jours',
  24041. M: 'un mois',
  24042. MM: '%d mois',
  24043. y: 'un an',
  24044. yy: '%d ans' },
  24045. dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
  24046. ordinal: function ordinal(number, period) {
  24047. switch (period) {
  24048. // Words with masculine grammatical gender: mois, trimestre, jour
  24049. default:
  24050. case 'M':
  24051. case 'Q':
  24052. case 'D':
  24053. case 'DDD':
  24054. case 'd':
  24055. return number + (number === 1 ? 'er' : 'e');
  24056. // Words with feminine grammatical gender: semaine
  24057. case 'w':
  24058. case 'W':
  24059. return number + (number === 1 ? 're' : 'e');}
  24060. } });
  24061. return frCa;
  24062. });
  24063. /***/ }),
  24064. /* 159 */
  24065. /*!********************************************************************!*\
  24066. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/fr-ch.js ***!
  24067. \********************************************************************/
  24068. /*! no static exports found */
  24069. /***/ (function(module, exports, __webpack_require__) {
  24070. //! moment.js locale configuration
  24071. //! locale : French (Switzerland) [fr-ch]
  24072. //! author : Gaspard Bucher : https://github.com/gaspard
  24073. ;(function (global, factory) {
  24074. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  24075. undefined;
  24076. })(this, function (moment) {'use strict';
  24077. //! moment.js locale configuration
  24078. var frCh = moment.defineLocale('fr-ch', {
  24079. months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(
  24080. '_'),
  24081. monthsShort:
  24082. 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(
  24083. '_'),
  24084. monthsParseExact: true,
  24085. weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
  24086. weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
  24087. weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
  24088. weekdaysParseExact: true,
  24089. longDateFormat: {
  24090. LT: 'HH:mm',
  24091. LTS: 'HH:mm:ss',
  24092. L: 'DD.MM.YYYY',
  24093. LL: 'D MMMM YYYY',
  24094. LLL: 'D MMMM YYYY HH:mm',
  24095. LLLL: 'dddd D MMMM YYYY HH:mm' },
  24096. calendar: {
  24097. sameDay: '[Aujourd’hui à] LT',
  24098. nextDay: '[Demain à] LT',
  24099. nextWeek: 'dddd [à] LT',
  24100. lastDay: '[Hier à] LT',
  24101. lastWeek: 'dddd [dernier à] LT',
  24102. sameElse: 'L' },
  24103. relativeTime: {
  24104. future: 'dans %s',
  24105. past: 'il y a %s',
  24106. s: 'quelques secondes',
  24107. ss: '%d secondes',
  24108. m: 'une minute',
  24109. mm: '%d minutes',
  24110. h: 'une heure',
  24111. hh: '%d heures',
  24112. d: 'un jour',
  24113. dd: '%d jours',
  24114. M: 'un mois',
  24115. MM: '%d mois',
  24116. y: 'un an',
  24117. yy: '%d ans' },
  24118. dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
  24119. ordinal: function ordinal(number, period) {
  24120. switch (period) {
  24121. // Words with masculine grammatical gender: mois, trimestre, jour
  24122. default:
  24123. case 'M':
  24124. case 'Q':
  24125. case 'D':
  24126. case 'DDD':
  24127. case 'd':
  24128. return number + (number === 1 ? 'er' : 'e');
  24129. // Words with feminine grammatical gender: semaine
  24130. case 'w':
  24131. case 'W':
  24132. return number + (number === 1 ? 're' : 'e');}
  24133. },
  24134. week: {
  24135. dow: 1, // Monday is the first day of the week.
  24136. doy: 4 // The week that contains Jan 4th is the first week of the year.
  24137. } });
  24138. return frCh;
  24139. });
  24140. /***/ }),
  24141. /* 160 */
  24142. /*!*****************************************************************!*\
  24143. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/fy.js ***!
  24144. \*****************************************************************/
  24145. /*! no static exports found */
  24146. /***/ (function(module, exports, __webpack_require__) {
  24147. //! moment.js locale configuration
  24148. //! locale : Frisian [fy]
  24149. //! author : Robin van der Vliet : https://github.com/robin0van0der0v
  24150. ;(function (global, factory) {
  24151. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  24152. undefined;
  24153. })(this, function (moment) {'use strict';
  24154. //! moment.js locale configuration
  24155. var monthsShortWithDots =
  24156. 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),
  24157. monthsShortWithoutDots =
  24158. 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');
  24159. var fy = moment.defineLocale('fy', {
  24160. months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(
  24161. '_'),
  24162. monthsShort: function monthsShort(m, format) {
  24163. if (!m) {
  24164. return monthsShortWithDots;
  24165. } else if (/-MMM-/.test(format)) {
  24166. return monthsShortWithoutDots[m.month()];
  24167. } else {
  24168. return monthsShortWithDots[m.month()];
  24169. }
  24170. },
  24171. monthsParseExact: true,
  24172. weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(
  24173. '_'),
  24174. weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),
  24175. weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),
  24176. weekdaysParseExact: true,
  24177. longDateFormat: {
  24178. LT: 'HH:mm',
  24179. LTS: 'HH:mm:ss',
  24180. L: 'DD-MM-YYYY',
  24181. LL: 'D MMMM YYYY',
  24182. LLL: 'D MMMM YYYY HH:mm',
  24183. LLLL: 'dddd D MMMM YYYY HH:mm' },
  24184. calendar: {
  24185. sameDay: '[hjoed om] LT',
  24186. nextDay: '[moarn om] LT',
  24187. nextWeek: 'dddd [om] LT',
  24188. lastDay: '[juster om] LT',
  24189. lastWeek: '[ôfrûne] dddd [om] LT',
  24190. sameElse: 'L' },
  24191. relativeTime: {
  24192. future: 'oer %s',
  24193. past: '%s lyn',
  24194. s: 'in pear sekonden',
  24195. ss: '%d sekonden',
  24196. m: 'ien minút',
  24197. mm: '%d minuten',
  24198. h: 'ien oere',
  24199. hh: '%d oeren',
  24200. d: 'ien dei',
  24201. dd: '%d dagen',
  24202. M: 'ien moanne',
  24203. MM: '%d moannen',
  24204. y: 'ien jier',
  24205. yy: '%d jierren' },
  24206. dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
  24207. ordinal: function ordinal(number) {
  24208. return (
  24209. number + (
  24210. number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'));
  24211. },
  24212. week: {
  24213. dow: 1, // Monday is the first day of the week.
  24214. doy: 4 // The week that contains Jan 4th is the first week of the year.
  24215. } });
  24216. return fy;
  24217. });
  24218. /***/ }),
  24219. /* 161 */
  24220. /*!*****************************************************************!*\
  24221. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ga.js ***!
  24222. \*****************************************************************/
  24223. /*! no static exports found */
  24224. /***/ (function(module, exports, __webpack_require__) {
  24225. //! moment.js locale configuration
  24226. //! locale : Irish or Irish Gaelic [ga]
  24227. //! author : André Silva : https://github.com/askpt
  24228. ;(function (global, factory) {
  24229. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  24230. undefined;
  24231. })(this, function (moment) {'use strict';
  24232. //! moment.js locale configuration
  24233. var months = [
  24234. 'Eanáir',
  24235. 'Feabhra',
  24236. 'Márta',
  24237. 'Aibreán',
  24238. 'Bealtaine',
  24239. 'Meitheamh',
  24240. 'Iúil',
  24241. 'Lúnasa',
  24242. 'Meán Fómhair',
  24243. 'Deireadh Fómhair',
  24244. 'Samhain',
  24245. 'Nollaig'],
  24246. monthsShort = [
  24247. 'Ean',
  24248. 'Feabh',
  24249. 'Márt',
  24250. 'Aib',
  24251. 'Beal',
  24252. 'Meith',
  24253. 'Iúil',
  24254. 'Lún',
  24255. 'M.F.',
  24256. 'D.F.',
  24257. 'Samh',
  24258. 'Noll'],
  24259. weekdays = [
  24260. 'Dé Domhnaigh',
  24261. 'Dé Luain',
  24262. 'Dé Máirt',
  24263. 'Dé Céadaoin',
  24264. 'Déardaoin',
  24265. 'Dé hAoine',
  24266. 'Dé Sathairn'],
  24267. weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],
  24268. weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];
  24269. var ga = moment.defineLocale('ga', {
  24270. months: months,
  24271. monthsShort: monthsShort,
  24272. monthsParseExact: true,
  24273. weekdays: weekdays,
  24274. weekdaysShort: weekdaysShort,
  24275. weekdaysMin: weekdaysMin,
  24276. longDateFormat: {
  24277. LT: 'HH:mm',
  24278. LTS: 'HH:mm:ss',
  24279. L: 'DD/MM/YYYY',
  24280. LL: 'D MMMM YYYY',
  24281. LLL: 'D MMMM YYYY HH:mm',
  24282. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  24283. calendar: {
  24284. sameDay: '[Inniu ag] LT',
  24285. nextDay: '[Amárach ag] LT',
  24286. nextWeek: 'dddd [ag] LT',
  24287. lastDay: '[Inné ag] LT',
  24288. lastWeek: 'dddd [seo caite] [ag] LT',
  24289. sameElse: 'L' },
  24290. relativeTime: {
  24291. future: 'i %s',
  24292. past: '%s ó shin',
  24293. s: 'cúpla soicind',
  24294. ss: '%d soicind',
  24295. m: 'nóiméad',
  24296. mm: '%d nóiméad',
  24297. h: 'uair an chloig',
  24298. hh: '%d uair an chloig',
  24299. d: 'lá',
  24300. dd: '%d lá',
  24301. M: 'mí',
  24302. MM: '%d míonna',
  24303. y: 'bliain',
  24304. yy: '%d bliain' },
  24305. dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
  24306. ordinal: function ordinal(number) {
  24307. var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
  24308. return number + output;
  24309. },
  24310. week: {
  24311. dow: 1, // Monday is the first day of the week.
  24312. doy: 4 // The week that contains Jan 4th is the first week of the year.
  24313. } });
  24314. return ga;
  24315. });
  24316. /***/ }),
  24317. /* 162 */
  24318. /*!*****************************************************************!*\
  24319. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/gd.js ***!
  24320. \*****************************************************************/
  24321. /*! no static exports found */
  24322. /***/ (function(module, exports, __webpack_require__) {
  24323. //! moment.js locale configuration
  24324. //! locale : Scottish Gaelic [gd]
  24325. //! author : Jon Ashdown : https://github.com/jonashdown
  24326. ;(function (global, factory) {
  24327. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  24328. undefined;
  24329. })(this, function (moment) {'use strict';
  24330. //! moment.js locale configuration
  24331. var months = [
  24332. 'Am Faoilleach',
  24333. 'An Gearran',
  24334. 'Am Màrt',
  24335. 'An Giblean',
  24336. 'An Cèitean',
  24337. 'An t-Ògmhios',
  24338. 'An t-Iuchar',
  24339. 'An Lùnastal',
  24340. 'An t-Sultain',
  24341. 'An Dàmhair',
  24342. 'An t-Samhain',
  24343. 'An Dùbhlachd'],
  24344. monthsShort = [
  24345. 'Faoi',
  24346. 'Gear',
  24347. 'Màrt',
  24348. 'Gibl',
  24349. 'Cèit',
  24350. 'Ògmh',
  24351. 'Iuch',
  24352. 'Lùn',
  24353. 'Sult',
  24354. 'Dàmh',
  24355. 'Samh',
  24356. 'Dùbh'],
  24357. weekdays = [
  24358. 'Didòmhnaich',
  24359. 'Diluain',
  24360. 'Dimàirt',
  24361. 'Diciadain',
  24362. 'Diardaoin',
  24363. 'Dihaoine',
  24364. 'Disathairne'],
  24365. weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],
  24366. weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];
  24367. var gd = moment.defineLocale('gd', {
  24368. months: months,
  24369. monthsShort: monthsShort,
  24370. monthsParseExact: true,
  24371. weekdays: weekdays,
  24372. weekdaysShort: weekdaysShort,
  24373. weekdaysMin: weekdaysMin,
  24374. longDateFormat: {
  24375. LT: 'HH:mm',
  24376. LTS: 'HH:mm:ss',
  24377. L: 'DD/MM/YYYY',
  24378. LL: 'D MMMM YYYY',
  24379. LLL: 'D MMMM YYYY HH:mm',
  24380. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  24381. calendar: {
  24382. sameDay: '[An-diugh aig] LT',
  24383. nextDay: '[A-màireach aig] LT',
  24384. nextWeek: 'dddd [aig] LT',
  24385. lastDay: '[An-dè aig] LT',
  24386. lastWeek: 'dddd [seo chaidh] [aig] LT',
  24387. sameElse: 'L' },
  24388. relativeTime: {
  24389. future: 'ann an %s',
  24390. past: 'bho chionn %s',
  24391. s: 'beagan diogan',
  24392. ss: '%d diogan',
  24393. m: 'mionaid',
  24394. mm: '%d mionaidean',
  24395. h: 'uair',
  24396. hh: '%d uairean',
  24397. d: 'latha',
  24398. dd: '%d latha',
  24399. M: 'mìos',
  24400. MM: '%d mìosan',
  24401. y: 'bliadhna',
  24402. yy: '%d bliadhna' },
  24403. dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
  24404. ordinal: function ordinal(number) {
  24405. var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
  24406. return number + output;
  24407. },
  24408. week: {
  24409. dow: 1, // Monday is the first day of the week.
  24410. doy: 4 // The week that contains Jan 4th is the first week of the year.
  24411. } });
  24412. return gd;
  24413. });
  24414. /***/ }),
  24415. /* 163 */
  24416. /*!*****************************************************************!*\
  24417. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/gl.js ***!
  24418. \*****************************************************************/
  24419. /*! no static exports found */
  24420. /***/ (function(module, exports, __webpack_require__) {
  24421. //! moment.js locale configuration
  24422. //! locale : Galician [gl]
  24423. //! author : Juan G. Hurtado : https://github.com/juanghurtado
  24424. ;(function (global, factory) {
  24425. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  24426. undefined;
  24427. })(this, function (moment) {'use strict';
  24428. //! moment.js locale configuration
  24429. var gl = moment.defineLocale('gl', {
  24430. months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(
  24431. '_'),
  24432. monthsShort:
  24433. 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(
  24434. '_'),
  24435. monthsParseExact: true,
  24436. weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),
  24437. weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),
  24438. weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),
  24439. weekdaysParseExact: true,
  24440. longDateFormat: {
  24441. LT: 'H:mm',
  24442. LTS: 'H:mm:ss',
  24443. L: 'DD/MM/YYYY',
  24444. LL: 'D [de] MMMM [de] YYYY',
  24445. LLL: 'D [de] MMMM [de] YYYY H:mm',
  24446. LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm' },
  24447. calendar: {
  24448. sameDay: function sameDay() {
  24449. return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';
  24450. },
  24451. nextDay: function nextDay() {
  24452. return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';
  24453. },
  24454. nextWeek: function nextWeek() {
  24455. return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';
  24456. },
  24457. lastDay: function lastDay() {
  24458. return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';
  24459. },
  24460. lastWeek: function lastWeek() {
  24461. return (
  24462. '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT');
  24463. },
  24464. sameElse: 'L' },
  24465. relativeTime: {
  24466. future: function future(str) {
  24467. if (str.indexOf('un') === 0) {
  24468. return 'n' + str;
  24469. }
  24470. return 'en ' + str;
  24471. },
  24472. past: 'hai %s',
  24473. s: 'uns segundos',
  24474. ss: '%d segundos',
  24475. m: 'un minuto',
  24476. mm: '%d minutos',
  24477. h: 'unha hora',
  24478. hh: '%d horas',
  24479. d: 'un día',
  24480. dd: '%d días',
  24481. M: 'un mes',
  24482. MM: '%d meses',
  24483. y: 'un ano',
  24484. yy: '%d anos' },
  24485. dayOfMonthOrdinalParse: /\d{1,2}º/,
  24486. ordinal: '%dº',
  24487. week: {
  24488. dow: 1, // Monday is the first day of the week.
  24489. doy: 4 // The week that contains Jan 4th is the first week of the year.
  24490. } });
  24491. return gl;
  24492. });
  24493. /***/ }),
  24494. /* 164 */
  24495. /*!***********************************************************************!*\
  24496. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/gom-deva.js ***!
  24497. \***********************************************************************/
  24498. /*! no static exports found */
  24499. /***/ (function(module, exports, __webpack_require__) {
  24500. //! moment.js locale configuration
  24501. //! locale : Konkani Devanagari script [gom-deva]
  24502. //! author : The Discoverer : https://github.com/WikiDiscoverer
  24503. ;(function (global, factory) {
  24504. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  24505. undefined;
  24506. })(this, function (moment) {'use strict';
  24507. //! moment.js locale configuration
  24508. function processRelativeTime(number, withoutSuffix, key, isFuture) {
  24509. var format = {
  24510. s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],
  24511. ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],
  24512. m: ['एका मिणटान', 'एक मिनूट'],
  24513. mm: [number + ' मिणटांनी', number + ' मिणटां'],
  24514. h: ['एका वरान', 'एक वर'],
  24515. hh: [number + ' वरांनी', number + ' वरां'],
  24516. d: ['एका दिसान', 'एक दीस'],
  24517. dd: [number + ' दिसांनी', number + ' दीस'],
  24518. M: ['एका म्हयन्यान', 'एक म्हयनो'],
  24519. MM: [number + ' म्हयन्यानी', number + ' म्हयने'],
  24520. y: ['एका वर्सान', 'एक वर्स'],
  24521. yy: [number + ' वर्सांनी', number + ' वर्सां'] };
  24522. return isFuture ? format[key][0] : format[key][1];
  24523. }
  24524. var gomDeva = moment.defineLocale('gom-deva', {
  24525. months: {
  24526. standalone:
  24527. 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(
  24528. '_'),
  24529. format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(
  24530. '_'),
  24531. isFormat: /MMMM(\s)+D[oD]?/ },
  24532. monthsShort:
  24533. 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(
  24534. '_'),
  24535. monthsParseExact: true,
  24536. weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),
  24537. weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),
  24538. weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),
  24539. weekdaysParseExact: true,
  24540. longDateFormat: {
  24541. LT: 'A h:mm [वाजतां]',
  24542. LTS: 'A h:mm:ss [वाजतां]',
  24543. L: 'DD-MM-YYYY',
  24544. LL: 'D MMMM YYYY',
  24545. LLL: 'D MMMM YYYY A h:mm [वाजतां]',
  24546. LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',
  24547. llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]' },
  24548. calendar: {
  24549. sameDay: '[आयज] LT',
  24550. nextDay: '[फाल्यां] LT',
  24551. nextWeek: '[फुडलो] dddd[,] LT',
  24552. lastDay: '[काल] LT',
  24553. lastWeek: '[फाटलो] dddd[,] LT',
  24554. sameElse: 'L' },
  24555. relativeTime: {
  24556. future: '%s',
  24557. past: '%s आदीं',
  24558. s: processRelativeTime,
  24559. ss: processRelativeTime,
  24560. m: processRelativeTime,
  24561. mm: processRelativeTime,
  24562. h: processRelativeTime,
  24563. hh: processRelativeTime,
  24564. d: processRelativeTime,
  24565. dd: processRelativeTime,
  24566. M: processRelativeTime,
  24567. MM: processRelativeTime,
  24568. y: processRelativeTime,
  24569. yy: processRelativeTime },
  24570. dayOfMonthOrdinalParse: /\d{1,2}(वेर)/,
  24571. ordinal: function ordinal(number, period) {
  24572. switch (period) {
  24573. // the ordinal 'वेर' only applies to day of the month
  24574. case 'D':
  24575. return number + 'वेर';
  24576. default:
  24577. case 'M':
  24578. case 'Q':
  24579. case 'DDD':
  24580. case 'd':
  24581. case 'w':
  24582. case 'W':
  24583. return number;}
  24584. },
  24585. week: {
  24586. dow: 0, // Sunday is the first day of the week
  24587. doy: 3 // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)
  24588. },
  24589. meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,
  24590. meridiemHour: function meridiemHour(hour, meridiem) {
  24591. if (hour === 12) {
  24592. hour = 0;
  24593. }
  24594. if (meridiem === 'राती') {
  24595. return hour < 4 ? hour : hour + 12;
  24596. } else if (meridiem === 'सकाळीं') {
  24597. return hour;
  24598. } else if (meridiem === 'दनपारां') {
  24599. return hour > 12 ? hour : hour + 12;
  24600. } else if (meridiem === 'सांजे') {
  24601. return hour + 12;
  24602. }
  24603. },
  24604. meridiem: function meridiem(hour, minute, isLower) {
  24605. if (hour < 4) {
  24606. return 'राती';
  24607. } else if (hour < 12) {
  24608. return 'सकाळीं';
  24609. } else if (hour < 16) {
  24610. return 'दनपारां';
  24611. } else if (hour < 20) {
  24612. return 'सांजे';
  24613. } else {
  24614. return 'राती';
  24615. }
  24616. } });
  24617. return gomDeva;
  24618. });
  24619. /***/ }),
  24620. /* 165 */
  24621. /*!***********************************************************************!*\
  24622. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/gom-latn.js ***!
  24623. \***********************************************************************/
  24624. /*! no static exports found */
  24625. /***/ (function(module, exports, __webpack_require__) {
  24626. //! moment.js locale configuration
  24627. //! locale : Konkani Latin script [gom-latn]
  24628. //! author : The Discoverer : https://github.com/WikiDiscoverer
  24629. ;(function (global, factory) {
  24630. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  24631. undefined;
  24632. })(this, function (moment) {'use strict';
  24633. //! moment.js locale configuration
  24634. function processRelativeTime(number, withoutSuffix, key, isFuture) {
  24635. var format = {
  24636. s: ['thoddea sekondamni', 'thodde sekond'],
  24637. ss: [number + ' sekondamni', number + ' sekond'],
  24638. m: ['eka mintan', 'ek minut'],
  24639. mm: [number + ' mintamni', number + ' mintam'],
  24640. h: ['eka voran', 'ek vor'],
  24641. hh: [number + ' voramni', number + ' voram'],
  24642. d: ['eka disan', 'ek dis'],
  24643. dd: [number + ' disamni', number + ' dis'],
  24644. M: ['eka mhoinean', 'ek mhoino'],
  24645. MM: [number + ' mhoineamni', number + ' mhoine'],
  24646. y: ['eka vorsan', 'ek voros'],
  24647. yy: [number + ' vorsamni', number + ' vorsam'] };
  24648. return isFuture ? format[key][0] : format[key][1];
  24649. }
  24650. var gomLatn = moment.defineLocale('gom-latn', {
  24651. months: {
  24652. standalone:
  24653. 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(
  24654. '_'),
  24655. format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(
  24656. '_'),
  24657. isFormat: /MMMM(\s)+D[oD]?/ },
  24658. monthsShort:
  24659. 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),
  24660. monthsParseExact: true,
  24661. weekdays: "Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split('_'),
  24662. weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),
  24663. weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),
  24664. weekdaysParseExact: true,
  24665. longDateFormat: {
  24666. LT: 'A h:mm [vazta]',
  24667. LTS: 'A h:mm:ss [vazta]',
  24668. L: 'DD-MM-YYYY',
  24669. LL: 'D MMMM YYYY',
  24670. LLL: 'D MMMM YYYY A h:mm [vazta]',
  24671. LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',
  24672. llll: 'ddd, D MMM YYYY, A h:mm [vazta]' },
  24673. calendar: {
  24674. sameDay: '[Aiz] LT',
  24675. nextDay: '[Faleam] LT',
  24676. nextWeek: '[Fuddlo] dddd[,] LT',
  24677. lastDay: '[Kal] LT',
  24678. lastWeek: '[Fattlo] dddd[,] LT',
  24679. sameElse: 'L' },
  24680. relativeTime: {
  24681. future: '%s',
  24682. past: '%s adim',
  24683. s: processRelativeTime,
  24684. ss: processRelativeTime,
  24685. m: processRelativeTime,
  24686. mm: processRelativeTime,
  24687. h: processRelativeTime,
  24688. hh: processRelativeTime,
  24689. d: processRelativeTime,
  24690. dd: processRelativeTime,
  24691. M: processRelativeTime,
  24692. MM: processRelativeTime,
  24693. y: processRelativeTime,
  24694. yy: processRelativeTime },
  24695. dayOfMonthOrdinalParse: /\d{1,2}(er)/,
  24696. ordinal: function ordinal(number, period) {
  24697. switch (period) {
  24698. // the ordinal 'er' only applies to day of the month
  24699. case 'D':
  24700. return number + 'er';
  24701. default:
  24702. case 'M':
  24703. case 'Q':
  24704. case 'DDD':
  24705. case 'd':
  24706. case 'w':
  24707. case 'W':
  24708. return number;}
  24709. },
  24710. week: {
  24711. dow: 0, // Sunday is the first day of the week
  24712. doy: 3 // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)
  24713. },
  24714. meridiemParse: /rati|sokallim|donparam|sanje/,
  24715. meridiemHour: function meridiemHour(hour, meridiem) {
  24716. if (hour === 12) {
  24717. hour = 0;
  24718. }
  24719. if (meridiem === 'rati') {
  24720. return hour < 4 ? hour : hour + 12;
  24721. } else if (meridiem === 'sokallim') {
  24722. return hour;
  24723. } else if (meridiem === 'donparam') {
  24724. return hour > 12 ? hour : hour + 12;
  24725. } else if (meridiem === 'sanje') {
  24726. return hour + 12;
  24727. }
  24728. },
  24729. meridiem: function meridiem(hour, minute, isLower) {
  24730. if (hour < 4) {
  24731. return 'rati';
  24732. } else if (hour < 12) {
  24733. return 'sokallim';
  24734. } else if (hour < 16) {
  24735. return 'donparam';
  24736. } else if (hour < 20) {
  24737. return 'sanje';
  24738. } else {
  24739. return 'rati';
  24740. }
  24741. } });
  24742. return gomLatn;
  24743. });
  24744. /***/ }),
  24745. /* 166 */
  24746. /*!*****************************************************************!*\
  24747. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/gu.js ***!
  24748. \*****************************************************************/
  24749. /*! no static exports found */
  24750. /***/ (function(module, exports, __webpack_require__) {
  24751. //! moment.js locale configuration
  24752. //! locale : Gujarati [gu]
  24753. //! author : Kaushik Thanki : https://github.com/Kaushik1987
  24754. ;(function (global, factory) {
  24755. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  24756. undefined;
  24757. })(this, function (moment) {'use strict';
  24758. //! moment.js locale configuration
  24759. var symbolMap = {
  24760. 1: '૧',
  24761. 2: '૨',
  24762. 3: '૩',
  24763. 4: '૪',
  24764. 5: '૫',
  24765. 6: '૬',
  24766. 7: '૭',
  24767. 8: '૮',
  24768. 9: '૯',
  24769. 0: '૦' },
  24770. numberMap = {
  24771. '૧': '1',
  24772. '૨': '2',
  24773. '૩': '3',
  24774. '૪': '4',
  24775. '૫': '5',
  24776. '૬': '6',
  24777. '૭': '7',
  24778. '૮': '8',
  24779. '૯': '9',
  24780. '૦': '0' };
  24781. var gu = moment.defineLocale('gu', {
  24782. months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(
  24783. '_'),
  24784. monthsShort:
  24785. 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(
  24786. '_'),
  24787. monthsParseExact: true,
  24788. weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(
  24789. '_'),
  24790. weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),
  24791. weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),
  24792. longDateFormat: {
  24793. LT: 'A h:mm વાગ્યે',
  24794. LTS: 'A h:mm:ss વાગ્યે',
  24795. L: 'DD/MM/YYYY',
  24796. LL: 'D MMMM YYYY',
  24797. LLL: 'D MMMM YYYY, A h:mm વાગ્યે',
  24798. LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે' },
  24799. calendar: {
  24800. sameDay: '[આજ] LT',
  24801. nextDay: '[કાલે] LT',
  24802. nextWeek: 'dddd, LT',
  24803. lastDay: '[ગઇકાલે] LT',
  24804. lastWeek: '[પાછલા] dddd, LT',
  24805. sameElse: 'L' },
  24806. relativeTime: {
  24807. future: '%s મા',
  24808. past: '%s પહેલા',
  24809. s: 'અમુક પળો',
  24810. ss: '%d સેકંડ',
  24811. m: 'એક મિનિટ',
  24812. mm: '%d મિનિટ',
  24813. h: 'એક કલાક',
  24814. hh: '%d કલાક',
  24815. d: 'એક દિવસ',
  24816. dd: '%d દિવસ',
  24817. M: 'એક મહિનો',
  24818. MM: '%d મહિનો',
  24819. y: 'એક વર્ષ',
  24820. yy: '%d વર્ષ' },
  24821. preparse: function preparse(string) {
  24822. return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {
  24823. return numberMap[match];
  24824. });
  24825. },
  24826. postformat: function postformat(string) {
  24827. return string.replace(/\d/g, function (match) {
  24828. return symbolMap[match];
  24829. });
  24830. },
  24831. // Gujarati notation for meridiems are quite fuzzy in practice. While there exists
  24832. // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.
  24833. meridiemParse: /રાત|બપોર|સવાર|સાંજ/,
  24834. meridiemHour: function meridiemHour(hour, meridiem) {
  24835. if (hour === 12) {
  24836. hour = 0;
  24837. }
  24838. if (meridiem === 'રાત') {
  24839. return hour < 4 ? hour : hour + 12;
  24840. } else if (meridiem === 'સવાર') {
  24841. return hour;
  24842. } else if (meridiem === 'બપોર') {
  24843. return hour >= 10 ? hour : hour + 12;
  24844. } else if (meridiem === 'સાંજ') {
  24845. return hour + 12;
  24846. }
  24847. },
  24848. meridiem: function meridiem(hour, minute, isLower) {
  24849. if (hour < 4) {
  24850. return 'રાત';
  24851. } else if (hour < 10) {
  24852. return 'સવાર';
  24853. } else if (hour < 17) {
  24854. return 'બપોર';
  24855. } else if (hour < 20) {
  24856. return 'સાંજ';
  24857. } else {
  24858. return 'રાત';
  24859. }
  24860. },
  24861. week: {
  24862. dow: 0, // Sunday is the first day of the week.
  24863. doy: 6 // The week that contains Jan 6th is the first week of the year.
  24864. } });
  24865. return gu;
  24866. });
  24867. /***/ }),
  24868. /* 167 */
  24869. /*!*****************************************************************!*\
  24870. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/he.js ***!
  24871. \*****************************************************************/
  24872. /*! no static exports found */
  24873. /***/ (function(module, exports, __webpack_require__) {
  24874. //! moment.js locale configuration
  24875. //! locale : Hebrew [he]
  24876. //! author : Tomer Cohen : https://github.com/tomer
  24877. //! author : Moshe Simantov : https://github.com/DevelopmentIL
  24878. //! author : Tal Ater : https://github.com/TalAter
  24879. ;(function (global, factory) {
  24880. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  24881. undefined;
  24882. })(this, function (moment) {'use strict';
  24883. //! moment.js locale configuration
  24884. var he = moment.defineLocale('he', {
  24885. months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(
  24886. '_'),
  24887. monthsShort:
  24888. 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),
  24889. weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),
  24890. weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),
  24891. weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),
  24892. longDateFormat: {
  24893. LT: 'HH:mm',
  24894. LTS: 'HH:mm:ss',
  24895. L: 'DD/MM/YYYY',
  24896. LL: 'D [ב]MMMM YYYY',
  24897. LLL: 'D [ב]MMMM YYYY HH:mm',
  24898. LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',
  24899. l: 'D/M/YYYY',
  24900. ll: 'D MMM YYYY',
  24901. lll: 'D MMM YYYY HH:mm',
  24902. llll: 'ddd, D MMM YYYY HH:mm' },
  24903. calendar: {
  24904. sameDay: '[היום ב־]LT',
  24905. nextDay: '[מחר ב־]LT',
  24906. nextWeek: 'dddd [בשעה] LT',
  24907. lastDay: '[אתמול ב־]LT',
  24908. lastWeek: '[ביום] dddd [האחרון בשעה] LT',
  24909. sameElse: 'L' },
  24910. relativeTime: {
  24911. future: 'בעוד %s',
  24912. past: 'לפני %s',
  24913. s: 'מספר שניות',
  24914. ss: '%d שניות',
  24915. m: 'דקה',
  24916. mm: '%d דקות',
  24917. h: 'שעה',
  24918. hh: function hh(number) {
  24919. if (number === 2) {
  24920. return 'שעתיים';
  24921. }
  24922. return number + ' שעות';
  24923. },
  24924. d: 'יום',
  24925. dd: function dd(number) {
  24926. if (number === 2) {
  24927. return 'יומיים';
  24928. }
  24929. return number + ' ימים';
  24930. },
  24931. M: 'חודש',
  24932. MM: function MM(number) {
  24933. if (number === 2) {
  24934. return 'חודשיים';
  24935. }
  24936. return number + ' חודשים';
  24937. },
  24938. y: 'שנה',
  24939. yy: function yy(number) {
  24940. if (number === 2) {
  24941. return 'שנתיים';
  24942. } else if (number % 10 === 0 && number !== 10) {
  24943. return number + ' שנה';
  24944. }
  24945. return number + ' שנים';
  24946. } },
  24947. meridiemParse:
  24948. /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,
  24949. isPM: function isPM(input) {
  24950. return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input);
  24951. },
  24952. meridiem: function meridiem(hour, minute, isLower) {
  24953. if (hour < 5) {
  24954. return 'לפנות בוקר';
  24955. } else if (hour < 10) {
  24956. return 'בבוקר';
  24957. } else if (hour < 12) {
  24958. return isLower ? 'לפנה"צ' : 'לפני הצהריים';
  24959. } else if (hour < 18) {
  24960. return isLower ? 'אחה"צ' : 'אחרי הצהריים';
  24961. } else {
  24962. return 'בערב';
  24963. }
  24964. } });
  24965. return he;
  24966. });
  24967. /***/ }),
  24968. /* 168 */
  24969. /*!*****************************************************************!*\
  24970. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/hi.js ***!
  24971. \*****************************************************************/
  24972. /*! no static exports found */
  24973. /***/ (function(module, exports, __webpack_require__) {
  24974. //! moment.js locale configuration
  24975. //! locale : Hindi [hi]
  24976. //! author : Mayank Singhal : https://github.com/mayanksinghal
  24977. ;(function (global, factory) {
  24978. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  24979. undefined;
  24980. })(this, function (moment) {'use strict';
  24981. //! moment.js locale configuration
  24982. var symbolMap = {
  24983. 1: '१',
  24984. 2: '२',
  24985. 3: '३',
  24986. 4: '४',
  24987. 5: '५',
  24988. 6: '६',
  24989. 7: '७',
  24990. 8: '८',
  24991. 9: '९',
  24992. 0: '०' },
  24993. numberMap = {
  24994. '१': '1',
  24995. '२': '2',
  24996. '३': '3',
  24997. '४': '4',
  24998. '५': '5',
  24999. '६': '6',
  25000. '७': '7',
  25001. '८': '8',
  25002. '९': '9',
  25003. '०': '0' },
  25004. monthsParse = [
  25005. /^जन/i,
  25006. /^फ़र|फर/i,
  25007. /^मार्च/i,
  25008. /^अप्रै/i,
  25009. /^मई/i,
  25010. /^जून/i,
  25011. /^जुल/i,
  25012. /^अग/i,
  25013. /^सितं|सित/i,
  25014. /^अक्टू/i,
  25015. /^नव|नवं/i,
  25016. /^दिसं|दिस/i],
  25017. shortMonthsParse = [
  25018. /^जन/i,
  25019. /^फ़र/i,
  25020. /^मार्च/i,
  25021. /^अप्रै/i,
  25022. /^मई/i,
  25023. /^जून/i,
  25024. /^जुल/i,
  25025. /^अग/i,
  25026. /^सित/i,
  25027. /^अक्टू/i,
  25028. /^नव/i,
  25029. /^दिस/i];
  25030. var hi = moment.defineLocale('hi', {
  25031. months: {
  25032. format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(
  25033. '_'),
  25034. standalone:
  25035. 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(
  25036. '_') },
  25037. monthsShort:
  25038. 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),
  25039. weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
  25040. weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),
  25041. weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),
  25042. longDateFormat: {
  25043. LT: 'A h:mm बजे',
  25044. LTS: 'A h:mm:ss बजे',
  25045. L: 'DD/MM/YYYY',
  25046. LL: 'D MMMM YYYY',
  25047. LLL: 'D MMMM YYYY, A h:mm बजे',
  25048. LLLL: 'dddd, D MMMM YYYY, A h:mm बजे' },
  25049. monthsParse: monthsParse,
  25050. longMonthsParse: monthsParse,
  25051. shortMonthsParse: shortMonthsParse,
  25052. monthsRegex:
  25053. /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i,
  25054. monthsShortRegex:
  25055. /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i,
  25056. monthsStrictRegex:
  25057. /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,
  25058. monthsShortStrictRegex:
  25059. /^(जन\.?|फ़र\.?|मार्च?|अप्रै\.?|मई?|जून?|जुल\.?|अग\.?|सित\.?|अक्टू\.?|नव\.?|दिस\.?)/i,
  25060. calendar: {
  25061. sameDay: '[आज] LT',
  25062. nextDay: '[कल] LT',
  25063. nextWeek: 'dddd, LT',
  25064. lastDay: '[कल] LT',
  25065. lastWeek: '[पिछले] dddd, LT',
  25066. sameElse: 'L' },
  25067. relativeTime: {
  25068. future: '%s में',
  25069. past: '%s पहले',
  25070. s: 'कुछ ही क्षण',
  25071. ss: '%d सेकंड',
  25072. m: 'एक मिनट',
  25073. mm: '%d मिनट',
  25074. h: 'एक घंटा',
  25075. hh: '%d घंटे',
  25076. d: 'एक दिन',
  25077. dd: '%d दिन',
  25078. M: 'एक महीने',
  25079. MM: '%d महीने',
  25080. y: 'एक वर्ष',
  25081. yy: '%d वर्ष' },
  25082. preparse: function preparse(string) {
  25083. return string.replace(/[१२३४५६७८९०]/g, function (match) {
  25084. return numberMap[match];
  25085. });
  25086. },
  25087. postformat: function postformat(string) {
  25088. return string.replace(/\d/g, function (match) {
  25089. return symbolMap[match];
  25090. });
  25091. },
  25092. // Hindi notation for meridiems are quite fuzzy in practice. While there exists
  25093. // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
  25094. meridiemParse: /रात|सुबह|दोपहर|शाम/,
  25095. meridiemHour: function meridiemHour(hour, meridiem) {
  25096. if (hour === 12) {
  25097. hour = 0;
  25098. }
  25099. if (meridiem === 'रात') {
  25100. return hour < 4 ? hour : hour + 12;
  25101. } else if (meridiem === 'सुबह') {
  25102. return hour;
  25103. } else if (meridiem === 'दोपहर') {
  25104. return hour >= 10 ? hour : hour + 12;
  25105. } else if (meridiem === 'शाम') {
  25106. return hour + 12;
  25107. }
  25108. },
  25109. meridiem: function meridiem(hour, minute, isLower) {
  25110. if (hour < 4) {
  25111. return 'रात';
  25112. } else if (hour < 10) {
  25113. return 'सुबह';
  25114. } else if (hour < 17) {
  25115. return 'दोपहर';
  25116. } else if (hour < 20) {
  25117. return 'शाम';
  25118. } else {
  25119. return 'रात';
  25120. }
  25121. },
  25122. week: {
  25123. dow: 0, // Sunday is the first day of the week.
  25124. doy: 6 // The week that contains Jan 6th is the first week of the year.
  25125. } });
  25126. return hi;
  25127. });
  25128. /***/ }),
  25129. /* 169 */
  25130. /*!*****************************************************************!*\
  25131. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/hr.js ***!
  25132. \*****************************************************************/
  25133. /*! no static exports found */
  25134. /***/ (function(module, exports, __webpack_require__) {
  25135. //! moment.js locale configuration
  25136. //! locale : Croatian [hr]
  25137. //! author : Bojan Marković : https://github.com/bmarkovic
  25138. ;(function (global, factory) {
  25139. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  25140. undefined;
  25141. })(this, function (moment) {'use strict';
  25142. //! moment.js locale configuration
  25143. function translate(number, withoutSuffix, key) {
  25144. var result = number + ' ';
  25145. switch (key) {
  25146. case 'ss':
  25147. if (number === 1) {
  25148. result += 'sekunda';
  25149. } else if (number === 2 || number === 3 || number === 4) {
  25150. result += 'sekunde';
  25151. } else {
  25152. result += 'sekundi';
  25153. }
  25154. return result;
  25155. case 'm':
  25156. return withoutSuffix ? 'jedna minuta' : 'jedne minute';
  25157. case 'mm':
  25158. if (number === 1) {
  25159. result += 'minuta';
  25160. } else if (number === 2 || number === 3 || number === 4) {
  25161. result += 'minute';
  25162. } else {
  25163. result += 'minuta';
  25164. }
  25165. return result;
  25166. case 'h':
  25167. return withoutSuffix ? 'jedan sat' : 'jednog sata';
  25168. case 'hh':
  25169. if (number === 1) {
  25170. result += 'sat';
  25171. } else if (number === 2 || number === 3 || number === 4) {
  25172. result += 'sata';
  25173. } else {
  25174. result += 'sati';
  25175. }
  25176. return result;
  25177. case 'dd':
  25178. if (number === 1) {
  25179. result += 'dan';
  25180. } else {
  25181. result += 'dana';
  25182. }
  25183. return result;
  25184. case 'MM':
  25185. if (number === 1) {
  25186. result += 'mjesec';
  25187. } else if (number === 2 || number === 3 || number === 4) {
  25188. result += 'mjeseca';
  25189. } else {
  25190. result += 'mjeseci';
  25191. }
  25192. return result;
  25193. case 'yy':
  25194. if (number === 1) {
  25195. result += 'godina';
  25196. } else if (number === 2 || number === 3 || number === 4) {
  25197. result += 'godine';
  25198. } else {
  25199. result += 'godina';
  25200. }
  25201. return result;}
  25202. }
  25203. var hr = moment.defineLocale('hr', {
  25204. months: {
  25205. format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(
  25206. '_'),
  25207. standalone:
  25208. 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(
  25209. '_') },
  25210. monthsShort:
  25211. 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(
  25212. '_'),
  25213. monthsParseExact: true,
  25214. weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(
  25215. '_'),
  25216. weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
  25217. weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
  25218. weekdaysParseExact: true,
  25219. longDateFormat: {
  25220. LT: 'H:mm',
  25221. LTS: 'H:mm:ss',
  25222. L: 'DD.MM.YYYY',
  25223. LL: 'Do MMMM YYYY',
  25224. LLL: 'Do MMMM YYYY H:mm',
  25225. LLLL: 'dddd, Do MMMM YYYY H:mm' },
  25226. calendar: {
  25227. sameDay: '[danas u] LT',
  25228. nextDay: '[sutra u] LT',
  25229. nextWeek: function nextWeek() {
  25230. switch (this.day()) {
  25231. case 0:
  25232. return '[u] [nedjelju] [u] LT';
  25233. case 3:
  25234. return '[u] [srijedu] [u] LT';
  25235. case 6:
  25236. return '[u] [subotu] [u] LT';
  25237. case 1:
  25238. case 2:
  25239. case 4:
  25240. case 5:
  25241. return '[u] dddd [u] LT';}
  25242. },
  25243. lastDay: '[jučer u] LT',
  25244. lastWeek: function lastWeek() {
  25245. switch (this.day()) {
  25246. case 0:
  25247. return '[prošlu] [nedjelju] [u] LT';
  25248. case 3:
  25249. return '[prošlu] [srijedu] [u] LT';
  25250. case 6:
  25251. return '[prošle] [subote] [u] LT';
  25252. case 1:
  25253. case 2:
  25254. case 4:
  25255. case 5:
  25256. return '[prošli] dddd [u] LT';}
  25257. },
  25258. sameElse: 'L' },
  25259. relativeTime: {
  25260. future: 'za %s',
  25261. past: 'prije %s',
  25262. s: 'par sekundi',
  25263. ss: translate,
  25264. m: translate,
  25265. mm: translate,
  25266. h: translate,
  25267. hh: translate,
  25268. d: 'dan',
  25269. dd: translate,
  25270. M: 'mjesec',
  25271. MM: translate,
  25272. y: 'godinu',
  25273. yy: translate },
  25274. dayOfMonthOrdinalParse: /\d{1,2}\./,
  25275. ordinal: '%d.',
  25276. week: {
  25277. dow: 1, // Monday is the first day of the week.
  25278. doy: 7 // The week that contains Jan 7th is the first week of the year.
  25279. } });
  25280. return hr;
  25281. });
  25282. /***/ }),
  25283. /* 170 */
  25284. /*!*****************************************************************!*\
  25285. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/hu.js ***!
  25286. \*****************************************************************/
  25287. /*! no static exports found */
  25288. /***/ (function(module, exports, __webpack_require__) {
  25289. //! moment.js locale configuration
  25290. //! locale : Hungarian [hu]
  25291. //! author : Adam Brunner : https://github.com/adambrunner
  25292. //! author : Peter Viszt : https://github.com/passatgt
  25293. ;(function (global, factory) {
  25294. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  25295. undefined;
  25296. })(this, function (moment) {'use strict';
  25297. //! moment.js locale configuration
  25298. var weekEndings =
  25299. 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');
  25300. function translate(number, withoutSuffix, key, isFuture) {
  25301. var num = number;
  25302. switch (key) {
  25303. case 's':
  25304. return isFuture || withoutSuffix ?
  25305. 'néhány másodperc' :
  25306. 'néhány másodperce';
  25307. case 'ss':
  25308. return num + (isFuture || withoutSuffix) ?
  25309. ' másodperc' :
  25310. ' másodperce';
  25311. case 'm':
  25312. return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');
  25313. case 'mm':
  25314. return num + (isFuture || withoutSuffix ? ' perc' : ' perce');
  25315. case 'h':
  25316. return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');
  25317. case 'hh':
  25318. return num + (isFuture || withoutSuffix ? ' óra' : ' órája');
  25319. case 'd':
  25320. return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');
  25321. case 'dd':
  25322. return num + (isFuture || withoutSuffix ? ' nap' : ' napja');
  25323. case 'M':
  25324. return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
  25325. case 'MM':
  25326. return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
  25327. case 'y':
  25328. return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');
  25329. case 'yy':
  25330. return num + (isFuture || withoutSuffix ? ' év' : ' éve');}
  25331. return '';
  25332. }
  25333. function week(isFuture) {
  25334. return (
  25335. (isFuture ? '' : '[múlt] ') +
  25336. '[' +
  25337. weekEndings[this.day()] +
  25338. '] LT[-kor]');
  25339. }
  25340. var hu = moment.defineLocale('hu', {
  25341. months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(
  25342. '_'),
  25343. monthsShort:
  25344. 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(
  25345. '_'),
  25346. monthsParseExact: true,
  25347. weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),
  25348. weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),
  25349. weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),
  25350. longDateFormat: {
  25351. LT: 'H:mm',
  25352. LTS: 'H:mm:ss',
  25353. L: 'YYYY.MM.DD.',
  25354. LL: 'YYYY. MMMM D.',
  25355. LLL: 'YYYY. MMMM D. H:mm',
  25356. LLLL: 'YYYY. MMMM D., dddd H:mm' },
  25357. meridiemParse: /de|du/i,
  25358. isPM: function isPM(input) {
  25359. return input.charAt(1).toLowerCase() === 'u';
  25360. },
  25361. meridiem: function meridiem(hours, minutes, isLower) {
  25362. if (hours < 12) {
  25363. return isLower === true ? 'de' : 'DE';
  25364. } else {
  25365. return isLower === true ? 'du' : 'DU';
  25366. }
  25367. },
  25368. calendar: {
  25369. sameDay: '[ma] LT[-kor]',
  25370. nextDay: '[holnap] LT[-kor]',
  25371. nextWeek: function nextWeek() {
  25372. return week.call(this, true);
  25373. },
  25374. lastDay: '[tegnap] LT[-kor]',
  25375. lastWeek: function lastWeek() {
  25376. return week.call(this, false);
  25377. },
  25378. sameElse: 'L' },
  25379. relativeTime: {
  25380. future: '%s múlva',
  25381. past: '%s',
  25382. s: translate,
  25383. ss: translate,
  25384. m: translate,
  25385. mm: translate,
  25386. h: translate,
  25387. hh: translate,
  25388. d: translate,
  25389. dd: translate,
  25390. M: translate,
  25391. MM: translate,
  25392. y: translate,
  25393. yy: translate },
  25394. dayOfMonthOrdinalParse: /\d{1,2}\./,
  25395. ordinal: '%d.',
  25396. week: {
  25397. dow: 1, // Monday is the first day of the week.
  25398. doy: 4 // The week that contains Jan 4th is the first week of the year.
  25399. } });
  25400. return hu;
  25401. });
  25402. /***/ }),
  25403. /* 171 */
  25404. /*!********************************************************************!*\
  25405. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/hy-am.js ***!
  25406. \********************************************************************/
  25407. /*! no static exports found */
  25408. /***/ (function(module, exports, __webpack_require__) {
  25409. //! moment.js locale configuration
  25410. //! locale : Armenian [hy-am]
  25411. //! author : Armendarabyan : https://github.com/armendarabyan
  25412. ;(function (global, factory) {
  25413. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  25414. undefined;
  25415. })(this, function (moment) {'use strict';
  25416. //! moment.js locale configuration
  25417. var hyAm = moment.defineLocale('hy-am', {
  25418. months: {
  25419. format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(
  25420. '_'),
  25421. standalone:
  25422. 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(
  25423. '_') },
  25424. monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),
  25425. weekdays:
  25426. 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(
  25427. '_'),
  25428. weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
  25429. weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
  25430. longDateFormat: {
  25431. LT: 'HH:mm',
  25432. LTS: 'HH:mm:ss',
  25433. L: 'DD.MM.YYYY',
  25434. LL: 'D MMMM YYYY թ.',
  25435. LLL: 'D MMMM YYYY թ., HH:mm',
  25436. LLLL: 'dddd, D MMMM YYYY թ., HH:mm' },
  25437. calendar: {
  25438. sameDay: '[այսօր] LT',
  25439. nextDay: '[վաղը] LT',
  25440. lastDay: '[երեկ] LT',
  25441. nextWeek: function nextWeek() {
  25442. return 'dddd [օրը ժամը] LT';
  25443. },
  25444. lastWeek: function lastWeek() {
  25445. return '[անցած] dddd [օրը ժամը] LT';
  25446. },
  25447. sameElse: 'L' },
  25448. relativeTime: {
  25449. future: '%s հետո',
  25450. past: '%s առաջ',
  25451. s: 'մի քանի վայրկյան',
  25452. ss: '%d վայրկյան',
  25453. m: 'րոպե',
  25454. mm: '%d րոպե',
  25455. h: 'ժամ',
  25456. hh: '%d ժամ',
  25457. d: 'օր',
  25458. dd: '%d օր',
  25459. M: 'ամիս',
  25460. MM: '%d ամիս',
  25461. y: 'տարի',
  25462. yy: '%d տարի' },
  25463. meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,
  25464. isPM: function isPM(input) {
  25465. return /^(ցերեկվա|երեկոյան)$/.test(input);
  25466. },
  25467. meridiem: function meridiem(hour) {
  25468. if (hour < 4) {
  25469. return 'գիշերվա';
  25470. } else if (hour < 12) {
  25471. return 'առավոտվա';
  25472. } else if (hour < 17) {
  25473. return 'ցերեկվա';
  25474. } else {
  25475. return 'երեկոյան';
  25476. }
  25477. },
  25478. dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/,
  25479. ordinal: function ordinal(number, period) {
  25480. switch (period) {
  25481. case 'DDD':
  25482. case 'w':
  25483. case 'W':
  25484. case 'DDDo':
  25485. if (number === 1) {
  25486. return number + '-ին';
  25487. }
  25488. return number + '-րդ';
  25489. default:
  25490. return number;}
  25491. },
  25492. week: {
  25493. dow: 1, // Monday is the first day of the week.
  25494. doy: 7 // The week that contains Jan 7th is the first week of the year.
  25495. } });
  25496. return hyAm;
  25497. });
  25498. /***/ }),
  25499. /* 172 */
  25500. /*!*****************************************************************!*\
  25501. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/id.js ***!
  25502. \*****************************************************************/
  25503. /*! no static exports found */
  25504. /***/ (function(module, exports, __webpack_require__) {
  25505. //! moment.js locale configuration
  25506. //! locale : Indonesian [id]
  25507. //! author : Mohammad Satrio Utomo : https://github.com/tyok
  25508. //! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan
  25509. ;(function (global, factory) {
  25510. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  25511. undefined;
  25512. })(this, function (moment) {'use strict';
  25513. //! moment.js locale configuration
  25514. var id = moment.defineLocale('id', {
  25515. months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(
  25516. '_'),
  25517. monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),
  25518. weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
  25519. weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
  25520. weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
  25521. longDateFormat: {
  25522. LT: 'HH.mm',
  25523. LTS: 'HH.mm.ss',
  25524. L: 'DD/MM/YYYY',
  25525. LL: 'D MMMM YYYY',
  25526. LLL: 'D MMMM YYYY [pukul] HH.mm',
  25527. LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm' },
  25528. meridiemParse: /pagi|siang|sore|malam/,
  25529. meridiemHour: function meridiemHour(hour, meridiem) {
  25530. if (hour === 12) {
  25531. hour = 0;
  25532. }
  25533. if (meridiem === 'pagi') {
  25534. return hour;
  25535. } else if (meridiem === 'siang') {
  25536. return hour >= 11 ? hour : hour + 12;
  25537. } else if (meridiem === 'sore' || meridiem === 'malam') {
  25538. return hour + 12;
  25539. }
  25540. },
  25541. meridiem: function meridiem(hours, minutes, isLower) {
  25542. if (hours < 11) {
  25543. return 'pagi';
  25544. } else if (hours < 15) {
  25545. return 'siang';
  25546. } else if (hours < 19) {
  25547. return 'sore';
  25548. } else {
  25549. return 'malam';
  25550. }
  25551. },
  25552. calendar: {
  25553. sameDay: '[Hari ini pukul] LT',
  25554. nextDay: '[Besok pukul] LT',
  25555. nextWeek: 'dddd [pukul] LT',
  25556. lastDay: '[Kemarin pukul] LT',
  25557. lastWeek: 'dddd [lalu pukul] LT',
  25558. sameElse: 'L' },
  25559. relativeTime: {
  25560. future: 'dalam %s',
  25561. past: '%s yang lalu',
  25562. s: 'beberapa detik',
  25563. ss: '%d detik',
  25564. m: 'semenit',
  25565. mm: '%d menit',
  25566. h: 'sejam',
  25567. hh: '%d jam',
  25568. d: 'sehari',
  25569. dd: '%d hari',
  25570. M: 'sebulan',
  25571. MM: '%d bulan',
  25572. y: 'setahun',
  25573. yy: '%d tahun' },
  25574. week: {
  25575. dow: 0, // Sunday is the first day of the week.
  25576. doy: 6 // The week that contains Jan 6th is the first week of the year.
  25577. } });
  25578. return id;
  25579. });
  25580. /***/ }),
  25581. /* 173 */
  25582. /*!*****************************************************************!*\
  25583. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/is.js ***!
  25584. \*****************************************************************/
  25585. /*! no static exports found */
  25586. /***/ (function(module, exports, __webpack_require__) {
  25587. //! moment.js locale configuration
  25588. //! locale : Icelandic [is]
  25589. //! author : Hinrik Örn Sigurðsson : https://github.com/hinrik
  25590. ;(function (global, factory) {
  25591. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  25592. undefined;
  25593. })(this, function (moment) {'use strict';
  25594. //! moment.js locale configuration
  25595. function plural(n) {
  25596. if (n % 100 === 11) {
  25597. return true;
  25598. } else if (n % 10 === 1) {
  25599. return false;
  25600. }
  25601. return true;
  25602. }
  25603. function translate(number, withoutSuffix, key, isFuture) {
  25604. var result = number + ' ';
  25605. switch (key) {
  25606. case 's':
  25607. return withoutSuffix || isFuture ?
  25608. 'nokkrar sekúndur' :
  25609. 'nokkrum sekúndum';
  25610. case 'ss':
  25611. if (plural(number)) {
  25612. return (
  25613. result + (
  25614. withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum'));
  25615. }
  25616. return result + 'sekúnda';
  25617. case 'm':
  25618. return withoutSuffix ? 'mínúta' : 'mínútu';
  25619. case 'mm':
  25620. if (plural(number)) {
  25621. return (
  25622. result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum'));
  25623. } else if (withoutSuffix) {
  25624. return result + 'mínúta';
  25625. }
  25626. return result + 'mínútu';
  25627. case 'hh':
  25628. if (plural(number)) {
  25629. return (
  25630. result + (
  25631. withoutSuffix || isFuture ?
  25632. 'klukkustundir' :
  25633. 'klukkustundum'));
  25634. }
  25635. return result + 'klukkustund';
  25636. case 'd':
  25637. if (withoutSuffix) {
  25638. return 'dagur';
  25639. }
  25640. return isFuture ? 'dag' : 'degi';
  25641. case 'dd':
  25642. if (plural(number)) {
  25643. if (withoutSuffix) {
  25644. return result + 'dagar';
  25645. }
  25646. return result + (isFuture ? 'daga' : 'dögum');
  25647. } else if (withoutSuffix) {
  25648. return result + 'dagur';
  25649. }
  25650. return result + (isFuture ? 'dag' : 'degi');
  25651. case 'M':
  25652. if (withoutSuffix) {
  25653. return 'mánuður';
  25654. }
  25655. return isFuture ? 'mánuð' : 'mánuði';
  25656. case 'MM':
  25657. if (plural(number)) {
  25658. if (withoutSuffix) {
  25659. return result + 'mánuðir';
  25660. }
  25661. return result + (isFuture ? 'mánuði' : 'mánuðum');
  25662. } else if (withoutSuffix) {
  25663. return result + 'mánuður';
  25664. }
  25665. return result + (isFuture ? 'mánuð' : 'mánuði');
  25666. case 'y':
  25667. return withoutSuffix || isFuture ? 'ár' : 'ári';
  25668. case 'yy':
  25669. if (plural(number)) {
  25670. return result + (withoutSuffix || isFuture ? 'ár' : 'árum');
  25671. }
  25672. return result + (withoutSuffix || isFuture ? 'ár' : 'ári');}
  25673. }
  25674. var is = moment.defineLocale('is', {
  25675. months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(
  25676. '_'),
  25677. monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),
  25678. weekdays:
  25679. 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(
  25680. '_'),
  25681. weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),
  25682. weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),
  25683. longDateFormat: {
  25684. LT: 'H:mm',
  25685. LTS: 'H:mm:ss',
  25686. L: 'DD.MM.YYYY',
  25687. LL: 'D. MMMM YYYY',
  25688. LLL: 'D. MMMM YYYY [kl.] H:mm',
  25689. LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm' },
  25690. calendar: {
  25691. sameDay: '[í dag kl.] LT',
  25692. nextDay: '[á morgun kl.] LT',
  25693. nextWeek: 'dddd [kl.] LT',
  25694. lastDay: '[í gær kl.] LT',
  25695. lastWeek: '[síðasta] dddd [kl.] LT',
  25696. sameElse: 'L' },
  25697. relativeTime: {
  25698. future: 'eftir %s',
  25699. past: 'fyrir %s síðan',
  25700. s: translate,
  25701. ss: translate,
  25702. m: translate,
  25703. mm: translate,
  25704. h: 'klukkustund',
  25705. hh: translate,
  25706. d: translate,
  25707. dd: translate,
  25708. M: translate,
  25709. MM: translate,
  25710. y: translate,
  25711. yy: translate },
  25712. dayOfMonthOrdinalParse: /\d{1,2}\./,
  25713. ordinal: '%d.',
  25714. week: {
  25715. dow: 1, // Monday is the first day of the week.
  25716. doy: 4 // The week that contains Jan 4th is the first week of the year.
  25717. } });
  25718. return is;
  25719. });
  25720. /***/ }),
  25721. /* 174 */
  25722. /*!*****************************************************************!*\
  25723. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/it.js ***!
  25724. \*****************************************************************/
  25725. /*! no static exports found */
  25726. /***/ (function(module, exports, __webpack_require__) {
  25727. //! moment.js locale configuration
  25728. //! locale : Italian [it]
  25729. //! author : Lorenzo : https://github.com/aliem
  25730. //! author: Mattia Larentis: https://github.com/nostalgiaz
  25731. //! author: Marco : https://github.com/Manfre98
  25732. ;(function (global, factory) {
  25733. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  25734. undefined;
  25735. })(this, function (moment) {'use strict';
  25736. //! moment.js locale configuration
  25737. var it = moment.defineLocale('it', {
  25738. months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(
  25739. '_'),
  25740. monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
  25741. weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(
  25742. '_'),
  25743. weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
  25744. weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),
  25745. longDateFormat: {
  25746. LT: 'HH:mm',
  25747. LTS: 'HH:mm:ss',
  25748. L: 'DD/MM/YYYY',
  25749. LL: 'D MMMM YYYY',
  25750. LLL: 'D MMMM YYYY HH:mm',
  25751. LLLL: 'dddd D MMMM YYYY HH:mm' },
  25752. calendar: {
  25753. sameDay: function sameDay() {
  25754. return (
  25755. '[Oggi a' + (
  25756. this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") +
  25757. ']LT');
  25758. },
  25759. nextDay: function nextDay() {
  25760. return (
  25761. '[Domani a' + (
  25762. this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") +
  25763. ']LT');
  25764. },
  25765. nextWeek: function nextWeek() {
  25766. return (
  25767. 'dddd [a' + (
  25768. this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") +
  25769. ']LT');
  25770. },
  25771. lastDay: function lastDay() {
  25772. return (
  25773. '[Ieri a' + (
  25774. this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") +
  25775. ']LT');
  25776. },
  25777. lastWeek: function lastWeek() {
  25778. switch (this.day()) {
  25779. case 0:
  25780. return (
  25781. '[La scorsa] dddd [a' + (
  25782. this.hours() > 1 ?
  25783. 'lle ' :
  25784. this.hours() === 0 ?
  25785. ' ' :
  25786. "ll'") +
  25787. ']LT');
  25788. default:
  25789. return (
  25790. '[Lo scorso] dddd [a' + (
  25791. this.hours() > 1 ?
  25792. 'lle ' :
  25793. this.hours() === 0 ?
  25794. ' ' :
  25795. "ll'") +
  25796. ']LT');}
  25797. },
  25798. sameElse: 'L' },
  25799. relativeTime: {
  25800. future: 'tra %s',
  25801. past: '%s fa',
  25802. s: 'alcuni secondi',
  25803. ss: '%d secondi',
  25804. m: 'un minuto',
  25805. mm: '%d minuti',
  25806. h: "un'ora",
  25807. hh: '%d ore',
  25808. d: 'un giorno',
  25809. dd: '%d giorni',
  25810. w: 'una settimana',
  25811. ww: '%d settimane',
  25812. M: 'un mese',
  25813. MM: '%d mesi',
  25814. y: 'un anno',
  25815. yy: '%d anni' },
  25816. dayOfMonthOrdinalParse: /\d{1,2}º/,
  25817. ordinal: '%dº',
  25818. week: {
  25819. dow: 1, // Monday is the first day of the week.
  25820. doy: 4 // The week that contains Jan 4th is the first week of the year.
  25821. } });
  25822. return it;
  25823. });
  25824. /***/ }),
  25825. /* 175 */
  25826. /*!********************************************************************!*\
  25827. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/it-ch.js ***!
  25828. \********************************************************************/
  25829. /*! no static exports found */
  25830. /***/ (function(module, exports, __webpack_require__) {
  25831. //! moment.js locale configuration
  25832. //! locale : Italian (Switzerland) [it-ch]
  25833. //! author : xfh : https://github.com/xfh
  25834. ;(function (global, factory) {
  25835. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  25836. undefined;
  25837. })(this, function (moment) {'use strict';
  25838. //! moment.js locale configuration
  25839. var itCh = moment.defineLocale('it-ch', {
  25840. months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(
  25841. '_'),
  25842. monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
  25843. weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(
  25844. '_'),
  25845. weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
  25846. weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),
  25847. longDateFormat: {
  25848. LT: 'HH:mm',
  25849. LTS: 'HH:mm:ss',
  25850. L: 'DD.MM.YYYY',
  25851. LL: 'D MMMM YYYY',
  25852. LLL: 'D MMMM YYYY HH:mm',
  25853. LLLL: 'dddd D MMMM YYYY HH:mm' },
  25854. calendar: {
  25855. sameDay: '[Oggi alle] LT',
  25856. nextDay: '[Domani alle] LT',
  25857. nextWeek: 'dddd [alle] LT',
  25858. lastDay: '[Ieri alle] LT',
  25859. lastWeek: function lastWeek() {
  25860. switch (this.day()) {
  25861. case 0:
  25862. return '[la scorsa] dddd [alle] LT';
  25863. default:
  25864. return '[lo scorso] dddd [alle] LT';}
  25865. },
  25866. sameElse: 'L' },
  25867. relativeTime: {
  25868. future: function future(s) {
  25869. return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;
  25870. },
  25871. past: '%s fa',
  25872. s: 'alcuni secondi',
  25873. ss: '%d secondi',
  25874. m: 'un minuto',
  25875. mm: '%d minuti',
  25876. h: "un'ora",
  25877. hh: '%d ore',
  25878. d: 'un giorno',
  25879. dd: '%d giorni',
  25880. M: 'un mese',
  25881. MM: '%d mesi',
  25882. y: 'un anno',
  25883. yy: '%d anni' },
  25884. dayOfMonthOrdinalParse: /\d{1,2}º/,
  25885. ordinal: '%dº',
  25886. week: {
  25887. dow: 1, // Monday is the first day of the week.
  25888. doy: 4 // The week that contains Jan 4th is the first week of the year.
  25889. } });
  25890. return itCh;
  25891. });
  25892. /***/ }),
  25893. /* 176 */
  25894. /*!*****************************************************************!*\
  25895. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ja.js ***!
  25896. \*****************************************************************/
  25897. /*! no static exports found */
  25898. /***/ (function(module, exports, __webpack_require__) {
  25899. //! moment.js locale configuration
  25900. //! locale : Japanese [ja]
  25901. //! author : LI Long : https://github.com/baryon
  25902. ;(function (global, factory) {
  25903. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  25904. undefined;
  25905. })(this, function (moment) {'use strict';
  25906. //! moment.js locale configuration
  25907. var ja = moment.defineLocale('ja', {
  25908. eras: [
  25909. {
  25910. since: '2019-05-01',
  25911. offset: 1,
  25912. name: '令和',
  25913. narrow: '㋿',
  25914. abbr: 'R' },
  25915. {
  25916. since: '1989-01-08',
  25917. until: '2019-04-30',
  25918. offset: 1,
  25919. name: '平成',
  25920. narrow: '㍻',
  25921. abbr: 'H' },
  25922. {
  25923. since: '1926-12-25',
  25924. until: '1989-01-07',
  25925. offset: 1,
  25926. name: '昭和',
  25927. narrow: '㍼',
  25928. abbr: 'S' },
  25929. {
  25930. since: '1912-07-30',
  25931. until: '1926-12-24',
  25932. offset: 1,
  25933. name: '大正',
  25934. narrow: '㍽',
  25935. abbr: 'T' },
  25936. {
  25937. since: '1873-01-01',
  25938. until: '1912-07-29',
  25939. offset: 6,
  25940. name: '明治',
  25941. narrow: '㍾',
  25942. abbr: 'M' },
  25943. {
  25944. since: '0001-01-01',
  25945. until: '1873-12-31',
  25946. offset: 1,
  25947. name: '西暦',
  25948. narrow: 'AD',
  25949. abbr: 'AD' },
  25950. {
  25951. since: '0000-12-31',
  25952. until: -Infinity,
  25953. offset: 1,
  25954. name: '紀元前',
  25955. narrow: 'BC',
  25956. abbr: 'BC' }],
  25957. eraYearOrdinalRegex: /(元|\d+)年/,
  25958. eraYearOrdinalParse: function eraYearOrdinalParse(input, match) {
  25959. return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);
  25960. },
  25961. months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
  25962. monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
  25963. '_'),
  25964. weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),
  25965. weekdaysShort: '日_月_火_水_木_金_土'.split('_'),
  25966. weekdaysMin: '日_月_火_水_木_金_土'.split('_'),
  25967. longDateFormat: {
  25968. LT: 'HH:mm',
  25969. LTS: 'HH:mm:ss',
  25970. L: 'YYYY/MM/DD',
  25971. LL: 'YYYY年M月D日',
  25972. LLL: 'YYYY年M月D日 HH:mm',
  25973. LLLL: 'YYYY年M月D日 dddd HH:mm',
  25974. l: 'YYYY/MM/DD',
  25975. ll: 'YYYY年M月D日',
  25976. lll: 'YYYY年M月D日 HH:mm',
  25977. llll: 'YYYY年M月D日(ddd) HH:mm' },
  25978. meridiemParse: /午前|午後/i,
  25979. isPM: function isPM(input) {
  25980. return input === '午後';
  25981. },
  25982. meridiem: function meridiem(hour, minute, isLower) {
  25983. if (hour < 12) {
  25984. return '午前';
  25985. } else {
  25986. return '午後';
  25987. }
  25988. },
  25989. calendar: {
  25990. sameDay: '[今日] LT',
  25991. nextDay: '[明日] LT',
  25992. nextWeek: function nextWeek(now) {
  25993. if (now.week() !== this.week()) {
  25994. return '[来週]dddd LT';
  25995. } else {
  25996. return 'dddd LT';
  25997. }
  25998. },
  25999. lastDay: '[昨日] LT',
  26000. lastWeek: function lastWeek(now) {
  26001. if (this.week() !== now.week()) {
  26002. return '[先週]dddd LT';
  26003. } else {
  26004. return 'dddd LT';
  26005. }
  26006. },
  26007. sameElse: 'L' },
  26008. dayOfMonthOrdinalParse: /\d{1,2}日/,
  26009. ordinal: function ordinal(number, period) {
  26010. switch (period) {
  26011. case 'y':
  26012. return number === 1 ? '元年' : number + '年';
  26013. case 'd':
  26014. case 'D':
  26015. case 'DDD':
  26016. return number + '日';
  26017. default:
  26018. return number;}
  26019. },
  26020. relativeTime: {
  26021. future: '%s後',
  26022. past: '%s前',
  26023. s: '数秒',
  26024. ss: '%d秒',
  26025. m: '1分',
  26026. mm: '%d分',
  26027. h: '1時間',
  26028. hh: '%d時間',
  26029. d: '1日',
  26030. dd: '%d日',
  26031. M: '1ヶ月',
  26032. MM: '%dヶ月',
  26033. y: '1年',
  26034. yy: '%d年' } });
  26035. return ja;
  26036. });
  26037. /***/ }),
  26038. /* 177 */
  26039. /*!*****************************************************************!*\
  26040. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/jv.js ***!
  26041. \*****************************************************************/
  26042. /*! no static exports found */
  26043. /***/ (function(module, exports, __webpack_require__) {
  26044. //! moment.js locale configuration
  26045. //! locale : Javanese [jv]
  26046. //! author : Rony Lantip : https://github.com/lantip
  26047. //! reference: http://jv.wikipedia.org/wiki/Basa_Jawa
  26048. ;(function (global, factory) {
  26049. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  26050. undefined;
  26051. })(this, function (moment) {'use strict';
  26052. //! moment.js locale configuration
  26053. var jv = moment.defineLocale('jv', {
  26054. months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(
  26055. '_'),
  26056. monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),
  26057. weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),
  26058. weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),
  26059. weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),
  26060. longDateFormat: {
  26061. LT: 'HH.mm',
  26062. LTS: 'HH.mm.ss',
  26063. L: 'DD/MM/YYYY',
  26064. LL: 'D MMMM YYYY',
  26065. LLL: 'D MMMM YYYY [pukul] HH.mm',
  26066. LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm' },
  26067. meridiemParse: /enjing|siyang|sonten|ndalu/,
  26068. meridiemHour: function meridiemHour(hour, meridiem) {
  26069. if (hour === 12) {
  26070. hour = 0;
  26071. }
  26072. if (meridiem === 'enjing') {
  26073. return hour;
  26074. } else if (meridiem === 'siyang') {
  26075. return hour >= 11 ? hour : hour + 12;
  26076. } else if (meridiem === 'sonten' || meridiem === 'ndalu') {
  26077. return hour + 12;
  26078. }
  26079. },
  26080. meridiem: function meridiem(hours, minutes, isLower) {
  26081. if (hours < 11) {
  26082. return 'enjing';
  26083. } else if (hours < 15) {
  26084. return 'siyang';
  26085. } else if (hours < 19) {
  26086. return 'sonten';
  26087. } else {
  26088. return 'ndalu';
  26089. }
  26090. },
  26091. calendar: {
  26092. sameDay: '[Dinten puniko pukul] LT',
  26093. nextDay: '[Mbenjang pukul] LT',
  26094. nextWeek: 'dddd [pukul] LT',
  26095. lastDay: '[Kala wingi pukul] LT',
  26096. lastWeek: 'dddd [kepengker pukul] LT',
  26097. sameElse: 'L' },
  26098. relativeTime: {
  26099. future: 'wonten ing %s',
  26100. past: '%s ingkang kepengker',
  26101. s: 'sawetawis detik',
  26102. ss: '%d detik',
  26103. m: 'setunggal menit',
  26104. mm: '%d menit',
  26105. h: 'setunggal jam',
  26106. hh: '%d jam',
  26107. d: 'sedinten',
  26108. dd: '%d dinten',
  26109. M: 'sewulan',
  26110. MM: '%d wulan',
  26111. y: 'setaun',
  26112. yy: '%d taun' },
  26113. week: {
  26114. dow: 1, // Monday is the first day of the week.
  26115. doy: 7 // The week that contains Jan 7th is the first week of the year.
  26116. } });
  26117. return jv;
  26118. });
  26119. /***/ }),
  26120. /* 178 */
  26121. /*!*****************************************************************!*\
  26122. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ka.js ***!
  26123. \*****************************************************************/
  26124. /*! no static exports found */
  26125. /***/ (function(module, exports, __webpack_require__) {
  26126. //! moment.js locale configuration
  26127. //! locale : Georgian [ka]
  26128. //! author : Irakli Janiashvili : https://github.com/IrakliJani
  26129. ;(function (global, factory) {
  26130. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  26131. undefined;
  26132. })(this, function (moment) {'use strict';
  26133. //! moment.js locale configuration
  26134. var ka = moment.defineLocale('ka', {
  26135. months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(
  26136. '_'),
  26137. monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),
  26138. weekdays: {
  26139. standalone:
  26140. 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(
  26141. '_'),
  26142. format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(
  26143. '_'),
  26144. isFormat: /(წინა|შემდეგ)/ },
  26145. weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),
  26146. weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),
  26147. longDateFormat: {
  26148. LT: 'HH:mm',
  26149. LTS: 'HH:mm:ss',
  26150. L: 'DD/MM/YYYY',
  26151. LL: 'D MMMM YYYY',
  26152. LLL: 'D MMMM YYYY HH:mm',
  26153. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  26154. calendar: {
  26155. sameDay: '[დღეს] LT[-ზე]',
  26156. nextDay: '[ხვალ] LT[-ზე]',
  26157. lastDay: '[გუშინ] LT[-ზე]',
  26158. nextWeek: '[შემდეგ] dddd LT[-ზე]',
  26159. lastWeek: '[წინა] dddd LT-ზე',
  26160. sameElse: 'L' },
  26161. relativeTime: {
  26162. future: function future(s) {
  26163. return s.replace(
  26164. /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,
  26165. function ($0, $1, $2) {
  26166. return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';
  26167. });
  26168. },
  26169. past: function past(s) {
  26170. if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {
  26171. return s.replace(/(ი|ე)$/, 'ის წინ');
  26172. }
  26173. if (/წელი/.test(s)) {
  26174. return s.replace(/წელი$/, 'წლის წინ');
  26175. }
  26176. return s;
  26177. },
  26178. s: 'რამდენიმე წამი',
  26179. ss: '%d წამი',
  26180. m: 'წუთი',
  26181. mm: '%d წუთი',
  26182. h: 'საათი',
  26183. hh: '%d საათი',
  26184. d: 'დღე',
  26185. dd: '%d დღე',
  26186. M: 'თვე',
  26187. MM: '%d თვე',
  26188. y: 'წელი',
  26189. yy: '%d წელი' },
  26190. dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,
  26191. ordinal: function ordinal(number) {
  26192. if (number === 0) {
  26193. return number;
  26194. }
  26195. if (number === 1) {
  26196. return number + '-ლი';
  26197. }
  26198. if (
  26199. number < 20 ||
  26200. number <= 100 && number % 20 === 0 ||
  26201. number % 100 === 0)
  26202. {
  26203. return 'მე-' + number;
  26204. }
  26205. return number + '-ე';
  26206. },
  26207. week: {
  26208. dow: 1,
  26209. doy: 7 } });
  26210. return ka;
  26211. });
  26212. /***/ }),
  26213. /* 179 */
  26214. /*!*****************************************************************!*\
  26215. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/kk.js ***!
  26216. \*****************************************************************/
  26217. /*! no static exports found */
  26218. /***/ (function(module, exports, __webpack_require__) {
  26219. //! moment.js locale configuration
  26220. //! locale : Kazakh [kk]
  26221. //! authors : Nurlan Rakhimzhanov : https://github.com/nurlan
  26222. ;(function (global, factory) {
  26223. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  26224. undefined;
  26225. })(this, function (moment) {'use strict';
  26226. //! moment.js locale configuration
  26227. var suffixes = {
  26228. 0: '-ші',
  26229. 1: '-ші',
  26230. 2: '-ші',
  26231. 3: '-ші',
  26232. 4: '-ші',
  26233. 5: '-ші',
  26234. 6: '-шы',
  26235. 7: '-ші',
  26236. 8: '-ші',
  26237. 9: '-шы',
  26238. 10: '-шы',
  26239. 20: '-шы',
  26240. 30: '-шы',
  26241. 40: '-шы',
  26242. 50: '-ші',
  26243. 60: '-шы',
  26244. 70: '-ші',
  26245. 80: '-ші',
  26246. 90: '-шы',
  26247. 100: '-ші' };
  26248. var kk = moment.defineLocale('kk', {
  26249. months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(
  26250. '_'),
  26251. monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),
  26252. weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(
  26253. '_'),
  26254. weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),
  26255. weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),
  26256. longDateFormat: {
  26257. LT: 'HH:mm',
  26258. LTS: 'HH:mm:ss',
  26259. L: 'DD.MM.YYYY',
  26260. LL: 'D MMMM YYYY',
  26261. LLL: 'D MMMM YYYY HH:mm',
  26262. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  26263. calendar: {
  26264. sameDay: '[Бүгін сағат] LT',
  26265. nextDay: '[Ертең сағат] LT',
  26266. nextWeek: 'dddd [сағат] LT',
  26267. lastDay: '[Кеше сағат] LT',
  26268. lastWeek: '[Өткен аптаның] dddd [сағат] LT',
  26269. sameElse: 'L' },
  26270. relativeTime: {
  26271. future: '%s ішінде',
  26272. past: '%s бұрын',
  26273. s: 'бірнеше секунд',
  26274. ss: '%d секунд',
  26275. m: 'бір минут',
  26276. mm: '%d минут',
  26277. h: 'бір сағат',
  26278. hh: '%d сағат',
  26279. d: 'бір күн',
  26280. dd: '%d күн',
  26281. M: 'бір ай',
  26282. MM: '%d ай',
  26283. y: 'бір жыл',
  26284. yy: '%d жыл' },
  26285. dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/,
  26286. ordinal: function ordinal(number) {
  26287. var a = number % 10,
  26288. b = number >= 100 ? 100 : null;
  26289. return number + (suffixes[number] || suffixes[a] || suffixes[b]);
  26290. },
  26291. week: {
  26292. dow: 1, // Monday is the first day of the week.
  26293. doy: 7 // The week that contains Jan 7th is the first week of the year.
  26294. } });
  26295. return kk;
  26296. });
  26297. /***/ }),
  26298. /* 180 */
  26299. /*!*****************************************************************!*\
  26300. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/km.js ***!
  26301. \*****************************************************************/
  26302. /*! no static exports found */
  26303. /***/ (function(module, exports, __webpack_require__) {
  26304. //! moment.js locale configuration
  26305. //! locale : Cambodian [km]
  26306. //! author : Kruy Vanna : https://github.com/kruyvanna
  26307. ;(function (global, factory) {
  26308. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  26309. undefined;
  26310. })(this, function (moment) {'use strict';
  26311. //! moment.js locale configuration
  26312. var symbolMap = {
  26313. 1: '១',
  26314. 2: '២',
  26315. 3: '៣',
  26316. 4: '៤',
  26317. 5: '៥',
  26318. 6: '៦',
  26319. 7: '៧',
  26320. 8: '៨',
  26321. 9: '៩',
  26322. 0: '០' },
  26323. numberMap = {
  26324. '១': '1',
  26325. '២': '2',
  26326. '៣': '3',
  26327. '៤': '4',
  26328. '៥': '5',
  26329. '៦': '6',
  26330. '៧': '7',
  26331. '៨': '8',
  26332. '៩': '9',
  26333. '០': '0' };
  26334. var km = moment.defineLocale('km', {
  26335. months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
  26336. '_'),
  26337. monthsShort:
  26338. 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
  26339. '_'),
  26340. weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
  26341. weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
  26342. weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
  26343. weekdaysParseExact: true,
  26344. longDateFormat: {
  26345. LT: 'HH:mm',
  26346. LTS: 'HH:mm:ss',
  26347. L: 'DD/MM/YYYY',
  26348. LL: 'D MMMM YYYY',
  26349. LLL: 'D MMMM YYYY HH:mm',
  26350. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  26351. meridiemParse: /ព្រឹក|ល្ងាច/,
  26352. isPM: function isPM(input) {
  26353. return input === 'ល្ងាច';
  26354. },
  26355. meridiem: function meridiem(hour, minute, isLower) {
  26356. if (hour < 12) {
  26357. return 'ព្រឹក';
  26358. } else {
  26359. return 'ល្ងាច';
  26360. }
  26361. },
  26362. calendar: {
  26363. sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',
  26364. nextDay: '[ស្អែក ម៉ោង] LT',
  26365. nextWeek: 'dddd [ម៉ោង] LT',
  26366. lastDay: '[ម្សិលមិញ ម៉ោង] LT',
  26367. lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',
  26368. sameElse: 'L' },
  26369. relativeTime: {
  26370. future: '%sទៀត',
  26371. past: '%sមុន',
  26372. s: 'ប៉ុន្មានវិនាទី',
  26373. ss: '%d វិនាទី',
  26374. m: 'មួយនាទី',
  26375. mm: '%d នាទី',
  26376. h: 'មួយម៉ោង',
  26377. hh: '%d ម៉ោង',
  26378. d: 'មួយថ្ងៃ',
  26379. dd: '%d ថ្ងៃ',
  26380. M: 'មួយខែ',
  26381. MM: '%d ខែ',
  26382. y: 'មួយឆ្នាំ',
  26383. yy: '%d ឆ្នាំ' },
  26384. dayOfMonthOrdinalParse: /ទី\d{1,2}/,
  26385. ordinal: 'ទី%d',
  26386. preparse: function preparse(string) {
  26387. return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {
  26388. return numberMap[match];
  26389. });
  26390. },
  26391. postformat: function postformat(string) {
  26392. return string.replace(/\d/g, function (match) {
  26393. return symbolMap[match];
  26394. });
  26395. },
  26396. week: {
  26397. dow: 1, // Monday is the first day of the week.
  26398. doy: 4 // The week that contains Jan 4th is the first week of the year.
  26399. } });
  26400. return km;
  26401. });
  26402. /***/ }),
  26403. /* 181 */
  26404. /*!*****************************************************************!*\
  26405. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/kn.js ***!
  26406. \*****************************************************************/
  26407. /*! no static exports found */
  26408. /***/ (function(module, exports, __webpack_require__) {
  26409. //! moment.js locale configuration
  26410. //! locale : Kannada [kn]
  26411. //! author : Rajeev Naik : https://github.com/rajeevnaikte
  26412. ;(function (global, factory) {
  26413. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  26414. undefined;
  26415. })(this, function (moment) {'use strict';
  26416. //! moment.js locale configuration
  26417. var symbolMap = {
  26418. 1: '೧',
  26419. 2: '೨',
  26420. 3: '೩',
  26421. 4: '೪',
  26422. 5: '೫',
  26423. 6: '೬',
  26424. 7: '೭',
  26425. 8: '೮',
  26426. 9: '೯',
  26427. 0: '೦' },
  26428. numberMap = {
  26429. '೧': '1',
  26430. '೨': '2',
  26431. '೩': '3',
  26432. '೪': '4',
  26433. '೫': '5',
  26434. '೬': '6',
  26435. '೭': '7',
  26436. '೮': '8',
  26437. '೯': '9',
  26438. '೦': '0' };
  26439. var kn = moment.defineLocale('kn', {
  26440. months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(
  26441. '_'),
  26442. monthsShort:
  26443. 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(
  26444. '_'),
  26445. monthsParseExact: true,
  26446. weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(
  26447. '_'),
  26448. weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),
  26449. weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),
  26450. longDateFormat: {
  26451. LT: 'A h:mm',
  26452. LTS: 'A h:mm:ss',
  26453. L: 'DD/MM/YYYY',
  26454. LL: 'D MMMM YYYY',
  26455. LLL: 'D MMMM YYYY, A h:mm',
  26456. LLLL: 'dddd, D MMMM YYYY, A h:mm' },
  26457. calendar: {
  26458. sameDay: '[ಇಂದು] LT',
  26459. nextDay: '[ನಾಳೆ] LT',
  26460. nextWeek: 'dddd, LT',
  26461. lastDay: '[ನಿನ್ನೆ] LT',
  26462. lastWeek: '[ಕೊನೆಯ] dddd, LT',
  26463. sameElse: 'L' },
  26464. relativeTime: {
  26465. future: '%s ನಂತರ',
  26466. past: '%s ಹಿಂದೆ',
  26467. s: 'ಕೆಲವು ಕ್ಷಣಗಳು',
  26468. ss: '%d ಸೆಕೆಂಡುಗಳು',
  26469. m: 'ಒಂದು ನಿಮಿಷ',
  26470. mm: '%d ನಿಮಿಷ',
  26471. h: 'ಒಂದು ಗಂಟೆ',
  26472. hh: '%d ಗಂಟೆ',
  26473. d: 'ಒಂದು ದಿನ',
  26474. dd: '%d ದಿನ',
  26475. M: 'ಒಂದು ತಿಂಗಳು',
  26476. MM: '%d ತಿಂಗಳು',
  26477. y: 'ಒಂದು ವರ್ಷ',
  26478. yy: '%d ವರ್ಷ' },
  26479. preparse: function preparse(string) {
  26480. return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {
  26481. return numberMap[match];
  26482. });
  26483. },
  26484. postformat: function postformat(string) {
  26485. return string.replace(/\d/g, function (match) {
  26486. return symbolMap[match];
  26487. });
  26488. },
  26489. meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,
  26490. meridiemHour: function meridiemHour(hour, meridiem) {
  26491. if (hour === 12) {
  26492. hour = 0;
  26493. }
  26494. if (meridiem === 'ರಾತ್ರಿ') {
  26495. return hour < 4 ? hour : hour + 12;
  26496. } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {
  26497. return hour;
  26498. } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {
  26499. return hour >= 10 ? hour : hour + 12;
  26500. } else if (meridiem === 'ಸಂಜೆ') {
  26501. return hour + 12;
  26502. }
  26503. },
  26504. meridiem: function meridiem(hour, minute, isLower) {
  26505. if (hour < 4) {
  26506. return 'ರಾತ್ರಿ';
  26507. } else if (hour < 10) {
  26508. return 'ಬೆಳಿಗ್ಗೆ';
  26509. } else if (hour < 17) {
  26510. return 'ಮಧ್ಯಾಹ್ನ';
  26511. } else if (hour < 20) {
  26512. return 'ಸಂಜೆ';
  26513. } else {
  26514. return 'ರಾತ್ರಿ';
  26515. }
  26516. },
  26517. dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/,
  26518. ordinal: function ordinal(number) {
  26519. return number + 'ನೇ';
  26520. },
  26521. week: {
  26522. dow: 0, // Sunday is the first day of the week.
  26523. doy: 6 // The week that contains Jan 6th is the first week of the year.
  26524. } });
  26525. return kn;
  26526. });
  26527. /***/ }),
  26528. /* 182 */
  26529. /*!*****************************************************************!*\
  26530. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ko.js ***!
  26531. \*****************************************************************/
  26532. /*! no static exports found */
  26533. /***/ (function(module, exports, __webpack_require__) {
  26534. //! moment.js locale configuration
  26535. //! locale : Korean [ko]
  26536. //! author : Kyungwook, Park : https://github.com/kyungw00k
  26537. //! author : Jeeeyul Lee <jeeeyul@gmail.com>
  26538. ;(function (global, factory) {
  26539. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  26540. undefined;
  26541. })(this, function (moment) {'use strict';
  26542. //! moment.js locale configuration
  26543. var ko = moment.defineLocale('ko', {
  26544. months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
  26545. monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(
  26546. '_'),
  26547. weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),
  26548. weekdaysShort: '일_월_화_수_목_금_토'.split('_'),
  26549. weekdaysMin: '일_월_화_수_목_금_토'.split('_'),
  26550. longDateFormat: {
  26551. LT: 'A h:mm',
  26552. LTS: 'A h:mm:ss',
  26553. L: 'YYYY.MM.DD.',
  26554. LL: 'YYYY년 MMMM D일',
  26555. LLL: 'YYYY년 MMMM D일 A h:mm',
  26556. LLLL: 'YYYY년 MMMM D일 dddd A h:mm',
  26557. l: 'YYYY.MM.DD.',
  26558. ll: 'YYYY년 MMMM D일',
  26559. lll: 'YYYY년 MMMM D일 A h:mm',
  26560. llll: 'YYYY년 MMMM D일 dddd A h:mm' },
  26561. calendar: {
  26562. sameDay: '오늘 LT',
  26563. nextDay: '내일 LT',
  26564. nextWeek: 'dddd LT',
  26565. lastDay: '어제 LT',
  26566. lastWeek: '지난주 dddd LT',
  26567. sameElse: 'L' },
  26568. relativeTime: {
  26569. future: '%s 후',
  26570. past: '%s 전',
  26571. s: '몇 초',
  26572. ss: '%d초',
  26573. m: '1분',
  26574. mm: '%d분',
  26575. h: '한 시간',
  26576. hh: '%d시간',
  26577. d: '하루',
  26578. dd: '%d일',
  26579. M: '한 달',
  26580. MM: '%d달',
  26581. y: '일 년',
  26582. yy: '%d년' },
  26583. dayOfMonthOrdinalParse: /\d{1,2}(일|월|주)/,
  26584. ordinal: function ordinal(number, period) {
  26585. switch (period) {
  26586. case 'd':
  26587. case 'D':
  26588. case 'DDD':
  26589. return number + '일';
  26590. case 'M':
  26591. return number + '월';
  26592. case 'w':
  26593. case 'W':
  26594. return number + '주';
  26595. default:
  26596. return number;}
  26597. },
  26598. meridiemParse: /오전|오후/,
  26599. isPM: function isPM(token) {
  26600. return token === '오후';
  26601. },
  26602. meridiem: function meridiem(hour, minute, isUpper) {
  26603. return hour < 12 ? '오전' : '오후';
  26604. } });
  26605. return ko;
  26606. });
  26607. /***/ }),
  26608. /* 183 */
  26609. /*!*****************************************************************!*\
  26610. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ku.js ***!
  26611. \*****************************************************************/
  26612. /*! no static exports found */
  26613. /***/ (function(module, exports, __webpack_require__) {
  26614. //! moment.js locale configuration
  26615. //! locale : Kurdish [ku]
  26616. //! author : Shahram Mebashar : https://github.com/ShahramMebashar
  26617. ;(function (global, factory) {
  26618. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  26619. undefined;
  26620. })(this, function (moment) {'use strict';
  26621. //! moment.js locale configuration
  26622. var symbolMap = {
  26623. 1: '١',
  26624. 2: '٢',
  26625. 3: '٣',
  26626. 4: '٤',
  26627. 5: '٥',
  26628. 6: '٦',
  26629. 7: '٧',
  26630. 8: '٨',
  26631. 9: '٩',
  26632. 0: '٠' },
  26633. numberMap = {
  26634. '١': '1',
  26635. '٢': '2',
  26636. '٣': '3',
  26637. '٤': '4',
  26638. '٥': '5',
  26639. '٦': '6',
  26640. '٧': '7',
  26641. '٨': '8',
  26642. '٩': '9',
  26643. '٠': '0' },
  26644. months = [
  26645. 'کانونی دووەم',
  26646. 'شوبات',
  26647. 'ئازار',
  26648. 'نیسان',
  26649. 'ئایار',
  26650. 'حوزەیران',
  26651. 'تەمموز',
  26652. 'ئاب',
  26653. 'ئەیلوول',
  26654. 'تشرینی یەكەم',
  26655. 'تشرینی دووەم',
  26656. 'كانونی یەکەم'];
  26657. var ku = moment.defineLocale('ku', {
  26658. months: months,
  26659. monthsShort: months,
  26660. weekdays:
  26661. 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(
  26662. '_'),
  26663. weekdaysShort:
  26664. 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),
  26665. weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),
  26666. weekdaysParseExact: true,
  26667. longDateFormat: {
  26668. LT: 'HH:mm',
  26669. LTS: 'HH:mm:ss',
  26670. L: 'DD/MM/YYYY',
  26671. LL: 'D MMMM YYYY',
  26672. LLL: 'D MMMM YYYY HH:mm',
  26673. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  26674. meridiemParse: /ئێواره‌|به‌یانی/,
  26675. isPM: function isPM(input) {
  26676. return /ئێواره‌/.test(input);
  26677. },
  26678. meridiem: function meridiem(hour, minute, isLower) {
  26679. if (hour < 12) {
  26680. return 'به‌یانی';
  26681. } else {
  26682. return 'ئێواره‌';
  26683. }
  26684. },
  26685. calendar: {
  26686. sameDay: '[ئه‌مرۆ كاتژمێر] LT',
  26687. nextDay: '[به‌یانی كاتژمێر] LT',
  26688. nextWeek: 'dddd [كاتژمێر] LT',
  26689. lastDay: '[دوێنێ كاتژمێر] LT',
  26690. lastWeek: 'dddd [كاتژمێر] LT',
  26691. sameElse: 'L' },
  26692. relativeTime: {
  26693. future: 'له‌ %s',
  26694. past: '%s',
  26695. s: 'چه‌ند چركه‌یه‌ك',
  26696. ss: 'چركه‌ %d',
  26697. m: 'یه‌ك خوله‌ك',
  26698. mm: '%d خوله‌ك',
  26699. h: 'یه‌ك كاتژمێر',
  26700. hh: '%d كاتژمێر',
  26701. d: 'یه‌ك ڕۆژ',
  26702. dd: '%d ڕۆژ',
  26703. M: 'یه‌ك مانگ',
  26704. MM: '%d مانگ',
  26705. y: 'یه‌ك ساڵ',
  26706. yy: '%d ساڵ' },
  26707. preparse: function preparse(string) {
  26708. return string.
  26709. replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
  26710. return numberMap[match];
  26711. }).
  26712. replace(/،/g, ',');
  26713. },
  26714. postformat: function postformat(string) {
  26715. return string.
  26716. replace(/\d/g, function (match) {
  26717. return symbolMap[match];
  26718. }).
  26719. replace(/,/g, '،');
  26720. },
  26721. week: {
  26722. dow: 6, // Saturday is the first day of the week.
  26723. doy: 12 // The week that contains Jan 12th is the first week of the year.
  26724. } });
  26725. return ku;
  26726. });
  26727. /***/ }),
  26728. /* 184 */
  26729. /*!*****************************************************************!*\
  26730. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ky.js ***!
  26731. \*****************************************************************/
  26732. /*! no static exports found */
  26733. /***/ (function(module, exports, __webpack_require__) {
  26734. //! moment.js locale configuration
  26735. //! locale : Kyrgyz [ky]
  26736. //! author : Chyngyz Arystan uulu : https://github.com/chyngyz
  26737. ;(function (global, factory) {
  26738. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  26739. undefined;
  26740. })(this, function (moment) {'use strict';
  26741. //! moment.js locale configuration
  26742. var suffixes = {
  26743. 0: '-чү',
  26744. 1: '-чи',
  26745. 2: '-чи',
  26746. 3: '-чү',
  26747. 4: '-чү',
  26748. 5: '-чи',
  26749. 6: '-чы',
  26750. 7: '-чи',
  26751. 8: '-чи',
  26752. 9: '-чу',
  26753. 10: '-чу',
  26754. 20: '-чы',
  26755. 30: '-чу',
  26756. 40: '-чы',
  26757. 50: '-чү',
  26758. 60: '-чы',
  26759. 70: '-чи',
  26760. 80: '-чи',
  26761. 90: '-чу',
  26762. 100: '-чү' };
  26763. var ky = moment.defineLocale('ky', {
  26764. months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(
  26765. '_'),
  26766. monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(
  26767. '_'),
  26768. weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(
  26769. '_'),
  26770. weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),
  26771. weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),
  26772. longDateFormat: {
  26773. LT: 'HH:mm',
  26774. LTS: 'HH:mm:ss',
  26775. L: 'DD.MM.YYYY',
  26776. LL: 'D MMMM YYYY',
  26777. LLL: 'D MMMM YYYY HH:mm',
  26778. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  26779. calendar: {
  26780. sameDay: '[Бүгүн саат] LT',
  26781. nextDay: '[Эртең саат] LT',
  26782. nextWeek: 'dddd [саат] LT',
  26783. lastDay: '[Кечээ саат] LT',
  26784. lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',
  26785. sameElse: 'L' },
  26786. relativeTime: {
  26787. future: '%s ичинде',
  26788. past: '%s мурун',
  26789. s: 'бирнече секунд',
  26790. ss: '%d секунд',
  26791. m: 'бир мүнөт',
  26792. mm: '%d мүнөт',
  26793. h: 'бир саат',
  26794. hh: '%d саат',
  26795. d: 'бир күн',
  26796. dd: '%d күн',
  26797. M: 'бир ай',
  26798. MM: '%d ай',
  26799. y: 'бир жыл',
  26800. yy: '%d жыл' },
  26801. dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/,
  26802. ordinal: function ordinal(number) {
  26803. var a = number % 10,
  26804. b = number >= 100 ? 100 : null;
  26805. return number + (suffixes[number] || suffixes[a] || suffixes[b]);
  26806. },
  26807. week: {
  26808. dow: 1, // Monday is the first day of the week.
  26809. doy: 7 // The week that contains Jan 7th is the first week of the year.
  26810. } });
  26811. return ky;
  26812. });
  26813. /***/ }),
  26814. /* 185 */
  26815. /*!*****************************************************************!*\
  26816. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/lb.js ***!
  26817. \*****************************************************************/
  26818. /*! no static exports found */
  26819. /***/ (function(module, exports, __webpack_require__) {
  26820. //! moment.js locale configuration
  26821. //! locale : Luxembourgish [lb]
  26822. //! author : mweimerskirch : https://github.com/mweimerskirch
  26823. //! author : David Raison : https://github.com/kwisatz
  26824. ;(function (global, factory) {
  26825. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  26826. undefined;
  26827. })(this, function (moment) {'use strict';
  26828. //! moment.js locale configuration
  26829. function processRelativeTime(number, withoutSuffix, key, isFuture) {
  26830. var format = {
  26831. m: ['eng Minutt', 'enger Minutt'],
  26832. h: ['eng Stonn', 'enger Stonn'],
  26833. d: ['een Dag', 'engem Dag'],
  26834. M: ['ee Mount', 'engem Mount'],
  26835. y: ['ee Joer', 'engem Joer'] };
  26836. return withoutSuffix ? format[key][0] : format[key][1];
  26837. }
  26838. function processFutureTime(string) {
  26839. var number = string.substr(0, string.indexOf(' '));
  26840. if (eifelerRegelAppliesToNumber(number)) {
  26841. return 'a ' + string;
  26842. }
  26843. return 'an ' + string;
  26844. }
  26845. function processPastTime(string) {
  26846. var number = string.substr(0, string.indexOf(' '));
  26847. if (eifelerRegelAppliesToNumber(number)) {
  26848. return 'viru ' + string;
  26849. }
  26850. return 'virun ' + string;
  26851. }
  26852. /**
  26853. * Returns true if the word before the given number loses the '-n' ending.
  26854. * e.g. 'an 10 Deeg' but 'a 5 Deeg'
  26855. *
  26856. * @param number {integer}
  26857. * @returns {boolean}
  26858. */
  26859. function eifelerRegelAppliesToNumber(number) {
  26860. number = parseInt(number, 10);
  26861. if (isNaN(number)) {
  26862. return false;
  26863. }
  26864. if (number < 0) {
  26865. // Negative Number --> always true
  26866. return true;
  26867. } else if (number < 10) {
  26868. // Only 1 digit
  26869. if (4 <= number && number <= 7) {
  26870. return true;
  26871. }
  26872. return false;
  26873. } else if (number < 100) {
  26874. // 2 digits
  26875. var lastDigit = number % 10,
  26876. firstDigit = number / 10;
  26877. if (lastDigit === 0) {
  26878. return eifelerRegelAppliesToNumber(firstDigit);
  26879. }
  26880. return eifelerRegelAppliesToNumber(lastDigit);
  26881. } else if (number < 10000) {
  26882. // 3 or 4 digits --> recursively check first digit
  26883. while (number >= 10) {
  26884. number = number / 10;
  26885. }
  26886. return eifelerRegelAppliesToNumber(number);
  26887. } else {
  26888. // Anything larger than 4 digits: recursively check first n-3 digits
  26889. number = number / 1000;
  26890. return eifelerRegelAppliesToNumber(number);
  26891. }
  26892. }
  26893. var lb = moment.defineLocale('lb', {
  26894. months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(
  26895. '_'),
  26896. monthsShort:
  26897. 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(
  26898. '_'),
  26899. monthsParseExact: true,
  26900. weekdays:
  26901. 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(
  26902. '_'),
  26903. weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),
  26904. weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),
  26905. weekdaysParseExact: true,
  26906. longDateFormat: {
  26907. LT: 'H:mm [Auer]',
  26908. LTS: 'H:mm:ss [Auer]',
  26909. L: 'DD.MM.YYYY',
  26910. LL: 'D. MMMM YYYY',
  26911. LLL: 'D. MMMM YYYY H:mm [Auer]',
  26912. LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]' },
  26913. calendar: {
  26914. sameDay: '[Haut um] LT',
  26915. sameElse: 'L',
  26916. nextDay: '[Muer um] LT',
  26917. nextWeek: 'dddd [um] LT',
  26918. lastDay: '[Gëschter um] LT',
  26919. lastWeek: function lastWeek() {
  26920. // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
  26921. switch (this.day()) {
  26922. case 2:
  26923. case 4:
  26924. return '[Leschten] dddd [um] LT';
  26925. default:
  26926. return '[Leschte] dddd [um] LT';}
  26927. } },
  26928. relativeTime: {
  26929. future: processFutureTime,
  26930. past: processPastTime,
  26931. s: 'e puer Sekonnen',
  26932. ss: '%d Sekonnen',
  26933. m: processRelativeTime,
  26934. mm: '%d Minutten',
  26935. h: processRelativeTime,
  26936. hh: '%d Stonnen',
  26937. d: processRelativeTime,
  26938. dd: '%d Deeg',
  26939. M: processRelativeTime,
  26940. MM: '%d Méint',
  26941. y: processRelativeTime,
  26942. yy: '%d Joer' },
  26943. dayOfMonthOrdinalParse: /\d{1,2}\./,
  26944. ordinal: '%d.',
  26945. week: {
  26946. dow: 1, // Monday is the first day of the week.
  26947. doy: 4 // The week that contains Jan 4th is the first week of the year.
  26948. } });
  26949. return lb;
  26950. });
  26951. /***/ }),
  26952. /* 186 */
  26953. /*!*****************************************************************!*\
  26954. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/lo.js ***!
  26955. \*****************************************************************/
  26956. /*! no static exports found */
  26957. /***/ (function(module, exports, __webpack_require__) {
  26958. //! moment.js locale configuration
  26959. //! locale : Lao [lo]
  26960. //! author : Ryan Hart : https://github.com/ryanhart2
  26961. ;(function (global, factory) {
  26962. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  26963. undefined;
  26964. })(this, function (moment) {'use strict';
  26965. //! moment.js locale configuration
  26966. var lo = moment.defineLocale('lo', {
  26967. months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(
  26968. '_'),
  26969. monthsShort:
  26970. 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(
  26971. '_'),
  26972. weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
  26973. weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
  26974. weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),
  26975. weekdaysParseExact: true,
  26976. longDateFormat: {
  26977. LT: 'HH:mm',
  26978. LTS: 'HH:mm:ss',
  26979. L: 'DD/MM/YYYY',
  26980. LL: 'D MMMM YYYY',
  26981. LLL: 'D MMMM YYYY HH:mm',
  26982. LLLL: 'ວັນdddd D MMMM YYYY HH:mm' },
  26983. meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,
  26984. isPM: function isPM(input) {
  26985. return input === 'ຕອນແລງ';
  26986. },
  26987. meridiem: function meridiem(hour, minute, isLower) {
  26988. if (hour < 12) {
  26989. return 'ຕອນເຊົ້າ';
  26990. } else {
  26991. return 'ຕອນແລງ';
  26992. }
  26993. },
  26994. calendar: {
  26995. sameDay: '[ມື້ນີ້ເວລາ] LT',
  26996. nextDay: '[ມື້ອື່ນເວລາ] LT',
  26997. nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',
  26998. lastDay: '[ມື້ວານນີ້ເວລາ] LT',
  26999. lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',
  27000. sameElse: 'L' },
  27001. relativeTime: {
  27002. future: 'ອີກ %s',
  27003. past: '%sຜ່ານມາ',
  27004. s: 'ບໍ່ເທົ່າໃດວິນາທີ',
  27005. ss: '%d ວິນາທີ',
  27006. m: '1 ນາທີ',
  27007. mm: '%d ນາທີ',
  27008. h: '1 ຊົ່ວໂມງ',
  27009. hh: '%d ຊົ່ວໂມງ',
  27010. d: '1 ມື້',
  27011. dd: '%d ມື້',
  27012. M: '1 ເດືອນ',
  27013. MM: '%d ເດືອນ',
  27014. y: '1 ປີ',
  27015. yy: '%d ປີ' },
  27016. dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/,
  27017. ordinal: function ordinal(number) {
  27018. return 'ທີ່' + number;
  27019. } });
  27020. return lo;
  27021. });
  27022. /***/ }),
  27023. /* 187 */
  27024. /*!*****************************************************************!*\
  27025. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/lt.js ***!
  27026. \*****************************************************************/
  27027. /*! no static exports found */
  27028. /***/ (function(module, exports, __webpack_require__) {
  27029. //! moment.js locale configuration
  27030. //! locale : Lithuanian [lt]
  27031. //! author : Mindaugas Mozūras : https://github.com/mmozuras
  27032. ;(function (global, factory) {
  27033. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  27034. undefined;
  27035. })(this, function (moment) {'use strict';
  27036. //! moment.js locale configuration
  27037. var units = {
  27038. ss: 'sekundė_sekundžių_sekundes',
  27039. m: 'minutė_minutės_minutę',
  27040. mm: 'minutės_minučių_minutes',
  27041. h: 'valanda_valandos_valandą',
  27042. hh: 'valandos_valandų_valandas',
  27043. d: 'diena_dienos_dieną',
  27044. dd: 'dienos_dienų_dienas',
  27045. M: 'mėnuo_mėnesio_mėnesį',
  27046. MM: 'mėnesiai_mėnesių_mėnesius',
  27047. y: 'metai_metų_metus',
  27048. yy: 'metai_metų_metus' };
  27049. function translateSeconds(number, withoutSuffix, key, isFuture) {
  27050. if (withoutSuffix) {
  27051. return 'kelios sekundės';
  27052. } else {
  27053. return isFuture ? 'kelių sekundžių' : 'kelias sekundes';
  27054. }
  27055. }
  27056. function translateSingular(number, withoutSuffix, key, isFuture) {
  27057. return withoutSuffix ?
  27058. forms(key)[0] :
  27059. isFuture ?
  27060. forms(key)[1] :
  27061. forms(key)[2];
  27062. }
  27063. function special(number) {
  27064. return number % 10 === 0 || number > 10 && number < 20;
  27065. }
  27066. function forms(key) {
  27067. return units[key].split('_');
  27068. }
  27069. function translate(number, withoutSuffix, key, isFuture) {
  27070. var result = number + ' ';
  27071. if (number === 1) {
  27072. return (
  27073. result + translateSingular(number, withoutSuffix, key[0], isFuture));
  27074. } else if (withoutSuffix) {
  27075. return result + (special(number) ? forms(key)[1] : forms(key)[0]);
  27076. } else {
  27077. if (isFuture) {
  27078. return result + forms(key)[1];
  27079. } else {
  27080. return result + (special(number) ? forms(key)[1] : forms(key)[2]);
  27081. }
  27082. }
  27083. }
  27084. var lt = moment.defineLocale('lt', {
  27085. months: {
  27086. format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(
  27087. '_'),
  27088. standalone:
  27089. 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(
  27090. '_'),
  27091. isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/ },
  27092. monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),
  27093. weekdays: {
  27094. format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(
  27095. '_'),
  27096. standalone:
  27097. 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(
  27098. '_'),
  27099. isFormat: /dddd HH:mm/ },
  27100. weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),
  27101. weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),
  27102. weekdaysParseExact: true,
  27103. longDateFormat: {
  27104. LT: 'HH:mm',
  27105. LTS: 'HH:mm:ss',
  27106. L: 'YYYY-MM-DD',
  27107. LL: 'YYYY [m.] MMMM D [d.]',
  27108. LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
  27109. LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',
  27110. l: 'YYYY-MM-DD',
  27111. ll: 'YYYY [m.] MMMM D [d.]',
  27112. lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
  27113. llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]' },
  27114. calendar: {
  27115. sameDay: '[Šiandien] LT',
  27116. nextDay: '[Rytoj] LT',
  27117. nextWeek: 'dddd LT',
  27118. lastDay: '[Vakar] LT',
  27119. lastWeek: '[Praėjusį] dddd LT',
  27120. sameElse: 'L' },
  27121. relativeTime: {
  27122. future: 'po %s',
  27123. past: 'prieš %s',
  27124. s: translateSeconds,
  27125. ss: translate,
  27126. m: translateSingular,
  27127. mm: translate,
  27128. h: translateSingular,
  27129. hh: translate,
  27130. d: translateSingular,
  27131. dd: translate,
  27132. M: translateSingular,
  27133. MM: translate,
  27134. y: translateSingular,
  27135. yy: translate },
  27136. dayOfMonthOrdinalParse: /\d{1,2}-oji/,
  27137. ordinal: function ordinal(number) {
  27138. return number + '-oji';
  27139. },
  27140. week: {
  27141. dow: 1, // Monday is the first day of the week.
  27142. doy: 4 // The week that contains Jan 4th is the first week of the year.
  27143. } });
  27144. return lt;
  27145. });
  27146. /***/ }),
  27147. /* 188 */
  27148. /*!*****************************************************************!*\
  27149. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/lv.js ***!
  27150. \*****************************************************************/
  27151. /*! no static exports found */
  27152. /***/ (function(module, exports, __webpack_require__) {
  27153. //! moment.js locale configuration
  27154. //! locale : Latvian [lv]
  27155. //! author : Kristaps Karlsons : https://github.com/skakri
  27156. //! author : Jānis Elmeris : https://github.com/JanisE
  27157. ;(function (global, factory) {
  27158. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  27159. undefined;
  27160. })(this, function (moment) {'use strict';
  27161. //! moment.js locale configuration
  27162. var units = {
  27163. ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),
  27164. m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),
  27165. mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),
  27166. h: 'stundas_stundām_stunda_stundas'.split('_'),
  27167. hh: 'stundas_stundām_stunda_stundas'.split('_'),
  27168. d: 'dienas_dienām_diena_dienas'.split('_'),
  27169. dd: 'dienas_dienām_diena_dienas'.split('_'),
  27170. M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
  27171. MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
  27172. y: 'gada_gadiem_gads_gadi'.split('_'),
  27173. yy: 'gada_gadiem_gads_gadi'.split('_') };
  27174. /**
  27175. * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.
  27176. */
  27177. function format(forms, number, withoutSuffix) {
  27178. if (withoutSuffix) {
  27179. // E.g. "21 minūte", "3 minūtes".
  27180. return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];
  27181. } else {
  27182. // E.g. "21 minūtes" as in "pēc 21 minūtes".
  27183. // E.g. "3 minūtēm" as in "pēc 3 minūtēm".
  27184. return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];
  27185. }
  27186. }
  27187. function relativeTimeWithPlural(number, withoutSuffix, key) {
  27188. return number + ' ' + format(units[key], number, withoutSuffix);
  27189. }
  27190. function relativeTimeWithSingular(number, withoutSuffix, key) {
  27191. return format(units[key], number, withoutSuffix);
  27192. }
  27193. function relativeSeconds(number, withoutSuffix) {
  27194. return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';
  27195. }
  27196. var lv = moment.defineLocale('lv', {
  27197. months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(
  27198. '_'),
  27199. monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),
  27200. weekdays:
  27201. 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(
  27202. '_'),
  27203. weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),
  27204. weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),
  27205. weekdaysParseExact: true,
  27206. longDateFormat: {
  27207. LT: 'HH:mm',
  27208. LTS: 'HH:mm:ss',
  27209. L: 'DD.MM.YYYY.',
  27210. LL: 'YYYY. [gada] D. MMMM',
  27211. LLL: 'YYYY. [gada] D. MMMM, HH:mm',
  27212. LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm' },
  27213. calendar: {
  27214. sameDay: '[Šodien pulksten] LT',
  27215. nextDay: '[Rīt pulksten] LT',
  27216. nextWeek: 'dddd [pulksten] LT',
  27217. lastDay: '[Vakar pulksten] LT',
  27218. lastWeek: '[Pagājušā] dddd [pulksten] LT',
  27219. sameElse: 'L' },
  27220. relativeTime: {
  27221. future: 'pēc %s',
  27222. past: 'pirms %s',
  27223. s: relativeSeconds,
  27224. ss: relativeTimeWithPlural,
  27225. m: relativeTimeWithSingular,
  27226. mm: relativeTimeWithPlural,
  27227. h: relativeTimeWithSingular,
  27228. hh: relativeTimeWithPlural,
  27229. d: relativeTimeWithSingular,
  27230. dd: relativeTimeWithPlural,
  27231. M: relativeTimeWithSingular,
  27232. MM: relativeTimeWithPlural,
  27233. y: relativeTimeWithSingular,
  27234. yy: relativeTimeWithPlural },
  27235. dayOfMonthOrdinalParse: /\d{1,2}\./,
  27236. ordinal: '%d.',
  27237. week: {
  27238. dow: 1, // Monday is the first day of the week.
  27239. doy: 4 // The week that contains Jan 4th is the first week of the year.
  27240. } });
  27241. return lv;
  27242. });
  27243. /***/ }),
  27244. /* 189 */
  27245. /*!*****************************************************************!*\
  27246. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/me.js ***!
  27247. \*****************************************************************/
  27248. /*! no static exports found */
  27249. /***/ (function(module, exports, __webpack_require__) {
  27250. //! moment.js locale configuration
  27251. //! locale : Montenegrin [me]
  27252. //! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac
  27253. ;(function (global, factory) {
  27254. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  27255. undefined;
  27256. })(this, function (moment) {'use strict';
  27257. //! moment.js locale configuration
  27258. var translator = {
  27259. words: {
  27260. //Different grammatical cases
  27261. ss: ['sekund', 'sekunda', 'sekundi'],
  27262. m: ['jedan minut', 'jednog minuta'],
  27263. mm: ['minut', 'minuta', 'minuta'],
  27264. h: ['jedan sat', 'jednog sata'],
  27265. hh: ['sat', 'sata', 'sati'],
  27266. dd: ['dan', 'dana', 'dana'],
  27267. MM: ['mjesec', 'mjeseca', 'mjeseci'],
  27268. yy: ['godina', 'godine', 'godina'] },
  27269. correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) {
  27270. return number === 1 ?
  27271. wordKey[0] :
  27272. number >= 2 && number <= 4 ?
  27273. wordKey[1] :
  27274. wordKey[2];
  27275. },
  27276. translate: function translate(number, withoutSuffix, key) {
  27277. var wordKey = translator.words[key];
  27278. if (key.length === 1) {
  27279. return withoutSuffix ? wordKey[0] : wordKey[1];
  27280. } else {
  27281. return (
  27282. number +
  27283. ' ' +
  27284. translator.correctGrammaticalCase(number, wordKey));
  27285. }
  27286. } };
  27287. var me = moment.defineLocale('me', {
  27288. months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(
  27289. '_'),
  27290. monthsShort:
  27291. 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
  27292. monthsParseExact: true,
  27293. weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(
  27294. '_'),
  27295. weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
  27296. weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
  27297. weekdaysParseExact: true,
  27298. longDateFormat: {
  27299. LT: 'H:mm',
  27300. LTS: 'H:mm:ss',
  27301. L: 'DD.MM.YYYY',
  27302. LL: 'D. MMMM YYYY',
  27303. LLL: 'D. MMMM YYYY H:mm',
  27304. LLLL: 'dddd, D. MMMM YYYY H:mm' },
  27305. calendar: {
  27306. sameDay: '[danas u] LT',
  27307. nextDay: '[sjutra u] LT',
  27308. nextWeek: function nextWeek() {
  27309. switch (this.day()) {
  27310. case 0:
  27311. return '[u] [nedjelju] [u] LT';
  27312. case 3:
  27313. return '[u] [srijedu] [u] LT';
  27314. case 6:
  27315. return '[u] [subotu] [u] LT';
  27316. case 1:
  27317. case 2:
  27318. case 4:
  27319. case 5:
  27320. return '[u] dddd [u] LT';}
  27321. },
  27322. lastDay: '[juče u] LT',
  27323. lastWeek: function lastWeek() {
  27324. var lastWeekDays = [
  27325. '[prošle] [nedjelje] [u] LT',
  27326. '[prošlog] [ponedjeljka] [u] LT',
  27327. '[prošlog] [utorka] [u] LT',
  27328. '[prošle] [srijede] [u] LT',
  27329. '[prošlog] [četvrtka] [u] LT',
  27330. '[prošlog] [petka] [u] LT',
  27331. '[prošle] [subote] [u] LT'];
  27332. return lastWeekDays[this.day()];
  27333. },
  27334. sameElse: 'L' },
  27335. relativeTime: {
  27336. future: 'za %s',
  27337. past: 'prije %s',
  27338. s: 'nekoliko sekundi',
  27339. ss: translator.translate,
  27340. m: translator.translate,
  27341. mm: translator.translate,
  27342. h: translator.translate,
  27343. hh: translator.translate,
  27344. d: 'dan',
  27345. dd: translator.translate,
  27346. M: 'mjesec',
  27347. MM: translator.translate,
  27348. y: 'godinu',
  27349. yy: translator.translate },
  27350. dayOfMonthOrdinalParse: /\d{1,2}\./,
  27351. ordinal: '%d.',
  27352. week: {
  27353. dow: 1, // Monday is the first day of the week.
  27354. doy: 7 // The week that contains Jan 7th is the first week of the year.
  27355. } });
  27356. return me;
  27357. });
  27358. /***/ }),
  27359. /* 190 */
  27360. /*!*****************************************************************!*\
  27361. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/mi.js ***!
  27362. \*****************************************************************/
  27363. /*! no static exports found */
  27364. /***/ (function(module, exports, __webpack_require__) {
  27365. //! moment.js locale configuration
  27366. //! locale : Maori [mi]
  27367. //! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal
  27368. ;(function (global, factory) {
  27369. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  27370. undefined;
  27371. })(this, function (moment) {'use strict';
  27372. //! moment.js locale configuration
  27373. var mi = moment.defineLocale('mi', {
  27374. 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(
  27375. '_'),
  27376. monthsShort:
  27377. 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(
  27378. '_'),
  27379. monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
  27380. monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
  27381. monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
  27382. monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,
  27383. weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),
  27384. weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
  27385. weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
  27386. longDateFormat: {
  27387. LT: 'HH:mm',
  27388. LTS: 'HH:mm:ss',
  27389. L: 'DD/MM/YYYY',
  27390. LL: 'D MMMM YYYY',
  27391. LLL: 'D MMMM YYYY [i] HH:mm',
  27392. LLLL: 'dddd, D MMMM YYYY [i] HH:mm' },
  27393. calendar: {
  27394. sameDay: '[i teie mahana, i] LT',
  27395. nextDay: '[apopo i] LT',
  27396. nextWeek: 'dddd [i] LT',
  27397. lastDay: '[inanahi i] LT',
  27398. lastWeek: 'dddd [whakamutunga i] LT',
  27399. sameElse: 'L' },
  27400. relativeTime: {
  27401. future: 'i roto i %s',
  27402. past: '%s i mua',
  27403. s: 'te hēkona ruarua',
  27404. ss: '%d hēkona',
  27405. m: 'he meneti',
  27406. mm: '%d meneti',
  27407. h: 'te haora',
  27408. hh: '%d haora',
  27409. d: 'he ra',
  27410. dd: '%d ra',
  27411. M: 'he marama',
  27412. MM: '%d marama',
  27413. y: 'he tau',
  27414. yy: '%d tau' },
  27415. dayOfMonthOrdinalParse: /\d{1,2}º/,
  27416. ordinal: '%dº',
  27417. week: {
  27418. dow: 1, // Monday is the first day of the week.
  27419. doy: 4 // The week that contains Jan 4th is the first week of the year.
  27420. } });
  27421. return mi;
  27422. });
  27423. /***/ }),
  27424. /* 191 */
  27425. /*!*****************************************************************!*\
  27426. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/mk.js ***!
  27427. \*****************************************************************/
  27428. /*! no static exports found */
  27429. /***/ (function(module, exports, __webpack_require__) {
  27430. //! moment.js locale configuration
  27431. //! locale : Macedonian [mk]
  27432. //! author : Borislav Mickov : https://github.com/B0k0
  27433. //! author : Sashko Todorov : https://github.com/bkyceh
  27434. ;(function (global, factory) {
  27435. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  27436. undefined;
  27437. })(this, function (moment) {'use strict';
  27438. //! moment.js locale configuration
  27439. var mk = moment.defineLocale('mk', {
  27440. months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(
  27441. '_'),
  27442. monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),
  27443. weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(
  27444. '_'),
  27445. weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),
  27446. weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),
  27447. longDateFormat: {
  27448. LT: 'H:mm',
  27449. LTS: 'H:mm:ss',
  27450. L: 'D.MM.YYYY',
  27451. LL: 'D MMMM YYYY',
  27452. LLL: 'D MMMM YYYY H:mm',
  27453. LLLL: 'dddd, D MMMM YYYY H:mm' },
  27454. calendar: {
  27455. sameDay: '[Денес во] LT',
  27456. nextDay: '[Утре во] LT',
  27457. nextWeek: '[Во] dddd [во] LT',
  27458. lastDay: '[Вчера во] LT',
  27459. lastWeek: function lastWeek() {
  27460. switch (this.day()) {
  27461. case 0:
  27462. case 3:
  27463. case 6:
  27464. return '[Изминатата] dddd [во] LT';
  27465. case 1:
  27466. case 2:
  27467. case 4:
  27468. case 5:
  27469. return '[Изминатиот] dddd [во] LT';}
  27470. },
  27471. sameElse: 'L' },
  27472. relativeTime: {
  27473. future: 'за %s',
  27474. past: 'пред %s',
  27475. s: 'неколку секунди',
  27476. ss: '%d секунди',
  27477. m: 'една минута',
  27478. mm: '%d минути',
  27479. h: 'еден час',
  27480. hh: '%d часа',
  27481. d: 'еден ден',
  27482. dd: '%d дена',
  27483. M: 'еден месец',
  27484. MM: '%d месеци',
  27485. y: 'една година',
  27486. yy: '%d години' },
  27487. dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
  27488. ordinal: function ordinal(number) {
  27489. var lastDigit = number % 10,
  27490. last2Digits = number % 100;
  27491. if (number === 0) {
  27492. return number + '-ев';
  27493. } else if (last2Digits === 0) {
  27494. return number + '-ен';
  27495. } else if (last2Digits > 10 && last2Digits < 20) {
  27496. return number + '-ти';
  27497. } else if (lastDigit === 1) {
  27498. return number + '-ви';
  27499. } else if (lastDigit === 2) {
  27500. return number + '-ри';
  27501. } else if (lastDigit === 7 || lastDigit === 8) {
  27502. return number + '-ми';
  27503. } else {
  27504. return number + '-ти';
  27505. }
  27506. },
  27507. week: {
  27508. dow: 1, // Monday is the first day of the week.
  27509. doy: 7 // The week that contains Jan 7th is the first week of the year.
  27510. } });
  27511. return mk;
  27512. });
  27513. /***/ }),
  27514. /* 192 */
  27515. /*!*****************************************************************!*\
  27516. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ml.js ***!
  27517. \*****************************************************************/
  27518. /*! no static exports found */
  27519. /***/ (function(module, exports, __webpack_require__) {
  27520. //! moment.js locale configuration
  27521. //! locale : Malayalam [ml]
  27522. //! author : Floyd Pink : https://github.com/floydpink
  27523. ;(function (global, factory) {
  27524. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  27525. undefined;
  27526. })(this, function (moment) {'use strict';
  27527. //! moment.js locale configuration
  27528. var ml = moment.defineLocale('ml', {
  27529. months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(
  27530. '_'),
  27531. monthsShort:
  27532. 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(
  27533. '_'),
  27534. monthsParseExact: true,
  27535. weekdays:
  27536. 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(
  27537. '_'),
  27538. weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),
  27539. weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),
  27540. longDateFormat: {
  27541. LT: 'A h:mm -നു',
  27542. LTS: 'A h:mm:ss -നു',
  27543. L: 'DD/MM/YYYY',
  27544. LL: 'D MMMM YYYY',
  27545. LLL: 'D MMMM YYYY, A h:mm -നു',
  27546. LLLL: 'dddd, D MMMM YYYY, A h:mm -നു' },
  27547. calendar: {
  27548. sameDay: '[ഇന്ന്] LT',
  27549. nextDay: '[നാളെ] LT',
  27550. nextWeek: 'dddd, LT',
  27551. lastDay: '[ഇന്നലെ] LT',
  27552. lastWeek: '[കഴിഞ്ഞ] dddd, LT',
  27553. sameElse: 'L' },
  27554. relativeTime: {
  27555. future: '%s കഴിഞ്ഞ്',
  27556. past: '%s മുൻപ്',
  27557. s: 'അൽപ നിമിഷങ്ങൾ',
  27558. ss: '%d സെക്കൻഡ്',
  27559. m: 'ഒരു മിനിറ്റ്',
  27560. mm: '%d മിനിറ്റ്',
  27561. h: 'ഒരു മണിക്കൂർ',
  27562. hh: '%d മണിക്കൂർ',
  27563. d: 'ഒരു ദിവസം',
  27564. dd: '%d ദിവസം',
  27565. M: 'ഒരു മാസം',
  27566. MM: '%d മാസം',
  27567. y: 'ഒരു വർഷം',
  27568. yy: '%d വർഷം' },
  27569. meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,
  27570. meridiemHour: function meridiemHour(hour, meridiem) {
  27571. if (hour === 12) {
  27572. hour = 0;
  27573. }
  27574. if (
  27575. meridiem === 'രാത്രി' && hour >= 4 ||
  27576. meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||
  27577. meridiem === 'വൈകുന്നേരം')
  27578. {
  27579. return hour + 12;
  27580. } else {
  27581. return hour;
  27582. }
  27583. },
  27584. meridiem: function meridiem(hour, minute, isLower) {
  27585. if (hour < 4) {
  27586. return 'രാത്രി';
  27587. } else if (hour < 12) {
  27588. return 'രാവിലെ';
  27589. } else if (hour < 17) {
  27590. return 'ഉച്ച കഴിഞ്ഞ്';
  27591. } else if (hour < 20) {
  27592. return 'വൈകുന്നേരം';
  27593. } else {
  27594. return 'രാത്രി';
  27595. }
  27596. } });
  27597. return ml;
  27598. });
  27599. /***/ }),
  27600. /* 193 */
  27601. /*!*****************************************************************!*\
  27602. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/mn.js ***!
  27603. \*****************************************************************/
  27604. /*! no static exports found */
  27605. /***/ (function(module, exports, __webpack_require__) {
  27606. //! moment.js locale configuration
  27607. //! locale : Mongolian [mn]
  27608. //! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7
  27609. ;(function (global, factory) {
  27610. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  27611. undefined;
  27612. })(this, function (moment) {'use strict';
  27613. //! moment.js locale configuration
  27614. function translate(number, withoutSuffix, key, isFuture) {
  27615. switch (key) {
  27616. case 's':
  27617. return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';
  27618. case 'ss':
  27619. return number + (withoutSuffix ? ' секунд' : ' секундын');
  27620. case 'm':
  27621. case 'mm':
  27622. return number + (withoutSuffix ? ' минут' : ' минутын');
  27623. case 'h':
  27624. case 'hh':
  27625. return number + (withoutSuffix ? ' цаг' : ' цагийн');
  27626. case 'd':
  27627. case 'dd':
  27628. return number + (withoutSuffix ? ' өдөр' : ' өдрийн');
  27629. case 'M':
  27630. case 'MM':
  27631. return number + (withoutSuffix ? ' сар' : ' сарын');
  27632. case 'y':
  27633. case 'yy':
  27634. return number + (withoutSuffix ? ' жил' : ' жилийн');
  27635. default:
  27636. return number;}
  27637. }
  27638. var mn = moment.defineLocale('mn', {
  27639. months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(
  27640. '_'),
  27641. monthsShort:
  27642. '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(
  27643. '_'),
  27644. monthsParseExact: true,
  27645. weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),
  27646. weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),
  27647. weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),
  27648. weekdaysParseExact: true,
  27649. longDateFormat: {
  27650. LT: 'HH:mm',
  27651. LTS: 'HH:mm:ss',
  27652. L: 'YYYY-MM-DD',
  27653. LL: 'YYYY оны MMMMын D',
  27654. LLL: 'YYYY оны MMMMын D HH:mm',
  27655. LLLL: 'dddd, YYYY оны MMMMын D HH:mm' },
  27656. meridiemParse: /ҮӨ|ҮХ/i,
  27657. isPM: function isPM(input) {
  27658. return input === 'ҮХ';
  27659. },
  27660. meridiem: function meridiem(hour, minute, isLower) {
  27661. if (hour < 12) {
  27662. return 'ҮӨ';
  27663. } else {
  27664. return 'ҮХ';
  27665. }
  27666. },
  27667. calendar: {
  27668. sameDay: '[Өнөөдөр] LT',
  27669. nextDay: '[Маргааш] LT',
  27670. nextWeek: '[Ирэх] dddd LT',
  27671. lastDay: '[Өчигдөр] LT',
  27672. lastWeek: '[Өнгөрсөн] dddd LT',
  27673. sameElse: 'L' },
  27674. relativeTime: {
  27675. future: '%s дараа',
  27676. past: '%s өмнө',
  27677. s: translate,
  27678. ss: translate,
  27679. m: translate,
  27680. mm: translate,
  27681. h: translate,
  27682. hh: translate,
  27683. d: translate,
  27684. dd: translate,
  27685. M: translate,
  27686. MM: translate,
  27687. y: translate,
  27688. yy: translate },
  27689. dayOfMonthOrdinalParse: /\d{1,2} өдөр/,
  27690. ordinal: function ordinal(number, period) {
  27691. switch (period) {
  27692. case 'd':
  27693. case 'D':
  27694. case 'DDD':
  27695. return number + ' өдөр';
  27696. default:
  27697. return number;}
  27698. } });
  27699. return mn;
  27700. });
  27701. /***/ }),
  27702. /* 194 */
  27703. /*!*****************************************************************!*\
  27704. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/mr.js ***!
  27705. \*****************************************************************/
  27706. /*! no static exports found */
  27707. /***/ (function(module, exports, __webpack_require__) {
  27708. //! moment.js locale configuration
  27709. //! locale : Marathi [mr]
  27710. //! author : Harshad Kale : https://github.com/kalehv
  27711. //! author : Vivek Athalye : https://github.com/vnathalye
  27712. ;(function (global, factory) {
  27713. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  27714. undefined;
  27715. })(this, function (moment) {'use strict';
  27716. //! moment.js locale configuration
  27717. var symbolMap = {
  27718. 1: '१',
  27719. 2: '२',
  27720. 3: '३',
  27721. 4: '४',
  27722. 5: '५',
  27723. 6: '६',
  27724. 7: '७',
  27725. 8: '८',
  27726. 9: '९',
  27727. 0: '०' },
  27728. numberMap = {
  27729. '१': '1',
  27730. '२': '2',
  27731. '३': '3',
  27732. '४': '4',
  27733. '५': '5',
  27734. '६': '6',
  27735. '७': '7',
  27736. '८': '8',
  27737. '९': '9',
  27738. '०': '0' };
  27739. function relativeTimeMr(number, withoutSuffix, string, isFuture) {
  27740. var output = '';
  27741. if (withoutSuffix) {
  27742. switch (string) {
  27743. case 's':
  27744. output = 'काही सेकंद';
  27745. break;
  27746. case 'ss':
  27747. output = '%d सेकंद';
  27748. break;
  27749. case 'm':
  27750. output = 'एक मिनिट';
  27751. break;
  27752. case 'mm':
  27753. output = '%d मिनिटे';
  27754. break;
  27755. case 'h':
  27756. output = 'एक तास';
  27757. break;
  27758. case 'hh':
  27759. output = '%d तास';
  27760. break;
  27761. case 'd':
  27762. output = 'एक दिवस';
  27763. break;
  27764. case 'dd':
  27765. output = '%d दिवस';
  27766. break;
  27767. case 'M':
  27768. output = 'एक महिना';
  27769. break;
  27770. case 'MM':
  27771. output = '%d महिने';
  27772. break;
  27773. case 'y':
  27774. output = 'एक वर्ष';
  27775. break;
  27776. case 'yy':
  27777. output = '%d वर्षे';
  27778. break;}
  27779. } else {
  27780. switch (string) {
  27781. case 's':
  27782. output = 'काही सेकंदां';
  27783. break;
  27784. case 'ss':
  27785. output = '%d सेकंदां';
  27786. break;
  27787. case 'm':
  27788. output = 'एका मिनिटा';
  27789. break;
  27790. case 'mm':
  27791. output = '%d मिनिटां';
  27792. break;
  27793. case 'h':
  27794. output = 'एका तासा';
  27795. break;
  27796. case 'hh':
  27797. output = '%d तासां';
  27798. break;
  27799. case 'd':
  27800. output = 'एका दिवसा';
  27801. break;
  27802. case 'dd':
  27803. output = '%d दिवसां';
  27804. break;
  27805. case 'M':
  27806. output = 'एका महिन्या';
  27807. break;
  27808. case 'MM':
  27809. output = '%d महिन्यां';
  27810. break;
  27811. case 'y':
  27812. output = 'एका वर्षा';
  27813. break;
  27814. case 'yy':
  27815. output = '%d वर्षां';
  27816. break;}
  27817. }
  27818. return output.replace(/%d/i, number);
  27819. }
  27820. var mr = moment.defineLocale('mr', {
  27821. months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(
  27822. '_'),
  27823. monthsShort:
  27824. 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(
  27825. '_'),
  27826. monthsParseExact: true,
  27827. weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
  27828. weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),
  27829. weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),
  27830. longDateFormat: {
  27831. LT: 'A h:mm वाजता',
  27832. LTS: 'A h:mm:ss वाजता',
  27833. L: 'DD/MM/YYYY',
  27834. LL: 'D MMMM YYYY',
  27835. LLL: 'D MMMM YYYY, A h:mm वाजता',
  27836. LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता' },
  27837. calendar: {
  27838. sameDay: '[आज] LT',
  27839. nextDay: '[उद्या] LT',
  27840. nextWeek: 'dddd, LT',
  27841. lastDay: '[काल] LT',
  27842. lastWeek: '[मागील] dddd, LT',
  27843. sameElse: 'L' },
  27844. relativeTime: {
  27845. future: '%sमध्ये',
  27846. past: '%sपूर्वी',
  27847. s: relativeTimeMr,
  27848. ss: relativeTimeMr,
  27849. m: relativeTimeMr,
  27850. mm: relativeTimeMr,
  27851. h: relativeTimeMr,
  27852. hh: relativeTimeMr,
  27853. d: relativeTimeMr,
  27854. dd: relativeTimeMr,
  27855. M: relativeTimeMr,
  27856. MM: relativeTimeMr,
  27857. y: relativeTimeMr,
  27858. yy: relativeTimeMr },
  27859. preparse: function preparse(string) {
  27860. return string.replace(/[१२३४५६७८९०]/g, function (match) {
  27861. return numberMap[match];
  27862. });
  27863. },
  27864. postformat: function postformat(string) {
  27865. return string.replace(/\d/g, function (match) {
  27866. return symbolMap[match];
  27867. });
  27868. },
  27869. meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,
  27870. meridiemHour: function meridiemHour(hour, meridiem) {
  27871. if (hour === 12) {
  27872. hour = 0;
  27873. }
  27874. if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {
  27875. return hour;
  27876. } else if (
  27877. meridiem === 'दुपारी' ||
  27878. meridiem === 'सायंकाळी' ||
  27879. meridiem === 'रात्री')
  27880. {
  27881. return hour >= 12 ? hour : hour + 12;
  27882. }
  27883. },
  27884. meridiem: function meridiem(hour, minute, isLower) {
  27885. if (hour >= 0 && hour < 6) {
  27886. return 'पहाटे';
  27887. } else if (hour < 12) {
  27888. return 'सकाळी';
  27889. } else if (hour < 17) {
  27890. return 'दुपारी';
  27891. } else if (hour < 20) {
  27892. return 'सायंकाळी';
  27893. } else {
  27894. return 'रात्री';
  27895. }
  27896. },
  27897. week: {
  27898. dow: 0, // Sunday is the first day of the week.
  27899. doy: 6 // The week that contains Jan 6th is the first week of the year.
  27900. } });
  27901. return mr;
  27902. });
  27903. /***/ }),
  27904. /* 195 */
  27905. /*!*****************************************************************!*\
  27906. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ms.js ***!
  27907. \*****************************************************************/
  27908. /*! no static exports found */
  27909. /***/ (function(module, exports, __webpack_require__) {
  27910. //! moment.js locale configuration
  27911. //! locale : Malay [ms]
  27912. //! author : Weldan Jamili : https://github.com/weldan
  27913. ;(function (global, factory) {
  27914. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  27915. undefined;
  27916. })(this, function (moment) {'use strict';
  27917. //! moment.js locale configuration
  27918. var ms = moment.defineLocale('ms', {
  27919. months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(
  27920. '_'),
  27921. monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
  27922. weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
  27923. weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
  27924. weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
  27925. longDateFormat: {
  27926. LT: 'HH.mm',
  27927. LTS: 'HH.mm.ss',
  27928. L: 'DD/MM/YYYY',
  27929. LL: 'D MMMM YYYY',
  27930. LLL: 'D MMMM YYYY [pukul] HH.mm',
  27931. LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm' },
  27932. meridiemParse: /pagi|tengahari|petang|malam/,
  27933. meridiemHour: function meridiemHour(hour, meridiem) {
  27934. if (hour === 12) {
  27935. hour = 0;
  27936. }
  27937. if (meridiem === 'pagi') {
  27938. return hour;
  27939. } else if (meridiem === 'tengahari') {
  27940. return hour >= 11 ? hour : hour + 12;
  27941. } else if (meridiem === 'petang' || meridiem === 'malam') {
  27942. return hour + 12;
  27943. }
  27944. },
  27945. meridiem: function meridiem(hours, minutes, isLower) {
  27946. if (hours < 11) {
  27947. return 'pagi';
  27948. } else if (hours < 15) {
  27949. return 'tengahari';
  27950. } else if (hours < 19) {
  27951. return 'petang';
  27952. } else {
  27953. return 'malam';
  27954. }
  27955. },
  27956. calendar: {
  27957. sameDay: '[Hari ini pukul] LT',
  27958. nextDay: '[Esok pukul] LT',
  27959. nextWeek: 'dddd [pukul] LT',
  27960. lastDay: '[Kelmarin pukul] LT',
  27961. lastWeek: 'dddd [lepas pukul] LT',
  27962. sameElse: 'L' },
  27963. relativeTime: {
  27964. future: 'dalam %s',
  27965. past: '%s yang lepas',
  27966. s: 'beberapa saat',
  27967. ss: '%d saat',
  27968. m: 'seminit',
  27969. mm: '%d minit',
  27970. h: 'sejam',
  27971. hh: '%d jam',
  27972. d: 'sehari',
  27973. dd: '%d hari',
  27974. M: 'sebulan',
  27975. MM: '%d bulan',
  27976. y: 'setahun',
  27977. yy: '%d tahun' },
  27978. week: {
  27979. dow: 1, // Monday is the first day of the week.
  27980. doy: 7 // The week that contains Jan 7th is the first week of the year.
  27981. } });
  27982. return ms;
  27983. });
  27984. /***/ }),
  27985. /* 196 */
  27986. /*!********************************************************************!*\
  27987. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ms-my.js ***!
  27988. \********************************************************************/
  27989. /*! no static exports found */
  27990. /***/ (function(module, exports, __webpack_require__) {
  27991. //! moment.js locale configuration
  27992. //! locale : Malay [ms-my]
  27993. //! note : DEPRECATED, the correct one is [ms]
  27994. //! author : Weldan Jamili : https://github.com/weldan
  27995. ;(function (global, factory) {
  27996. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  27997. undefined;
  27998. })(this, function (moment) {'use strict';
  27999. //! moment.js locale configuration
  28000. var msMy = moment.defineLocale('ms-my', {
  28001. months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(
  28002. '_'),
  28003. monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
  28004. weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
  28005. weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
  28006. weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
  28007. longDateFormat: {
  28008. LT: 'HH.mm',
  28009. LTS: 'HH.mm.ss',
  28010. L: 'DD/MM/YYYY',
  28011. LL: 'D MMMM YYYY',
  28012. LLL: 'D MMMM YYYY [pukul] HH.mm',
  28013. LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm' },
  28014. meridiemParse: /pagi|tengahari|petang|malam/,
  28015. meridiemHour: function meridiemHour(hour, meridiem) {
  28016. if (hour === 12) {
  28017. hour = 0;
  28018. }
  28019. if (meridiem === 'pagi') {
  28020. return hour;
  28021. } else if (meridiem === 'tengahari') {
  28022. return hour >= 11 ? hour : hour + 12;
  28023. } else if (meridiem === 'petang' || meridiem === 'malam') {
  28024. return hour + 12;
  28025. }
  28026. },
  28027. meridiem: function meridiem(hours, minutes, isLower) {
  28028. if (hours < 11) {
  28029. return 'pagi';
  28030. } else if (hours < 15) {
  28031. return 'tengahari';
  28032. } else if (hours < 19) {
  28033. return 'petang';
  28034. } else {
  28035. return 'malam';
  28036. }
  28037. },
  28038. calendar: {
  28039. sameDay: '[Hari ini pukul] LT',
  28040. nextDay: '[Esok pukul] LT',
  28041. nextWeek: 'dddd [pukul] LT',
  28042. lastDay: '[Kelmarin pukul] LT',
  28043. lastWeek: 'dddd [lepas pukul] LT',
  28044. sameElse: 'L' },
  28045. relativeTime: {
  28046. future: 'dalam %s',
  28047. past: '%s yang lepas',
  28048. s: 'beberapa saat',
  28049. ss: '%d saat',
  28050. m: 'seminit',
  28051. mm: '%d minit',
  28052. h: 'sejam',
  28053. hh: '%d jam',
  28054. d: 'sehari',
  28055. dd: '%d hari',
  28056. M: 'sebulan',
  28057. MM: '%d bulan',
  28058. y: 'setahun',
  28059. yy: '%d tahun' },
  28060. week: {
  28061. dow: 1, // Monday is the first day of the week.
  28062. doy: 7 // The week that contains Jan 7th is the first week of the year.
  28063. } });
  28064. return msMy;
  28065. });
  28066. /***/ }),
  28067. /* 197 */
  28068. /*!*****************************************************************!*\
  28069. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/mt.js ***!
  28070. \*****************************************************************/
  28071. /*! no static exports found */
  28072. /***/ (function(module, exports, __webpack_require__) {
  28073. //! moment.js locale configuration
  28074. //! locale : Maltese (Malta) [mt]
  28075. //! author : Alessandro Maruccia : https://github.com/alesma
  28076. ;(function (global, factory) {
  28077. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  28078. undefined;
  28079. })(this, function (moment) {'use strict';
  28080. //! moment.js locale configuration
  28081. var mt = moment.defineLocale('mt', {
  28082. months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(
  28083. '_'),
  28084. monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),
  28085. weekdays:
  28086. 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(
  28087. '_'),
  28088. weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),
  28089. weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),
  28090. longDateFormat: {
  28091. LT: 'HH:mm',
  28092. LTS: 'HH:mm:ss',
  28093. L: 'DD/MM/YYYY',
  28094. LL: 'D MMMM YYYY',
  28095. LLL: 'D MMMM YYYY HH:mm',
  28096. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  28097. calendar: {
  28098. sameDay: '[Illum fil-]LT',
  28099. nextDay: '[Għada fil-]LT',
  28100. nextWeek: 'dddd [fil-]LT',
  28101. lastDay: '[Il-bieraħ fil-]LT',
  28102. lastWeek: 'dddd [li għadda] [fil-]LT',
  28103. sameElse: 'L' },
  28104. relativeTime: {
  28105. future: 'f’ %s',
  28106. past: '%s ilu',
  28107. s: 'ftit sekondi',
  28108. ss: '%d sekondi',
  28109. m: 'minuta',
  28110. mm: '%d minuti',
  28111. h: 'siegħa',
  28112. hh: '%d siegħat',
  28113. d: 'ġurnata',
  28114. dd: '%d ġranet',
  28115. M: 'xahar',
  28116. MM: '%d xhur',
  28117. y: 'sena',
  28118. yy: '%d sni' },
  28119. dayOfMonthOrdinalParse: /\d{1,2}º/,
  28120. ordinal: '%dº',
  28121. week: {
  28122. dow: 1, // Monday is the first day of the week.
  28123. doy: 4 // The week that contains Jan 4th is the first week of the year.
  28124. } });
  28125. return mt;
  28126. });
  28127. /***/ }),
  28128. /* 198 */
  28129. /*!*****************************************************************!*\
  28130. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/my.js ***!
  28131. \*****************************************************************/
  28132. /*! no static exports found */
  28133. /***/ (function(module, exports, __webpack_require__) {
  28134. //! moment.js locale configuration
  28135. //! locale : Burmese [my]
  28136. //! author : Squar team, mysquar.com
  28137. //! author : David Rossellat : https://github.com/gholadr
  28138. //! author : Tin Aung Lin : https://github.com/thanyawzinmin
  28139. ;(function (global, factory) {
  28140. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  28141. undefined;
  28142. })(this, function (moment) {'use strict';
  28143. //! moment.js locale configuration
  28144. var symbolMap = {
  28145. 1: '၁',
  28146. 2: '၂',
  28147. 3: '၃',
  28148. 4: '၄',
  28149. 5: '၅',
  28150. 6: '၆',
  28151. 7: '၇',
  28152. 8: '၈',
  28153. 9: '၉',
  28154. 0: '၀' },
  28155. numberMap = {
  28156. '၁': '1',
  28157. '၂': '2',
  28158. '၃': '3',
  28159. '၄': '4',
  28160. '၅': '5',
  28161. '၆': '6',
  28162. '၇': '7',
  28163. '၈': '8',
  28164. '၉': '9',
  28165. '၀': '0' };
  28166. var my = moment.defineLocale('my', {
  28167. months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(
  28168. '_'),
  28169. monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),
  28170. weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(
  28171. '_'),
  28172. weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
  28173. weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
  28174. longDateFormat: {
  28175. LT: 'HH:mm',
  28176. LTS: 'HH:mm:ss',
  28177. L: 'DD/MM/YYYY',
  28178. LL: 'D MMMM YYYY',
  28179. LLL: 'D MMMM YYYY HH:mm',
  28180. LLLL: 'dddd D MMMM YYYY HH:mm' },
  28181. calendar: {
  28182. sameDay: '[ယနေ.] LT [မှာ]',
  28183. nextDay: '[မနက်ဖြန်] LT [မှာ]',
  28184. nextWeek: 'dddd LT [မှာ]',
  28185. lastDay: '[မနေ.က] LT [မှာ]',
  28186. lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',
  28187. sameElse: 'L' },
  28188. relativeTime: {
  28189. future: 'လာမည့် %s မှာ',
  28190. past: 'လွန်ခဲ့သော %s က',
  28191. s: 'စက္ကန်.အနည်းငယ်',
  28192. ss: '%d စက္ကန့်',
  28193. m: 'တစ်မိနစ်',
  28194. mm: '%d မိနစ်',
  28195. h: 'တစ်နာရီ',
  28196. hh: '%d နာရီ',
  28197. d: 'တစ်ရက်',
  28198. dd: '%d ရက်',
  28199. M: 'တစ်လ',
  28200. MM: '%d လ',
  28201. y: 'တစ်နှစ်',
  28202. yy: '%d နှစ်' },
  28203. preparse: function preparse(string) {
  28204. return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {
  28205. return numberMap[match];
  28206. });
  28207. },
  28208. postformat: function postformat(string) {
  28209. return string.replace(/\d/g, function (match) {
  28210. return symbolMap[match];
  28211. });
  28212. },
  28213. week: {
  28214. dow: 1, // Monday is the first day of the week.
  28215. doy: 4 // The week that contains Jan 4th is the first week of the year.
  28216. } });
  28217. return my;
  28218. });
  28219. /***/ }),
  28220. /* 199 */
  28221. /*!*****************************************************************!*\
  28222. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/nb.js ***!
  28223. \*****************************************************************/
  28224. /*! no static exports found */
  28225. /***/ (function(module, exports, __webpack_require__) {
  28226. //! moment.js locale configuration
  28227. //! locale : Norwegian Bokmål [nb]
  28228. //! authors : Espen Hovlandsdal : https://github.com/rexxars
  28229. //! Sigurd Gartmann : https://github.com/sigurdga
  28230. //! Stephen Ramthun : https://github.com/stephenramthun
  28231. ;(function (global, factory) {
  28232. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  28233. undefined;
  28234. })(this, function (moment) {'use strict';
  28235. //! moment.js locale configuration
  28236. var nb = moment.defineLocale('nb', {
  28237. months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(
  28238. '_'),
  28239. monthsShort:
  28240. 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),
  28241. monthsParseExact: true,
  28242. weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
  28243. weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),
  28244. weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),
  28245. weekdaysParseExact: true,
  28246. longDateFormat: {
  28247. LT: 'HH:mm',
  28248. LTS: 'HH:mm:ss',
  28249. L: 'DD.MM.YYYY',
  28250. LL: 'D. MMMM YYYY',
  28251. LLL: 'D. MMMM YYYY [kl.] HH:mm',
  28252. LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm' },
  28253. calendar: {
  28254. sameDay: '[i dag kl.] LT',
  28255. nextDay: '[i morgen kl.] LT',
  28256. nextWeek: 'dddd [kl.] LT',
  28257. lastDay: '[i går kl.] LT',
  28258. lastWeek: '[forrige] dddd [kl.] LT',
  28259. sameElse: 'L' },
  28260. relativeTime: {
  28261. future: 'om %s',
  28262. past: '%s siden',
  28263. s: 'noen sekunder',
  28264. ss: '%d sekunder',
  28265. m: 'ett minutt',
  28266. mm: '%d minutter',
  28267. h: 'en time',
  28268. hh: '%d timer',
  28269. d: 'en dag',
  28270. dd: '%d dager',
  28271. w: 'en uke',
  28272. ww: '%d uker',
  28273. M: 'en måned',
  28274. MM: '%d måneder',
  28275. y: 'ett år',
  28276. yy: '%d år' },
  28277. dayOfMonthOrdinalParse: /\d{1,2}\./,
  28278. ordinal: '%d.',
  28279. week: {
  28280. dow: 1, // Monday is the first day of the week.
  28281. doy: 4 // The week that contains Jan 4th is the first week of the year.
  28282. } });
  28283. return nb;
  28284. });
  28285. /***/ }),
  28286. /* 200 */
  28287. /*!*****************************************************************!*\
  28288. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ne.js ***!
  28289. \*****************************************************************/
  28290. /*! no static exports found */
  28291. /***/ (function(module, exports, __webpack_require__) {
  28292. //! moment.js locale configuration
  28293. //! locale : Nepalese [ne]
  28294. //! author : suvash : https://github.com/suvash
  28295. ;(function (global, factory) {
  28296. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  28297. undefined;
  28298. })(this, function (moment) {'use strict';
  28299. //! moment.js locale configuration
  28300. var symbolMap = {
  28301. 1: '१',
  28302. 2: '२',
  28303. 3: '३',
  28304. 4: '४',
  28305. 5: '५',
  28306. 6: '६',
  28307. 7: '७',
  28308. 8: '८',
  28309. 9: '९',
  28310. 0: '०' },
  28311. numberMap = {
  28312. '१': '1',
  28313. '२': '2',
  28314. '३': '3',
  28315. '४': '4',
  28316. '५': '5',
  28317. '६': '6',
  28318. '७': '7',
  28319. '८': '8',
  28320. '९': '9',
  28321. '०': '0' };
  28322. var ne = moment.defineLocale('ne', {
  28323. months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(
  28324. '_'),
  28325. monthsShort:
  28326. 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(
  28327. '_'),
  28328. monthsParseExact: true,
  28329. weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(
  28330. '_'),
  28331. weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),
  28332. weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),
  28333. weekdaysParseExact: true,
  28334. longDateFormat: {
  28335. LT: 'Aको h:mm बजे',
  28336. LTS: 'Aको h:mm:ss बजे',
  28337. L: 'DD/MM/YYYY',
  28338. LL: 'D MMMM YYYY',
  28339. LLL: 'D MMMM YYYY, Aको h:mm बजे',
  28340. LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे' },
  28341. preparse: function preparse(string) {
  28342. return string.replace(/[१२३४५६७८९०]/g, function (match) {
  28343. return numberMap[match];
  28344. });
  28345. },
  28346. postformat: function postformat(string) {
  28347. return string.replace(/\d/g, function (match) {
  28348. return symbolMap[match];
  28349. });
  28350. },
  28351. meridiemParse: /राति|बिहान|दिउँसो|साँझ/,
  28352. meridiemHour: function meridiemHour(hour, meridiem) {
  28353. if (hour === 12) {
  28354. hour = 0;
  28355. }
  28356. if (meridiem === 'राति') {
  28357. return hour < 4 ? hour : hour + 12;
  28358. } else if (meridiem === 'बिहान') {
  28359. return hour;
  28360. } else if (meridiem === 'दिउँसो') {
  28361. return hour >= 10 ? hour : hour + 12;
  28362. } else if (meridiem === 'साँझ') {
  28363. return hour + 12;
  28364. }
  28365. },
  28366. meridiem: function meridiem(hour, minute, isLower) {
  28367. if (hour < 3) {
  28368. return 'राति';
  28369. } else if (hour < 12) {
  28370. return 'बिहान';
  28371. } else if (hour < 16) {
  28372. return 'दिउँसो';
  28373. } else if (hour < 20) {
  28374. return 'साँझ';
  28375. } else {
  28376. return 'राति';
  28377. }
  28378. },
  28379. calendar: {
  28380. sameDay: '[आज] LT',
  28381. nextDay: '[भोलि] LT',
  28382. nextWeek: '[आउँदो] dddd[,] LT',
  28383. lastDay: '[हिजो] LT',
  28384. lastWeek: '[गएको] dddd[,] LT',
  28385. sameElse: 'L' },
  28386. relativeTime: {
  28387. future: '%sमा',
  28388. past: '%s अगाडि',
  28389. s: 'केही क्षण',
  28390. ss: '%d सेकेण्ड',
  28391. m: 'एक मिनेट',
  28392. mm: '%d मिनेट',
  28393. h: 'एक घण्टा',
  28394. hh: '%d घण्टा',
  28395. d: 'एक दिन',
  28396. dd: '%d दिन',
  28397. M: 'एक महिना',
  28398. MM: '%d महिना',
  28399. y: 'एक बर्ष',
  28400. yy: '%d बर्ष' },
  28401. week: {
  28402. dow: 0, // Sunday is the first day of the week.
  28403. doy: 6 // The week that contains Jan 6th is the first week of the year.
  28404. } });
  28405. return ne;
  28406. });
  28407. /***/ }),
  28408. /* 201 */
  28409. /*!*****************************************************************!*\
  28410. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/nl.js ***!
  28411. \*****************************************************************/
  28412. /*! no static exports found */
  28413. /***/ (function(module, exports, __webpack_require__) {
  28414. //! moment.js locale configuration
  28415. //! locale : Dutch [nl]
  28416. //! author : Joris Röling : https://github.com/jorisroling
  28417. //! author : Jacob Middag : https://github.com/middagj
  28418. ;(function (global, factory) {
  28419. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  28420. undefined;
  28421. })(this, function (moment) {'use strict';
  28422. //! moment.js locale configuration
  28423. var monthsShortWithDots =
  28424. 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
  28425. monthsShortWithoutDots =
  28426. 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),
  28427. monthsParse = [
  28428. /^jan/i,
  28429. /^feb/i,
  28430. /^maart|mrt.?$/i,
  28431. /^apr/i,
  28432. /^mei$/i,
  28433. /^jun[i.]?$/i,
  28434. /^jul[i.]?$/i,
  28435. /^aug/i,
  28436. /^sep/i,
  28437. /^okt/i,
  28438. /^nov/i,
  28439. /^dec/i],
  28440. monthsRegex =
  28441. /^(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;
  28442. var nl = moment.defineLocale('nl', {
  28443. months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(
  28444. '_'),
  28445. monthsShort: function monthsShort(m, format) {
  28446. if (!m) {
  28447. return monthsShortWithDots;
  28448. } else if (/-MMM-/.test(format)) {
  28449. return monthsShortWithoutDots[m.month()];
  28450. } else {
  28451. return monthsShortWithDots[m.month()];
  28452. }
  28453. },
  28454. monthsRegex: monthsRegex,
  28455. monthsShortRegex: monthsRegex,
  28456. monthsStrictRegex:
  28457. /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
  28458. monthsShortStrictRegex:
  28459. /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
  28460. monthsParse: monthsParse,
  28461. longMonthsParse: monthsParse,
  28462. shortMonthsParse: monthsParse,
  28463. weekdays:
  28464. 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
  28465. weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),
  28466. weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),
  28467. weekdaysParseExact: true,
  28468. longDateFormat: {
  28469. LT: 'HH:mm',
  28470. LTS: 'HH:mm:ss',
  28471. L: 'DD-MM-YYYY',
  28472. LL: 'D MMMM YYYY',
  28473. LLL: 'D MMMM YYYY HH:mm',
  28474. LLLL: 'dddd D MMMM YYYY HH:mm' },
  28475. calendar: {
  28476. sameDay: '[vandaag om] LT',
  28477. nextDay: '[morgen om] LT',
  28478. nextWeek: 'dddd [om] LT',
  28479. lastDay: '[gisteren om] LT',
  28480. lastWeek: '[afgelopen] dddd [om] LT',
  28481. sameElse: 'L' },
  28482. relativeTime: {
  28483. future: 'over %s',
  28484. past: '%s geleden',
  28485. s: 'een paar seconden',
  28486. ss: '%d seconden',
  28487. m: 'één minuut',
  28488. mm: '%d minuten',
  28489. h: 'één uur',
  28490. hh: '%d uur',
  28491. d: 'één dag',
  28492. dd: '%d dagen',
  28493. w: 'één week',
  28494. ww: '%d weken',
  28495. M: 'één maand',
  28496. MM: '%d maanden',
  28497. y: 'één jaar',
  28498. yy: '%d jaar' },
  28499. dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
  28500. ordinal: function ordinal(number) {
  28501. return (
  28502. number + (
  28503. number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'));
  28504. },
  28505. week: {
  28506. dow: 1, // Monday is the first day of the week.
  28507. doy: 4 // The week that contains Jan 4th is the first week of the year.
  28508. } });
  28509. return nl;
  28510. });
  28511. /***/ }),
  28512. /* 202 */
  28513. /*!********************************************************************!*\
  28514. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/nl-be.js ***!
  28515. \********************************************************************/
  28516. /*! no static exports found */
  28517. /***/ (function(module, exports, __webpack_require__) {
  28518. //! moment.js locale configuration
  28519. //! locale : Dutch (Belgium) [nl-be]
  28520. //! author : Joris Röling : https://github.com/jorisroling
  28521. //! author : Jacob Middag : https://github.com/middagj
  28522. ;(function (global, factory) {
  28523. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  28524. undefined;
  28525. })(this, function (moment) {'use strict';
  28526. //! moment.js locale configuration
  28527. var monthsShortWithDots =
  28528. 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
  28529. monthsShortWithoutDots =
  28530. 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),
  28531. monthsParse = [
  28532. /^jan/i,
  28533. /^feb/i,
  28534. /^maart|mrt.?$/i,
  28535. /^apr/i,
  28536. /^mei$/i,
  28537. /^jun[i.]?$/i,
  28538. /^jul[i.]?$/i,
  28539. /^aug/i,
  28540. /^sep/i,
  28541. /^okt/i,
  28542. /^nov/i,
  28543. /^dec/i],
  28544. monthsRegex =
  28545. /^(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;
  28546. var nlBe = moment.defineLocale('nl-be', {
  28547. months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(
  28548. '_'),
  28549. monthsShort: function monthsShort(m, format) {
  28550. if (!m) {
  28551. return monthsShortWithDots;
  28552. } else if (/-MMM-/.test(format)) {
  28553. return monthsShortWithoutDots[m.month()];
  28554. } else {
  28555. return monthsShortWithDots[m.month()];
  28556. }
  28557. },
  28558. monthsRegex: monthsRegex,
  28559. monthsShortRegex: monthsRegex,
  28560. monthsStrictRegex:
  28561. /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
  28562. monthsShortStrictRegex:
  28563. /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
  28564. monthsParse: monthsParse,
  28565. longMonthsParse: monthsParse,
  28566. shortMonthsParse: monthsParse,
  28567. weekdays:
  28568. 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
  28569. weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),
  28570. weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),
  28571. weekdaysParseExact: true,
  28572. longDateFormat: {
  28573. LT: 'HH:mm',
  28574. LTS: 'HH:mm:ss',
  28575. L: 'DD/MM/YYYY',
  28576. LL: 'D MMMM YYYY',
  28577. LLL: 'D MMMM YYYY HH:mm',
  28578. LLLL: 'dddd D MMMM YYYY HH:mm' },
  28579. calendar: {
  28580. sameDay: '[vandaag om] LT',
  28581. nextDay: '[morgen om] LT',
  28582. nextWeek: 'dddd [om] LT',
  28583. lastDay: '[gisteren om] LT',
  28584. lastWeek: '[afgelopen] dddd [om] LT',
  28585. sameElse: 'L' },
  28586. relativeTime: {
  28587. future: 'over %s',
  28588. past: '%s geleden',
  28589. s: 'een paar seconden',
  28590. ss: '%d seconden',
  28591. m: 'één minuut',
  28592. mm: '%d minuten',
  28593. h: 'één uur',
  28594. hh: '%d uur',
  28595. d: 'één dag',
  28596. dd: '%d dagen',
  28597. M: 'één maand',
  28598. MM: '%d maanden',
  28599. y: 'één jaar',
  28600. yy: '%d jaar' },
  28601. dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
  28602. ordinal: function ordinal(number) {
  28603. return (
  28604. number + (
  28605. number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'));
  28606. },
  28607. week: {
  28608. dow: 1, // Monday is the first day of the week.
  28609. doy: 4 // The week that contains Jan 4th is the first week of the year.
  28610. } });
  28611. return nlBe;
  28612. });
  28613. /***/ }),
  28614. /* 203 */
  28615. /*!*****************************************************************!*\
  28616. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/nn.js ***!
  28617. \*****************************************************************/
  28618. /*! no static exports found */
  28619. /***/ (function(module, exports, __webpack_require__) {
  28620. //! moment.js locale configuration
  28621. //! locale : Nynorsk [nn]
  28622. //! authors : https://github.com/mechuwind
  28623. //! Stephen Ramthun : https://github.com/stephenramthun
  28624. ;(function (global, factory) {
  28625. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  28626. undefined;
  28627. })(this, function (moment) {'use strict';
  28628. //! moment.js locale configuration
  28629. var nn = moment.defineLocale('nn', {
  28630. months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(
  28631. '_'),
  28632. monthsShort:
  28633. 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),
  28634. monthsParseExact: true,
  28635. weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),
  28636. weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),
  28637. weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),
  28638. weekdaysParseExact: true,
  28639. longDateFormat: {
  28640. LT: 'HH:mm',
  28641. LTS: 'HH:mm:ss',
  28642. L: 'DD.MM.YYYY',
  28643. LL: 'D. MMMM YYYY',
  28644. LLL: 'D. MMMM YYYY [kl.] H:mm',
  28645. LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm' },
  28646. calendar: {
  28647. sameDay: '[I dag klokka] LT',
  28648. nextDay: '[I morgon klokka] LT',
  28649. nextWeek: 'dddd [klokka] LT',
  28650. lastDay: '[I går klokka] LT',
  28651. lastWeek: '[Føregåande] dddd [klokka] LT',
  28652. sameElse: 'L' },
  28653. relativeTime: {
  28654. future: 'om %s',
  28655. past: '%s sidan',
  28656. s: 'nokre sekund',
  28657. ss: '%d sekund',
  28658. m: 'eit minutt',
  28659. mm: '%d minutt',
  28660. h: 'ein time',
  28661. hh: '%d timar',
  28662. d: 'ein dag',
  28663. dd: '%d dagar',
  28664. w: 'ei veke',
  28665. ww: '%d veker',
  28666. M: 'ein månad',
  28667. MM: '%d månader',
  28668. y: 'eit år',
  28669. yy: '%d år' },
  28670. dayOfMonthOrdinalParse: /\d{1,2}\./,
  28671. ordinal: '%d.',
  28672. week: {
  28673. dow: 1, // Monday is the first day of the week.
  28674. doy: 4 // The week that contains Jan 4th is the first week of the year.
  28675. } });
  28676. return nn;
  28677. });
  28678. /***/ }),
  28679. /* 204 */
  28680. /*!*********************************************************************!*\
  28681. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/oc-lnc.js ***!
  28682. \*********************************************************************/
  28683. /*! no static exports found */
  28684. /***/ (function(module, exports, __webpack_require__) {
  28685. //! moment.js locale configuration
  28686. //! locale : Occitan, lengadocian dialecte [oc-lnc]
  28687. //! author : Quentin PAGÈS : https://github.com/Quenty31
  28688. ;(function (global, factory) {
  28689. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  28690. undefined;
  28691. })(this, function (moment) {'use strict';
  28692. //! moment.js locale configuration
  28693. var ocLnc = moment.defineLocale('oc-lnc', {
  28694. months: {
  28695. standalone:
  28696. 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(
  28697. '_'),
  28698. 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(
  28699. '_'),
  28700. isFormat: /D[oD]?(\s)+MMMM/ },
  28701. monthsShort:
  28702. 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(
  28703. '_'),
  28704. monthsParseExact: true,
  28705. weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(
  28706. '_'),
  28707. weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),
  28708. weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),
  28709. weekdaysParseExact: true,
  28710. longDateFormat: {
  28711. LT: 'H:mm',
  28712. LTS: 'H:mm:ss',
  28713. L: 'DD/MM/YYYY',
  28714. LL: 'D MMMM [de] YYYY',
  28715. ll: 'D MMM YYYY',
  28716. LLL: 'D MMMM [de] YYYY [a] H:mm',
  28717. lll: 'D MMM YYYY, H:mm',
  28718. LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',
  28719. llll: 'ddd D MMM YYYY, H:mm' },
  28720. calendar: {
  28721. sameDay: '[uèi a] LT',
  28722. nextDay: '[deman a] LT',
  28723. nextWeek: 'dddd [a] LT',
  28724. lastDay: '[ièr a] LT',
  28725. lastWeek: 'dddd [passat a] LT',
  28726. sameElse: 'L' },
  28727. relativeTime: {
  28728. future: "d'aquí %s",
  28729. past: 'fa %s',
  28730. s: 'unas segondas',
  28731. ss: '%d segondas',
  28732. m: 'una minuta',
  28733. mm: '%d minutas',
  28734. h: 'una ora',
  28735. hh: '%d oras',
  28736. d: 'un jorn',
  28737. dd: '%d jorns',
  28738. M: 'un mes',
  28739. MM: '%d meses',
  28740. y: 'un an',
  28741. yy: '%d ans' },
  28742. dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
  28743. ordinal: function ordinal(number, period) {
  28744. var output =
  28745. number === 1 ?
  28746. 'r' :
  28747. number === 2 ?
  28748. 'n' :
  28749. number === 3 ?
  28750. 'r' :
  28751. number === 4 ?
  28752. 't' :
  28753. 'è';
  28754. if (period === 'w' || period === 'W') {
  28755. output = 'a';
  28756. }
  28757. return number + output;
  28758. },
  28759. week: {
  28760. dow: 1, // Monday is the first day of the week.
  28761. doy: 4 } });
  28762. return ocLnc;
  28763. });
  28764. /***/ }),
  28765. /* 205 */
  28766. /*!********************************************************************!*\
  28767. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/pa-in.js ***!
  28768. \********************************************************************/
  28769. /*! no static exports found */
  28770. /***/ (function(module, exports, __webpack_require__) {
  28771. //! moment.js locale configuration
  28772. //! locale : Punjabi (India) [pa-in]
  28773. //! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit
  28774. ;(function (global, factory) {
  28775. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  28776. undefined;
  28777. })(this, function (moment) {'use strict';
  28778. //! moment.js locale configuration
  28779. var symbolMap = {
  28780. 1: '੧',
  28781. 2: '੨',
  28782. 3: '੩',
  28783. 4: '੪',
  28784. 5: '੫',
  28785. 6: '੬',
  28786. 7: '੭',
  28787. 8: '੮',
  28788. 9: '੯',
  28789. 0: '੦' },
  28790. numberMap = {
  28791. '੧': '1',
  28792. '੨': '2',
  28793. '੩': '3',
  28794. '੪': '4',
  28795. '੫': '5',
  28796. '੬': '6',
  28797. '੭': '7',
  28798. '੮': '8',
  28799. '੯': '9',
  28800. '੦': '0' };
  28801. var paIn = moment.defineLocale('pa-in', {
  28802. // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.
  28803. months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(
  28804. '_'),
  28805. monthsShort:
  28806. 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(
  28807. '_'),
  28808. weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(
  28809. '_'),
  28810. weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
  28811. weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
  28812. longDateFormat: {
  28813. LT: 'A h:mm ਵਜੇ',
  28814. LTS: 'A h:mm:ss ਵਜੇ',
  28815. L: 'DD/MM/YYYY',
  28816. LL: 'D MMMM YYYY',
  28817. LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',
  28818. LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ' },
  28819. calendar: {
  28820. sameDay: '[ਅਜ] LT',
  28821. nextDay: '[ਕਲ] LT',
  28822. nextWeek: '[ਅਗਲਾ] dddd, LT',
  28823. lastDay: '[ਕਲ] LT',
  28824. lastWeek: '[ਪਿਛਲੇ] dddd, LT',
  28825. sameElse: 'L' },
  28826. relativeTime: {
  28827. future: '%s ਵਿੱਚ',
  28828. past: '%s ਪਿਛਲੇ',
  28829. s: 'ਕੁਝ ਸਕਿੰਟ',
  28830. ss: '%d ਸਕਿੰਟ',
  28831. m: 'ਇਕ ਮਿੰਟ',
  28832. mm: '%d ਮਿੰਟ',
  28833. h: 'ਇੱਕ ਘੰਟਾ',
  28834. hh: '%d ਘੰਟੇ',
  28835. d: 'ਇੱਕ ਦਿਨ',
  28836. dd: '%d ਦਿਨ',
  28837. M: 'ਇੱਕ ਮਹੀਨਾ',
  28838. MM: '%d ਮਹੀਨੇ',
  28839. y: 'ਇੱਕ ਸਾਲ',
  28840. yy: '%d ਸਾਲ' },
  28841. preparse: function preparse(string) {
  28842. return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {
  28843. return numberMap[match];
  28844. });
  28845. },
  28846. postformat: function postformat(string) {
  28847. return string.replace(/\d/g, function (match) {
  28848. return symbolMap[match];
  28849. });
  28850. },
  28851. // Punjabi notation for meridiems are quite fuzzy in practice. While there exists
  28852. // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.
  28853. meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,
  28854. meridiemHour: function meridiemHour(hour, meridiem) {
  28855. if (hour === 12) {
  28856. hour = 0;
  28857. }
  28858. if (meridiem === 'ਰਾਤ') {
  28859. return hour < 4 ? hour : hour + 12;
  28860. } else if (meridiem === 'ਸਵੇਰ') {
  28861. return hour;
  28862. } else if (meridiem === 'ਦੁਪਹਿਰ') {
  28863. return hour >= 10 ? hour : hour + 12;
  28864. } else if (meridiem === 'ਸ਼ਾਮ') {
  28865. return hour + 12;
  28866. }
  28867. },
  28868. meridiem: function meridiem(hour, minute, isLower) {
  28869. if (hour < 4) {
  28870. return 'ਰਾਤ';
  28871. } else if (hour < 10) {
  28872. return 'ਸਵੇਰ';
  28873. } else if (hour < 17) {
  28874. return 'ਦੁਪਹਿਰ';
  28875. } else if (hour < 20) {
  28876. return 'ਸ਼ਾਮ';
  28877. } else {
  28878. return 'ਰਾਤ';
  28879. }
  28880. },
  28881. week: {
  28882. dow: 0, // Sunday is the first day of the week.
  28883. doy: 6 // The week that contains Jan 6th is the first week of the year.
  28884. } });
  28885. return paIn;
  28886. });
  28887. /***/ }),
  28888. /* 206 */
  28889. /*!*****************************************************************!*\
  28890. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/pl.js ***!
  28891. \*****************************************************************/
  28892. /*! no static exports found */
  28893. /***/ (function(module, exports, __webpack_require__) {
  28894. //! moment.js locale configuration
  28895. //! locale : Polish [pl]
  28896. //! author : Rafal Hirsz : https://github.com/evoL
  28897. ;(function (global, factory) {
  28898. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  28899. undefined;
  28900. })(this, function (moment) {'use strict';
  28901. //! moment.js locale configuration
  28902. var monthsNominative =
  28903. 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(
  28904. '_'),
  28905. monthsSubjective =
  28906. 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(
  28907. '_'),
  28908. monthsParse = [
  28909. /^sty/i,
  28910. /^lut/i,
  28911. /^mar/i,
  28912. /^kwi/i,
  28913. /^maj/i,
  28914. /^cze/i,
  28915. /^lip/i,
  28916. /^sie/i,
  28917. /^wrz/i,
  28918. /^paź/i,
  28919. /^lis/i,
  28920. /^gru/i];
  28921. function plural(n) {
  28922. return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;
  28923. }
  28924. function translate(number, withoutSuffix, key) {
  28925. var result = number + ' ';
  28926. switch (key) {
  28927. case 'ss':
  28928. return result + (plural(number) ? 'sekundy' : 'sekund');
  28929. case 'm':
  28930. return withoutSuffix ? 'minuta' : 'minutę';
  28931. case 'mm':
  28932. return result + (plural(number) ? 'minuty' : 'minut');
  28933. case 'h':
  28934. return withoutSuffix ? 'godzina' : 'godzinę';
  28935. case 'hh':
  28936. return result + (plural(number) ? 'godziny' : 'godzin');
  28937. case 'ww':
  28938. return result + (plural(number) ? 'tygodnie' : 'tygodni');
  28939. case 'MM':
  28940. return result + (plural(number) ? 'miesiące' : 'miesięcy');
  28941. case 'yy':
  28942. return result + (plural(number) ? 'lata' : 'lat');}
  28943. }
  28944. var pl = moment.defineLocale('pl', {
  28945. months: function months(momentToFormat, format) {
  28946. if (!momentToFormat) {
  28947. return monthsNominative;
  28948. } else if (/D MMMM/.test(format)) {
  28949. return monthsSubjective[momentToFormat.month()];
  28950. } else {
  28951. return monthsNominative[momentToFormat.month()];
  28952. }
  28953. },
  28954. monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),
  28955. monthsParse: monthsParse,
  28956. longMonthsParse: monthsParse,
  28957. shortMonthsParse: monthsParse,
  28958. weekdays:
  28959. 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),
  28960. weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),
  28961. weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),
  28962. longDateFormat: {
  28963. LT: 'HH:mm',
  28964. LTS: 'HH:mm:ss',
  28965. L: 'DD.MM.YYYY',
  28966. LL: 'D MMMM YYYY',
  28967. LLL: 'D MMMM YYYY HH:mm',
  28968. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  28969. calendar: {
  28970. sameDay: '[Dziś o] LT',
  28971. nextDay: '[Jutro o] LT',
  28972. nextWeek: function nextWeek() {
  28973. switch (this.day()) {
  28974. case 0:
  28975. return '[W niedzielę o] LT';
  28976. case 2:
  28977. return '[We wtorek o] LT';
  28978. case 3:
  28979. return '[W środę o] LT';
  28980. case 6:
  28981. return '[W sobotę o] LT';
  28982. default:
  28983. return '[W] dddd [o] LT';}
  28984. },
  28985. lastDay: '[Wczoraj o] LT',
  28986. lastWeek: function lastWeek() {
  28987. switch (this.day()) {
  28988. case 0:
  28989. return '[W zeszłą niedzielę o] LT';
  28990. case 3:
  28991. return '[W zeszłą środę o] LT';
  28992. case 6:
  28993. return '[W zeszłą sobotę o] LT';
  28994. default:
  28995. return '[W zeszły] dddd [o] LT';}
  28996. },
  28997. sameElse: 'L' },
  28998. relativeTime: {
  28999. future: 'za %s',
  29000. past: '%s temu',
  29001. s: 'kilka sekund',
  29002. ss: translate,
  29003. m: translate,
  29004. mm: translate,
  29005. h: translate,
  29006. hh: translate,
  29007. d: '1 dzień',
  29008. dd: '%d dni',
  29009. w: 'tydzień',
  29010. ww: translate,
  29011. M: 'miesiąc',
  29012. MM: translate,
  29013. y: 'rok',
  29014. yy: translate },
  29015. dayOfMonthOrdinalParse: /\d{1,2}\./,
  29016. ordinal: '%d.',
  29017. week: {
  29018. dow: 1, // Monday is the first day of the week.
  29019. doy: 4 // The week that contains Jan 4th is the first week of the year.
  29020. } });
  29021. return pl;
  29022. });
  29023. /***/ }),
  29024. /* 207 */
  29025. /*!*****************************************************************!*\
  29026. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/pt.js ***!
  29027. \*****************************************************************/
  29028. /*! no static exports found */
  29029. /***/ (function(module, exports, __webpack_require__) {
  29030. //! moment.js locale configuration
  29031. //! locale : Portuguese [pt]
  29032. //! author : Jefferson : https://github.com/jalex79
  29033. ;(function (global, factory) {
  29034. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  29035. undefined;
  29036. })(this, function (moment) {'use strict';
  29037. //! moment.js locale configuration
  29038. var pt = moment.defineLocale('pt', {
  29039. months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(
  29040. '_'),
  29041. monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),
  29042. weekdays:
  29043. 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(
  29044. '_'),
  29045. weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
  29046. weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
  29047. weekdaysParseExact: true,
  29048. longDateFormat: {
  29049. LT: 'HH:mm',
  29050. LTS: 'HH:mm:ss',
  29051. L: 'DD/MM/YYYY',
  29052. LL: 'D [de] MMMM [de] YYYY',
  29053. LLL: 'D [de] MMMM [de] YYYY HH:mm',
  29054. LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm' },
  29055. calendar: {
  29056. sameDay: '[Hoje às] LT',
  29057. nextDay: '[Amanhã às] LT',
  29058. nextWeek: 'dddd [às] LT',
  29059. lastDay: '[Ontem às] LT',
  29060. lastWeek: function lastWeek() {
  29061. return this.day() === 0 || this.day() === 6 ?
  29062. '[Último] dddd [às] LT' // Saturday + Sunday
  29063. : '[Última] dddd [às] LT'; // Monday - Friday
  29064. },
  29065. sameElse: 'L' },
  29066. relativeTime: {
  29067. future: 'em %s',
  29068. past: 'há %s',
  29069. s: 'segundos',
  29070. ss: '%d segundos',
  29071. m: 'um minuto',
  29072. mm: '%d minutos',
  29073. h: 'uma hora',
  29074. hh: '%d horas',
  29075. d: 'um dia',
  29076. dd: '%d dias',
  29077. w: 'uma semana',
  29078. ww: '%d semanas',
  29079. M: 'um mês',
  29080. MM: '%d meses',
  29081. y: 'um ano',
  29082. yy: '%d anos' },
  29083. dayOfMonthOrdinalParse: /\d{1,2}º/,
  29084. ordinal: '%dº',
  29085. week: {
  29086. dow: 1, // Monday is the first day of the week.
  29087. doy: 4 // The week that contains Jan 4th is the first week of the year.
  29088. } });
  29089. return pt;
  29090. });
  29091. /***/ }),
  29092. /* 208 */
  29093. /*!********************************************************************!*\
  29094. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/pt-br.js ***!
  29095. \********************************************************************/
  29096. /*! no static exports found */
  29097. /***/ (function(module, exports, __webpack_require__) {
  29098. //! moment.js locale configuration
  29099. //! locale : Portuguese (Brazil) [pt-br]
  29100. //! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira
  29101. ;(function (global, factory) {
  29102. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  29103. undefined;
  29104. })(this, function (moment) {'use strict';
  29105. //! moment.js locale configuration
  29106. var ptBr = moment.defineLocale('pt-br', {
  29107. months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(
  29108. '_'),
  29109. monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),
  29110. weekdays:
  29111. 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(
  29112. '_'),
  29113. weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),
  29114. weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),
  29115. weekdaysParseExact: true,
  29116. longDateFormat: {
  29117. LT: 'HH:mm',
  29118. LTS: 'HH:mm:ss',
  29119. L: 'DD/MM/YYYY',
  29120. LL: 'D [de] MMMM [de] YYYY',
  29121. LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',
  29122. LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm' },
  29123. calendar: {
  29124. sameDay: '[Hoje às] LT',
  29125. nextDay: '[Amanhã às] LT',
  29126. nextWeek: 'dddd [às] LT',
  29127. lastDay: '[Ontem às] LT',
  29128. lastWeek: function lastWeek() {
  29129. return this.day() === 0 || this.day() === 6 ?
  29130. '[Último] dddd [às] LT' // Saturday + Sunday
  29131. : '[Última] dddd [às] LT'; // Monday - Friday
  29132. },
  29133. sameElse: 'L' },
  29134. relativeTime: {
  29135. future: 'em %s',
  29136. past: 'há %s',
  29137. s: 'poucos segundos',
  29138. ss: '%d segundos',
  29139. m: 'um minuto',
  29140. mm: '%d minutos',
  29141. h: 'uma hora',
  29142. hh: '%d horas',
  29143. d: 'um dia',
  29144. dd: '%d dias',
  29145. M: 'um mês',
  29146. MM: '%d meses',
  29147. y: 'um ano',
  29148. yy: '%d anos' },
  29149. dayOfMonthOrdinalParse: /\d{1,2}º/,
  29150. ordinal: '%dº',
  29151. invalidDate: 'Data inválida' });
  29152. return ptBr;
  29153. });
  29154. /***/ }),
  29155. /* 209 */
  29156. /*!*****************************************************************!*\
  29157. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ro.js ***!
  29158. \*****************************************************************/
  29159. /*! no static exports found */
  29160. /***/ (function(module, exports, __webpack_require__) {
  29161. //! moment.js locale configuration
  29162. //! locale : Romanian [ro]
  29163. //! author : Vlad Gurdiga : https://github.com/gurdiga
  29164. //! author : Valentin Agachi : https://github.com/avaly
  29165. //! author : Emanuel Cepoi : https://github.com/cepem
  29166. ;(function (global, factory) {
  29167. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  29168. undefined;
  29169. })(this, function (moment) {'use strict';
  29170. //! moment.js locale configuration
  29171. function relativeTimeWithPlural(number, withoutSuffix, key) {
  29172. var format = {
  29173. ss: 'secunde',
  29174. mm: 'minute',
  29175. hh: 'ore',
  29176. dd: 'zile',
  29177. ww: 'săptămâni',
  29178. MM: 'luni',
  29179. yy: 'ani' },
  29180. separator = ' ';
  29181. if (number % 100 >= 20 || number >= 100 && number % 100 === 0) {
  29182. separator = ' de ';
  29183. }
  29184. return number + separator + format[key];
  29185. }
  29186. var ro = moment.defineLocale('ro', {
  29187. months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(
  29188. '_'),
  29189. monthsShort:
  29190. 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(
  29191. '_'),
  29192. monthsParseExact: true,
  29193. weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),
  29194. weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),
  29195. weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),
  29196. longDateFormat: {
  29197. LT: 'H:mm',
  29198. LTS: 'H:mm:ss',
  29199. L: 'DD.MM.YYYY',
  29200. LL: 'D MMMM YYYY',
  29201. LLL: 'D MMMM YYYY H:mm',
  29202. LLLL: 'dddd, D MMMM YYYY H:mm' },
  29203. calendar: {
  29204. sameDay: '[azi la] LT',
  29205. nextDay: '[mâine la] LT',
  29206. nextWeek: 'dddd [la] LT',
  29207. lastDay: '[ieri la] LT',
  29208. lastWeek: '[fosta] dddd [la] LT',
  29209. sameElse: 'L' },
  29210. relativeTime: {
  29211. future: 'peste %s',
  29212. past: '%s în urmă',
  29213. s: 'câteva secunde',
  29214. ss: relativeTimeWithPlural,
  29215. m: 'un minut',
  29216. mm: relativeTimeWithPlural,
  29217. h: 'o oră',
  29218. hh: relativeTimeWithPlural,
  29219. d: 'o zi',
  29220. dd: relativeTimeWithPlural,
  29221. w: 'o săptămână',
  29222. ww: relativeTimeWithPlural,
  29223. M: 'o lună',
  29224. MM: relativeTimeWithPlural,
  29225. y: 'un an',
  29226. yy: relativeTimeWithPlural },
  29227. week: {
  29228. dow: 1, // Monday is the first day of the week.
  29229. doy: 7 // The week that contains Jan 7th is the first week of the year.
  29230. } });
  29231. return ro;
  29232. });
  29233. /***/ }),
  29234. /* 210 */
  29235. /*!*****************************************************************!*\
  29236. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ru.js ***!
  29237. \*****************************************************************/
  29238. /*! no static exports found */
  29239. /***/ (function(module, exports, __webpack_require__) {
  29240. //! moment.js locale configuration
  29241. //! locale : Russian [ru]
  29242. //! author : Viktorminator : https://github.com/Viktorminator
  29243. //! author : Menelion Elensúle : https://github.com/Oire
  29244. //! author : Коренберг Марк : https://github.com/socketpair
  29245. ;(function (global, factory) {
  29246. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  29247. undefined;
  29248. })(this, function (moment) {'use strict';
  29249. //! moment.js locale configuration
  29250. function plural(word, num) {
  29251. var forms = word.split('_');
  29252. return num % 10 === 1 && num % 100 !== 11 ?
  29253. forms[0] :
  29254. num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ?
  29255. forms[1] :
  29256. forms[2];
  29257. }
  29258. function relativeTimeWithPlural(number, withoutSuffix, key) {
  29259. var format = {
  29260. ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
  29261. mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',
  29262. hh: 'час_часа_часов',
  29263. dd: 'день_дня_дней',
  29264. ww: 'неделя_недели_недель',
  29265. MM: 'месяц_месяца_месяцев',
  29266. yy: 'год_года_лет' };
  29267. if (key === 'm') {
  29268. return withoutSuffix ? 'минута' : 'минуту';
  29269. } else {
  29270. return number + ' ' + plural(format[key], +number);
  29271. }
  29272. }
  29273. var monthsParse = [
  29274. /^янв/i,
  29275. /^фев/i,
  29276. /^мар/i,
  29277. /^апр/i,
  29278. /^ма[йя]/i,
  29279. /^июн/i,
  29280. /^июл/i,
  29281. /^авг/i,
  29282. /^сен/i,
  29283. /^окт/i,
  29284. /^ноя/i,
  29285. /^дек/i];
  29286. // http://new.gramota.ru/spravka/rules/139-prop : § 103
  29287. // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637
  29288. // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753
  29289. var ru = moment.defineLocale('ru', {
  29290. months: {
  29291. format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(
  29292. '_'),
  29293. standalone:
  29294. 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(
  29295. '_') },
  29296. monthsShort: {
  29297. // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку?
  29298. format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(
  29299. '_'),
  29300. standalone:
  29301. 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(
  29302. '_') },
  29303. weekdays: {
  29304. standalone:
  29305. 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(
  29306. '_'),
  29307. format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(
  29308. '_'),
  29309. isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/ },
  29310. weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
  29311. weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
  29312. monthsParse: monthsParse,
  29313. longMonthsParse: monthsParse,
  29314. shortMonthsParse: monthsParse,
  29315. // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки
  29316. monthsRegex:
  29317. /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
  29318. // копия предыдущего
  29319. monthsShortRegex:
  29320. /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
  29321. // полные названия с падежами
  29322. monthsStrictRegex:
  29323. /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,
  29324. // Выражение, которое соответствует только сокращённым формам
  29325. monthsShortStrictRegex:
  29326. /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,
  29327. longDateFormat: {
  29328. LT: 'H:mm',
  29329. LTS: 'H:mm:ss',
  29330. L: 'DD.MM.YYYY',
  29331. LL: 'D MMMM YYYY г.',
  29332. LLL: 'D MMMM YYYY г., H:mm',
  29333. LLLL: 'dddd, D MMMM YYYY г., H:mm' },
  29334. calendar: {
  29335. sameDay: '[Сегодня, в] LT',
  29336. nextDay: '[Завтра, в] LT',
  29337. lastDay: '[Вчера, в] LT',
  29338. nextWeek: function nextWeek(now) {
  29339. if (now.week() !== this.week()) {
  29340. switch (this.day()) {
  29341. case 0:
  29342. return '[В следующее] dddd, [в] LT';
  29343. case 1:
  29344. case 2:
  29345. case 4:
  29346. return '[В следующий] dddd, [в] LT';
  29347. case 3:
  29348. case 5:
  29349. case 6:
  29350. return '[В следующую] dddd, [в] LT';}
  29351. } else {
  29352. if (this.day() === 2) {
  29353. return '[Во] dddd, [в] LT';
  29354. } else {
  29355. return '[В] dddd, [в] LT';
  29356. }
  29357. }
  29358. },
  29359. lastWeek: function lastWeek(now) {
  29360. if (now.week() !== this.week()) {
  29361. switch (this.day()) {
  29362. case 0:
  29363. return '[В прошлое] dddd, [в] LT';
  29364. case 1:
  29365. case 2:
  29366. case 4:
  29367. return '[В прошлый] dddd, [в] LT';
  29368. case 3:
  29369. case 5:
  29370. case 6:
  29371. return '[В прошлую] dddd, [в] LT';}
  29372. } else {
  29373. if (this.day() === 2) {
  29374. return '[Во] dddd, [в] LT';
  29375. } else {
  29376. return '[В] dddd, [в] LT';
  29377. }
  29378. }
  29379. },
  29380. sameElse: 'L' },
  29381. relativeTime: {
  29382. future: 'через %s',
  29383. past: '%s назад',
  29384. s: 'несколько секунд',
  29385. ss: relativeTimeWithPlural,
  29386. m: relativeTimeWithPlural,
  29387. mm: relativeTimeWithPlural,
  29388. h: 'час',
  29389. hh: relativeTimeWithPlural,
  29390. d: 'день',
  29391. dd: relativeTimeWithPlural,
  29392. w: 'неделя',
  29393. ww: relativeTimeWithPlural,
  29394. M: 'месяц',
  29395. MM: relativeTimeWithPlural,
  29396. y: 'год',
  29397. yy: relativeTimeWithPlural },
  29398. meridiemParse: /ночи|утра|дня|вечера/i,
  29399. isPM: function isPM(input) {
  29400. return /^(дня|вечера)$/.test(input);
  29401. },
  29402. meridiem: function meridiem(hour, minute, isLower) {
  29403. if (hour < 4) {
  29404. return 'ночи';
  29405. } else if (hour < 12) {
  29406. return 'утра';
  29407. } else if (hour < 17) {
  29408. return 'дня';
  29409. } else {
  29410. return 'вечера';
  29411. }
  29412. },
  29413. dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/,
  29414. ordinal: function ordinal(number, period) {
  29415. switch (period) {
  29416. case 'M':
  29417. case 'd':
  29418. case 'DDD':
  29419. return number + '-й';
  29420. case 'D':
  29421. return number + '-го';
  29422. case 'w':
  29423. case 'W':
  29424. return number + '-я';
  29425. default:
  29426. return number;}
  29427. },
  29428. week: {
  29429. dow: 1, // Monday is the first day of the week.
  29430. doy: 4 // The week that contains Jan 4th is the first week of the year.
  29431. } });
  29432. return ru;
  29433. });
  29434. /***/ }),
  29435. /* 211 */
  29436. /*!*****************************************************************!*\
  29437. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/sd.js ***!
  29438. \*****************************************************************/
  29439. /*! no static exports found */
  29440. /***/ (function(module, exports, __webpack_require__) {
  29441. //! moment.js locale configuration
  29442. //! locale : Sindhi [sd]
  29443. //! author : Narain Sagar : https://github.com/narainsagar
  29444. ;(function (global, factory) {
  29445. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  29446. undefined;
  29447. })(this, function (moment) {'use strict';
  29448. //! moment.js locale configuration
  29449. var months = [
  29450. 'جنوري',
  29451. 'فيبروري',
  29452. 'مارچ',
  29453. 'اپريل',
  29454. 'مئي',
  29455. 'جون',
  29456. 'جولاءِ',
  29457. 'آگسٽ',
  29458. 'سيپٽمبر',
  29459. 'آڪٽوبر',
  29460. 'نومبر',
  29461. 'ڊسمبر'],
  29462. days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];
  29463. var sd = moment.defineLocale('sd', {
  29464. months: months,
  29465. monthsShort: months,
  29466. weekdays: days,
  29467. weekdaysShort: days,
  29468. weekdaysMin: days,
  29469. longDateFormat: {
  29470. LT: 'HH:mm',
  29471. LTS: 'HH:mm:ss',
  29472. L: 'DD/MM/YYYY',
  29473. LL: 'D MMMM YYYY',
  29474. LLL: 'D MMMM YYYY HH:mm',
  29475. LLLL: 'dddd، D MMMM YYYY HH:mm' },
  29476. meridiemParse: /صبح|شام/,
  29477. isPM: function isPM(input) {
  29478. return 'شام' === input;
  29479. },
  29480. meridiem: function meridiem(hour, minute, isLower) {
  29481. if (hour < 12) {
  29482. return 'صبح';
  29483. }
  29484. return 'شام';
  29485. },
  29486. calendar: {
  29487. sameDay: '[اڄ] LT',
  29488. nextDay: '[سڀاڻي] LT',
  29489. nextWeek: 'dddd [اڳين هفتي تي] LT',
  29490. lastDay: '[ڪالهه] LT',
  29491. lastWeek: '[گزريل هفتي] dddd [تي] LT',
  29492. sameElse: 'L' },
  29493. relativeTime: {
  29494. future: '%s پوء',
  29495. past: '%s اڳ',
  29496. s: 'چند سيڪنڊ',
  29497. ss: '%d سيڪنڊ',
  29498. m: 'هڪ منٽ',
  29499. mm: '%d منٽ',
  29500. h: 'هڪ ڪلاڪ',
  29501. hh: '%d ڪلاڪ',
  29502. d: 'هڪ ڏينهن',
  29503. dd: '%d ڏينهن',
  29504. M: 'هڪ مهينو',
  29505. MM: '%d مهينا',
  29506. y: 'هڪ سال',
  29507. yy: '%d سال' },
  29508. preparse: function preparse(string) {
  29509. return string.replace(/،/g, ',');
  29510. },
  29511. postformat: function postformat(string) {
  29512. return string.replace(/,/g, '،');
  29513. },
  29514. week: {
  29515. dow: 1, // Monday is the first day of the week.
  29516. doy: 4 // The week that contains Jan 4th is the first week of the year.
  29517. } });
  29518. return sd;
  29519. });
  29520. /***/ }),
  29521. /* 212 */
  29522. /*!*****************************************************************!*\
  29523. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/se.js ***!
  29524. \*****************************************************************/
  29525. /*! no static exports found */
  29526. /***/ (function(module, exports, __webpack_require__) {
  29527. //! moment.js locale configuration
  29528. //! locale : Northern Sami [se]
  29529. //! authors : Bård Rolstad Henriksen : https://github.com/karamell
  29530. ;(function (global, factory) {
  29531. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  29532. undefined;
  29533. })(this, function (moment) {'use strict';
  29534. //! moment.js locale configuration
  29535. var se = moment.defineLocale('se', {
  29536. 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(
  29537. '_'),
  29538. monthsShort:
  29539. 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),
  29540. weekdays:
  29541. 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(
  29542. '_'),
  29543. weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),
  29544. weekdaysMin: 's_v_m_g_d_b_L'.split('_'),
  29545. longDateFormat: {
  29546. LT: 'HH:mm',
  29547. LTS: 'HH:mm:ss',
  29548. L: 'DD.MM.YYYY',
  29549. LL: 'MMMM D. [b.] YYYY',
  29550. LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',
  29551. LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm' },
  29552. calendar: {
  29553. sameDay: '[otne ti] LT',
  29554. nextDay: '[ihttin ti] LT',
  29555. nextWeek: 'dddd [ti] LT',
  29556. lastDay: '[ikte ti] LT',
  29557. lastWeek: '[ovddit] dddd [ti] LT',
  29558. sameElse: 'L' },
  29559. relativeTime: {
  29560. future: '%s geažes',
  29561. past: 'maŋit %s',
  29562. s: 'moadde sekunddat',
  29563. ss: '%d sekunddat',
  29564. m: 'okta minuhta',
  29565. mm: '%d minuhtat',
  29566. h: 'okta diimmu',
  29567. hh: '%d diimmut',
  29568. d: 'okta beaivi',
  29569. dd: '%d beaivvit',
  29570. M: 'okta mánnu',
  29571. MM: '%d mánut',
  29572. y: 'okta jahki',
  29573. yy: '%d jagit' },
  29574. dayOfMonthOrdinalParse: /\d{1,2}\./,
  29575. ordinal: '%d.',
  29576. week: {
  29577. dow: 1, // Monday is the first day of the week.
  29578. doy: 4 // The week that contains Jan 4th is the first week of the year.
  29579. } });
  29580. return se;
  29581. });
  29582. /***/ }),
  29583. /* 213 */
  29584. /*!*****************************************************************!*\
  29585. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/si.js ***!
  29586. \*****************************************************************/
  29587. /*! no static exports found */
  29588. /***/ (function(module, exports, __webpack_require__) {
  29589. //! moment.js locale configuration
  29590. //! locale : Sinhalese [si]
  29591. //! author : Sampath Sitinamaluwa : https://github.com/sampathsris
  29592. ;(function (global, factory) {
  29593. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  29594. undefined;
  29595. })(this, function (moment) {'use strict';
  29596. //! moment.js locale configuration
  29597. /*jshint -W100*/
  29598. var si = moment.defineLocale('si', {
  29599. months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(
  29600. '_'),
  29601. monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(
  29602. '_'),
  29603. weekdays:
  29604. 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(
  29605. '_'),
  29606. weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),
  29607. weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),
  29608. weekdaysParseExact: true,
  29609. longDateFormat: {
  29610. LT: 'a h:mm',
  29611. LTS: 'a h:mm:ss',
  29612. L: 'YYYY/MM/DD',
  29613. LL: 'YYYY MMMM D',
  29614. LLL: 'YYYY MMMM D, a h:mm',
  29615. LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss' },
  29616. calendar: {
  29617. sameDay: '[අද] LT[ට]',
  29618. nextDay: '[හෙට] LT[ට]',
  29619. nextWeek: 'dddd LT[ට]',
  29620. lastDay: '[ඊයේ] LT[ට]',
  29621. lastWeek: '[පසුගිය] dddd LT[ට]',
  29622. sameElse: 'L' },
  29623. relativeTime: {
  29624. future: '%sකින්',
  29625. past: '%sකට පෙර',
  29626. s: 'තත්පර කිහිපය',
  29627. ss: 'තත්පර %d',
  29628. m: 'මිනිත්තුව',
  29629. mm: 'මිනිත්තු %d',
  29630. h: 'පැය',
  29631. hh: 'පැය %d',
  29632. d: 'දිනය',
  29633. dd: 'දින %d',
  29634. M: 'මාසය',
  29635. MM: 'මාස %d',
  29636. y: 'වසර',
  29637. yy: 'වසර %d' },
  29638. dayOfMonthOrdinalParse: /\d{1,2} වැනි/,
  29639. ordinal: function ordinal(number) {
  29640. return number + ' වැනි';
  29641. },
  29642. meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,
  29643. isPM: function isPM(input) {
  29644. return input === 'ප.ව.' || input === 'පස් වරු';
  29645. },
  29646. meridiem: function meridiem(hours, minutes, isLower) {
  29647. if (hours > 11) {
  29648. return isLower ? 'ප.ව.' : 'පස් වරු';
  29649. } else {
  29650. return isLower ? 'පෙ.ව.' : 'පෙර වරු';
  29651. }
  29652. } });
  29653. return si;
  29654. });
  29655. /***/ }),
  29656. /* 214 */
  29657. /*!*****************************************************************!*\
  29658. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/sk.js ***!
  29659. \*****************************************************************/
  29660. /*! no static exports found */
  29661. /***/ (function(module, exports, __webpack_require__) {
  29662. //! moment.js locale configuration
  29663. //! locale : Slovak [sk]
  29664. //! author : Martin Minka : https://github.com/k2s
  29665. //! based on work of petrbela : https://github.com/petrbela
  29666. ;(function (global, factory) {
  29667. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  29668. undefined;
  29669. })(this, function (moment) {'use strict';
  29670. //! moment.js locale configuration
  29671. var months =
  29672. 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(
  29673. '_'),
  29674. monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');
  29675. function plural(n) {
  29676. return n > 1 && n < 5;
  29677. }
  29678. function translate(number, withoutSuffix, key, isFuture) {
  29679. var result = number + ' ';
  29680. switch (key) {
  29681. case 's': // a few seconds / in a few seconds / a few seconds ago
  29682. return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';
  29683. case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
  29684. if (withoutSuffix || isFuture) {
  29685. return result + (plural(number) ? 'sekundy' : 'sekúnd');
  29686. } else {
  29687. return result + 'sekundami';
  29688. }
  29689. case 'm': // a minute / in a minute / a minute ago
  29690. return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';
  29691. case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
  29692. if (withoutSuffix || isFuture) {
  29693. return result + (plural(number) ? 'minúty' : 'minút');
  29694. } else {
  29695. return result + 'minútami';
  29696. }
  29697. case 'h': // an hour / in an hour / an hour ago
  29698. return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';
  29699. case 'hh': // 9 hours / in 9 hours / 9 hours ago
  29700. if (withoutSuffix || isFuture) {
  29701. return result + (plural(number) ? 'hodiny' : 'hodín');
  29702. } else {
  29703. return result + 'hodinami';
  29704. }
  29705. case 'd': // a day / in a day / a day ago
  29706. return withoutSuffix || isFuture ? 'deň' : 'dňom';
  29707. case 'dd': // 9 days / in 9 days / 9 days ago
  29708. if (withoutSuffix || isFuture) {
  29709. return result + (plural(number) ? 'dni' : 'dní');
  29710. } else {
  29711. return result + 'dňami';
  29712. }
  29713. case 'M': // a month / in a month / a month ago
  29714. return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';
  29715. case 'MM': // 9 months / in 9 months / 9 months ago
  29716. if (withoutSuffix || isFuture) {
  29717. return result + (plural(number) ? 'mesiace' : 'mesiacov');
  29718. } else {
  29719. return result + 'mesiacmi';
  29720. }
  29721. case 'y': // a year / in a year / a year ago
  29722. return withoutSuffix || isFuture ? 'rok' : 'rokom';
  29723. case 'yy': // 9 years / in 9 years / 9 years ago
  29724. if (withoutSuffix || isFuture) {
  29725. return result + (plural(number) ? 'roky' : 'rokov');
  29726. } else {
  29727. return result + 'rokmi';
  29728. }}
  29729. }
  29730. var sk = moment.defineLocale('sk', {
  29731. months: months,
  29732. monthsShort: monthsShort,
  29733. weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),
  29734. weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),
  29735. weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),
  29736. longDateFormat: {
  29737. LT: 'H:mm',
  29738. LTS: 'H:mm:ss',
  29739. L: 'DD.MM.YYYY',
  29740. LL: 'D. MMMM YYYY',
  29741. LLL: 'D. MMMM YYYY H:mm',
  29742. LLLL: 'dddd D. MMMM YYYY H:mm' },
  29743. calendar: {
  29744. sameDay: '[dnes o] LT',
  29745. nextDay: '[zajtra o] LT',
  29746. nextWeek: function nextWeek() {
  29747. switch (this.day()) {
  29748. case 0:
  29749. return '[v nedeľu o] LT';
  29750. case 1:
  29751. case 2:
  29752. return '[v] dddd [o] LT';
  29753. case 3:
  29754. return '[v stredu o] LT';
  29755. case 4:
  29756. return '[vo štvrtok o] LT';
  29757. case 5:
  29758. return '[v piatok o] LT';
  29759. case 6:
  29760. return '[v sobotu o] LT';}
  29761. },
  29762. lastDay: '[včera o] LT',
  29763. lastWeek: function lastWeek() {
  29764. switch (this.day()) {
  29765. case 0:
  29766. return '[minulú nedeľu o] LT';
  29767. case 1:
  29768. case 2:
  29769. return '[minulý] dddd [o] LT';
  29770. case 3:
  29771. return '[minulú stredu o] LT';
  29772. case 4:
  29773. case 5:
  29774. return '[minulý] dddd [o] LT';
  29775. case 6:
  29776. return '[minulú sobotu o] LT';}
  29777. },
  29778. sameElse: 'L' },
  29779. relativeTime: {
  29780. future: 'za %s',
  29781. past: 'pred %s',
  29782. s: translate,
  29783. ss: translate,
  29784. m: translate,
  29785. mm: translate,
  29786. h: translate,
  29787. hh: translate,
  29788. d: translate,
  29789. dd: translate,
  29790. M: translate,
  29791. MM: translate,
  29792. y: translate,
  29793. yy: translate },
  29794. dayOfMonthOrdinalParse: /\d{1,2}\./,
  29795. ordinal: '%d.',
  29796. week: {
  29797. dow: 1, // Monday is the first day of the week.
  29798. doy: 4 // The week that contains Jan 4th is the first week of the year.
  29799. } });
  29800. return sk;
  29801. });
  29802. /***/ }),
  29803. /* 215 */
  29804. /*!*****************************************************************!*\
  29805. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/sl.js ***!
  29806. \*****************************************************************/
  29807. /*! no static exports found */
  29808. /***/ (function(module, exports, __webpack_require__) {
  29809. //! moment.js locale configuration
  29810. //! locale : Slovenian [sl]
  29811. //! author : Robert Sedovšek : https://github.com/sedovsek
  29812. ;(function (global, factory) {
  29813. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  29814. undefined;
  29815. })(this, function (moment) {'use strict';
  29816. //! moment.js locale configuration
  29817. function processRelativeTime(number, withoutSuffix, key, isFuture) {
  29818. var result = number + ' ';
  29819. switch (key) {
  29820. case 's':
  29821. return withoutSuffix || isFuture ?
  29822. 'nekaj sekund' :
  29823. 'nekaj sekundami';
  29824. case 'ss':
  29825. if (number === 1) {
  29826. result += withoutSuffix ? 'sekundo' : 'sekundi';
  29827. } else if (number === 2) {
  29828. result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';
  29829. } else if (number < 5) {
  29830. result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';
  29831. } else {
  29832. result += 'sekund';
  29833. }
  29834. return result;
  29835. case 'm':
  29836. return withoutSuffix ? 'ena minuta' : 'eno minuto';
  29837. case 'mm':
  29838. if (number === 1) {
  29839. result += withoutSuffix ? 'minuta' : 'minuto';
  29840. } else if (number === 2) {
  29841. result += withoutSuffix || isFuture ? 'minuti' : 'minutama';
  29842. } else if (number < 5) {
  29843. result += withoutSuffix || isFuture ? 'minute' : 'minutami';
  29844. } else {
  29845. result += withoutSuffix || isFuture ? 'minut' : 'minutami';
  29846. }
  29847. return result;
  29848. case 'h':
  29849. return withoutSuffix ? 'ena ura' : 'eno uro';
  29850. case 'hh':
  29851. if (number === 1) {
  29852. result += withoutSuffix ? 'ura' : 'uro';
  29853. } else if (number === 2) {
  29854. result += withoutSuffix || isFuture ? 'uri' : 'urama';
  29855. } else if (number < 5) {
  29856. result += withoutSuffix || isFuture ? 'ure' : 'urami';
  29857. } else {
  29858. result += withoutSuffix || isFuture ? 'ur' : 'urami';
  29859. }
  29860. return result;
  29861. case 'd':
  29862. return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';
  29863. case 'dd':
  29864. if (number === 1) {
  29865. result += withoutSuffix || isFuture ? 'dan' : 'dnem';
  29866. } else if (number === 2) {
  29867. result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';
  29868. } else {
  29869. result += withoutSuffix || isFuture ? 'dni' : 'dnevi';
  29870. }
  29871. return result;
  29872. case 'M':
  29873. return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';
  29874. case 'MM':
  29875. if (number === 1) {
  29876. result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';
  29877. } else if (number === 2) {
  29878. result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';
  29879. } else if (number < 5) {
  29880. result += withoutSuffix || isFuture ? 'mesece' : 'meseci';
  29881. } else {
  29882. result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';
  29883. }
  29884. return result;
  29885. case 'y':
  29886. return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';
  29887. case 'yy':
  29888. if (number === 1) {
  29889. result += withoutSuffix || isFuture ? 'leto' : 'letom';
  29890. } else if (number === 2) {
  29891. result += withoutSuffix || isFuture ? 'leti' : 'letoma';
  29892. } else if (number < 5) {
  29893. result += withoutSuffix || isFuture ? 'leta' : 'leti';
  29894. } else {
  29895. result += withoutSuffix || isFuture ? 'let' : 'leti';
  29896. }
  29897. return result;}
  29898. }
  29899. var sl = moment.defineLocale('sl', {
  29900. months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(
  29901. '_'),
  29902. monthsShort:
  29903. 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(
  29904. '_'),
  29905. monthsParseExact: true,
  29906. weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),
  29907. weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),
  29908. weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),
  29909. weekdaysParseExact: true,
  29910. longDateFormat: {
  29911. LT: 'H:mm',
  29912. LTS: 'H:mm:ss',
  29913. L: 'DD. MM. YYYY',
  29914. LL: 'D. MMMM YYYY',
  29915. LLL: 'D. MMMM YYYY H:mm',
  29916. LLLL: 'dddd, D. MMMM YYYY H:mm' },
  29917. calendar: {
  29918. sameDay: '[danes ob] LT',
  29919. nextDay: '[jutri ob] LT',
  29920. nextWeek: function nextWeek() {
  29921. switch (this.day()) {
  29922. case 0:
  29923. return '[v] [nedeljo] [ob] LT';
  29924. case 3:
  29925. return '[v] [sredo] [ob] LT';
  29926. case 6:
  29927. return '[v] [soboto] [ob] LT';
  29928. case 1:
  29929. case 2:
  29930. case 4:
  29931. case 5:
  29932. return '[v] dddd [ob] LT';}
  29933. },
  29934. lastDay: '[včeraj ob] LT',
  29935. lastWeek: function lastWeek() {
  29936. switch (this.day()) {
  29937. case 0:
  29938. return '[prejšnjo] [nedeljo] [ob] LT';
  29939. case 3:
  29940. return '[prejšnjo] [sredo] [ob] LT';
  29941. case 6:
  29942. return '[prejšnjo] [soboto] [ob] LT';
  29943. case 1:
  29944. case 2:
  29945. case 4:
  29946. case 5:
  29947. return '[prejšnji] dddd [ob] LT';}
  29948. },
  29949. sameElse: 'L' },
  29950. relativeTime: {
  29951. future: 'čez %s',
  29952. past: 'pred %s',
  29953. s: processRelativeTime,
  29954. ss: processRelativeTime,
  29955. m: processRelativeTime,
  29956. mm: processRelativeTime,
  29957. h: processRelativeTime,
  29958. hh: processRelativeTime,
  29959. d: processRelativeTime,
  29960. dd: processRelativeTime,
  29961. M: processRelativeTime,
  29962. MM: processRelativeTime,
  29963. y: processRelativeTime,
  29964. yy: processRelativeTime },
  29965. dayOfMonthOrdinalParse: /\d{1,2}\./,
  29966. ordinal: '%d.',
  29967. week: {
  29968. dow: 1, // Monday is the first day of the week.
  29969. doy: 7 // The week that contains Jan 7th is the first week of the year.
  29970. } });
  29971. return sl;
  29972. });
  29973. /***/ }),
  29974. /* 216 */
  29975. /*!*****************************************************************!*\
  29976. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/sq.js ***!
  29977. \*****************************************************************/
  29978. /*! no static exports found */
  29979. /***/ (function(module, exports, __webpack_require__) {
  29980. //! moment.js locale configuration
  29981. //! locale : Albanian [sq]
  29982. //! author : Flakërim Ismani : https://github.com/flakerimi
  29983. //! author : Menelion Elensúle : https://github.com/Oire
  29984. //! author : Oerd Cukalla : https://github.com/oerd
  29985. ;(function (global, factory) {
  29986. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  29987. undefined;
  29988. })(this, function (moment) {'use strict';
  29989. //! moment.js locale configuration
  29990. var sq = moment.defineLocale('sq', {
  29991. months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(
  29992. '_'),
  29993. monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),
  29994. weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(
  29995. '_'),
  29996. weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),
  29997. weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),
  29998. weekdaysParseExact: true,
  29999. meridiemParse: /PD|MD/,
  30000. isPM: function isPM(input) {
  30001. return input.charAt(0) === 'M';
  30002. },
  30003. meridiem: function meridiem(hours, minutes, isLower) {
  30004. return hours < 12 ? 'PD' : 'MD';
  30005. },
  30006. longDateFormat: {
  30007. LT: 'HH:mm',
  30008. LTS: 'HH:mm:ss',
  30009. L: 'DD/MM/YYYY',
  30010. LL: 'D MMMM YYYY',
  30011. LLL: 'D MMMM YYYY HH:mm',
  30012. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  30013. calendar: {
  30014. sameDay: '[Sot në] LT',
  30015. nextDay: '[Nesër në] LT',
  30016. nextWeek: 'dddd [në] LT',
  30017. lastDay: '[Dje në] LT',
  30018. lastWeek: 'dddd [e kaluar në] LT',
  30019. sameElse: 'L' },
  30020. relativeTime: {
  30021. future: 'në %s',
  30022. past: '%s më parë',
  30023. s: 'disa sekonda',
  30024. ss: '%d sekonda',
  30025. m: 'një minutë',
  30026. mm: '%d minuta',
  30027. h: 'një orë',
  30028. hh: '%d orë',
  30029. d: 'një ditë',
  30030. dd: '%d ditë',
  30031. M: 'një muaj',
  30032. MM: '%d muaj',
  30033. y: 'një vit',
  30034. yy: '%d vite' },
  30035. dayOfMonthOrdinalParse: /\d{1,2}\./,
  30036. ordinal: '%d.',
  30037. week: {
  30038. dow: 1, // Monday is the first day of the week.
  30039. doy: 4 // The week that contains Jan 4th is the first week of the year.
  30040. } });
  30041. return sq;
  30042. });
  30043. /***/ }),
  30044. /* 217 */
  30045. /*!*****************************************************************!*\
  30046. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/sr.js ***!
  30047. \*****************************************************************/
  30048. /*! no static exports found */
  30049. /***/ (function(module, exports, __webpack_require__) {
  30050. //! moment.js locale configuration
  30051. //! locale : Serbian [sr]
  30052. //! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
  30053. //! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic
  30054. ;(function (global, factory) {
  30055. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  30056. undefined;
  30057. })(this, function (moment) {'use strict';
  30058. //! moment.js locale configuration
  30059. var translator = {
  30060. words: {
  30061. //Different grammatical cases
  30062. ss: ['sekunda', 'sekunde', 'sekundi'],
  30063. m: ['jedan minut', 'jednog minuta'],
  30064. mm: ['minut', 'minuta', 'minuta'],
  30065. h: ['jedan sat', 'jednog sata'],
  30066. hh: ['sat', 'sata', 'sati'],
  30067. d: ['jedan dan', 'jednog dana'],
  30068. dd: ['dan', 'dana', 'dana'],
  30069. M: ['jedan mesec', 'jednog meseca'],
  30070. MM: ['mesec', 'meseca', 'meseci'],
  30071. y: ['jednu godinu', 'jedne godine'],
  30072. yy: ['godinu', 'godine', 'godina'] },
  30073. correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) {
  30074. if (
  30075. number % 10 >= 1 &&
  30076. number % 10 <= 4 && (
  30077. number % 100 < 10 || number % 100 >= 20))
  30078. {
  30079. return number % 10 === 1 ? wordKey[0] : wordKey[1];
  30080. }
  30081. return wordKey[2];
  30082. },
  30083. translate: function translate(number, withoutSuffix, key, isFuture) {
  30084. var wordKey = translator.words[key],
  30085. word;
  30086. if (key.length === 1) {
  30087. // Nominativ
  30088. if (key === 'y' && withoutSuffix) return 'jedna godina';
  30089. return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];
  30090. }
  30091. word = translator.correctGrammaticalCase(number, wordKey);
  30092. // Nominativ
  30093. if (key === 'yy' && withoutSuffix && word === 'godinu') {
  30094. return number + ' godina';
  30095. }
  30096. return number + ' ' + word;
  30097. } };
  30098. var sr = moment.defineLocale('sr', {
  30099. months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(
  30100. '_'),
  30101. monthsShort:
  30102. 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
  30103. monthsParseExact: true,
  30104. weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(
  30105. '_'),
  30106. weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),
  30107. weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
  30108. weekdaysParseExact: true,
  30109. longDateFormat: {
  30110. LT: 'H:mm',
  30111. LTS: 'H:mm:ss',
  30112. L: 'D. M. YYYY.',
  30113. LL: 'D. MMMM YYYY.',
  30114. LLL: 'D. MMMM YYYY. H:mm',
  30115. LLLL: 'dddd, D. MMMM YYYY. H:mm' },
  30116. calendar: {
  30117. sameDay: '[danas u] LT',
  30118. nextDay: '[sutra u] LT',
  30119. nextWeek: function nextWeek() {
  30120. switch (this.day()) {
  30121. case 0:
  30122. return '[u] [nedelju] [u] LT';
  30123. case 3:
  30124. return '[u] [sredu] [u] LT';
  30125. case 6:
  30126. return '[u] [subotu] [u] LT';
  30127. case 1:
  30128. case 2:
  30129. case 4:
  30130. case 5:
  30131. return '[u] dddd [u] LT';}
  30132. },
  30133. lastDay: '[juče u] LT',
  30134. lastWeek: function lastWeek() {
  30135. var lastWeekDays = [
  30136. '[prošle] [nedelje] [u] LT',
  30137. '[prošlog] [ponedeljka] [u] LT',
  30138. '[prošlog] [utorka] [u] LT',
  30139. '[prošle] [srede] [u] LT',
  30140. '[prošlog] [četvrtka] [u] LT',
  30141. '[prošlog] [petka] [u] LT',
  30142. '[prošle] [subote] [u] LT'];
  30143. return lastWeekDays[this.day()];
  30144. },
  30145. sameElse: 'L' },
  30146. relativeTime: {
  30147. future: 'za %s',
  30148. past: 'pre %s',
  30149. s: 'nekoliko sekundi',
  30150. ss: translator.translate,
  30151. m: translator.translate,
  30152. mm: translator.translate,
  30153. h: translator.translate,
  30154. hh: translator.translate,
  30155. d: translator.translate,
  30156. dd: translator.translate,
  30157. M: translator.translate,
  30158. MM: translator.translate,
  30159. y: translator.translate,
  30160. yy: translator.translate },
  30161. dayOfMonthOrdinalParse: /\d{1,2}\./,
  30162. ordinal: '%d.',
  30163. week: {
  30164. dow: 1, // Monday is the first day of the week.
  30165. doy: 7 // The week that contains Jan 7th is the first week of the year.
  30166. } });
  30167. return sr;
  30168. });
  30169. /***/ }),
  30170. /* 218 */
  30171. /*!**********************************************************************!*\
  30172. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/sr-cyrl.js ***!
  30173. \**********************************************************************/
  30174. /*! no static exports found */
  30175. /***/ (function(module, exports, __webpack_require__) {
  30176. //! moment.js locale configuration
  30177. //! locale : Serbian Cyrillic [sr-cyrl]
  30178. //! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
  30179. //! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic
  30180. ;(function (global, factory) {
  30181. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  30182. undefined;
  30183. })(this, function (moment) {'use strict';
  30184. //! moment.js locale configuration
  30185. var translator = {
  30186. words: {
  30187. //Different grammatical cases
  30188. ss: ['секунда', 'секунде', 'секунди'],
  30189. m: ['један минут', 'једног минута'],
  30190. mm: ['минут', 'минута', 'минута'],
  30191. h: ['један сат', 'једног сата'],
  30192. hh: ['сат', 'сата', 'сати'],
  30193. d: ['један дан', 'једног дана'],
  30194. dd: ['дан', 'дана', 'дана'],
  30195. M: ['један месец', 'једног месеца'],
  30196. MM: ['месец', 'месеца', 'месеци'],
  30197. y: ['једну годину', 'једне године'],
  30198. yy: ['годину', 'године', 'година'] },
  30199. correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) {
  30200. if (
  30201. number % 10 >= 1 &&
  30202. number % 10 <= 4 && (
  30203. number % 100 < 10 || number % 100 >= 20))
  30204. {
  30205. return number % 10 === 1 ? wordKey[0] : wordKey[1];
  30206. }
  30207. return wordKey[2];
  30208. },
  30209. translate: function translate(number, withoutSuffix, key, isFuture) {
  30210. var wordKey = translator.words[key],
  30211. word;
  30212. if (key.length === 1) {
  30213. // Nominativ
  30214. if (key === 'y' && withoutSuffix) return 'једна година';
  30215. return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];
  30216. }
  30217. word = translator.correctGrammaticalCase(number, wordKey);
  30218. // Nominativ
  30219. if (key === 'yy' && withoutSuffix && word === 'годину') {
  30220. return number + ' година';
  30221. }
  30222. return number + ' ' + word;
  30223. } };
  30224. var srCyrl = moment.defineLocale('sr-cyrl', {
  30225. months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(
  30226. '_'),
  30227. monthsShort:
  30228. 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),
  30229. monthsParseExact: true,
  30230. weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),
  30231. weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),
  30232. weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),
  30233. weekdaysParseExact: true,
  30234. longDateFormat: {
  30235. LT: 'H:mm',
  30236. LTS: 'H:mm:ss',
  30237. L: 'D. M. YYYY.',
  30238. LL: 'D. MMMM YYYY.',
  30239. LLL: 'D. MMMM YYYY. H:mm',
  30240. LLLL: 'dddd, D. MMMM YYYY. H:mm' },
  30241. calendar: {
  30242. sameDay: '[данас у] LT',
  30243. nextDay: '[сутра у] LT',
  30244. nextWeek: function nextWeek() {
  30245. switch (this.day()) {
  30246. case 0:
  30247. return '[у] [недељу] [у] LT';
  30248. case 3:
  30249. return '[у] [среду] [у] LT';
  30250. case 6:
  30251. return '[у] [суботу] [у] LT';
  30252. case 1:
  30253. case 2:
  30254. case 4:
  30255. case 5:
  30256. return '[у] dddd [у] LT';}
  30257. },
  30258. lastDay: '[јуче у] LT',
  30259. lastWeek: function lastWeek() {
  30260. var lastWeekDays = [
  30261. '[прошле] [недеље] [у] LT',
  30262. '[прошлог] [понедељка] [у] LT',
  30263. '[прошлог] [уторка] [у] LT',
  30264. '[прошле] [среде] [у] LT',
  30265. '[прошлог] [четвртка] [у] LT',
  30266. '[прошлог] [петка] [у] LT',
  30267. '[прошле] [суботе] [у] LT'];
  30268. return lastWeekDays[this.day()];
  30269. },
  30270. sameElse: 'L' },
  30271. relativeTime: {
  30272. future: 'за %s',
  30273. past: 'пре %s',
  30274. s: 'неколико секунди',
  30275. ss: translator.translate,
  30276. m: translator.translate,
  30277. mm: translator.translate,
  30278. h: translator.translate,
  30279. hh: translator.translate,
  30280. d: translator.translate,
  30281. dd: translator.translate,
  30282. M: translator.translate,
  30283. MM: translator.translate,
  30284. y: translator.translate,
  30285. yy: translator.translate },
  30286. dayOfMonthOrdinalParse: /\d{1,2}\./,
  30287. ordinal: '%d.',
  30288. week: {
  30289. dow: 1, // Monday is the first day of the week.
  30290. doy: 7 // The week that contains Jan 1st is the first week of the year.
  30291. } });
  30292. return srCyrl;
  30293. });
  30294. /***/ }),
  30295. /* 219 */
  30296. /*!*****************************************************************!*\
  30297. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ss.js ***!
  30298. \*****************************************************************/
  30299. /*! no static exports found */
  30300. /***/ (function(module, exports, __webpack_require__) {
  30301. //! moment.js locale configuration
  30302. //! locale : siSwati [ss]
  30303. //! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies
  30304. ;(function (global, factory) {
  30305. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  30306. undefined;
  30307. })(this, function (moment) {'use strict';
  30308. //! moment.js locale configuration
  30309. var ss = moment.defineLocale('ss', {
  30310. months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split(
  30311. '_'),
  30312. monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),
  30313. weekdays:
  30314. 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(
  30315. '_'),
  30316. weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),
  30317. weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),
  30318. weekdaysParseExact: true,
  30319. longDateFormat: {
  30320. LT: 'h:mm A',
  30321. LTS: 'h:mm:ss A',
  30322. L: 'DD/MM/YYYY',
  30323. LL: 'D MMMM YYYY',
  30324. LLL: 'D MMMM YYYY h:mm A',
  30325. LLLL: 'dddd, D MMMM YYYY h:mm A' },
  30326. calendar: {
  30327. sameDay: '[Namuhla nga] LT',
  30328. nextDay: '[Kusasa nga] LT',
  30329. nextWeek: 'dddd [nga] LT',
  30330. lastDay: '[Itolo nga] LT',
  30331. lastWeek: 'dddd [leliphelile] [nga] LT',
  30332. sameElse: 'L' },
  30333. relativeTime: {
  30334. future: 'nga %s',
  30335. past: 'wenteka nga %s',
  30336. s: 'emizuzwana lomcane',
  30337. ss: '%d mzuzwana',
  30338. m: 'umzuzu',
  30339. mm: '%d emizuzu',
  30340. h: 'lihora',
  30341. hh: '%d emahora',
  30342. d: 'lilanga',
  30343. dd: '%d emalanga',
  30344. M: 'inyanga',
  30345. MM: '%d tinyanga',
  30346. y: 'umnyaka',
  30347. yy: '%d iminyaka' },
  30348. meridiemParse: /ekuseni|emini|entsambama|ebusuku/,
  30349. meridiem: function meridiem(hours, minutes, isLower) {
  30350. if (hours < 11) {
  30351. return 'ekuseni';
  30352. } else if (hours < 15) {
  30353. return 'emini';
  30354. } else if (hours < 19) {
  30355. return 'entsambama';
  30356. } else {
  30357. return 'ebusuku';
  30358. }
  30359. },
  30360. meridiemHour: function meridiemHour(hour, meridiem) {
  30361. if (hour === 12) {
  30362. hour = 0;
  30363. }
  30364. if (meridiem === 'ekuseni') {
  30365. return hour;
  30366. } else if (meridiem === 'emini') {
  30367. return hour >= 11 ? hour : hour + 12;
  30368. } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {
  30369. if (hour === 0) {
  30370. return 0;
  30371. }
  30372. return hour + 12;
  30373. }
  30374. },
  30375. dayOfMonthOrdinalParse: /\d{1,2}/,
  30376. ordinal: '%d',
  30377. week: {
  30378. dow: 1, // Monday is the first day of the week.
  30379. doy: 4 // The week that contains Jan 4th is the first week of the year.
  30380. } });
  30381. return ss;
  30382. });
  30383. /***/ }),
  30384. /* 220 */
  30385. /*!*****************************************************************!*\
  30386. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/sv.js ***!
  30387. \*****************************************************************/
  30388. /*! no static exports found */
  30389. /***/ (function(module, exports, __webpack_require__) {
  30390. //! moment.js locale configuration
  30391. //! locale : Swedish [sv]
  30392. //! author : Jens Alm : https://github.com/ulmus
  30393. ;(function (global, factory) {
  30394. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  30395. undefined;
  30396. })(this, function (moment) {'use strict';
  30397. //! moment.js locale configuration
  30398. var sv = moment.defineLocale('sv', {
  30399. months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(
  30400. '_'),
  30401. monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
  30402. weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),
  30403. weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),
  30404. weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),
  30405. longDateFormat: {
  30406. LT: 'HH:mm',
  30407. LTS: 'HH:mm:ss',
  30408. L: 'YYYY-MM-DD',
  30409. LL: 'D MMMM YYYY',
  30410. LLL: 'D MMMM YYYY [kl.] HH:mm',
  30411. LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',
  30412. lll: 'D MMM YYYY HH:mm',
  30413. llll: 'ddd D MMM YYYY HH:mm' },
  30414. calendar: {
  30415. sameDay: '[Idag] LT',
  30416. nextDay: '[Imorgon] LT',
  30417. lastDay: '[Igår] LT',
  30418. nextWeek: '[På] dddd LT',
  30419. lastWeek: '[I] dddd[s] LT',
  30420. sameElse: 'L' },
  30421. relativeTime: {
  30422. future: 'om %s',
  30423. past: 'för %s sedan',
  30424. s: 'några sekunder',
  30425. ss: '%d sekunder',
  30426. m: 'en minut',
  30427. mm: '%d minuter',
  30428. h: 'en timme',
  30429. hh: '%d timmar',
  30430. d: 'en dag',
  30431. dd: '%d dagar',
  30432. M: 'en månad',
  30433. MM: '%d månader',
  30434. y: 'ett år',
  30435. yy: '%d år' },
  30436. dayOfMonthOrdinalParse: /\d{1,2}(\:e|\:a)/,
  30437. ordinal: function ordinal(number) {
  30438. var b = number % 10,
  30439. output =
  30440. ~~(number % 100 / 10) === 1 ?
  30441. ':e' :
  30442. b === 1 ?
  30443. ':a' :
  30444. b === 2 ?
  30445. ':a' :
  30446. b === 3 ?
  30447. ':e' :
  30448. ':e';
  30449. return number + output;
  30450. },
  30451. week: {
  30452. dow: 1, // Monday is the first day of the week.
  30453. doy: 4 // The week that contains Jan 4th is the first week of the year.
  30454. } });
  30455. return sv;
  30456. });
  30457. /***/ }),
  30458. /* 221 */
  30459. /*!*****************************************************************!*\
  30460. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/sw.js ***!
  30461. \*****************************************************************/
  30462. /*! no static exports found */
  30463. /***/ (function(module, exports, __webpack_require__) {
  30464. //! moment.js locale configuration
  30465. //! locale : Swahili [sw]
  30466. //! author : Fahad Kassim : https://github.com/fadsel
  30467. ;(function (global, factory) {
  30468. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  30469. undefined;
  30470. })(this, function (moment) {'use strict';
  30471. //! moment.js locale configuration
  30472. var sw = moment.defineLocale('sw', {
  30473. months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(
  30474. '_'),
  30475. monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),
  30476. weekdays:
  30477. 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(
  30478. '_'),
  30479. weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),
  30480. weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),
  30481. weekdaysParseExact: true,
  30482. longDateFormat: {
  30483. LT: 'hh:mm A',
  30484. LTS: 'HH:mm:ss',
  30485. L: 'DD.MM.YYYY',
  30486. LL: 'D MMMM YYYY',
  30487. LLL: 'D MMMM YYYY HH:mm',
  30488. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  30489. calendar: {
  30490. sameDay: '[leo saa] LT',
  30491. nextDay: '[kesho saa] LT',
  30492. nextWeek: '[wiki ijayo] dddd [saat] LT',
  30493. lastDay: '[jana] LT',
  30494. lastWeek: '[wiki iliyopita] dddd [saat] LT',
  30495. sameElse: 'L' },
  30496. relativeTime: {
  30497. future: '%s baadaye',
  30498. past: 'tokea %s',
  30499. s: 'hivi punde',
  30500. ss: 'sekunde %d',
  30501. m: 'dakika moja',
  30502. mm: 'dakika %d',
  30503. h: 'saa limoja',
  30504. hh: 'masaa %d',
  30505. d: 'siku moja',
  30506. dd: 'siku %d',
  30507. M: 'mwezi mmoja',
  30508. MM: 'miezi %d',
  30509. y: 'mwaka mmoja',
  30510. yy: 'miaka %d' },
  30511. week: {
  30512. dow: 1, // Monday is the first day of the week.
  30513. doy: 7 // The week that contains Jan 7th is the first week of the year.
  30514. } });
  30515. return sw;
  30516. });
  30517. /***/ }),
  30518. /* 222 */
  30519. /*!*****************************************************************!*\
  30520. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ta.js ***!
  30521. \*****************************************************************/
  30522. /*! no static exports found */
  30523. /***/ (function(module, exports, __webpack_require__) {
  30524. //! moment.js locale configuration
  30525. //! locale : Tamil [ta]
  30526. //! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404
  30527. ;(function (global, factory) {
  30528. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  30529. undefined;
  30530. })(this, function (moment) {'use strict';
  30531. //! moment.js locale configuration
  30532. var symbolMap = {
  30533. 1: '௧',
  30534. 2: '௨',
  30535. 3: '௩',
  30536. 4: '௪',
  30537. 5: '௫',
  30538. 6: '௬',
  30539. 7: '௭',
  30540. 8: '௮',
  30541. 9: '௯',
  30542. 0: '௦' },
  30543. numberMap = {
  30544. '௧': '1',
  30545. '௨': '2',
  30546. '௩': '3',
  30547. '௪': '4',
  30548. '௫': '5',
  30549. '௬': '6',
  30550. '௭': '7',
  30551. '௮': '8',
  30552. '௯': '9',
  30553. '௦': '0' };
  30554. var ta = moment.defineLocale('ta', {
  30555. months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(
  30556. '_'),
  30557. monthsShort:
  30558. 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(
  30559. '_'),
  30560. weekdays:
  30561. 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(
  30562. '_'),
  30563. weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(
  30564. '_'),
  30565. weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),
  30566. longDateFormat: {
  30567. LT: 'HH:mm',
  30568. LTS: 'HH:mm:ss',
  30569. L: 'DD/MM/YYYY',
  30570. LL: 'D MMMM YYYY',
  30571. LLL: 'D MMMM YYYY, HH:mm',
  30572. LLLL: 'dddd, D MMMM YYYY, HH:mm' },
  30573. calendar: {
  30574. sameDay: '[இன்று] LT',
  30575. nextDay: '[நாளை] LT',
  30576. nextWeek: 'dddd, LT',
  30577. lastDay: '[நேற்று] LT',
  30578. lastWeek: '[கடந்த வாரம்] dddd, LT',
  30579. sameElse: 'L' },
  30580. relativeTime: {
  30581. future: '%s இல்',
  30582. past: '%s முன்',
  30583. s: 'ஒரு சில விநாடிகள்',
  30584. ss: '%d விநாடிகள்',
  30585. m: 'ஒரு நிமிடம்',
  30586. mm: '%d நிமிடங்கள்',
  30587. h: 'ஒரு மணி நேரம்',
  30588. hh: '%d மணி நேரம்',
  30589. d: 'ஒரு நாள்',
  30590. dd: '%d நாட்கள்',
  30591. M: 'ஒரு மாதம்',
  30592. MM: '%d மாதங்கள்',
  30593. y: 'ஒரு வருடம்',
  30594. yy: '%d ஆண்டுகள்' },
  30595. dayOfMonthOrdinalParse: /\d{1,2}வது/,
  30596. ordinal: function ordinal(number) {
  30597. return number + 'வது';
  30598. },
  30599. preparse: function preparse(string) {
  30600. return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {
  30601. return numberMap[match];
  30602. });
  30603. },
  30604. postformat: function postformat(string) {
  30605. return string.replace(/\d/g, function (match) {
  30606. return symbolMap[match];
  30607. });
  30608. },
  30609. // refer http://ta.wikipedia.org/s/1er1
  30610. meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,
  30611. meridiem: function meridiem(hour, minute, isLower) {
  30612. if (hour < 2) {
  30613. return ' யாமம்';
  30614. } else if (hour < 6) {
  30615. return ' வைகறை'; // வைகறை
  30616. } else if (hour < 10) {
  30617. return ' காலை'; // காலை
  30618. } else if (hour < 14) {
  30619. return ' நண்பகல்'; // நண்பகல்
  30620. } else if (hour < 18) {
  30621. return ' எற்பாடு'; // எற்பாடு
  30622. } else if (hour < 22) {
  30623. return ' மாலை'; // மாலை
  30624. } else {
  30625. return ' யாமம்';
  30626. }
  30627. },
  30628. meridiemHour: function meridiemHour(hour, meridiem) {
  30629. if (hour === 12) {
  30630. hour = 0;
  30631. }
  30632. if (meridiem === 'யாமம்') {
  30633. return hour < 2 ? hour : hour + 12;
  30634. } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {
  30635. return hour;
  30636. } else if (meridiem === 'நண்பகல்') {
  30637. return hour >= 10 ? hour : hour + 12;
  30638. } else {
  30639. return hour + 12;
  30640. }
  30641. },
  30642. week: {
  30643. dow: 0, // Sunday is the first day of the week.
  30644. doy: 6 // The week that contains Jan 6th is the first week of the year.
  30645. } });
  30646. return ta;
  30647. });
  30648. /***/ }),
  30649. /* 223 */
  30650. /*!*****************************************************************!*\
  30651. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/te.js ***!
  30652. \*****************************************************************/
  30653. /*! no static exports found */
  30654. /***/ (function(module, exports, __webpack_require__) {
  30655. //! moment.js locale configuration
  30656. //! locale : Telugu [te]
  30657. //! author : Krishna Chaitanya Thota : https://github.com/kcthota
  30658. ;(function (global, factory) {
  30659. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  30660. undefined;
  30661. })(this, function (moment) {'use strict';
  30662. //! moment.js locale configuration
  30663. var te = moment.defineLocale('te', {
  30664. months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(
  30665. '_'),
  30666. monthsShort:
  30667. 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(
  30668. '_'),
  30669. monthsParseExact: true,
  30670. weekdays:
  30671. 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(
  30672. '_'),
  30673. weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),
  30674. weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),
  30675. longDateFormat: {
  30676. LT: 'A h:mm',
  30677. LTS: 'A h:mm:ss',
  30678. L: 'DD/MM/YYYY',
  30679. LL: 'D MMMM YYYY',
  30680. LLL: 'D MMMM YYYY, A h:mm',
  30681. LLLL: 'dddd, D MMMM YYYY, A h:mm' },
  30682. calendar: {
  30683. sameDay: '[నేడు] LT',
  30684. nextDay: '[రేపు] LT',
  30685. nextWeek: 'dddd, LT',
  30686. lastDay: '[నిన్న] LT',
  30687. lastWeek: '[గత] dddd, LT',
  30688. sameElse: 'L' },
  30689. relativeTime: {
  30690. future: '%s లో',
  30691. past: '%s క్రితం',
  30692. s: 'కొన్ని క్షణాలు',
  30693. ss: '%d సెకన్లు',
  30694. m: 'ఒక నిమిషం',
  30695. mm: '%d నిమిషాలు',
  30696. h: 'ఒక గంట',
  30697. hh: '%d గంటలు',
  30698. d: 'ఒక రోజు',
  30699. dd: '%d రోజులు',
  30700. M: 'ఒక నెల',
  30701. MM: '%d నెలలు',
  30702. y: 'ఒక సంవత్సరం',
  30703. yy: '%d సంవత్సరాలు' },
  30704. dayOfMonthOrdinalParse: /\d{1,2}వ/,
  30705. ordinal: '%dవ',
  30706. meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,
  30707. meridiemHour: function meridiemHour(hour, meridiem) {
  30708. if (hour === 12) {
  30709. hour = 0;
  30710. }
  30711. if (meridiem === 'రాత్రి') {
  30712. return hour < 4 ? hour : hour + 12;
  30713. } else if (meridiem === 'ఉదయం') {
  30714. return hour;
  30715. } else if (meridiem === 'మధ్యాహ్నం') {
  30716. return hour >= 10 ? hour : hour + 12;
  30717. } else if (meridiem === 'సాయంత్రం') {
  30718. return hour + 12;
  30719. }
  30720. },
  30721. meridiem: function meridiem(hour, minute, isLower) {
  30722. if (hour < 4) {
  30723. return 'రాత్రి';
  30724. } else if (hour < 10) {
  30725. return 'ఉదయం';
  30726. } else if (hour < 17) {
  30727. return 'మధ్యాహ్నం';
  30728. } else if (hour < 20) {
  30729. return 'సాయంత్రం';
  30730. } else {
  30731. return 'రాత్రి';
  30732. }
  30733. },
  30734. week: {
  30735. dow: 0, // Sunday is the first day of the week.
  30736. doy: 6 // The week that contains Jan 6th is the first week of the year.
  30737. } });
  30738. return te;
  30739. });
  30740. /***/ }),
  30741. /* 224 */
  30742. /*!******************************************************************!*\
  30743. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/tet.js ***!
  30744. \******************************************************************/
  30745. /*! no static exports found */
  30746. /***/ (function(module, exports, __webpack_require__) {
  30747. //! moment.js locale configuration
  30748. //! locale : Tetun Dili (East Timor) [tet]
  30749. //! author : Joshua Brooks : https://github.com/joshbrooks
  30750. //! author : Onorio De J. Afonso : https://github.com/marobo
  30751. //! author : Sonia Simoes : https://github.com/soniasimoes
  30752. ;(function (global, factory) {
  30753. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  30754. undefined;
  30755. })(this, function (moment) {'use strict';
  30756. //! moment.js locale configuration
  30757. var tet = moment.defineLocale('tet', {
  30758. months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(
  30759. '_'),
  30760. monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
  30761. weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),
  30762. weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),
  30763. weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),
  30764. longDateFormat: {
  30765. LT: 'HH:mm',
  30766. LTS: 'HH:mm:ss',
  30767. L: 'DD/MM/YYYY',
  30768. LL: 'D MMMM YYYY',
  30769. LLL: 'D MMMM YYYY HH:mm',
  30770. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  30771. calendar: {
  30772. sameDay: '[Ohin iha] LT',
  30773. nextDay: '[Aban iha] LT',
  30774. nextWeek: 'dddd [iha] LT',
  30775. lastDay: '[Horiseik iha] LT',
  30776. lastWeek: 'dddd [semana kotuk] [iha] LT',
  30777. sameElse: 'L' },
  30778. relativeTime: {
  30779. future: 'iha %s',
  30780. past: '%s liuba',
  30781. s: 'segundu balun',
  30782. ss: 'segundu %d',
  30783. m: 'minutu ida',
  30784. mm: 'minutu %d',
  30785. h: 'oras ida',
  30786. hh: 'oras %d',
  30787. d: 'loron ida',
  30788. dd: 'loron %d',
  30789. M: 'fulan ida',
  30790. MM: 'fulan %d',
  30791. y: 'tinan ida',
  30792. yy: 'tinan %d' },
  30793. dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
  30794. ordinal: function ordinal(number) {
  30795. var b = number % 10,
  30796. output =
  30797. ~~(number % 100 / 10) === 1 ?
  30798. 'th' :
  30799. b === 1 ?
  30800. 'st' :
  30801. b === 2 ?
  30802. 'nd' :
  30803. b === 3 ?
  30804. 'rd' :
  30805. 'th';
  30806. return number + output;
  30807. },
  30808. week: {
  30809. dow: 1, // Monday is the first day of the week.
  30810. doy: 4 // The week that contains Jan 4th is the first week of the year.
  30811. } });
  30812. return tet;
  30813. });
  30814. /***/ }),
  30815. /* 225 */
  30816. /*!*****************************************************************!*\
  30817. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/tg.js ***!
  30818. \*****************************************************************/
  30819. /*! no static exports found */
  30820. /***/ (function(module, exports, __webpack_require__) {
  30821. //! moment.js locale configuration
  30822. //! locale : Tajik [tg]
  30823. //! author : Orif N. Jr. : https://github.com/orif-jr
  30824. ;(function (global, factory) {
  30825. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  30826. undefined;
  30827. })(this, function (moment) {'use strict';
  30828. //! moment.js locale configuration
  30829. var suffixes = {
  30830. 0: '-ум',
  30831. 1: '-ум',
  30832. 2: '-юм',
  30833. 3: '-юм',
  30834. 4: '-ум',
  30835. 5: '-ум',
  30836. 6: '-ум',
  30837. 7: '-ум',
  30838. 8: '-ум',
  30839. 9: '-ум',
  30840. 10: '-ум',
  30841. 12: '-ум',
  30842. 13: '-ум',
  30843. 20: '-ум',
  30844. 30: '-юм',
  30845. 40: '-ум',
  30846. 50: '-ум',
  30847. 60: '-ум',
  30848. 70: '-ум',
  30849. 80: '-ум',
  30850. 90: '-ум',
  30851. 100: '-ум' };
  30852. var tg = moment.defineLocale('tg', {
  30853. months: {
  30854. format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(
  30855. '_'),
  30856. standalone:
  30857. 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(
  30858. '_') },
  30859. monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
  30860. weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(
  30861. '_'),
  30862. weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),
  30863. weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),
  30864. longDateFormat: {
  30865. LT: 'HH:mm',
  30866. LTS: 'HH:mm:ss',
  30867. L: 'DD.MM.YYYY',
  30868. LL: 'D MMMM YYYY',
  30869. LLL: 'D MMMM YYYY HH:mm',
  30870. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  30871. calendar: {
  30872. sameDay: '[Имрӯз соати] LT',
  30873. nextDay: '[Фардо соати] LT',
  30874. lastDay: '[Дирӯз соати] LT',
  30875. nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',
  30876. lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',
  30877. sameElse: 'L' },
  30878. relativeTime: {
  30879. future: 'баъди %s',
  30880. past: '%s пеш',
  30881. s: 'якчанд сония',
  30882. m: 'як дақиқа',
  30883. mm: '%d дақиқа',
  30884. h: 'як соат',
  30885. hh: '%d соат',
  30886. d: 'як рӯз',
  30887. dd: '%d рӯз',
  30888. M: 'як моҳ',
  30889. MM: '%d моҳ',
  30890. y: 'як сол',
  30891. yy: '%d сол' },
  30892. meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,
  30893. meridiemHour: function meridiemHour(hour, meridiem) {
  30894. if (hour === 12) {
  30895. hour = 0;
  30896. }
  30897. if (meridiem === 'шаб') {
  30898. return hour < 4 ? hour : hour + 12;
  30899. } else if (meridiem === 'субҳ') {
  30900. return hour;
  30901. } else if (meridiem === 'рӯз') {
  30902. return hour >= 11 ? hour : hour + 12;
  30903. } else if (meridiem === 'бегоҳ') {
  30904. return hour + 12;
  30905. }
  30906. },
  30907. meridiem: function meridiem(hour, minute, isLower) {
  30908. if (hour < 4) {
  30909. return 'шаб';
  30910. } else if (hour < 11) {
  30911. return 'субҳ';
  30912. } else if (hour < 16) {
  30913. return 'рӯз';
  30914. } else if (hour < 19) {
  30915. return 'бегоҳ';
  30916. } else {
  30917. return 'шаб';
  30918. }
  30919. },
  30920. dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/,
  30921. ordinal: function ordinal(number) {
  30922. var a = number % 10,
  30923. b = number >= 100 ? 100 : null;
  30924. return number + (suffixes[number] || suffixes[a] || suffixes[b]);
  30925. },
  30926. week: {
  30927. dow: 1, // Monday is the first day of the week.
  30928. doy: 7 // The week that contains Jan 1th is the first week of the year.
  30929. } });
  30930. return tg;
  30931. });
  30932. /***/ }),
  30933. /* 226 */
  30934. /*!*****************************************************************!*\
  30935. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/th.js ***!
  30936. \*****************************************************************/
  30937. /*! no static exports found */
  30938. /***/ (function(module, exports, __webpack_require__) {
  30939. //! moment.js locale configuration
  30940. //! locale : Thai [th]
  30941. //! author : Kridsada Thanabulpong : https://github.com/sirn
  30942. ;(function (global, factory) {
  30943. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  30944. undefined;
  30945. })(this, function (moment) {'use strict';
  30946. //! moment.js locale configuration
  30947. var th = moment.defineLocale('th', {
  30948. months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(
  30949. '_'),
  30950. monthsShort:
  30951. 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(
  30952. '_'),
  30953. monthsParseExact: true,
  30954. weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),
  30955. weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference
  30956. weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),
  30957. weekdaysParseExact: true,
  30958. longDateFormat: {
  30959. LT: 'H:mm',
  30960. LTS: 'H:mm:ss',
  30961. L: 'DD/MM/YYYY',
  30962. LL: 'D MMMM YYYY',
  30963. LLL: 'D MMMM YYYY เวลา H:mm',
  30964. LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm' },
  30965. meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,
  30966. isPM: function isPM(input) {
  30967. return input === 'หลังเที่ยง';
  30968. },
  30969. meridiem: function meridiem(hour, minute, isLower) {
  30970. if (hour < 12) {
  30971. return 'ก่อนเที่ยง';
  30972. } else {
  30973. return 'หลังเที่ยง';
  30974. }
  30975. },
  30976. calendar: {
  30977. sameDay: '[วันนี้ เวลา] LT',
  30978. nextDay: '[พรุ่งนี้ เวลา] LT',
  30979. nextWeek: 'dddd[หน้า เวลา] LT',
  30980. lastDay: '[เมื่อวานนี้ เวลา] LT',
  30981. lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',
  30982. sameElse: 'L' },
  30983. relativeTime: {
  30984. future: 'อีก %s',
  30985. past: '%sที่แล้ว',
  30986. s: 'ไม่กี่วินาที',
  30987. ss: '%d วินาที',
  30988. m: '1 นาที',
  30989. mm: '%d นาที',
  30990. h: '1 ชั่วโมง',
  30991. hh: '%d ชั่วโมง',
  30992. d: '1 วัน',
  30993. dd: '%d วัน',
  30994. w: '1 สัปดาห์',
  30995. ww: '%d สัปดาห์',
  30996. M: '1 เดือน',
  30997. MM: '%d เดือน',
  30998. y: '1 ปี',
  30999. yy: '%d ปี' } });
  31000. return th;
  31001. });
  31002. /***/ }),
  31003. /* 227 */
  31004. /*!*****************************************************************!*\
  31005. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/tk.js ***!
  31006. \*****************************************************************/
  31007. /*! no static exports found */
  31008. /***/ (function(module, exports, __webpack_require__) {
  31009. //! moment.js locale configuration
  31010. //! locale : Turkmen [tk]
  31011. //! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy
  31012. ;(function (global, factory) {
  31013. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  31014. undefined;
  31015. })(this, function (moment) {'use strict';
  31016. //! moment.js locale configuration
  31017. var suffixes = {
  31018. 1: "'inji",
  31019. 5: "'inji",
  31020. 8: "'inji",
  31021. 70: "'inji",
  31022. 80: "'inji",
  31023. 2: "'nji",
  31024. 7: "'nji",
  31025. 20: "'nji",
  31026. 50: "'nji",
  31027. 3: "'ünji",
  31028. 4: "'ünji",
  31029. 100: "'ünji",
  31030. 6: "'njy",
  31031. 9: "'unjy",
  31032. 10: "'unjy",
  31033. 30: "'unjy",
  31034. 60: "'ynjy",
  31035. 90: "'ynjy" };
  31036. var tk = moment.defineLocale('tk', {
  31037. months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(
  31038. '_'),
  31039. monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),
  31040. weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(
  31041. '_'),
  31042. weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),
  31043. weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),
  31044. longDateFormat: {
  31045. LT: 'HH:mm',
  31046. LTS: 'HH:mm:ss',
  31047. L: 'DD.MM.YYYY',
  31048. LL: 'D MMMM YYYY',
  31049. LLL: 'D MMMM YYYY HH:mm',
  31050. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  31051. calendar: {
  31052. sameDay: '[bugün sagat] LT',
  31053. nextDay: '[ertir sagat] LT',
  31054. nextWeek: '[indiki] dddd [sagat] LT',
  31055. lastDay: '[düýn] LT',
  31056. lastWeek: '[geçen] dddd [sagat] LT',
  31057. sameElse: 'L' },
  31058. relativeTime: {
  31059. future: '%s soň',
  31060. past: '%s öň',
  31061. s: 'birnäçe sekunt',
  31062. m: 'bir minut',
  31063. mm: '%d minut',
  31064. h: 'bir sagat',
  31065. hh: '%d sagat',
  31066. d: 'bir gün',
  31067. dd: '%d gün',
  31068. M: 'bir aý',
  31069. MM: '%d aý',
  31070. y: 'bir ýyl',
  31071. yy: '%d ýyl' },
  31072. ordinal: function ordinal(number, period) {
  31073. switch (period) {
  31074. case 'd':
  31075. case 'D':
  31076. case 'Do':
  31077. case 'DD':
  31078. return number;
  31079. default:
  31080. if (number === 0) {
  31081. // special case for zero
  31082. return number + "'unjy";
  31083. }
  31084. var a = number % 10,
  31085. b = number % 100 - a,
  31086. c = number >= 100 ? 100 : null;
  31087. return number + (suffixes[a] || suffixes[b] || suffixes[c]);}
  31088. },
  31089. week: {
  31090. dow: 1, // Monday is the first day of the week.
  31091. doy: 7 // The week that contains Jan 7th is the first week of the year.
  31092. } });
  31093. return tk;
  31094. });
  31095. /***/ }),
  31096. /* 228 */
  31097. /*!********************************************************************!*\
  31098. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/tl-ph.js ***!
  31099. \********************************************************************/
  31100. /*! no static exports found */
  31101. /***/ (function(module, exports, __webpack_require__) {
  31102. //! moment.js locale configuration
  31103. //! locale : Tagalog (Philippines) [tl-ph]
  31104. //! author : Dan Hagman : https://github.com/hagmandan
  31105. ;(function (global, factory) {
  31106. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  31107. undefined;
  31108. })(this, function (moment) {'use strict';
  31109. //! moment.js locale configuration
  31110. var tlPh = moment.defineLocale('tl-ph', {
  31111. months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(
  31112. '_'),
  31113. monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
  31114. weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(
  31115. '_'),
  31116. weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
  31117. weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
  31118. longDateFormat: {
  31119. LT: 'HH:mm',
  31120. LTS: 'HH:mm:ss',
  31121. L: 'MM/D/YYYY',
  31122. LL: 'MMMM D, YYYY',
  31123. LLL: 'MMMM D, YYYY HH:mm',
  31124. LLLL: 'dddd, MMMM DD, YYYY HH:mm' },
  31125. calendar: {
  31126. sameDay: 'LT [ngayong araw]',
  31127. nextDay: '[Bukas ng] LT',
  31128. nextWeek: 'LT [sa susunod na] dddd',
  31129. lastDay: 'LT [kahapon]',
  31130. lastWeek: 'LT [noong nakaraang] dddd',
  31131. sameElse: 'L' },
  31132. relativeTime: {
  31133. future: 'sa loob ng %s',
  31134. past: '%s ang nakalipas',
  31135. s: 'ilang segundo',
  31136. ss: '%d segundo',
  31137. m: 'isang minuto',
  31138. mm: '%d minuto',
  31139. h: 'isang oras',
  31140. hh: '%d oras',
  31141. d: 'isang araw',
  31142. dd: '%d araw',
  31143. M: 'isang buwan',
  31144. MM: '%d buwan',
  31145. y: 'isang taon',
  31146. yy: '%d taon' },
  31147. dayOfMonthOrdinalParse: /\d{1,2}/,
  31148. ordinal: function ordinal(number) {
  31149. return number;
  31150. },
  31151. week: {
  31152. dow: 1, // Monday is the first day of the week.
  31153. doy: 4 // The week that contains Jan 4th is the first week of the year.
  31154. } });
  31155. return tlPh;
  31156. });
  31157. /***/ }),
  31158. /* 229 */
  31159. /*!******************************************************************!*\
  31160. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/tlh.js ***!
  31161. \******************************************************************/
  31162. /*! no static exports found */
  31163. /***/ (function(module, exports, __webpack_require__) {
  31164. //! moment.js locale configuration
  31165. //! locale : Klingon [tlh]
  31166. //! author : Dominika Kruk : https://github.com/amaranthrose
  31167. ;(function (global, factory) {
  31168. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  31169. undefined;
  31170. })(this, function (moment) {'use strict';
  31171. //! moment.js locale configuration
  31172. var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');
  31173. function translateFuture(output) {
  31174. var time = output;
  31175. time =
  31176. output.indexOf('jaj') !== -1 ?
  31177. time.slice(0, -3) + 'leS' :
  31178. output.indexOf('jar') !== -1 ?
  31179. time.slice(0, -3) + 'waQ' :
  31180. output.indexOf('DIS') !== -1 ?
  31181. time.slice(0, -3) + 'nem' :
  31182. time + ' pIq';
  31183. return time;
  31184. }
  31185. function translatePast(output) {
  31186. var time = output;
  31187. time =
  31188. output.indexOf('jaj') !== -1 ?
  31189. time.slice(0, -3) + 'Hu’' :
  31190. output.indexOf('jar') !== -1 ?
  31191. time.slice(0, -3) + 'wen' :
  31192. output.indexOf('DIS') !== -1 ?
  31193. time.slice(0, -3) + 'ben' :
  31194. time + ' ret';
  31195. return time;
  31196. }
  31197. function translate(number, withoutSuffix, string, isFuture) {
  31198. var numberNoun = numberAsNoun(number);
  31199. switch (string) {
  31200. case 'ss':
  31201. return numberNoun + ' lup';
  31202. case 'mm':
  31203. return numberNoun + ' tup';
  31204. case 'hh':
  31205. return numberNoun + ' rep';
  31206. case 'dd':
  31207. return numberNoun + ' jaj';
  31208. case 'MM':
  31209. return numberNoun + ' jar';
  31210. case 'yy':
  31211. return numberNoun + ' DIS';}
  31212. }
  31213. function numberAsNoun(number) {
  31214. var hundred = Math.floor(number % 1000 / 100),
  31215. ten = Math.floor(number % 100 / 10),
  31216. one = number % 10,
  31217. word = '';
  31218. if (hundred > 0) {
  31219. word += numbersNouns[hundred] + 'vatlh';
  31220. }
  31221. if (ten > 0) {
  31222. word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';
  31223. }
  31224. if (one > 0) {
  31225. word += (word !== '' ? ' ' : '') + numbersNouns[one];
  31226. }
  31227. return word === '' ? 'pagh' : word;
  31228. }
  31229. var tlh = moment.defineLocale('tlh', {
  31230. 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(
  31231. '_'),
  31232. monthsShort:
  31233. '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(
  31234. '_'),
  31235. monthsParseExact: true,
  31236. weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(
  31237. '_'),
  31238. weekdaysShort:
  31239. 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
  31240. weekdaysMin:
  31241. 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
  31242. longDateFormat: {
  31243. LT: 'HH:mm',
  31244. LTS: 'HH:mm:ss',
  31245. L: 'DD.MM.YYYY',
  31246. LL: 'D MMMM YYYY',
  31247. LLL: 'D MMMM YYYY HH:mm',
  31248. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  31249. calendar: {
  31250. sameDay: '[DaHjaj] LT',
  31251. nextDay: '[wa’leS] LT',
  31252. nextWeek: 'LLL',
  31253. lastDay: '[wa’Hu’] LT',
  31254. lastWeek: 'LLL',
  31255. sameElse: 'L' },
  31256. relativeTime: {
  31257. future: translateFuture,
  31258. past: translatePast,
  31259. s: 'puS lup',
  31260. ss: translate,
  31261. m: 'wa’ tup',
  31262. mm: translate,
  31263. h: 'wa’ rep',
  31264. hh: translate,
  31265. d: 'wa’ jaj',
  31266. dd: translate,
  31267. M: 'wa’ jar',
  31268. MM: translate,
  31269. y: 'wa’ DIS',
  31270. yy: translate },
  31271. dayOfMonthOrdinalParse: /\d{1,2}\./,
  31272. ordinal: '%d.',
  31273. week: {
  31274. dow: 1, // Monday is the first day of the week.
  31275. doy: 4 // The week that contains Jan 4th is the first week of the year.
  31276. } });
  31277. return tlh;
  31278. });
  31279. /***/ }),
  31280. /* 230 */
  31281. /*!*****************************************************************!*\
  31282. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/tr.js ***!
  31283. \*****************************************************************/
  31284. /*! no static exports found */
  31285. /***/ (function(module, exports, __webpack_require__) {
  31286. //! moment.js locale configuration
  31287. //! locale : Turkish [tr]
  31288. //! authors : Erhan Gundogan : https://github.com/erhangundogan,
  31289. //! Burak Yiğit Kaya: https://github.com/BYK
  31290. ;(function (global, factory) {
  31291. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  31292. undefined;
  31293. })(this, function (moment) {'use strict';
  31294. //! moment.js locale configuration
  31295. var suffixes = {
  31296. 1: "'inci",
  31297. 5: "'inci",
  31298. 8: "'inci",
  31299. 70: "'inci",
  31300. 80: "'inci",
  31301. 2: "'nci",
  31302. 7: "'nci",
  31303. 20: "'nci",
  31304. 50: "'nci",
  31305. 3: "'üncü",
  31306. 4: "'üncü",
  31307. 100: "'üncü",
  31308. 6: "'ncı",
  31309. 9: "'uncu",
  31310. 10: "'uncu",
  31311. 30: "'uncu",
  31312. 60: "'ıncı",
  31313. 90: "'ıncı" };
  31314. var tr = moment.defineLocale('tr', {
  31315. months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(
  31316. '_'),
  31317. monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),
  31318. weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(
  31319. '_'),
  31320. weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),
  31321. weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),
  31322. meridiem: function meridiem(hours, minutes, isLower) {
  31323. if (hours < 12) {
  31324. return isLower ? 'öö' : 'ÖÖ';
  31325. } else {
  31326. return isLower ? 'ös' : 'ÖS';
  31327. }
  31328. },
  31329. meridiemParse: /öö|ÖÖ|ös|ÖS/,
  31330. isPM: function isPM(input) {
  31331. return input === 'ös' || input === 'ÖS';
  31332. },
  31333. longDateFormat: {
  31334. LT: 'HH:mm',
  31335. LTS: 'HH:mm:ss',
  31336. L: 'DD.MM.YYYY',
  31337. LL: 'D MMMM YYYY',
  31338. LLL: 'D MMMM YYYY HH:mm',
  31339. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  31340. calendar: {
  31341. sameDay: '[bugün saat] LT',
  31342. nextDay: '[yarın saat] LT',
  31343. nextWeek: '[gelecek] dddd [saat] LT',
  31344. lastDay: '[dün] LT',
  31345. lastWeek: '[geçen] dddd [saat] LT',
  31346. sameElse: 'L' },
  31347. relativeTime: {
  31348. future: '%s sonra',
  31349. past: '%s önce',
  31350. s: 'birkaç saniye',
  31351. ss: '%d saniye',
  31352. m: 'bir dakika',
  31353. mm: '%d dakika',
  31354. h: 'bir saat',
  31355. hh: '%d saat',
  31356. d: 'bir gün',
  31357. dd: '%d gün',
  31358. w: 'bir hafta',
  31359. ww: '%d hafta',
  31360. M: 'bir ay',
  31361. MM: '%d ay',
  31362. y: 'bir yıl',
  31363. yy: '%d yıl' },
  31364. ordinal: function ordinal(number, period) {
  31365. switch (period) {
  31366. case 'd':
  31367. case 'D':
  31368. case 'Do':
  31369. case 'DD':
  31370. return number;
  31371. default:
  31372. if (number === 0) {
  31373. // special case for zero
  31374. return number + "'ıncı";
  31375. }
  31376. var a = number % 10,
  31377. b = number % 100 - a,
  31378. c = number >= 100 ? 100 : null;
  31379. return number + (suffixes[a] || suffixes[b] || suffixes[c]);}
  31380. },
  31381. week: {
  31382. dow: 1, // Monday is the first day of the week.
  31383. doy: 7 // The week that contains Jan 7th is the first week of the year.
  31384. } });
  31385. return tr;
  31386. });
  31387. /***/ }),
  31388. /* 231 */
  31389. /*!******************************************************************!*\
  31390. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/tzl.js ***!
  31391. \******************************************************************/
  31392. /*! no static exports found */
  31393. /***/ (function(module, exports, __webpack_require__) {
  31394. //! moment.js locale configuration
  31395. //! locale : Talossan [tzl]
  31396. //! author : Robin van der Vliet : https://github.com/robin0van0der0v
  31397. //! author : Iustì Canun
  31398. ;(function (global, factory) {
  31399. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  31400. undefined;
  31401. })(this, function (moment) {'use strict';
  31402. //! moment.js locale configuration
  31403. // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.
  31404. // This is currently too difficult (maybe even impossible) to add.
  31405. var tzl = moment.defineLocale('tzl', {
  31406. months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(
  31407. '_'),
  31408. monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),
  31409. weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),
  31410. weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),
  31411. weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),
  31412. longDateFormat: {
  31413. LT: 'HH.mm',
  31414. LTS: 'HH.mm.ss',
  31415. L: 'DD.MM.YYYY',
  31416. LL: 'D. MMMM [dallas] YYYY',
  31417. LLL: 'D. MMMM [dallas] YYYY HH.mm',
  31418. LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm' },
  31419. meridiemParse: /d\'o|d\'a/i,
  31420. isPM: function isPM(input) {
  31421. return "d'o" === input.toLowerCase();
  31422. },
  31423. meridiem: function meridiem(hours, minutes, isLower) {
  31424. if (hours > 11) {
  31425. return isLower ? "d'o" : "D'O";
  31426. } else {
  31427. return isLower ? "d'a" : "D'A";
  31428. }
  31429. },
  31430. calendar: {
  31431. sameDay: '[oxhi à] LT',
  31432. nextDay: '[demà à] LT',
  31433. nextWeek: 'dddd [à] LT',
  31434. lastDay: '[ieiri à] LT',
  31435. lastWeek: '[sür el] dddd [lasteu à] LT',
  31436. sameElse: 'L' },
  31437. relativeTime: {
  31438. future: 'osprei %s',
  31439. past: 'ja%s',
  31440. s: processRelativeTime,
  31441. ss: processRelativeTime,
  31442. m: processRelativeTime,
  31443. mm: processRelativeTime,
  31444. h: processRelativeTime,
  31445. hh: processRelativeTime,
  31446. d: processRelativeTime,
  31447. dd: processRelativeTime,
  31448. M: processRelativeTime,
  31449. MM: processRelativeTime,
  31450. y: processRelativeTime,
  31451. yy: processRelativeTime },
  31452. dayOfMonthOrdinalParse: /\d{1,2}\./,
  31453. ordinal: '%d.',
  31454. week: {
  31455. dow: 1, // Monday is the first day of the week.
  31456. doy: 4 // The week that contains Jan 4th is the first week of the year.
  31457. } });
  31458. function processRelativeTime(number, withoutSuffix, key, isFuture) {
  31459. var format = {
  31460. s: ['viensas secunds', "'iensas secunds"],
  31461. ss: [number + ' secunds', '' + number + ' secunds'],
  31462. m: ["'n míut", "'iens míut"],
  31463. mm: [number + ' míuts', '' + number + ' míuts'],
  31464. h: ["'n þora", "'iensa þora"],
  31465. hh: [number + ' þoras', '' + number + ' þoras'],
  31466. d: ["'n ziua", "'iensa ziua"],
  31467. dd: [number + ' ziuas', '' + number + ' ziuas'],
  31468. M: ["'n mes", "'iens mes"],
  31469. MM: [number + ' mesen', '' + number + ' mesen'],
  31470. y: ["'n ar", "'iens ar"],
  31471. yy: [number + ' ars', '' + number + ' ars'] };
  31472. return isFuture ?
  31473. format[key][0] :
  31474. withoutSuffix ?
  31475. format[key][0] :
  31476. format[key][1];
  31477. }
  31478. return tzl;
  31479. });
  31480. /***/ }),
  31481. /* 232 */
  31482. /*!******************************************************************!*\
  31483. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/tzm.js ***!
  31484. \******************************************************************/
  31485. /*! no static exports found */
  31486. /***/ (function(module, exports, __webpack_require__) {
  31487. //! moment.js locale configuration
  31488. //! locale : Central Atlas Tamazight [tzm]
  31489. //! author : Abdel Said : https://github.com/abdelsaid
  31490. ;(function (global, factory) {
  31491. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  31492. undefined;
  31493. })(this, function (moment) {'use strict';
  31494. //! moment.js locale configuration
  31495. var tzm = moment.defineLocale('tzm', {
  31496. months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(
  31497. '_'),
  31498. monthsShort:
  31499. 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(
  31500. '_'),
  31501. weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
  31502. weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
  31503. weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
  31504. longDateFormat: {
  31505. LT: 'HH:mm',
  31506. LTS: 'HH:mm:ss',
  31507. L: 'DD/MM/YYYY',
  31508. LL: 'D MMMM YYYY',
  31509. LLL: 'D MMMM YYYY HH:mm',
  31510. LLLL: 'dddd D MMMM YYYY HH:mm' },
  31511. calendar: {
  31512. sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',
  31513. nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',
  31514. nextWeek: 'dddd [ⴴ] LT',
  31515. lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',
  31516. lastWeek: 'dddd [ⴴ] LT',
  31517. sameElse: 'L' },
  31518. relativeTime: {
  31519. future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',
  31520. past: 'ⵢⴰⵏ %s',
  31521. s: 'ⵉⵎⵉⴽ',
  31522. ss: '%d ⵉⵎⵉⴽ',
  31523. m: 'ⵎⵉⵏⵓⴺ',
  31524. mm: '%d ⵎⵉⵏⵓⴺ',
  31525. h: 'ⵙⴰⵄⴰ',
  31526. hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',
  31527. d: 'ⴰⵙⵙ',
  31528. dd: '%d oⵙⵙⴰⵏ',
  31529. M: 'ⴰⵢoⵓⵔ',
  31530. MM: '%d ⵉⵢⵢⵉⵔⵏ',
  31531. y: 'ⴰⵙⴳⴰⵙ',
  31532. yy: '%d ⵉⵙⴳⴰⵙⵏ' },
  31533. week: {
  31534. dow: 6, // Saturday is the first day of the week.
  31535. doy: 12 // The week that contains Jan 12th is the first week of the year.
  31536. } });
  31537. return tzm;
  31538. });
  31539. /***/ }),
  31540. /* 233 */
  31541. /*!***********************************************************************!*\
  31542. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/tzm-latn.js ***!
  31543. \***********************************************************************/
  31544. /*! no static exports found */
  31545. /***/ (function(module, exports, __webpack_require__) {
  31546. //! moment.js locale configuration
  31547. //! locale : Central Atlas Tamazight Latin [tzm-latn]
  31548. //! author : Abdel Said : https://github.com/abdelsaid
  31549. ;(function (global, factory) {
  31550. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  31551. undefined;
  31552. })(this, function (moment) {'use strict';
  31553. //! moment.js locale configuration
  31554. var tzmLatn = moment.defineLocale('tzm-latn', {
  31555. months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(
  31556. '_'),
  31557. monthsShort:
  31558. 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(
  31559. '_'),
  31560. weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
  31561. weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
  31562. weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
  31563. longDateFormat: {
  31564. LT: 'HH:mm',
  31565. LTS: 'HH:mm:ss',
  31566. L: 'DD/MM/YYYY',
  31567. LL: 'D MMMM YYYY',
  31568. LLL: 'D MMMM YYYY HH:mm',
  31569. LLLL: 'dddd D MMMM YYYY HH:mm' },
  31570. calendar: {
  31571. sameDay: '[asdkh g] LT',
  31572. nextDay: '[aska g] LT',
  31573. nextWeek: 'dddd [g] LT',
  31574. lastDay: '[assant g] LT',
  31575. lastWeek: 'dddd [g] LT',
  31576. sameElse: 'L' },
  31577. relativeTime: {
  31578. future: 'dadkh s yan %s',
  31579. past: 'yan %s',
  31580. s: 'imik',
  31581. ss: '%d imik',
  31582. m: 'minuḍ',
  31583. mm: '%d minuḍ',
  31584. h: 'saɛa',
  31585. hh: '%d tassaɛin',
  31586. d: 'ass',
  31587. dd: '%d ossan',
  31588. M: 'ayowr',
  31589. MM: '%d iyyirn',
  31590. y: 'asgas',
  31591. yy: '%d isgasn' },
  31592. week: {
  31593. dow: 6, // Saturday is the first day of the week.
  31594. doy: 12 // The week that contains Jan 12th is the first week of the year.
  31595. } });
  31596. return tzmLatn;
  31597. });
  31598. /***/ }),
  31599. /* 234 */
  31600. /*!********************************************************************!*\
  31601. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ug-cn.js ***!
  31602. \********************************************************************/
  31603. /*! no static exports found */
  31604. /***/ (function(module, exports, __webpack_require__) {
  31605. //! moment.js locale configuration
  31606. //! locale : Uyghur (China) [ug-cn]
  31607. //! author: boyaq : https://github.com/boyaq
  31608. ;(function (global, factory) {
  31609. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  31610. undefined;
  31611. })(this, function (moment) {'use strict';
  31612. //! moment.js locale configuration
  31613. var ugCn = moment.defineLocale('ug-cn', {
  31614. months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
  31615. '_'),
  31616. monthsShort:
  31617. 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
  31618. '_'),
  31619. weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(
  31620. '_'),
  31621. weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
  31622. weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
  31623. longDateFormat: {
  31624. LT: 'HH:mm',
  31625. LTS: 'HH:mm:ss',
  31626. L: 'YYYY-MM-DD',
  31627. LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',
  31628. LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',
  31629. LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm' },
  31630. meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,
  31631. meridiemHour: function meridiemHour(hour, meridiem) {
  31632. if (hour === 12) {
  31633. hour = 0;
  31634. }
  31635. if (
  31636. meridiem === 'يېرىم كېچە' ||
  31637. meridiem === 'سەھەر' ||
  31638. meridiem === 'چۈشتىن بۇرۇن')
  31639. {
  31640. return hour;
  31641. } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {
  31642. return hour + 12;
  31643. } else {
  31644. return hour >= 11 ? hour : hour + 12;
  31645. }
  31646. },
  31647. meridiem: function meridiem(hour, minute, isLower) {
  31648. var hm = hour * 100 + minute;
  31649. if (hm < 600) {
  31650. return 'يېرىم كېچە';
  31651. } else if (hm < 900) {
  31652. return 'سەھەر';
  31653. } else if (hm < 1130) {
  31654. return 'چۈشتىن بۇرۇن';
  31655. } else if (hm < 1230) {
  31656. return 'چۈش';
  31657. } else if (hm < 1800) {
  31658. return 'چۈشتىن كېيىن';
  31659. } else {
  31660. return 'كەچ';
  31661. }
  31662. },
  31663. calendar: {
  31664. sameDay: '[بۈگۈن سائەت] LT',
  31665. nextDay: '[ئەتە سائەت] LT',
  31666. nextWeek: '[كېلەركى] dddd [سائەت] LT',
  31667. lastDay: '[تۆنۈگۈن] LT',
  31668. lastWeek: '[ئالدىنقى] dddd [سائەت] LT',
  31669. sameElse: 'L' },
  31670. relativeTime: {
  31671. future: '%s كېيىن',
  31672. past: '%s بۇرۇن',
  31673. s: 'نەچچە سېكونت',
  31674. ss: '%d سېكونت',
  31675. m: 'بىر مىنۇت',
  31676. mm: '%d مىنۇت',
  31677. h: 'بىر سائەت',
  31678. hh: '%d سائەت',
  31679. d: 'بىر كۈن',
  31680. dd: '%d كۈن',
  31681. M: 'بىر ئاي',
  31682. MM: '%d ئاي',
  31683. y: 'بىر يىل',
  31684. yy: '%d يىل' },
  31685. dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,
  31686. ordinal: function ordinal(number, period) {
  31687. switch (period) {
  31688. case 'd':
  31689. case 'D':
  31690. case 'DDD':
  31691. return number + '-كۈنى';
  31692. case 'w':
  31693. case 'W':
  31694. return number + '-ھەپتە';
  31695. default:
  31696. return number;}
  31697. },
  31698. preparse: function preparse(string) {
  31699. return string.replace(/،/g, ',');
  31700. },
  31701. postformat: function postformat(string) {
  31702. return string.replace(/,/g, '،');
  31703. },
  31704. week: {
  31705. // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
  31706. dow: 1, // Monday is the first day of the week.
  31707. doy: 7 // The week that contains Jan 1st is the first week of the year.
  31708. } });
  31709. return ugCn;
  31710. });
  31711. /***/ }),
  31712. /* 235 */
  31713. /*!*****************************************************************!*\
  31714. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/uk.js ***!
  31715. \*****************************************************************/
  31716. /*! no static exports found */
  31717. /***/ (function(module, exports, __webpack_require__) {
  31718. //! moment.js locale configuration
  31719. //! locale : Ukrainian [uk]
  31720. //! author : zemlanin : https://github.com/zemlanin
  31721. //! Author : Menelion Elensúle : https://github.com/Oire
  31722. ;(function (global, factory) {
  31723. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  31724. undefined;
  31725. })(this, function (moment) {'use strict';
  31726. //! moment.js locale configuration
  31727. function plural(word, num) {
  31728. var forms = word.split('_');
  31729. return num % 10 === 1 && num % 100 !== 11 ?
  31730. forms[0] :
  31731. num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ?
  31732. forms[1] :
  31733. forms[2];
  31734. }
  31735. function relativeTimeWithPlural(number, withoutSuffix, key) {
  31736. var format = {
  31737. ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',
  31738. mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',
  31739. hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',
  31740. dd: 'день_дні_днів',
  31741. MM: 'місяць_місяці_місяців',
  31742. yy: 'рік_роки_років' };
  31743. if (key === 'm') {
  31744. return withoutSuffix ? 'хвилина' : 'хвилину';
  31745. } else if (key === 'h') {
  31746. return withoutSuffix ? 'година' : 'годину';
  31747. } else {
  31748. return number + ' ' + plural(format[key], +number);
  31749. }
  31750. }
  31751. function weekdaysCaseReplace(m, format) {
  31752. var weekdays = {
  31753. nominative:
  31754. 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(
  31755. '_'),
  31756. accusative:
  31757. 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(
  31758. '_'),
  31759. genitive:
  31760. 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(
  31761. '_') },
  31762. nounCase;
  31763. if (m === true) {
  31764. return weekdays['nominative'].
  31765. slice(1, 7).
  31766. concat(weekdays['nominative'].slice(0, 1));
  31767. }
  31768. if (!m) {
  31769. return weekdays['nominative'];
  31770. }
  31771. nounCase = /(\[[ВвУу]\]) ?dddd/.test(format) ?
  31772. 'accusative' :
  31773. /\[?(?:минулої|наступної)? ?\] ?dddd/.test(format) ?
  31774. 'genitive' :
  31775. 'nominative';
  31776. return weekdays[nounCase][m.day()];
  31777. }
  31778. function processHoursFunction(str) {
  31779. return function () {
  31780. return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';
  31781. };
  31782. }
  31783. var uk = moment.defineLocale('uk', {
  31784. months: {
  31785. format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(
  31786. '_'),
  31787. standalone:
  31788. 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(
  31789. '_') },
  31790. monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(
  31791. '_'),
  31792. weekdays: weekdaysCaseReplace,
  31793. weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
  31794. weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
  31795. longDateFormat: {
  31796. LT: 'HH:mm',
  31797. LTS: 'HH:mm:ss',
  31798. L: 'DD.MM.YYYY',
  31799. LL: 'D MMMM YYYY р.',
  31800. LLL: 'D MMMM YYYY р., HH:mm',
  31801. LLLL: 'dddd, D MMMM YYYY р., HH:mm' },
  31802. calendar: {
  31803. sameDay: processHoursFunction('[Сьогодні '),
  31804. nextDay: processHoursFunction('[Завтра '),
  31805. lastDay: processHoursFunction('[Вчора '),
  31806. nextWeek: processHoursFunction('[У] dddd ['),
  31807. lastWeek: function lastWeek() {
  31808. switch (this.day()) {
  31809. case 0:
  31810. case 3:
  31811. case 5:
  31812. case 6:
  31813. return processHoursFunction('[Минулої] dddd [').call(this);
  31814. case 1:
  31815. case 2:
  31816. case 4:
  31817. return processHoursFunction('[Минулого] dddd [').call(this);}
  31818. },
  31819. sameElse: 'L' },
  31820. relativeTime: {
  31821. future: 'за %s',
  31822. past: '%s тому',
  31823. s: 'декілька секунд',
  31824. ss: relativeTimeWithPlural,
  31825. m: relativeTimeWithPlural,
  31826. mm: relativeTimeWithPlural,
  31827. h: 'годину',
  31828. hh: relativeTimeWithPlural,
  31829. d: 'день',
  31830. dd: relativeTimeWithPlural,
  31831. M: 'місяць',
  31832. MM: relativeTimeWithPlural,
  31833. y: 'рік',
  31834. yy: relativeTimeWithPlural },
  31835. // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
  31836. meridiemParse: /ночі|ранку|дня|вечора/,
  31837. isPM: function isPM(input) {
  31838. return /^(дня|вечора)$/.test(input);
  31839. },
  31840. meridiem: function meridiem(hour, minute, isLower) {
  31841. if (hour < 4) {
  31842. return 'ночі';
  31843. } else if (hour < 12) {
  31844. return 'ранку';
  31845. } else if (hour < 17) {
  31846. return 'дня';
  31847. } else {
  31848. return 'вечора';
  31849. }
  31850. },
  31851. dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/,
  31852. ordinal: function ordinal(number, period) {
  31853. switch (period) {
  31854. case 'M':
  31855. case 'd':
  31856. case 'DDD':
  31857. case 'w':
  31858. case 'W':
  31859. return number + '-й';
  31860. case 'D':
  31861. return number + '-го';
  31862. default:
  31863. return number;}
  31864. },
  31865. week: {
  31866. dow: 1, // Monday is the first day of the week.
  31867. doy: 7 // The week that contains Jan 7th is the first week of the year.
  31868. } });
  31869. return uk;
  31870. });
  31871. /***/ }),
  31872. /* 236 */
  31873. /*!*****************************************************************!*\
  31874. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/ur.js ***!
  31875. \*****************************************************************/
  31876. /*! no static exports found */
  31877. /***/ (function(module, exports, __webpack_require__) {
  31878. //! moment.js locale configuration
  31879. //! locale : Urdu [ur]
  31880. //! author : Sawood Alam : https://github.com/ibnesayeed
  31881. //! author : Zack : https://github.com/ZackVision
  31882. ;(function (global, factory) {
  31883. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  31884. undefined;
  31885. })(this, function (moment) {'use strict';
  31886. //! moment.js locale configuration
  31887. var months = [
  31888. 'جنوری',
  31889. 'فروری',
  31890. 'مارچ',
  31891. 'اپریل',
  31892. 'مئی',
  31893. 'جون',
  31894. 'جولائی',
  31895. 'اگست',
  31896. 'ستمبر',
  31897. 'اکتوبر',
  31898. 'نومبر',
  31899. 'دسمبر'],
  31900. days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];
  31901. var ur = moment.defineLocale('ur', {
  31902. months: months,
  31903. monthsShort: months,
  31904. weekdays: days,
  31905. weekdaysShort: days,
  31906. weekdaysMin: days,
  31907. longDateFormat: {
  31908. LT: 'HH:mm',
  31909. LTS: 'HH:mm:ss',
  31910. L: 'DD/MM/YYYY',
  31911. LL: 'D MMMM YYYY',
  31912. LLL: 'D MMMM YYYY HH:mm',
  31913. LLLL: 'dddd، D MMMM YYYY HH:mm' },
  31914. meridiemParse: /صبح|شام/,
  31915. isPM: function isPM(input) {
  31916. return 'شام' === input;
  31917. },
  31918. meridiem: function meridiem(hour, minute, isLower) {
  31919. if (hour < 12) {
  31920. return 'صبح';
  31921. }
  31922. return 'شام';
  31923. },
  31924. calendar: {
  31925. sameDay: '[آج بوقت] LT',
  31926. nextDay: '[کل بوقت] LT',
  31927. nextWeek: 'dddd [بوقت] LT',
  31928. lastDay: '[گذشتہ روز بوقت] LT',
  31929. lastWeek: '[گذشتہ] dddd [بوقت] LT',
  31930. sameElse: 'L' },
  31931. relativeTime: {
  31932. future: '%s بعد',
  31933. past: '%s قبل',
  31934. s: 'چند سیکنڈ',
  31935. ss: '%d سیکنڈ',
  31936. m: 'ایک منٹ',
  31937. mm: '%d منٹ',
  31938. h: 'ایک گھنٹہ',
  31939. hh: '%d گھنٹے',
  31940. d: 'ایک دن',
  31941. dd: '%d دن',
  31942. M: 'ایک ماہ',
  31943. MM: '%d ماہ',
  31944. y: 'ایک سال',
  31945. yy: '%d سال' },
  31946. preparse: function preparse(string) {
  31947. return string.replace(/،/g, ',');
  31948. },
  31949. postformat: function postformat(string) {
  31950. return string.replace(/,/g, '،');
  31951. },
  31952. week: {
  31953. dow: 1, // Monday is the first day of the week.
  31954. doy: 4 // The week that contains Jan 4th is the first week of the year.
  31955. } });
  31956. return ur;
  31957. });
  31958. /***/ }),
  31959. /* 237 */
  31960. /*!*****************************************************************!*\
  31961. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/uz.js ***!
  31962. \*****************************************************************/
  31963. /*! no static exports found */
  31964. /***/ (function(module, exports, __webpack_require__) {
  31965. //! moment.js locale configuration
  31966. //! locale : Uzbek [uz]
  31967. //! author : Sardor Muminov : https://github.com/muminoff
  31968. ;(function (global, factory) {
  31969. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  31970. undefined;
  31971. })(this, function (moment) {'use strict';
  31972. //! moment.js locale configuration
  31973. var uz = moment.defineLocale('uz', {
  31974. months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(
  31975. '_'),
  31976. monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
  31977. weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),
  31978. weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),
  31979. weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),
  31980. longDateFormat: {
  31981. LT: 'HH:mm',
  31982. LTS: 'HH:mm:ss',
  31983. L: 'DD/MM/YYYY',
  31984. LL: 'D MMMM YYYY',
  31985. LLL: 'D MMMM YYYY HH:mm',
  31986. LLLL: 'D MMMM YYYY, dddd HH:mm' },
  31987. calendar: {
  31988. sameDay: '[Бугун соат] LT [да]',
  31989. nextDay: '[Эртага] LT [да]',
  31990. nextWeek: 'dddd [куни соат] LT [да]',
  31991. lastDay: '[Кеча соат] LT [да]',
  31992. lastWeek: '[Утган] dddd [куни соат] LT [да]',
  31993. sameElse: 'L' },
  31994. relativeTime: {
  31995. future: 'Якин %s ичида',
  31996. past: 'Бир неча %s олдин',
  31997. s: 'фурсат',
  31998. ss: '%d фурсат',
  31999. m: 'бир дакика',
  32000. mm: '%d дакика',
  32001. h: 'бир соат',
  32002. hh: '%d соат',
  32003. d: 'бир кун',
  32004. dd: '%d кун',
  32005. M: 'бир ой',
  32006. MM: '%d ой',
  32007. y: 'бир йил',
  32008. yy: '%d йил' },
  32009. week: {
  32010. dow: 1, // Monday is the first day of the week.
  32011. doy: 7 // The week that contains Jan 4th is the first week of the year.
  32012. } });
  32013. return uz;
  32014. });
  32015. /***/ }),
  32016. /* 238 */
  32017. /*!**********************************************************************!*\
  32018. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/uz-latn.js ***!
  32019. \**********************************************************************/
  32020. /*! no static exports found */
  32021. /***/ (function(module, exports, __webpack_require__) {
  32022. //! moment.js locale configuration
  32023. //! locale : Uzbek Latin [uz-latn]
  32024. //! author : Rasulbek Mirzayev : github.com/Rasulbeeek
  32025. ;(function (global, factory) {
  32026. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  32027. undefined;
  32028. })(this, function (moment) {'use strict';
  32029. //! moment.js locale configuration
  32030. var uzLatn = moment.defineLocale('uz-latn', {
  32031. months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(
  32032. '_'),
  32033. monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),
  32034. weekdays:
  32035. 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(
  32036. '_'),
  32037. weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),
  32038. weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),
  32039. longDateFormat: {
  32040. LT: 'HH:mm',
  32041. LTS: 'HH:mm:ss',
  32042. L: 'DD/MM/YYYY',
  32043. LL: 'D MMMM YYYY',
  32044. LLL: 'D MMMM YYYY HH:mm',
  32045. LLLL: 'D MMMM YYYY, dddd HH:mm' },
  32046. calendar: {
  32047. sameDay: '[Bugun soat] LT [da]',
  32048. nextDay: '[Ertaga] LT [da]',
  32049. nextWeek: 'dddd [kuni soat] LT [da]',
  32050. lastDay: '[Kecha soat] LT [da]',
  32051. lastWeek: "[O'tgan] dddd [kuni soat] LT [da]",
  32052. sameElse: 'L' },
  32053. relativeTime: {
  32054. future: 'Yaqin %s ichida',
  32055. past: 'Bir necha %s oldin',
  32056. s: 'soniya',
  32057. ss: '%d soniya',
  32058. m: 'bir daqiqa',
  32059. mm: '%d daqiqa',
  32060. h: 'bir soat',
  32061. hh: '%d soat',
  32062. d: 'bir kun',
  32063. dd: '%d kun',
  32064. M: 'bir oy',
  32065. MM: '%d oy',
  32066. y: 'bir yil',
  32067. yy: '%d yil' },
  32068. week: {
  32069. dow: 1, // Monday is the first day of the week.
  32070. doy: 7 // The week that contains Jan 7th is the first week of the year.
  32071. } });
  32072. return uzLatn;
  32073. });
  32074. /***/ }),
  32075. /* 239 */
  32076. /*!*****************************************************************!*\
  32077. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/vi.js ***!
  32078. \*****************************************************************/
  32079. /*! no static exports found */
  32080. /***/ (function(module, exports, __webpack_require__) {
  32081. //! moment.js locale configuration
  32082. //! locale : Vietnamese [vi]
  32083. //! author : Bang Nguyen : https://github.com/bangnk
  32084. //! author : Chien Kira : https://github.com/chienkira
  32085. ;(function (global, factory) {
  32086. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  32087. undefined;
  32088. })(this, function (moment) {'use strict';
  32089. //! moment.js locale configuration
  32090. var vi = moment.defineLocale('vi', {
  32091. 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(
  32092. '_'),
  32093. monthsShort:
  32094. '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(
  32095. '_'),
  32096. monthsParseExact: true,
  32097. weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(
  32098. '_'),
  32099. weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
  32100. weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
  32101. weekdaysParseExact: true,
  32102. meridiemParse: /sa|ch/i,
  32103. isPM: function isPM(input) {
  32104. return /^ch$/i.test(input);
  32105. },
  32106. meridiem: function meridiem(hours, minutes, isLower) {
  32107. if (hours < 12) {
  32108. return isLower ? 'sa' : 'SA';
  32109. } else {
  32110. return isLower ? 'ch' : 'CH';
  32111. }
  32112. },
  32113. longDateFormat: {
  32114. LT: 'HH:mm',
  32115. LTS: 'HH:mm:ss',
  32116. L: 'DD/MM/YYYY',
  32117. LL: 'D MMMM [năm] YYYY',
  32118. LLL: 'D MMMM [năm] YYYY HH:mm',
  32119. LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',
  32120. l: 'DD/M/YYYY',
  32121. ll: 'D MMM YYYY',
  32122. lll: 'D MMM YYYY HH:mm',
  32123. llll: 'ddd, D MMM YYYY HH:mm' },
  32124. calendar: {
  32125. sameDay: '[Hôm nay lúc] LT',
  32126. nextDay: '[Ngày mai lúc] LT',
  32127. nextWeek: 'dddd [tuần tới lúc] LT',
  32128. lastDay: '[Hôm qua lúc] LT',
  32129. lastWeek: 'dddd [tuần trước lúc] LT',
  32130. sameElse: 'L' },
  32131. relativeTime: {
  32132. future: '%s tới',
  32133. past: '%s trước',
  32134. s: 'vài giây',
  32135. ss: '%d giây',
  32136. m: 'một phút',
  32137. mm: '%d phút',
  32138. h: 'một giờ',
  32139. hh: '%d giờ',
  32140. d: 'một ngày',
  32141. dd: '%d ngày',
  32142. w: 'một tuần',
  32143. ww: '%d tuần',
  32144. M: 'một tháng',
  32145. MM: '%d tháng',
  32146. y: 'một năm',
  32147. yy: '%d năm' },
  32148. dayOfMonthOrdinalParse: /\d{1,2}/,
  32149. ordinal: function ordinal(number) {
  32150. return number;
  32151. },
  32152. week: {
  32153. dow: 1, // Monday is the first day of the week.
  32154. doy: 4 // The week that contains Jan 4th is the first week of the year.
  32155. } });
  32156. return vi;
  32157. });
  32158. /***/ }),
  32159. /* 240 */
  32160. /*!***********************************************************************!*\
  32161. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/x-pseudo.js ***!
  32162. \***********************************************************************/
  32163. /*! no static exports found */
  32164. /***/ (function(module, exports, __webpack_require__) {
  32165. //! moment.js locale configuration
  32166. //! locale : Pseudo [x-pseudo]
  32167. //! author : Andrew Hood : https://github.com/andrewhood125
  32168. ;(function (global, factory) {
  32169. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  32170. undefined;
  32171. })(this, function (moment) {'use strict';
  32172. //! moment.js locale configuration
  32173. var xPseudo = moment.defineLocale('x-pseudo', {
  32174. 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(
  32175. '_'),
  32176. monthsShort:
  32177. 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(
  32178. '_'),
  32179. monthsParseExact: true,
  32180. weekdays:
  32181. 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(
  32182. '_'),
  32183. weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),
  32184. weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),
  32185. weekdaysParseExact: true,
  32186. longDateFormat: {
  32187. LT: 'HH:mm',
  32188. L: 'DD/MM/YYYY',
  32189. LL: 'D MMMM YYYY',
  32190. LLL: 'D MMMM YYYY HH:mm',
  32191. LLLL: 'dddd, D MMMM YYYY HH:mm' },
  32192. calendar: {
  32193. sameDay: '[T~ódá~ý át] LT',
  32194. nextDay: '[T~ómó~rró~w át] LT',
  32195. nextWeek: 'dddd [át] LT',
  32196. lastDay: '[Ý~ést~érdá~ý át] LT',
  32197. lastWeek: '[L~ást] dddd [át] LT',
  32198. sameElse: 'L' },
  32199. relativeTime: {
  32200. future: 'í~ñ %s',
  32201. past: '%s á~gó',
  32202. s: 'á ~féw ~sécó~ñds',
  32203. ss: '%d s~écóñ~ds',
  32204. m: 'á ~míñ~úté',
  32205. mm: '%d m~íñú~tés',
  32206. h: 'á~ñ hó~úr',
  32207. hh: '%d h~óúrs',
  32208. d: 'á ~dáý',
  32209. dd: '%d d~áýs',
  32210. M: 'á ~móñ~th',
  32211. MM: '%d m~óñt~hs',
  32212. y: 'á ~ýéár',
  32213. yy: '%d ý~éárs' },
  32214. dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
  32215. ordinal: function ordinal(number) {
  32216. var b = number % 10,
  32217. output =
  32218. ~~(number % 100 / 10) === 1 ?
  32219. 'th' :
  32220. b === 1 ?
  32221. 'st' :
  32222. b === 2 ?
  32223. 'nd' :
  32224. b === 3 ?
  32225. 'rd' :
  32226. 'th';
  32227. return number + output;
  32228. },
  32229. week: {
  32230. dow: 1, // Monday is the first day of the week.
  32231. doy: 4 // The week that contains Jan 4th is the first week of the year.
  32232. } });
  32233. return xPseudo;
  32234. });
  32235. /***/ }),
  32236. /* 241 */
  32237. /*!*****************************************************************!*\
  32238. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/yo.js ***!
  32239. \*****************************************************************/
  32240. /*! no static exports found */
  32241. /***/ (function(module, exports, __webpack_require__) {
  32242. //! moment.js locale configuration
  32243. //! locale : Yoruba Nigeria [yo]
  32244. //! author : Atolagbe Abisoye : https://github.com/andela-batolagbe
  32245. ;(function (global, factory) {
  32246. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  32247. undefined;
  32248. })(this, function (moment) {'use strict';
  32249. //! moment.js locale configuration
  32250. var yo = moment.defineLocale('yo', {
  32251. months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(
  32252. '_'),
  32253. monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),
  32254. weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),
  32255. weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),
  32256. weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),
  32257. longDateFormat: {
  32258. LT: 'h:mm A',
  32259. LTS: 'h:mm:ss A',
  32260. L: 'DD/MM/YYYY',
  32261. LL: 'D MMMM YYYY',
  32262. LLL: 'D MMMM YYYY h:mm A',
  32263. LLLL: 'dddd, D MMMM YYYY h:mm A' },
  32264. calendar: {
  32265. sameDay: '[Ònì ni] LT',
  32266. nextDay: '[Ọ̀la ni] LT',
  32267. nextWeek: "dddd [Ọsẹ̀ tón'bọ] [ni] LT",
  32268. lastDay: '[Àna ni] LT',
  32269. lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',
  32270. sameElse: 'L' },
  32271. relativeTime: {
  32272. future: 'ní %s',
  32273. past: '%s kọjá',
  32274. s: 'ìsẹjú aayá die',
  32275. ss: 'aayá %d',
  32276. m: 'ìsẹjú kan',
  32277. mm: 'ìsẹjú %d',
  32278. h: 'wákati kan',
  32279. hh: 'wákati %d',
  32280. d: 'ọjọ́ kan',
  32281. dd: 'ọjọ́ %d',
  32282. M: 'osù kan',
  32283. MM: 'osù %d',
  32284. y: 'ọdún kan',
  32285. yy: 'ọdún %d' },
  32286. dayOfMonthOrdinalParse: /ọjọ́\s\d{1,2}/,
  32287. ordinal: 'ọjọ́ %d',
  32288. week: {
  32289. dow: 1, // Monday is the first day of the week.
  32290. doy: 4 // The week that contains Jan 4th is the first week of the year.
  32291. } });
  32292. return yo;
  32293. });
  32294. /***/ }),
  32295. /* 242 */
  32296. /*!********************************************************************!*\
  32297. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/zh-cn.js ***!
  32298. \********************************************************************/
  32299. /*! no static exports found */
  32300. /***/ (function(module, exports, __webpack_require__) {
  32301. //! moment.js locale configuration
  32302. //! locale : Chinese (China) [zh-cn]
  32303. //! author : suupic : https://github.com/suupic
  32304. //! author : Zeno Zeng : https://github.com/zenozeng
  32305. //! author : uu109 : https://github.com/uu109
  32306. ;(function (global, factory) {
  32307. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  32308. undefined;
  32309. })(this, function (moment) {'use strict';
  32310. //! moment.js locale configuration
  32311. var zhCn = moment.defineLocale('zh-cn', {
  32312. months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
  32313. '_'),
  32314. monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
  32315. '_'),
  32316. weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
  32317. weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),
  32318. weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
  32319. longDateFormat: {
  32320. LT: 'HH:mm',
  32321. LTS: 'HH:mm:ss',
  32322. L: 'YYYY/MM/DD',
  32323. LL: 'YYYY年M月D日',
  32324. LLL: 'YYYY年M月D日Ah点mm分',
  32325. LLLL: 'YYYY年M月D日ddddAh点mm分',
  32326. l: 'YYYY/M/D',
  32327. ll: 'YYYY年M月D日',
  32328. lll: 'YYYY年M月D日 HH:mm',
  32329. llll: 'YYYY年M月D日dddd HH:mm' },
  32330. meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
  32331. meridiemHour: function meridiemHour(hour, meridiem) {
  32332. if (hour === 12) {
  32333. hour = 0;
  32334. }
  32335. if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
  32336. return hour;
  32337. } else if (meridiem === '下午' || meridiem === '晚上') {
  32338. return hour + 12;
  32339. } else {
  32340. // '中午'
  32341. return hour >= 11 ? hour : hour + 12;
  32342. }
  32343. },
  32344. meridiem: function meridiem(hour, minute, isLower) {
  32345. var hm = hour * 100 + minute;
  32346. if (hm < 600) {
  32347. return '凌晨';
  32348. } else if (hm < 900) {
  32349. return '早上';
  32350. } else if (hm < 1130) {
  32351. return '上午';
  32352. } else if (hm < 1230) {
  32353. return '中午';
  32354. } else if (hm < 1800) {
  32355. return '下午';
  32356. } else {
  32357. return '晚上';
  32358. }
  32359. },
  32360. calendar: {
  32361. sameDay: '[今天]LT',
  32362. nextDay: '[明天]LT',
  32363. nextWeek: function nextWeek(now) {
  32364. if (now.week() !== this.week()) {
  32365. return '[下]dddLT';
  32366. } else {
  32367. return '[本]dddLT';
  32368. }
  32369. },
  32370. lastDay: '[昨天]LT',
  32371. lastWeek: function lastWeek(now) {
  32372. if (this.week() !== now.week()) {
  32373. return '[上]dddLT';
  32374. } else {
  32375. return '[本]dddLT';
  32376. }
  32377. },
  32378. sameElse: 'L' },
  32379. dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/,
  32380. ordinal: function ordinal(number, period) {
  32381. switch (period) {
  32382. case 'd':
  32383. case 'D':
  32384. case 'DDD':
  32385. return number + '日';
  32386. case 'M':
  32387. return number + '月';
  32388. case 'w':
  32389. case 'W':
  32390. return number + '周';
  32391. default:
  32392. return number;}
  32393. },
  32394. relativeTime: {
  32395. future: '%s后',
  32396. past: '%s前',
  32397. s: '几秒',
  32398. ss: '%d 秒',
  32399. m: '1 分钟',
  32400. mm: '%d 分钟',
  32401. h: '1 小时',
  32402. hh: '%d 小时',
  32403. d: '1 天',
  32404. dd: '%d 天',
  32405. w: '1 周',
  32406. ww: '%d 周',
  32407. M: '1 个月',
  32408. MM: '%d 个月',
  32409. y: '1 年',
  32410. yy: '%d 年' },
  32411. week: {
  32412. // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
  32413. dow: 1, // Monday is the first day of the week.
  32414. doy: 4 // The week that contains Jan 4th is the first week of the year.
  32415. } });
  32416. return zhCn;
  32417. });
  32418. /***/ }),
  32419. /* 243 */
  32420. /*!********************************************************************!*\
  32421. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/zh-hk.js ***!
  32422. \********************************************************************/
  32423. /*! no static exports found */
  32424. /***/ (function(module, exports, __webpack_require__) {
  32425. //! moment.js locale configuration
  32426. //! locale : Chinese (Hong Kong) [zh-hk]
  32427. //! author : Ben : https://github.com/ben-lin
  32428. //! author : Chris Lam : https://github.com/hehachris
  32429. //! author : Konstantin : https://github.com/skfd
  32430. //! author : Anthony : https://github.com/anthonylau
  32431. ;(function (global, factory) {
  32432. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  32433. undefined;
  32434. })(this, function (moment) {'use strict';
  32435. //! moment.js locale configuration
  32436. var zhHk = moment.defineLocale('zh-hk', {
  32437. months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
  32438. '_'),
  32439. monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
  32440. '_'),
  32441. weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
  32442. weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
  32443. weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
  32444. longDateFormat: {
  32445. LT: 'HH:mm',
  32446. LTS: 'HH:mm:ss',
  32447. L: 'YYYY/MM/DD',
  32448. LL: 'YYYY年M月D日',
  32449. LLL: 'YYYY年M月D日 HH:mm',
  32450. LLLL: 'YYYY年M月D日dddd HH:mm',
  32451. l: 'YYYY/M/D',
  32452. ll: 'YYYY年M月D日',
  32453. lll: 'YYYY年M月D日 HH:mm',
  32454. llll: 'YYYY年M月D日dddd HH:mm' },
  32455. meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
  32456. meridiemHour: function meridiemHour(hour, meridiem) {
  32457. if (hour === 12) {
  32458. hour = 0;
  32459. }
  32460. if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
  32461. return hour;
  32462. } else if (meridiem === '中午') {
  32463. return hour >= 11 ? hour : hour + 12;
  32464. } else if (meridiem === '下午' || meridiem === '晚上') {
  32465. return hour + 12;
  32466. }
  32467. },
  32468. meridiem: function meridiem(hour, minute, isLower) {
  32469. var hm = hour * 100 + minute;
  32470. if (hm < 600) {
  32471. return '凌晨';
  32472. } else if (hm < 900) {
  32473. return '早上';
  32474. } else if (hm < 1200) {
  32475. return '上午';
  32476. } else if (hm === 1200) {
  32477. return '中午';
  32478. } else if (hm < 1800) {
  32479. return '下午';
  32480. } else {
  32481. return '晚上';
  32482. }
  32483. },
  32484. calendar: {
  32485. sameDay: '[今天]LT',
  32486. nextDay: '[明天]LT',
  32487. nextWeek: '[下]ddddLT',
  32488. lastDay: '[昨天]LT',
  32489. lastWeek: '[上]ddddLT',
  32490. sameElse: 'L' },
  32491. dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
  32492. ordinal: function ordinal(number, period) {
  32493. switch (period) {
  32494. case 'd':
  32495. case 'D':
  32496. case 'DDD':
  32497. return number + '日';
  32498. case 'M':
  32499. return number + '月';
  32500. case 'w':
  32501. case 'W':
  32502. return number + '週';
  32503. default:
  32504. return number;}
  32505. },
  32506. relativeTime: {
  32507. future: '%s後',
  32508. past: '%s前',
  32509. s: '幾秒',
  32510. ss: '%d 秒',
  32511. m: '1 分鐘',
  32512. mm: '%d 分鐘',
  32513. h: '1 小時',
  32514. hh: '%d 小時',
  32515. d: '1 天',
  32516. dd: '%d 天',
  32517. M: '1 個月',
  32518. MM: '%d 個月',
  32519. y: '1 年',
  32520. yy: '%d 年' } });
  32521. return zhHk;
  32522. });
  32523. /***/ }),
  32524. /* 244 */
  32525. /*!********************************************************************!*\
  32526. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/zh-mo.js ***!
  32527. \********************************************************************/
  32528. /*! no static exports found */
  32529. /***/ (function(module, exports, __webpack_require__) {
  32530. //! moment.js locale configuration
  32531. //! locale : Chinese (Macau) [zh-mo]
  32532. //! author : Ben : https://github.com/ben-lin
  32533. //! author : Chris Lam : https://github.com/hehachris
  32534. //! author : Tan Yuanhong : https://github.com/le0tan
  32535. ;(function (global, factory) {
  32536. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  32537. undefined;
  32538. })(this, function (moment) {'use strict';
  32539. //! moment.js locale configuration
  32540. var zhMo = moment.defineLocale('zh-mo', {
  32541. months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
  32542. '_'),
  32543. monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
  32544. '_'),
  32545. weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
  32546. weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
  32547. weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
  32548. longDateFormat: {
  32549. LT: 'HH:mm',
  32550. LTS: 'HH:mm:ss',
  32551. L: 'DD/MM/YYYY',
  32552. LL: 'YYYY年M月D日',
  32553. LLL: 'YYYY年M月D日 HH:mm',
  32554. LLLL: 'YYYY年M月D日dddd HH:mm',
  32555. l: 'D/M/YYYY',
  32556. ll: 'YYYY年M月D日',
  32557. lll: 'YYYY年M月D日 HH:mm',
  32558. llll: 'YYYY年M月D日dddd HH:mm' },
  32559. meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
  32560. meridiemHour: function meridiemHour(hour, meridiem) {
  32561. if (hour === 12) {
  32562. hour = 0;
  32563. }
  32564. if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
  32565. return hour;
  32566. } else if (meridiem === '中午') {
  32567. return hour >= 11 ? hour : hour + 12;
  32568. } else if (meridiem === '下午' || meridiem === '晚上') {
  32569. return hour + 12;
  32570. }
  32571. },
  32572. meridiem: function meridiem(hour, minute, isLower) {
  32573. var hm = hour * 100 + minute;
  32574. if (hm < 600) {
  32575. return '凌晨';
  32576. } else if (hm < 900) {
  32577. return '早上';
  32578. } else if (hm < 1130) {
  32579. return '上午';
  32580. } else if (hm < 1230) {
  32581. return '中午';
  32582. } else if (hm < 1800) {
  32583. return '下午';
  32584. } else {
  32585. return '晚上';
  32586. }
  32587. },
  32588. calendar: {
  32589. sameDay: '[今天] LT',
  32590. nextDay: '[明天] LT',
  32591. nextWeek: '[下]dddd LT',
  32592. lastDay: '[昨天] LT',
  32593. lastWeek: '[上]dddd LT',
  32594. sameElse: 'L' },
  32595. dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
  32596. ordinal: function ordinal(number, period) {
  32597. switch (period) {
  32598. case 'd':
  32599. case 'D':
  32600. case 'DDD':
  32601. return number + '日';
  32602. case 'M':
  32603. return number + '月';
  32604. case 'w':
  32605. case 'W':
  32606. return number + '週';
  32607. default:
  32608. return number;}
  32609. },
  32610. relativeTime: {
  32611. future: '%s內',
  32612. past: '%s前',
  32613. s: '幾秒',
  32614. ss: '%d 秒',
  32615. m: '1 分鐘',
  32616. mm: '%d 分鐘',
  32617. h: '1 小時',
  32618. hh: '%d 小時',
  32619. d: '1 天',
  32620. dd: '%d 天',
  32621. M: '1 個月',
  32622. MM: '%d 個月',
  32623. y: '1 年',
  32624. yy: '%d 年' } });
  32625. return zhMo;
  32626. });
  32627. /***/ }),
  32628. /* 245 */
  32629. /*!********************************************************************!*\
  32630. !*** D:/wxproject/项目模板/uniapp/node_modules/moment/locale/zh-tw.js ***!
  32631. \********************************************************************/
  32632. /*! no static exports found */
  32633. /***/ (function(module, exports, __webpack_require__) {
  32634. //! moment.js locale configuration
  32635. //! locale : Chinese (Taiwan) [zh-tw]
  32636. //! author : Ben : https://github.com/ben-lin
  32637. //! author : Chris Lam : https://github.com/hehachris
  32638. ;(function (global, factory) {
  32639. true ? factory(__webpack_require__(/*! ../moment */ 108)) :
  32640. undefined;
  32641. })(this, function (moment) {'use strict';
  32642. //! moment.js locale configuration
  32643. var zhTw = moment.defineLocale('zh-tw', {
  32644. months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
  32645. '_'),
  32646. monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
  32647. '_'),
  32648. weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
  32649. weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
  32650. weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
  32651. longDateFormat: {
  32652. LT: 'HH:mm',
  32653. LTS: 'HH:mm:ss',
  32654. L: 'YYYY/MM/DD',
  32655. LL: 'YYYY年M月D日',
  32656. LLL: 'YYYY年M月D日 HH:mm',
  32657. LLLL: 'YYYY年M月D日dddd HH:mm',
  32658. l: 'YYYY/M/D',
  32659. ll: 'YYYY年M月D日',
  32660. lll: 'YYYY年M月D日 HH:mm',
  32661. llll: 'YYYY年M月D日dddd HH:mm' },
  32662. meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
  32663. meridiemHour: function meridiemHour(hour, meridiem) {
  32664. if (hour === 12) {
  32665. hour = 0;
  32666. }
  32667. if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
  32668. return hour;
  32669. } else if (meridiem === '中午') {
  32670. return hour >= 11 ? hour : hour + 12;
  32671. } else if (meridiem === '下午' || meridiem === '晚上') {
  32672. return hour + 12;
  32673. }
  32674. },
  32675. meridiem: function meridiem(hour, minute, isLower) {
  32676. var hm = hour * 100 + minute;
  32677. if (hm < 600) {
  32678. return '凌晨';
  32679. } else if (hm < 900) {
  32680. return '早上';
  32681. } else if (hm < 1130) {
  32682. return '上午';
  32683. } else if (hm < 1230) {
  32684. return '中午';
  32685. } else if (hm < 1800) {
  32686. return '下午';
  32687. } else {
  32688. return '晚上';
  32689. }
  32690. },
  32691. calendar: {
  32692. sameDay: '[今天] LT',
  32693. nextDay: '[明天] LT',
  32694. nextWeek: '[下]dddd LT',
  32695. lastDay: '[昨天] LT',
  32696. lastWeek: '[上]dddd LT',
  32697. sameElse: 'L' },
  32698. dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
  32699. ordinal: function ordinal(number, period) {
  32700. switch (period) {
  32701. case 'd':
  32702. case 'D':
  32703. case 'DDD':
  32704. return number + '日';
  32705. case 'M':
  32706. return number + '月';
  32707. case 'w':
  32708. case 'W':
  32709. return number + '週';
  32710. default:
  32711. return number;}
  32712. },
  32713. relativeTime: {
  32714. future: '%s後',
  32715. past: '%s前',
  32716. s: '幾秒',
  32717. ss: '%d 秒',
  32718. m: '1 分鐘',
  32719. mm: '%d 分鐘',
  32720. h: '1 小時',
  32721. hh: '%d 小時',
  32722. d: '1 天',
  32723. dd: '%d 天',
  32724. M: '1 個月',
  32725. MM: '%d 個月',
  32726. y: '1 年',
  32727. yy: '%d 年' } });
  32728. return zhTw;
  32729. });
  32730. /***/ }),
  32731. /* 246 */,
  32732. /* 247 */,
  32733. /* 248 */,
  32734. /* 249 */,
  32735. /* 250 */,
  32736. /* 251 */
  32737. /*!************************************************************************************!*\
  32738. !*** D:/wxproject/项目模板/uniapp/uni_modules/uni-popup/components/uni-popup/popup.js ***!
  32739. \************************************************************************************/
  32740. /*! no static exports found */
  32741. /***/ (function(module, exports, __webpack_require__) {
  32742. "use strict";
  32743. Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _default =
  32744. {
  32745. data: function data() {
  32746. return {};
  32747. },
  32748. created: function created() {
  32749. this.popup = this.getParent();
  32750. },
  32751. methods: {
  32752. /**
  32753. * 获取父元素实例
  32754. */
  32755. getParent: function getParent() {var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'uniPopup';
  32756. var parent = this.$parent;
  32757. var parentName = parent.$options.name;
  32758. while (parentName !== name) {
  32759. parent = parent.$parent;
  32760. if (!parent) return false;
  32761. parentName = parent.$options.name;
  32762. }
  32763. return parent;
  32764. } } };exports.default = _default;
  32765. /***/ }),
  32766. /* 252 */
  32767. /*!*****************************************************************************************!*\
  32768. !*** D:/wxproject/项目模板/uniapp/uni_modules/uni-popup/components/uni-popup/i18n/index.js ***!
  32769. \*****************************************************************************************/
  32770. /*! no static exports found */
  32771. /***/ (function(module, exports, __webpack_require__) {
  32772. "use strict";
  32773. Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _en = _interopRequireDefault(__webpack_require__(/*! ./en.json */ 253));
  32774. var _zhHans = _interopRequireDefault(__webpack_require__(/*! ./zh-Hans.json */ 254));
  32775. var _zhHant = _interopRequireDefault(__webpack_require__(/*! ./zh-Hant.json */ 255));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}var _default =
  32776. {
  32777. en: _en.default,
  32778. 'zh-Hans': _zhHans.default,
  32779. 'zh-Hant': _zhHant.default };exports.default = _default;
  32780. /***/ }),
  32781. /* 253 */
  32782. /*!****************************************************************************************!*\
  32783. !*** D:/wxproject/项目模板/uniapp/uni_modules/uni-popup/components/uni-popup/i18n/en.json ***!
  32784. \****************************************************************************************/
  32785. /*! exports provided: uni-popup.cancel, uni-popup.ok, uni-popup.placeholder, uni-popup.title, uni-popup.shareTitle, default */
  32786. /***/ (function(module) {
  32787. module.exports = JSON.parse("{\"uni-popup.cancel\":\"cancel\",\"uni-popup.ok\":\"ok\",\"uni-popup.placeholder\":\"pleace enter\",\"uni-popup.title\":\"Hint\",\"uni-popup.shareTitle\":\"Share to\"}");
  32788. /***/ }),
  32789. /* 254 */
  32790. /*!*********************************************************************************************!*\
  32791. !*** D:/wxproject/项目模板/uniapp/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json ***!
  32792. \*********************************************************************************************/
  32793. /*! exports provided: uni-popup.cancel, uni-popup.ok, uni-popup.placeholder, uni-popup.title, uni-popup.shareTitle, default */
  32794. /***/ (function(module) {
  32795. module.exports = JSON.parse("{\"uni-popup.cancel\":\"取消\",\"uni-popup.ok\":\"确定\",\"uni-popup.placeholder\":\"请输入\",\"uni-popup.title\":\"提示\",\"uni-popup.shareTitle\":\"分享到\"}");
  32796. /***/ }),
  32797. /* 255 */
  32798. /*!*********************************************************************************************!*\
  32799. !*** D:/wxproject/项目模板/uniapp/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json ***!
  32800. \*********************************************************************************************/
  32801. /*! exports provided: uni-popup.cancel, uni-popup.ok, uni-popup.placeholder, uni-popup.title, uni-popup.shareTitle, default */
  32802. /***/ (function(module) {
  32803. module.exports = JSON.parse("{\"uni-popup.cancel\":\"取消\",\"uni-popup.ok\":\"確定\",\"uni-popup.placeholder\":\"請輸入\",\"uni-popup.title\":\"提示\",\"uni-popup.shareTitle\":\"分享到\"}");
  32804. /***/ })
  32805. ]]);
  32806. //# sourceMappingURL=../../.sourcemap/mp-weixin/common/vendor.js.map